아랍어Compatible with Milvus 3.0.0+
arabic 분석기는 아랍어 텍스트를 위한 내장 분석기입니다. Milvus를 사용하여 아랍어 문자 변형을 정규화하고, 분음 부호 및 타트윌을 제거하며, 아랍-인도 숫자를 변환하고, 아랍어 어근 추출을 적용하고, 아랍어 스톱워드를 제거해야 할 때 이 분석기를 사용하십시오.
구성
내장 분석기는 Milvus에서 제공하는 분석기 템플릿입니다. 내장 분석기를 사용하려면 type 를 analyzer_params 에 정의된 분석기 이름으로 설정하십시오.
내장 아랍어 분석기를 사용하려면 type 를 arabic 로 설정하십시오:
analyzer_params = {
"type": "arabic",
}
arabic 분석기는 다음 선택적 매개변수를 지원합니다:
매개변수 |
유형 |
기본값 |
설명 |
|---|---|---|---|
|
|
|
토큰화 과정에서 제외할 추가 스톱워드 목록입니다. 기본적으로 |
사용자 정의 스톱워드를 추가하려면 stop_words 를 포함하십시오:
analyzer_params = {
"type": "arabic",
"stop_words": ["ميلفوس"],
}
Milvus는 내장된 _arabic_ 사전 외에도 사용자 정의 스톱워드를 적용합니다.
내장된 arabic 분석기는 다음 사용자 정의 분석기 구성과 동일합니다:
analyzer_params = {
"tokenizer": "standard",
"filter": [
"lowercase",
"decimaldigit",
"arabic_normalization",
{
"type": "stemmer",
"language": "arabic",
},
{
"type": "stop",
"stop_words": "_arabic_",
},
],
}
이 분석기는 다음 처리 단계를 적용합니다:
- 토큰화:
standard토큰화기를 사용하여 텍스트를 토큰으로 분할합니다. - 숫자 정규화: ‘
decimaldigit’ 필터를 사용하여 아랍-인도계 및 기타 유니코드 십진수 자릿수를 ASCII 자릿수로 변환합니다. - 아랍어 정규화:
arabic_normalization필터를 사용하여 알레프 변형, 테 마르부타, 알레프 막수라를 정규화하고, 하라카트 및 타트윌을 제거합니다. - 스템밍: `
language`를 `arabic`로 설정하고 `stemmer` 필터를 사용합니다. - 중지어 제거: 내장된
_arabic_사전을 사용하여stop필터를 적용합니다.
analyzer_params 를 정의한 후에는 컬렉션 스키마를 정의할 때 VARCHAR 필드에 분석기를 적용할 수 있습니다. 자세한 내용은 사용 예제를 참조하십시오.
예제
분석기 구성을 컬렉션 스키마에 적용하기 전에 run_analyzer 메서드를 사용하여 동작을 확인하십시오.
분석기 구성
analyzer_params = {
"type": "arabic",
}
다음 방법을 사용한 검증 run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "كِتَابٌ عـــربي ١٢٣"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
예상 출력
['كتاب', 'عرب', '123']