タイ語Compatible with Milvus 3.0.0+

thai トークナイザーは、スペースに依存することなく、タイ語のテキストを単語トークンに分割します。タイ語、またはタイ語と英語が混在するテキスト用のカスタムアナライザーパイプラインを構築する必要がある場合は、このトークナイザーを使用してください。

設定

タイ語テキストについては、ほとんどの場合、組み込みの thai アナライザーを使用してください。この組み込みアナライザーには、このトークナイザーに加え、小文字変換、小数点桁の正規化、およびタイ語のストップワード除去機能が含まれています。thai トークナイザーを直接使用するのは、カスタムアナライザーパイプラインを構築する必要がある場合に限ってください。

thai トークナイザーを使用してアナライザーを設定するには、analyzer_paramstokenizerthai に設定します。

analyzer_params = {
    "tokenizer": "thai",
}

thai トークナイザーには、設定可能なパラメータはありません。

このトークナイザーは、1つまたは複数のフィルターと組み合わせて使用できます。たとえば、以下の設定では、thai トークナイザーを lowercase および decimaldigit フィルターと組み合わせて使用しています:

analyzer_params = {
    "tokenizer": "thai",
    "filter": [
        "lowercase",
        "decimaldigit",
    ],
}

このカスタムパイプラインは、組み込みの_thai_ ストップワード辞書が含まれていないため、組み込みのthai アナライザーとは同等ではありません。完全な事前定義済みパイプラインについては、{"type": "thai"} を使用してください。

このトークナイザーは、以下の動作を行います:

  • タイ語のセグメンテーション:空白に依存することなく、タイ語のテキストを単語トークンに分割します。
  • 空白および句読点のフィルタリング:空白や句読点のみで構成されるセグメントを除外します。これは、 icu トークナイザーとは異なり、後者は句読点やスペースをトークンとして保持することができます。
  • 混合スクリプトのテキスト:タイ語と英語が混在するテキストにおいて、ラテン文字の単語トークンを出力します。
  • トークナイザーのみ:トークンの小文字化、Unicode 数字の正規化、ストップワードの除去は行いません。これらの処理には、フィルタを追加するか、組み込みの thai アナライザーを使用してください。
  • 位置セマンティクス:スキップされた空白や句読点を含む、文字ベースのトークン位置を使用します。これにより、フレーズマッチングや近接マッチングの挙動が、他の非ラテン文字トークナイザーと一貫性を保つようになります。

analyzer_params を定義した後、コレクションスキーマを定義する際に、VARCHAR フィールドにこのアナライザーを適用できます。詳細については、「使用例」を参照してください。

アナライザの設定をコレクションスキーマに適用する前に、run_analyzer メソッドを使用してその動作を確認してください。

アナライザの設定

analyzer_params = {
    "tokenizer": "thai",
}

xml-ph-0000@deepl.internal を使用した検証run_analyzer

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530")

sample_text = "สวัสดี! ทดสอบ, ระบบ Milvus ๑๒๓"

result = client.run_analyzer(sample_text, analyzer_params)
print(result)

期待される出力

['สวัสดี', 'ทดสอบ', 'ระบบ', 'Milvus', '๑๒๓']

翻訳DeepL

マネージド Milvus を無料で試す

Zilliz Cloud は手間いらず、Milvus を基盤に 10 倍高速です。

始める
フィードバック

このページは役に立ちましたか ?