Kuromoji iteration mark character filter
출처: 문서
본문
Kuromoji 반복 기호 문자 필터
kuromoji_iteration_mark 문자 필터는 일본어 가로쓰기 반복 기호(오도리지)를 정규화하여 각 기호를 반복되는 문자로 대체해요. 일본어에서는 반복 기호를 반복되는 문자의 약어로 사용해요:
- 々 (한자 반복 기호) -- 앞의 한자를 그대로 반복해요. 따라서 佐々木는 佐佐木가 돼요.
- ゝ (히라가나 반복 기호) -- 앞의 히라가나를 그대로 반복해요. 따라서 かゝ는 かか가 돼요.
- ゞ (히라가나 탁음 반복 기호) -- 앞의 히라가나를 반복하고 탁음을 적용해요. 앞의 문자가 무성음이어야 해요. 따라서 みすゞ는 みすず가 되며, す가 ず로 탁음화돼요.
- ヽ (가타카나 반복 기호) -- 앞의 가타카나를 그대로 반복해요. 따라서 コヽア는 ココア가 돼요.
- ヾ (가타카나 탁음 반복 기호) -- 앞의 가타카나를 반복하고 탁음을 적용해요. 앞의 문자가 무성음이어야 해요. 따라서 カヾ는 カガ가 돼요.
토큰화 전에 이러한 기호를 확장하면 원본 텍스트에서 반복 기호를 사용했는지 반복 문자를 직접 썼는지에 관계없이 결과 토큰이 일관되게 유지돼요.
설치
kuromoji_iteration_mark 문자 필터는 analysis-kuromoji 플러그인이 필요해요. 설치 방법은 Kuromoji 분석기를 참조하세요.
매개변수
다음 표는 kuromoji_iteration_mark 문자 필터의 매개변수를 보여줘요.
| 매개변수 | 데이터 유형 | 설명 |
|---|---|---|
normalize_kanji |
Boolean | true로 설정하면 한자 반복 기호(々)를 정규화해요. 기본값은 true예요. |
normalize_kana |
Boolean | true로 설정하면 가나 반복 기호(ゞ, ヾ, ゝ, ヽ)를 정규화해요. 기본값은 true예요. |
예제
다음 예제는 kuromoji_iteration_mark 문자 필터를 사용하는 사용자 정의 분석기로 인덱스를 생성해요.
PUT /iteration-mark-index
{
"settings": {
"analysis": {
"char_filter": {
"iteration_mark_filter": {
"type": "kuromoji_iteration_mark",
"normalize_kanji": true,
"normalize_kana": true
}
},
"analyzer": {
"iteration_mark_analyzer": {
"type": "custom",
"char_filter": ["iteration_mark_filter"],
"tokenizer": "kuromoji_tokenizer"
}
}
}
}
}
{% include copy-curl.html %}
한자 반복 기호가 포함된 텍스트로 분석기를 테스트해보세요. 이름 佐々木(사사키)는 々를 사용하여 앞의 한자 佐를 반복해요.
POST /iteration-mark-index/_analyze
{
"analyzer": "iteration_mark_analyzer",
"text": "佐々木さんは元気です"
}
{% include copy-curl.html %}
문자 필터는 토큰화 전에 佐々木를 佐佐木로 확장해요.
{
"tokens": [
{
"token": "佐佐木",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 0
},
{
"token": "さん",
"start_offset": 3,
"end_offset": 5,
"type": "word",
"position": 1
},
{
"token": "は",
"start_offset": 5,
"end_offset": 6,
"type": "word",
"position": 2
},
{
"token": "元気",
"start_offset": 6,
"end_offset": 8,
"type": "word",
"position": 3
},
{
"token": "です",
"start_offset": 8,
"end_offset": 10,
"type": "word",
"position": 4
}
]
}