detectCharset
引入版本:v22.2.0
Experimental 功能 ClickHouse Cloud 不支持此功能检测采用非 UTF8 编码的输入字符串的字符集。
语法
detectCharset(s)参数
s— 要分析的文本。String
返回值
返回包含所检测字符集代码的字符串。String
示例
基本用法
SET allow_experimental_nlp_functions = 1;
SELECT detectCharset('Ich bleibe für ein paar Tage.')WINDOWS-1252detectLanguage
引入版本:v22.2.0
Experimental 功能 ClickHouse Cloud 不支持此功能检测采用 UTF8 编码的输入字符串所使用的语言。 该函数使用 CLD2 库 进行检测,并返回 2 字母 ISO 语言代码。
输入内容越长,语言检测就越准确。
语法
detectLanguage(s)参数
text_to_be_analyzed— 要分析的文本。String
返回值
返回检测到的语言的 2 字母 ISO 代码。其他可能的结果包括:un = 未知,无法检测出任何语言;other = 检测到的语言没有 2 字母代码。String
示例
基本用法
SET allow_experimental_nlp_functions = 1;
SELECT detectLanguage('Je pense que je ne parviendrai jamais à parler français comme un natif.')frdetectLanguageMixed
Introduced in:v22.2.0
Experimental 功能 ClickHouse Cloud 不支持此功能与 detectLanguage 函数类似,但 detectLanguageMixed 返回一个 Map,其中 2 字母语言代码映射为相应语言在文本中所占的百分比。
语法
detectLanguageMixed(s)参数
s— 要分析的文本String
返回值
返回一个映射,其中键为 2 字母 ISO 代码,相应的值为该语言在文本中所占的百分比 Map(String, Float32)
示例
混合语言
SET allow_experimental_nlp_functions = 1;
SELECT detectLanguageMixed('二兎を追う者は一兎をも得ず二兎を追う者は一兎をも得ず A vaincre sans peril, on triomphe sans gloire.'){'ja':0.62,'fr':0.36}detectLanguageUnknown
引入版本:v22.2.0
Experimental 功能 ClickHouse Cloud 不支持此功能与 detectLanguage 函数类似,不同之处在于 detectLanguageUnknown 函数可处理非 UTF8 编码的字符串。
当字符集为 UTF-16 或 UTF-32 时,建议优先使用此版本。
语法
detectLanguageUnknown('s')参数
s— 要分析的文本。String
返回值
返回检测到的语言的 2 字母 ISO 代码。其他可能的结果包括:un = 未知,无法检测到任何语言;other = 检测到的语言没有 2 字母代码。String
示例
基本用法
SET allow_experimental_nlp_functions = 1;
SELECT detectLanguageUnknown('Ich bleibe für ein paar Tage.')dedetectTonality
引入版本:v22.2.0
Experimental 功能 ClickHouse Cloud 不支持此功能确定给定文本数据的情感倾向。
该函数使用内置情感字典,目前仅适用于俄语。
语法
detectTonality(s)参数
s— 要分析的文本。String
返回值
返回文本中各单词情感值的平均值 Float32
示例
俄语情感分析
SET allow_experimental_nlp_functions = 1;
SELECT
detectTonality('Шарик - хороший пёс'),
detectTonality('Шарик - пёс'),
detectTonality('Шарик - плохой пёс')0.44445 0 -0.3lemmatize
引入版本:v21.9.0
Experimental 功能 ClickHouse Cloud 不支持此功能对给定单词执行词形还原。 此函数需要依赖字典运行,可从 github 获取。 有关如何从本地文件加载字典的更多详细信息,请参见页面 "定义字典"。
语法
lemmatize(lang, word)参数
返回值
返回该单词经过词形还原后的形式。String
示例
英语词形还原
SET allow_experimental_nlp_functions = 1;
SELECT lemmatize('en', 'wolves')wolfstem
引入版本:v21.9.0
使用 Snowball 算法对单个单词或单词数组执行词干提取。 每个输入字符串都必须是一个小写单词——包含空白字符的字符串会引发异常。 传入大写字符会产生未定义结果。 对于标量输入 (包括 FixedString) ,返回 String;对于数组输入,返回 Array(String)。 支持 String 和 FixedString 的 Nullable 与 LowCardinality 变体。 支持的语言标识符列表可在 system.stemmers 中查看。
语法
stem(word, language)参数
word— 要进行词干提取的单个小写单词 (或单词数组) 。必须使用小写——大写字符会产生未定义的结果。接受 String、FixedString、Array(String)、Array(FixedString)、Array(Nullable(String)) 或 Array(Nullable(FixedString))。String或FixedString或Array(String)或Array(FixedString)language— 要应用其词干提取规则的语言。规范标识符列在 system.stemmers 中 (例如 'english'、'german'、'porter')。Snowball 也接受 2 字母或 3 字母的 ISO 639 代码 (例如 'en'、'eng') 作为已定义的别名,但不同语言的支持范围有所差异——为保证可移植性,建议优先使用system.stemmers中列出的名称。String
返回值
单词的词干形式 (String) ,或词干提取后的单词数组 (Array(String)) 。String 或 Array(String)
示例
对单个单词进行词干提取
SELECT stem('blessing', 'en') AS resbless单词数组的词干提取
SELECT stem(['blessing', 'disguise'], 'en') AS res['bless','disguis']对 FixedString 执行词干提取
SELECT stem(toFixedString('blessing', 10), 'en') AS resblessNullable 单词的词干提取
SELECT stem(toNullable('blessing'), 'en') AS resblesssynonyms
引入版本:v21.9.0
Experimental 功能 ClickHouse Cloud 不支持此功能查找给定词语的同义词。
同义词扩展有两种类型:
plainwordnet
使用 plain 扩展类型时,需要提供一个简单文本文件的路径,其中每一行对应一个特定的同义词集合。
该行中的词语必须以空格或制表符分隔。
使用 wordnet 扩展类型时,需要提供一个包含 WordNet 词库的目录路径。
该词库必须包含 WordNet 词义索引。
语法
synonyms(ext_name, word)参数
返回值
返回给定词的同义词数组。Array(String)
示例
查找同义词
SET allow_experimental_nlp_functions = 1;
SELECT synonyms('en', 'important')['important','big','critical','crucial','essential']