detectCharset
Introduzido em: v22.2.0
Recurso experimental Sem suporte no ClickHouse CloudDetecta o conjunto de caracteres de uma string de entrada codificada em um formato diferente de UTF-8.
Sintaxe
detectCharset(s)Argumentos
s— O texto a ser analisado.String
Valor retornado
Retorna uma string com o código do conjunto de caracteres detectado String
Exemplos
Uso básico
SET allow_experimental_nlp_functions = 1;
SELECT detectCharset('Ich bleibe für ein paar Tage.')WINDOWS-1252detectLanguage
Introduzido em: v22.2.0
Recurso experimental Sem suporte no ClickHouse CloudDetecta o idioma da string de entrada codificada em UTF-8. A função usa a biblioteca CLD2 para fazer a detecção e retorna o código de idioma ISO de 2 letras.
Quanto maior a entrada, mais precisa será a detecção do idioma.
Sintaxe
detectLanguage(s)Argumentos
text_to_be_analyzed— O texto a ser analisado.String
Valor retornado
Retorna o código ISO de 2 letras do idioma detectado. Outros resultados possíveis: un = desconhecido, não foi possível detectar nenhum idioma; other = o idioma detectado não tem um código de 2 letras. String
Exemplos
Uso básico
SET allow_experimental_nlp_functions = 1;
SELECT detectLanguage('Je pense que je ne parviendrai jamais à parler français comme un natif.')frdetectLanguageMixed
Introduzida em: v22.2.0
Recurso experimental Sem suporte no ClickHouse CloudSemelhante à função detectLanguage, detectLanguageMixed retorna um Map de códigos de idioma de 2 letras mapeados para a porcentagem de determinado idioma no texto.
Sintaxe
detectLanguageMixed(s)Argumentos
s— O texto a ser analisadoString
Valor retornado
Retorna um map cujas chaves são códigos ISO de 2 letras, e os valores correspondentes representam a porcentagem do texto identificada para cada idioma Map(String, Float32)
Exemplos
Idiomas mistos
SET allow_experimental_nlp_functions = 1;
SELECT detectLanguageMixed('二兎を追う者は一兎をも得ず二兎を追う者は一兎をも得ず A vaincre sans peril, on triomphe sans gloire.'){'ja':0.62,'fr':0.36}detectLanguageUnknown
Introduzido em: v22.2.0
Recurso experimental Sem suporte no ClickHouse CloudSemelhante à função detectLanguage, exceto que a função detectLanguageUnknown funciona com strings codificadas em formatos que não são UTF-8.
Prefira esta versão quando o conjunto de caracteres for UTF-16 ou UTF-32.
Sintaxe
detectLanguageUnknown('s')Argumentos
s— O texto a ser analisado.String
Valor retornado
Retorna o código ISO de 2 letras do idioma detectado. Outros resultados possíveis: un = desconhecido, não foi possível detectar nenhum idioma, other = o idioma detectado não tem código de 2 letras. String
Exemplos
Uso básico
SET allow_experimental_nlp_functions = 1;
SELECT detectLanguageUnknown('Ich bleibe für ein paar Tage.')dedetectTonality
Introduzido em: v22.2.0
Recurso experimental Sem suporte no ClickHouse CloudDetermina o sentimento do texto fornecido.
A função usa um dicionário emocional embutido e, no momento, funciona apenas para o idioma russo.
Sintaxe
detectTonality(s)Argumentos
s— O texto a ser analisado.String
Valor retornado
Retorna o valor médio de sentimento das palavras do texto Float32
Exemplos
Análise de sentimento em russo
SET allow_experimental_nlp_functions = 1;
SELECT
detectTonality('Шарик - хороший пёс'),
detectTonality('Шарик - пёс'),
detectTonality('Шарик - плохой пёс')0.44445 0 -0.3lemmatize
Introduzido em: v21.9.0
Recurso experimental Sem suporte no ClickHouse CloudRealiza a lematização de uma palavra fornecida. Esta função precisa de dicionários para funcionar, que podem ser obtidos no GitHub. Para mais detalhes sobre como carregar um dicionário de um arquivo local, consulte a página "Definindo Dicionários".
Sintaxe
lemmatize(lang, word)Argumentos
lang— Idioma cujas regras serão aplicadas.Stringword— Palavra em letras minúsculas a ser lematizada.String
Valor retornado
Retorna a forma lematizada da palavra String
Exemplos
Lematização em inglês
SET allow_experimental_nlp_functions = 1;
SELECT lemmatize('en', 'wolves')wolfstem
Introduzido em: v21.9.0
Realiza stemming em uma palavra ou em um array de palavras usando os algoritmos Snowball. Cada string de entrada deve ser uma única palavra em minúsculas — strings que contenham espaços em branco causam uma exceção. O uso de caracteres maiúsculos produz resultados indefinidos. Retorna String para entradas escalares (incluindo FixedString) e Array(String) para entradas em array. Há suporte para as variantes Nullable e LowCardinality de String e FixedString. A lista de identificadores de idioma compatíveis está disponível em system.stemmers.
Sintaxe
stem(word, language)Argumentos
word— Uma única palavra em minúsculas (ou um array de palavras) para reduzir ao radical. Deve estar em minúsculas — caracteres maiúsculos produzem resultados indefinidos. Aceita String, FixedString, Array(String), Array(FixedString), Array(Nullable(String)) ou Array(Nullable(FixedString)).StringouFixedStringouArray(String)ouArray(FixedString)language— Idioma cujas regras de stemming serão aplicadas. Os identificadores canônicos estão listados em system.stemmers (por exemplo, 'english', 'german', 'porter'). O Snowball também aceita códigos ISO 639 de 2 ou 3 letras (por exemplo, 'en', 'eng') como aliases quando definidos, mas a cobertura varia conforme o idioma — prefira os nomes desystem.stemmerspara garantir portabilidade.String
Valor retornado
A forma reduzida ao radical da palavra (String) ou um array de palavras reduzidas ao radical (Array(String)). String ou Array(String)
Exemplos
Reduzindo uma única palavra ao radical
SELECT stem('blessing', 'en') AS resblessStemming de um array de palavras
SELECT stem(['blessing', 'disguise'], 'en') AS res['bless','disguis']Stemming de FixedString
SELECT stem(toFixedString('blessing', 10), 'en') AS resblessAplicando stemming a uma palavra Nullable
SELECT stem(toNullable('blessing'), 'en') AS resblesssynonyms
Introduzido na versão: v21.9.0
Recurso experimental Sem suporte no ClickHouse CloudEncontra sinônimos de uma determinada palavra.
Há dois tipos de extensões de sinônimos:
plainwordnet
Com o tipo de extensão plain, você precisa fornecer o caminho para um arquivo de texto simples, em que cada linha corresponde a um determinado conjunto de sinônimos.
As palavras nessa linha devem ser separadas por espaços ou tabulações.
Com o tipo de extensão wordnet, você precisa fornecer o caminho para um diretório que contenha o tesauro WordNet.
O tesauro deve conter um índice de sentidos do WordNet.
Sintaxe
synonyms(ext_name, word)Argumentos
ext_name— Nome da extensão em que a busca será realizada.Stringword— Palavra que será pesquisada na extensão.String
Valor retornado
Retorna um array de sinônimos para a palavra especificada. Array(String)
Exemplos
Encontrar sinônimos
SET allow_experimental_nlp_functions = 1;
SELECT synonyms('en', 'important')['important','big','critical','crucial','essential']