ICUCompatible with Milvus 2.5.11+

تم بناء أداة الترميز icu على مشروع تدويل مكونات يونيكود (ICU) مفتوح المصدر، والذي يوفر أدوات رئيسية لتدويل البرمجيات. وباستخدام خوارزمية كسر الكلمات الخاصة ب ICU، يمكن لأداة الترميز تقسيم النص بدقة إلى كلمات عبر معظم لغات العالم.

يحافظ أداة الترميز icu على علامات الترقيم والمسافات كرموز منفصلة في المخرجات. على سبيل المثال، "Привет! Как дела?" يصبح ["Привет", "!", " ", "Как", " ", "дела", "?"]. لإزالة علامات الترقيم المنفصلة هذه، استخدم عامل التصفية removepunct الفلتر.

التكوين

لتكوين محلل باستخدام أداة الترميز icu ، قم بتعيين tokenizer إلى icu في analyzer_params.

analyzer_params = {
    "tokenizer": "icu",
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "icu");
// node
analyzerParams = map[string]any{"tokenizer": "icu"}
# curl

يمكن لأداة الترميز icu أن تعمل مع واحد أو أكثر من عوامل التصفية. على سبيل المثال، تُعرّف الشيفرة التالية محللاً يستخدم أداة ترميز icu وإزالة عامل التصفية:

analyzer_params = {
    "tokenizer": "icu",
    "filter": ["removepunct"]
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "icu");
analyzerParams.put("filter", Collections.singletonList("removepunct"));
// node
analyzerParams = map[string]any{"tokenizer": "icu", "filter": []string{"removepunct"}}
# curl

بعد تحديد analyzer_params ، يمكنك تطبيقها على حقل VARCHAR عند تحديد مخطط المجموعة. يسمح هذا لميلفوس بمعالجة النص في ذلك الحقل باستخدام المحلل المحدد لترميز وتصفية فعالة. لمزيد من التفاصيل، راجع مثال الاستخدام.

أمثلة

قبل تطبيق تكوين المحلل على مخطط المجموعة الخاص بك، تحقق من سلوكه باستخدام الأسلوب run_analyzer.

تكوين المحلّل

analyzer_params = {
    "tokenizer": "icu",
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "icu");
// node
analyzerParams = map[string]any{"tokenizer": "icu"}
# curl

التحقق باستخدام run_analyzer

from pymilvus import (
    MilvusClient,
)

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

# Sample text to analyze
sample_text = "Привет! Как дела?"

# Run the standard analyzer with the defined configuration
result = client.run_analyzer(sample_text, analyzer_params)
print("Standard analyzer output:", result)
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.service.vector.request.RunAnalyzerReq;
import io.milvus.v2.service.vector.response.RunAnalyzerResp;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .build();
MilvusClientV2 client = new MilvusClientV2(config);

List<String> texts = new ArrayList<>();
texts.add("Привет! Как дела?");

RunAnalyzerResp resp = client.runAnalyzer(RunAnalyzerReq.builder()
        .texts(texts)
        .analyzerParams(analyzerParams)
        .build());
List<RunAnalyzerResp.AnalyzerResult> results = resp.getResults();
// javascript
import (
    "context"
    "encoding/json"
    "fmt"

    "github.com/milvus-io/milvus/client/v2/milvusclient"
)

client, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
    APIKey:  "root:Milvus",
})
if err != nil {
    fmt.Println(err.Error())
    // handle error
}

bs, _ := json.Marshal(analyzerParams)
texts := []string{"Привет! Как дела?"}
option := milvusclient.NewRunAnalyzerOption(texts).
    WithAnalyzerParams(string(bs))

result, err := client.RunAnalyzer(ctx, option)
if err != nil {
    fmt.Println(err.Error())
    // handle error
}
# restful

المخرجات المتوقعة

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

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟