태국어Compatible with Milvus 3.0.0+

thai 분석기는 태국어 텍스트를 위한 내장 분석기입니다. Milvus를 사용하여 태국어 텍스트를 단어로 분할하거나, 태국어 숫자를 정규화하거나, 혼합된 라틴 문자 텍스트를 소문자로 변환하거나, 태국어 스톱워드를 제거해야 할 때 이 분석기를 사용하십시오.

구성

내장 분석기는 Milvus에서 제공하는 분석기 템플릿입니다. 내장 분석기를 사용하려면 analyzer_params 에서 ` type `를 미리 정의된 분석기 이름으로 설정하십시오.

내장 태국어 분석기를 사용하려면 ` type `을 ` thai`로 설정하십시오:

analyzer_params = {
    "type": "thai",
}

thai 분석기는 다음 선택적 매개변수를 지원합니다:

매개변수

유형

기본값

설명

stop_words

list[str]

_thai_

토큰화 과정에서 제외할 추가 스톱워드 목록입니다. 기본적으로 thai 분석기는 내장된 _thai_ 사전(dictionary)을 사용합니다. 기본 사전을 확인하려면 Milvus 태국어 스톱워드 목록을 참조하십시오. 이 목록은 Apache Lucene 태국어 스톱워드 파일에서 가져온 것입니다.

사용자 정의 스톱워드를 추가하려면 stop_words 를 포함하십시오:

analyzer_params = {
    "type": "thai",
    "stop_words": ["มิลวัส"],
}

Milvus는 내장된 _thai_ 사전 외에도 사용자 정의 스톱워드를 적용합니다.

내장된 thai 분석기는 다음 사용자 정의 분석기 구성과 동일합니다:

analyzer_params = {
    "tokenizer": "thai",
    "filter": [
        "lowercase",
        "decimaldigit",
        {
            "type": "stop",
            "stop_words": ["_thai_"],
        },
    ],
}

이 분석기는 다음 처리 단계를 적용합니다:

  • 토큰화: thai 토큰화기를 사용하여 공백에 의존하지 않고 태국어 텍스트를 단어 토큰으로 분할합니다. 토큰화기는 공백 및 구두점만으로 구성된 세그먼트를 걸러냅니다.
  • 대소문자 정규화: lowercase 필터를 사용하여, 태국어와 영어가 혼합된 텍스트에서 라틴 문자에 영향을 줍니다.
  • 숫자 정규화: ‘ decimaldigit ’ 필터를 사용하여 태국어 숫자 및 기타 유니코드 십진수 숫자를 ASCII 숫자로 변환합니다.
  • 중지어 제거: 내장된 _thai_ 사전을 사용하여 stop 필터를 적용합니다.
  • 어근추출 없음: 내장된 thai 분석기는 stemmer 필터를 적용하지 않습니다.

analyzer_params 를 정의한 후에는 컬렉션 스키마를 정의할 때 VARCHAR 필드에 이 분석기를 적용할 수 있습니다. 자세한 내용은 사용 예제를 참조하십시오.

예제

분석기 구성을 컬렉션 스키마에 적용하기 전에 ` run_analyzer ` 메서드를 사용하여 동작을 확인하십시오.

분석기 구성

analyzer_params = {
    "type": "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', '123']

번역DeepL

관리형 Milvus를 무료로 사용해 보세요

Zilliz Cloud는 번거로움이 없으며, Milvus 기반으로 10배 더 빠릅니다.

시작하기
피드백

이 페이지가 도움이 되었나요?