導入バージョン: v22.2.0
UTF-8 以外でエンコードされた入力文字列の文字セットを検出します。
この関数は実験的機能であり、今後のリリースで予期しない後方互換性のない変更が加えられる可能性があります。
有効にするには、allow_experimental_nlp_functions = 1 を設定してください。
構文
引数
戻り値
検出された文字セットのコードを表す文字列を返します String
例
基本的な使い方
SELECT detectCharset('Ich bleibe für ein paar Tage.')
導入バージョン: v22.2.0
UTF-8 でエンコードされた入力文字列の言語を検出します。
この関数は検出に CLD2 ライブラリ を使用し、2 文字の ISO 言語コードを返します。
入力が長いほど、言語検出の精度は高くなります。
この関数は実験的機能であり、今後のリリースで予測できない後方互換性のない変更が加えられる可能性があります。
有効にするには allow_experimental_nlp_functions = 1 を設定してください。
構文
引数
text_to_be_analyzed — 解析対象のテキスト。String
戻り値
検出された言語の2文字の ISO コードを返します。その他に返される可能性がある値: un = 不明 (どの言語も検出できない) 、other = 検出された言語に2文字コードがない。String
例
複数言語が混在するテキスト
SELECT detectLanguage('Je pense que je ne parviendrai jamais à parler français comme un natif. Where there\'s a will, there\'s a way.')
導入バージョン: v22.2.0
detectLanguage 関数と似ていますが、detectLanguageMixed は、テキスト内で各言語が占める割合を、2 文字の言語コードをキーとする Map として返します。
この関数は 実験的機能 であり、今後のリリースで予測不可能な後方互換性のない変更が加えられる可能性があります。
有効にするには、allow_experimental_nlp_functions = 1 を設定してください。
構文
引数
戻り値
キーが 2 文字の ISO コードで、対応する値がその言語として検出されたテキストの割合を表すマップを返します Map(String, Float32)
例
複数の言語が混在する場合
SELECT detectLanguageMixed('二兎を追う者は一兎をも得ず二兎を追う者は一兎をも得ず A vaincre sans peril, on triomphe sans gloire.')
導入バージョン: v22.2.0
detectLanguage 関数と似ていますが、detectLanguageUnknown 関数は UTF-8 以外のエンコーディングの文字列を扱える点が異なります。
文字セットが UTF-16 または UTF-32 の場合は、こちらのバージョンを優先して使用してください。
この関数は 実験的機能 であり、今後のリリースで予測不能な後方互換性のない変更が加えられる可能性があります。
有効にするには allow_experimental_nlp_functions = 1 を設定してください。
構文
detectLanguageUnknown('s')
引数
戻り値
検出された言語の 2 文字の ISO コードを返します。その他に返される可能性がある値: un = 不明 (どの言語も検出できない) 、other = 検出された言語に 2 文字のコードがありません。String
例
基本的な使い方
SELECT detectLanguageUnknown('Ich bleibe für ein paar Tage.')
導入バージョン: v22.2.0
指定されたテキストデータのセンチメントを判定します。
制限事項現時点でこの関数は、埋め込みの感情辞書を使用しており、ロシア語でのみ動作します。
この関数は実験的機能であり、今後のリリースで予測不能な後方互換性のない変更が加えられる可能性があります。
有効にするには allow_experimental_nlp_functions = 1 を設定してください。
構文
引数
戻り値
テキスト内の単語の平均感情値を返します。Float32
例
ロシア語の感情分析
SELECT
detectTonality('Шарик - хороший пёс'),
detectTonality('Шарик - пёс'),
detectTonality('Шарик - плохой пёс')
導入バージョン: v21.9.0
指定した単語に対してレンマ化を行います。
この関数を使用するには辞書が必要です。辞書は github から取得できます。
ローカルファイルから辞書を読み込む方法の詳細については、“Dictionary の定義” ページを参照してください。
この関数は実験的機能であり、今後のリリースで予測不能な後方互換性のない変更が加えられる可能性があります。
有効にするには、allow_experimental_nlp_functions = 1 を設定してください。
構文
引数
戻り値
単語のレンマ形を返します。String
例
英語のレンマ化
SELECT lemmatize('en', 'wolves')
導入バージョン: v21.9.0
Snowball アルゴリズムを使用して、単語または単語の配列に対してステミングを行います。
各入力文字列は、小文字の単一の単語である必要があります。空白を含む文字列を指定すると例外が発生します。
大文字を含めると、結果は未定義になります。
スカラー入力 (FixedString を含む) に対しては String を返し、配列入力に対しては Array(String) を返します。
String および FixedString の Nullable と LowCardinality のバリアントをサポートします。
構文
引数
戻り値
単語のステミング後の形式 (String) 、またはステミング後の単語の配列 (Array(String)) 。String or Array(String)
例
単一の単語をステミングする
SELECT stem('blessing', 'en') AS res
単語配列のステミング
SELECT stem(['blessing', 'disguise'], 'en') AS res
FixedString のステミング
SELECT stem(toFixedString('blessing', 10), 'en') AS res
Nullableな単語のステミング
SELECT stem(toNullable('blessing'), 'en') AS res
導入バージョン: v21.9.0
指定した単語の同義語を見つけます。
同義語の拡張機能には 2 種類あります。
plain 拡張機能タイプでは、シンプルなテキストファイルへのパスを指定する必要があります。このファイルでは、各行が特定の同義語セットに対応します。
この行内の単語は、スペースまたはタブ文字で区切る必要があります。
wordnet 拡張機能タイプでは、WordNet シソーラスを含むディレクトリへのパスを指定する必要があります。
シソーラスには WordNet の sense index が含まれている必要があります。
この関数は実験的機能であり、今後のリリースで予測不能な後方互換性のない変更が加えられる可能性があります。
有効にするには allow_experimental_nlp_functions = 1 を設定してください。
構文
引数
戻り値
指定した単語の同義語の配列を返します。Array(String)
例
同義語を検索する
SELECT synonyms('list', 'important')
['important','big','critical','crucial']