التوقف

يقوم عامل التصفية stop بإزالة كلمات الإيقاف المحددة من النص المرموز، مما يساعد على التخلص من الكلمات الشائعة الأقل معنى. يمكنك تهيئة قائمة كلمات الإيقاف باستخدام المعلمة stop_words.

التكوين

عامل التصفية 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_words

قائمة بالكلمات المراد إزالتها من الترميز. بشكل افتراضي، يستخدم الفلتر قاموس _english_ المدمج. يمكنك تجاوزه أو توسيعه بثلاث طرق:

  • القواميس المدمجة - قم بتوفير أحد هذه الأسماء المستعارة للغة لاستخدام قاموس محدد مسبقًا:"_english_" ، "_danish_" ، ، "_dutch_" ، "_finnish_" ، ، "_french_" ، "_german_" ، "_hungarian_" ، ، "_italian_" ، "_norwegian_" ، "_portuguese_" ، "_russian_" ، "_spanish_", "_swedish_"

  • قائمة مخصصة - تمرير مصفوفة من المصطلحات الخاصة بك، على سبيل المثال ["foo", "bar", "baz"].

  • قائمة مختلطة - الجمع بين الأسماء المستعارة والمصطلحات المخصصة، على سبيل المثال ["of", "to", "_english_"].

    للحصول على تفاصيل حول المحتوى الدقيق لكل قاموس محدد مسبقًا، راجع stop_words.

يعمل عامل التصفية stop على المصطلحات التي تم إنشاؤها بواسطة أداة الترميز، لذلك يجب استخدامه مع أداة الترميز. للحصول على قائمة بأدوات الترميز المتوفرة في ميلفوس، راجع أداة الترميز القياسية وصفحاتها الشقيقة.

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

أمثلة

قبل تطبيق تكوين المحلل على مخطط المجموعة الخاص بك، تحقق من سلوكه باستخدام الأسلوب 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_analyzerCompatible with Milvus 2.5.11+

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']
جدول المحتويات

جرب Managed Milvus مجاناً

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

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

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