detectCharset
導入バージョン: v22.2.0
実験的な機能 ClickHouse Cloud ではサポートされていませんUTF-8 以外でエンコードされた入力文字列の文字セットを検出します。
構文
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
実験的な機能 ClickHouse Cloud ではサポートされていませんUTF-8 でエンコードされた入力文字列の言語を検出します。 この関数は検出に 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
導入バージョン: v22.2.0
実験的な機能 ClickHouse Cloud ではサポートされていませんdetectLanguage 関数と似ていますが、detectLanguageMixed は、テキスト内で各言語が占める割合を、2 文字の言語コードをキーとする Map として返します。
構文
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
実験的な機能 ClickHouse Cloud ではサポートされていませんdetectLanguage 関数と似ていますが、detectLanguageUnknown 関数は UTF-8 以外でエンコードされた文字列を扱える点が異なります。
文字セットが 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
実験的な機能 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
実験的な機能 ClickHouse Cloud ではサポートされていません指定した単語に対してレンマ化を行います。 この関数を使用するには辞書が必要です。辞書は github から取得できます。 ローカルファイルから辞書を読み込む方法の詳細については、"Dictionary の定義" ページを参照してください。
構文
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)) を受け付けます。StringorFixedStringorArray(String)orArray(FixedString)language— ステミング規則を適用する言語。正規の Identifier は system.stemmers に一覧表示されています (例: 'english'、'german'、'porter')。Snowball は、定義されている場合、別名として 2 文字または 3 文字の ISO 639 コード (例: 'en'、'eng') も受け付けますが、対応範囲は言語によって異なります。移植性のため、system.stemmersの名前を優先してください。String
戻り値
単語のステミング後の形式 (String) 、またはステミング後の単語の配列 (Array(String)) 。String or 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
実験的な機能 ClickHouse Cloud ではサポートされていません指定した単語の同義語を見つけます。
同義語の拡張機能には 2 種類あります。
plainwordnet
plain 拡張機能タイプでは、シンプルなテキストファイルへのパスを指定する必要があります。このファイルでは、各行が特定の同義語セットに対応します。
この行内の単語は、スペースまたはタブ文字で区切る必要があります。
wordnet 拡張機能タイプでは、WordNet シソーラスを含むディレクトリへのパスを指定する必要があります。
シソーラスには WordNet の sense index が含まれている必要があります。
構文
synonyms(ext_name, word)引数
戻り値
指定した単語の同義語の配列を返します。Array(String)
例
同義語を検索する
SET allow_experimental_nlp_functions = 1;
SELECT synonyms('en', 'important')['important','big','critical','crucial','essential']