メインコンテンツまでスキップ
バージョン: User Guides (BYOC)

ICU

icuトークナイザーは、Internationalization Components of Unicode(ICU)オープンソースプロジェクトに基づいて構築されており、ソフトウェアの国際化のための主要ツールを提供します。ICUの語句分割アルゴリズムを使用することで、このトークナイザーは世界中の多数の言語のテキストを正確に単語に分割できます。

📘注意

icuトークナイザーは、句読点記号とスペースを出力内の独立したトークンとして保持します。例えば、"Привет! Как дела?"["Привет", "!", " ", "Как", " ", "дела", "?"]になります。これらの独立した句読点トークンを削除するには、removepunctフィルターを使用してください。

構成

icuトークナイザーを使用したアナライザーを構成するには、analyzer_paramstokenizericuに設定します。

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

icuトークナイザーは、1つまたは複数のフィルターと連携して動作できます。例えば、以下のコードはicuトークナイザーと句読点削除フィルターを使用するアナライザーを定義しています。

analyzer_params = {
"tokenizer": "icu",
"filter": ["removepunct"]
}

analyzer_paramsを定義した後、コレクションスキーマを定義する際にVARCHARフィールドに適用できます。これにより、Zilliz Cloudは、指定されたアナライザーを使用してそのフィールド内のテキストを効率的にトークン化およびフィルタリング処理できます。詳細については、使用例を参照してください。

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

アナライザー構成

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

run_analyzerを使用した検証

from pymilvus import (
MilvusClient,
)

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

# 解析するサンプルテキスト
sample_text = "Привет! Как дела?"

# 定義された構成でstandardアナライザーを実行
result = client.run_analyzer(sample_text, analyzer_params)
print("Standard analyzer output:", result)

期待される出力

['Привет', '!', ' ', 'Как', ' ', 'дела', '?']