Fonctions de traitement automatique du langage naturel (NLP)
Introduite dans : v22.2.0
Détecte le jeu de caractères d’une chaîne d’entrée encodée dans un format non UTF8.
Cette fonction est expérimentale et peut évoluer de manière imprévisible, avec des changements non rétrocompatibles dans les versions futures.
Définissez allow_experimental_nlp_functions = 1 pour l’activer.
Syntaxe
Arguments
s — Le texte à analyser. String
Valeur renvoyée
Renvoie une chaîne contenant le code du jeu de caractères détecté String
Exemples
Utilisation de base
SELECT detectCharset('Ich bleibe für ein paar Tage.')
Introduit dans : v22.2.0
Détecte la langue de la chaîne d’entrée encodée en UTF8.
La fonction utilise la bibliothèque CLD2 pour la détection et renvoie le code de langue ISO à 2 lettres.
Plus l’entrée est longue, plus la détection de la langue est précise.
Cette fonction est expérimentale et peut changer de manière imprévisible, avec des modifications non rétrocompatibles, dans de futures versions.
Définissez allow_experimental_nlp_functions = 1 pour l’activer.
Syntaxe
Arguments
text_to_be_analyzed — Le texte à analyser. String
Valeur renvoyée
Renvoie le code ISO à 2 lettres de la langue détectée. Autres résultats possibles : un = inconnu, aucune langue n’a pu être détectée, other = la langue détectée n’a pas de code à 2 lettres. String
Exemples
Texte multilingue
SELECT detectLanguage('Je pense que je ne parviendrai jamais à parler français comme un natif. Where there\'s a will, there\'s a way.')
Introduit dans : v22.2.0
Semblable à la fonction detectLanguage, detectLanguageMixed renvoie une Map de codes de langue à 2 lettres associés au pourcentage de chaque langue dans le texte.
Cette fonction est expérimentale et peut évoluer de façon imprévisible, avec des changements non rétrocompatibles, dans les futures versions.
Définissez allow_experimental_nlp_functions = 1 pour l’activer.
Syntaxe
Arguments
s — Le texte à analyser String
Valeur renvoyée
Renvoie une map dont les clés sont des codes ISO à 2 lettres et les valeurs correspondantes le pourcentage du texte détecté pour cette langue Map(String, Float32)
Exemples
Langues mixtes
SELECT detectLanguageMixed('二兎を追う者は一兎をも得ず二兎を追う者は一兎をも得ず A vaincre sans peril, on triomphe sans gloire.')
Introduit dans : v22.2.0
Semblable à la fonction detectLanguage, à la différence que la fonction detectLanguageUnknown fonctionne avec des chaînes non encodées en UTF8.
Préférez cette version si votre jeu de caractères est UTF-16 ou UTF-32.
Cette fonction est expérimentale et peut évoluer de manière imprévisible, avec des changements non rétrocompatibles, dans les versions futures.
Définissez allow_experimental_nlp_functions = 1 pour l’activer.
Syntaxe
detectLanguageUnknown('s')
Arguments
s — Le texte à analyser. String
Valeur renvoyée
Renvoie le code ISO à 2 lettres de la langue détectée. Autres résultats possibles : un = inconnu, aucune langue n’a pu être détectée, other = la langue détectée n’a pas de code à 2 lettres. String
Exemples
Utilisation de base
SELECT detectLanguageUnknown('Ich bleibe für ein paar Tage.')
Introduit dans : v22.2.0
Détermine le sentiment du texte fourni.
LimitationDans sa forme actuelle, cette fonction est limitée : elle utilise le dictionnaire émotionnel intégré et ne fonctionne que pour la langue russe.
Cette fonction est expérimentale et peut évoluer de façon imprévisible, avec des modifications non rétrocompatibles, dans les versions futures.
Définissez allow_experimental_nlp_functions = 1 pour l’activer.
Syntaxe
Arguments
s — Le texte à analyser. String
Valeur renvoyée
Renvoie le score de sentiment moyen des mots du texte Float32
Exemples
Analyse des sentiments en russe
SELECT
detectTonality('Шарик - хороший пёс'),
detectTonality('Шарик - пёс'),
detectTonality('Шарик - плохой пёс')
Introduit dans : v21.9.0
Effectue la lemmatisation d’un mot donné.
Cette fonction nécessite des dictionnaires pour fonctionner, disponibles sur GitHub.
Pour plus de détails sur le chargement d’un dictionnaire à partir d’un fichier local, consultez la page “Définition des dictionnaires”.
Cette fonction est expérimentale et peut évoluer de façon imprévisible, avec des changements non rétrocompatibles, dans les versions futures.
Définissez allow_experimental_nlp_functions = 1 pour l’activer.
Syntaxe
Arguments
lang — Langue dont les règles seront utilisées. String
word — Mot en minuscules à lemmatiser. String
Valeur renvoyée
Renvoie la forme lemmatisée du mot String
Exemples
Lemmatisation en anglais
SELECT lemmatize('en', 'wolves')
Introduit dans : v21.9.0
Effectue le stemming d’un mot ou d’un tableau de mots à l’aide des algorithmes Snowball.
Chaque chaîne d’entrée doit être un seul mot en minuscules ; les chaînes contenant des espaces provoquent une exception.
La présence de caractères majuscules produit des résultats indéfinis.
Renvoie String pour les entrées scalaires (y compris FixedString) et Array(String) pour les entrées de tableau.
Les variantes Nullable et LowCardinality de String et FixedString sont prises en charge.
Syntaxe
Arguments
Valeur renvoyée
La forme racinisée du mot (String), ou un tableau de mots racinisés (Array(String)). String ou Array(String)
Exemples
Racinisation d’un mot unique
SELECT stem('blessing', 'en') AS res
Racinisation d’un tableau de mots
SELECT stem(['blessing', 'disguise'], 'en') AS res
Racinisation d’une valeur FixedString
SELECT stem(toFixedString('blessing', 10), 'en') AS res
Racinisation d’un mot de type Nullable
SELECT stem(toNullable('blessing'), 'en') AS res
Introduit dans : v21.9.0
Trouve les synonymes d’un mot donné.
Il existe deux types d’extensions de synonymes :
Avec le type d’extension plain, vous devez fournir le chemin vers un fichier texte simple, dans lequel chaque ligne correspond à un ensemble de synonymes donné.
Les mots de cette ligne doivent être séparés par des espaces ou des tabulations.
Avec le type d’extension wordnet, vous devez fournir le chemin vers un répertoire contenant le thésaurus WordNet.
Le thésaurus doit contenir un index des sens WordNet.
Cette fonction est expérimentale et peut évoluer de façon imprévisible, avec des changements non rétrocompatibles, dans les futures versions.
Définissez allow_experimental_nlp_functions = 1 pour l’activer.
Syntaxe
Arguments
ext_name — Nom de l’extension dans laquelle la recherche s’effectue. String
word — Mot recherché dans l’extension. String
Valeur renvoyée
Renvoie un tableau de synonymes pour le mot donné. Array(String)
Exemples
Trouver des synonymes
SELECT synonyms('list', 'important')
['important','big','critical','crucial']