إيقاف
يقوم مرشح " stop " بإزالة الكلمات الممنوعة المحددة من النص الذي تم تقسيمه إلى رموز، مما يساعد على التخلص من الكلمات الشائعة الأقل دلالة. يمكنك تكوين قائمة الكلمات الممنوعة باستخدام المعلمة stop_words.
التكوين
يقبل مرشح " stop " قائمة كلمات التوقف الخاصة به إما مضمنة عبر المعلمة stop_words أو من مورد ملف مسجل عبر المعلمة stop_words_file.
قائمة الكلمات الممنوعة المضمنة
لاستخدام مرشح stop مع قائمة مضمنة، حدد "type": "stop" في تكوين المرشح، إلى جانب المعلمة stop_words التي توفر قائمة الكلمات الممنوعة.
analyzer_params = {
"tokenizer": "standard",
"filter":[{
"type": "stop", # Specifies the filter type as stop
"stop_words": ["of", "to", "_english_"], # Defines custom stop words and includes the English stop word list
}],
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "standard");
analyzerParams.put("filter",
Collections.singletonList(
new HashMap<String, Object>() {{
put("type", "stop");
put("stop_words", Arrays.asList("of", "to", "_english_"));
}}
)
);
const analyzer_params = {
"tokenizer": "standard",
"filter":[{
"type": "stop", # Specifies the filter type as stop
"stop_words": ["of", "to", "_english_"], # Defines custom stop words and includes the English stop word list
}],
};
analyzerParams = map[string]any{"tokenizer": "standard",
"filter": []any{map[string]any{
"type": "stop",
"stop_words": []string{"of", "to", "_english_"},
}}}
# restful
analyzerParams='{
"tokenizer": "standard",
"filter": [
{
"type": "stop",
"stop_words": [
"of",
"to",
"_english_"
]
}
]
}'
يقبل مرشح stop المعلمات القابلة للتكوين التالية.
المعلمة |
الوصف |
|---|---|
|
قائمة بالكلمات المراد إزالتها من عملية التقطيع إلى رموز. بشكل افتراضي، يستخدم المرشح قاموس
|
يعمل مرشح stop على المصطلحات التي تم إنشاؤها بواسطة أداة التقطيع، لذا يجب استخدامه بالاقتران مع أداة التقطيع. للحصول على قائمة بأدوات التقطيع المتاحة في Milvus، راجع أداة التقطيع القياسية والصفحات المرتبطة بها.
بعد تعريف « analyzer_params »، يمكنك تطبيقها على حقل « VARCHAR » عند تعريف مخطط المجموعة. وهذا يسمح لـ Milvus بمعالجة النص في هذا الحقل باستخدام أداة التحليل المحددة من أجل التقطيع والتصفية بكفاءة. لمزيد من التفاصيل، راجع «مثال على الاستخدام».
تحميل الكلمات الممنوعة من مورد ملفCompatible with Milvus 3.0.x
بالنسبة لقوائم كلمات التوقف المخصصة الكبيرة — مثل القوائم الخاصة بلغة معينة، أو مفردات المجال، أو القوائم التي ترغب في مشاركتها عبر العديد من المجموعات — قم بتخزين الكلمات في ملف وتسجيل الملف كمورد ملف بعيد، ثم قم بالإشارة إليه من المرشح عبر المعلمة stop_words_file. يمكنك استخدام المعلمة « stop_words_file » بمفردها أو جنبًا إلى جنب مع المعلمة المضمنة « stop_words »؛ وعند تعيينهما معًا، يقوم المرشح بدمج المصدرين في قائمة كلمات توقف واحدة.
الملف عبارة عن نص عادي بتنسيق UTF‑8 يحتوي على كلمة محظورة واحدة في كل سطر. على سبيل المثال:
the
of
for
قم بتحميل الملف إلى مخزن الكائنات الذي تم تكوين مجموعة Milvus الخاصة بك لاستخدامه، ثم قم بتسجيله:
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
# Register the uploaded file under a name you'll reference from analyzer configs.
client.add_file_resource(
name="en_stop_words",
path="file/stop_words.txt", # full S3 object key, including the rootPath prefix
)
أشر إلى المورد المسجل في المرشح عبر stop_words_file:
analyzer_params = {
"tokenizer": "standard",
"filter": [{
"type": "stop",
"stop_words_file": {
"type": "remote",
"resource_name": "en_stop_words",
"file_name": "stop_words.txt",
},
}],
}
يقبل المعلمة stop_words_file كائنًا يحتوي على الحقول التالية:
الحقل |
الوصف |
|---|---|
|
نوع المورد. استخدم |
|
الاسم المستخدم عند تسجيل الملف باستخدام |
|
جزء اسم الملف من مسار مخزن الكائنات للمورد المسجل (على سبيل المثال، |
أمثلة
قبل تطبيق تكوين المحلل على مخطط المجموعة الخاص بك، تحقق من سلوكه باستخدام طريقة run_analyzer.
تكوين المحلل
analyzer_params = {
"tokenizer": "standard",
"filter":[{
"type": "stop", # Specifies the filter type as stop
"stop_words": ["of", "to", "_english_"], # Defines custom stop words and includes the English stop word list
}],
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "standard");
analyzerParams.put("filter",
Collections.singletonList(
new HashMap<String, Object>() {{
put("type", "stop");
put("stop_words", Arrays.asList("of", "to", "_english_"));
}}
)
);
// javascript
analyzerParams = map[string]any{"tokenizer": "standard",
"filter": []any{map[string]any{
"type": "stop",
"stop_words": []string{"of", "to", "_english_"},
}}}
# restful
التحقق باستخدام run_analyzer
from pymilvus import (
MilvusClient,
)
client = MilvusClient(uri="http://localhost:19530")
# Sample text to analyze
sample_text = "The stop filter allows control over common stop words for text processing."
# 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("The stop filter allows control over common stop words for text processing.");
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{"The stop filter allows control over common stop words for text processing."}
option := milvusclient.NewRunAnalyzerOption(texts).
WithAnalyzerParams(string(bs))
result, err := client.RunAnalyzer(ctx, option)
if err != nil {
fmt.Println(err.Error())
// handle error
}
# restful
الناتج المتوقع
['The', 'stop', 'filter', 'allows', 'control', 'over', 'common', 'stop', 'words', 'text', 'processing']