아랍어 정규화Compatible with Milvus 3.0.0+
arabic_normalization 필터는 아랍어 텍스트를 위한 내장 토큰 필터입니다. 이 필터는 아랍어 특유의 문자 변형을 정규화하고, 텍스트 분석 시 동일한 아랍어 용어가 서로 다르게 보일 수 있게 만드는 선택적 표기를 제거합니다.
구성
아랍어 텍스트의 경우, 대부분의 경우 내장된 arabic 분석기를 사용하십시오. 이 내장 분석기에는 표준 토큰화, 소문자 변환, 소수점 숫자 정규화, 아랍어 어근 추출 및 아랍어 스톱워드 제거 기능과 함께 이 필터가 포함되어 있습니다. 사용자 정의 분석기 파이프라인을 구축해야 하는 경우에만 ‘ arabic_normalization ’를 직접 사용하십시오.
사용자 정의 분석기에서 arabic_normalization 필터를 사용하려면, analyzer_params 파일의 filter 섹션에 다음을 추가하십시오:
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
arabic_normalization 필터에는 구성 가능한 매개변수가 없습니다.
이 필터는 다음과 같은 변환을 적용합니다:
변환 |
원본 |
변환 후 |
|---|---|---|
함자 + 알레프 변형 |
|
|
테 마르부타 |
|
|
알레프 막수라 |
|
|
하라카트 |
|
제거됨 |
타트윌 / 카시다 |
|
제거됨 |
이 필터는 토큰화기가 생성한 토큰을 대상으로 작동합니다. 위의 구성은 의도적으로 사용자 정의 분석기 예시이며, 완전한 아랍어 처리 파이프라인을 포함하지 않습니다.
예시
분석기 구성을 컬렉션 스키마에 적용하기 전에, ` run_analyzer ` 메서드를 사용하여 동작을 확인해 보십시오.
분석기 구성
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
다음 메서드를 사용한 검증 run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
예상 출력
['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']