본문 바로가기
WIKI 기술 지식 베이스

Kuromoji stemmer token filter

원문 보기 위키 갱신

출처: 문서

본문

Kuromoji stemmer 토큰 필터

kuromoji_stemmer 토큰 필터는 최소 길이 임계값을 충족하는 단어에서 끝의 장음 표시(ー)를 제거하여 가타카나 단어를 정규화해요. 일본어의 많은 외래어는 끝의 장음을 나타내는 ー와 함께 가타카나로 표기되곤 해요(예: コンピューター, プリンター). 실제로 일본어 화자는 비공식적이거나 기술적인 글쓰기에서 끝의 ー를 생략하는 경우가 많아서, 같은 단어에 대해 두 가지 표면 형태가 나타나요. 이 필터는 이러한 변형을 하나의 표준 형태로 통합해요.

이 필터는 다음과 같은 변환을 수행해요:

  • コンピューター (computer)는 コンピュータ가 돼요.
  • プリンター (printer)는 プリンタ가 돼요.

설치

kuromoji_stemmer 토큰 필터는 analysis-kuromoji 플러그인이 필요해요. 설치 방법은 Kuromoji analyzer를 참조하세요.

매개변수

다음 표는 kuromoji_stemmer 토큰 필터의 매개변수를 보여줘요.

매개변수 데이터 타입 설명
minimum_length Integer 토큰이 끝의 장음 표시를 제거하기 위해 가져야 하는 최소 문자 수예요. 이 임계값보다 짧은 토큰은 변경되지 않고 통과해요. 기본값은 4예요.

기본 최소 길이 4는 カー(자동차, 두 글자)와 같은 짧은 단어가 잘못 줄어들어 カ가 되는 것을 방지해요. {: .note}

예제

다음 예제는 kuromoji_stemmer를 사용하는 사용자 정의 분석기로 인덱스를 생성해요.

PUT /kuromoji-stemmer-index
{
  "settings": {
    "analysis": {
      "filter": {
        "katakana_stemmer": {
          "type": "kuromoji_stemmer",
          "minimum_length": 4
        }
      },
      "analyzer": {
        "stemmer_analyzer": {
          "type": "custom",
          "tokenizer": "kuromoji_tokenizer",
          "filter": ["katakana_stemmer"]
        }
      }
    }
  }
}

{% include copy-curl.html %}

가타카나 외래어(의미: "I use a computer and printer")로 분석기를 테스트해요.

POST /kuromoji-stemmer-index/_analyze
{
  "analyzer": "stemmer_analyzer",
  "text": "コンピューターとプリンターを使う"
}

{% include copy-curl.html %}

응답은 두 단어 모두에서 끝의 장음 표시가 제거된 것을 보여줘요.

{
  "tokens": [
    {
      "token": "コンピュータ",
      "start_offset": 0,
      "end_offset": 7,
      "type": "word",
      "position": 0
    },
    {
      "token": "と",
      "start_offset": 7,
      "end_offset": 8,
      "type": "word",
      "position": 1
    },
    {
      "token": "プリンタ",
      "start_offset": 8,
      "end_offset": 13,
      "type": "word",
      "position": 2
    },
    {
      "token": "を",
      "start_offset": 13,
      "end_offset": 14,
      "type": "word",
      "position": 3
    },
    {
      "token": "使う",
      "start_offset": 14,
      "end_offset": 16,
      "type": "word",
      "position": 4
    }
  ]
}

관련 문서

더 알아보기 (Learn more)