タイ語Compatible with Milvus 3.0.0+

thai アナライザーは、タイ語テキスト用の組み込みアナライザーです。Milvusでタイ語テキストを単語単位に分割したり、タイ語の数字を正規化したり、混在するラテン文字を小文字に変換したり、タイ語のストップワードを除去したりする必要がある場合に、このアナライザーを使用してください。

設定

組み込みアナライザーは、Milvusが提供するアナライザーテンプレートです。組み込みアナライザーを使用するには、analyzer_params 内の `type ` を、あらかじめ定義されたアナライザー名に設定してください。

組み込みのタイ語アナライザーを使用するには、typethai に設定します:

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

thai アナライザでは、以下のオプションパラメータを使用できます:

パラメータ

デフォルト

説明

stop_words

list[str]

_thai_

トークン化から除外する追加のストップワードのリスト。デフォルトでは、thai アナライザーは組み込みの_thai_ 辞書を使用します。デフォルトの辞書を確認するには、Milvusタイ語ストップワードリストを参照してください。このリストは、Apache Luceneのタイ語ストップワードファイルに基づいています。

カスタムストップワードを追加するには、stop_words を含めます:

analyzer_params = {
    "type": "thai",
    "stop_words": ["มิลวัส"],
}

Milvusは、組み込みの_thai_ 辞書に加えて、カスタムストップワードを適用します。

組み込みのthai アナライザは、以下のカスタムアナライザ設定と同等です:

analyzer_params = {
    "tokenizer": "thai",
    "filter": [
        "lowercase",
        "decimaldigit",
        {
            "type": "stop",
            "stop_words": ["_thai_"],
        },
    ],
}

このアナライザーは、以下の処理ステップを適用します:

  • トークン化thai トークナイザーを使用して、空白に依存することなくタイ語のテキストを単語トークンに分割します。このトークナイザーは、空白や句読点のみからなるセグメントを除外します。
  • 大文字小文字の正規化lowercase フィルターを使用します。これは、タイ語と英語が混在するテキスト内のラテン文字に影響を与えます。
  • 数字の正規化decimaldigit フィルターを使用して、タイ語の数字やその他のUnicode 10進数字をASCII数字に変換します。
  • ストップワードの除去stop フィルターと、組み込みの_thai_ 辞書を使用します。
  • ステミングなし:組み込みのthai アナライザーは、stemmer フィルターを適用しません。

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

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

アナライザの設定

analyzer_params = {
    "type": "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', '123']

翻訳DeepL

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

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

始める
フィードバック

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