태국어Compatible with Milvus 3.0.0+
thai 토큰화기는 공백에 의존하지 않고 태국어 텍스트를 단어 토큰으로 분할합니다. 태국어 또는 태국어와 영어가 혼합된 텍스트를 위한 사용자 지정 분석기 파이프라인을 구축해야 할 때 이 토큰화기를 사용하십시오.
구성
태국어 텍스트의 경우, 대부분의 경우 내장된 thai 분석기를 사용하십시오. 내장 분석기에는 이 토큰화기와 함께 소문자 변환, 소수점 숫자 정규화, 태국어 스톱워드 제거 기능이 포함되어 있습니다. 사용자 정의 분석기 파이프라인을 구축해야 할 때에만 thai 토큰화기를 직접 사용하십시오.
thai 토큰화기를 사용하여 분석기를 구성하려면, analyzer_params 에서 ` tokenizer `을 ` thai `로 설정하십시오.
analyzer_params = {
"tokenizer": "thai",
}
thai 토큰화기에는 구성 가능한 매개변수가 없습니다.
이 토큰화기는 하나 이상의 필터와 함께 작동할 수 있습니다. 예를 들어, 다음 구성에서는 thai 토큰화기를 lowercase 및 decimaldigit 필터를 함께 사용합니다:
analyzer_params = {
"tokenizer": "thai",
"filter": [
"lowercase",
"decimaldigit",
],
}
이 사용자 정의 파이프라인은 내장된 _thai_ 중지어 사전을 포함하지 않으므로, 내장된 thai 분석기와 동일하지 않습니다. 완전한 사전 정의된 파이프라인을 사용하려면 {"type": "thai"} 를 참조하십시오.
이 토큰화기는 다음과 같은 동작을 적용합니다:
- 태국어 분절: 공백에 의존하지 않고 태국어 텍스트를 단어 토큰으로 분절합니다.
- 공백 및 구두점 필터링: 공백 및 구두점만으로 구성된 세그먼트를 필터링하여 제거합니다. 이는
icu구문 분석기와는 다릅니다. 해당 구문 분석기는 구두점과 공백을 토큰으로 보존할 수 있습니다. - 혼합 문자 텍스트: 태국어와 영어가 혼합된 텍스트에서 라틴 문자 단어 토큰을 출력합니다.
- 토큰화기 전용: 토큰을 소문자로 변환하지 않으며, 유니코드 숫자를 정규화하지 않고, 스톱워드를 제거하지 않습니다. 해당 단계에 필터를 추가하거나 내장된
thai분석기를 사용하십시오. - 위치 의미론: 건너뛴 공백 및 구두점을 포함하는 문자 기반 토큰 위치를 사용하므로, 구문 및 근접성 매칭 동작이 다른 비라틴 문자 토큰화기와 일관성을 유지합니다.
analyzer_params 를 정의한 후, 컬렉션 스키마를 정의할 때 VARCHAR 필드에 분석기를 적용할 수 있습니다. 자세한 내용은 사용 예제를 참조하십시오.
예제
분석기 구성을 컬렉션 스키마에 적용하기 전에 run_analyzer 메서드를 사용하여 동작을 확인하십시오.
분석기 구성
analyzer_params = {
"tokenizer": "thai",
}
다음 방법을 사용한 검증 run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "สวัสดี! ทดสอบ, ระบบ Milvus ๑๒๓"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
예상 출력
['สวัสดี', 'ทดสอบ', 'ระบบ', 'Milvus', '๑๒๓']