Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- mapping
- 셸
- for문
- python
- kuromoji
- else문
- pm
- 일본어형태소분석기
- json
- NumPy
- kibana
- Sort
- shell
- 블록구조
- 제로베이스부트캠프
- 제로베이스
- if문
- 반복문
- 매핑
- while문
- 학습일지
- 제로베이스pm스쿨
- bulk
- UNIX
- pm스쿨28기
- 조건문
- Size
- ElasticSearch
- 파이썬
- elif문
Archives
- Today
- Total
code name blue
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (2) 본문
Programming/Elasticsearch
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (2)
byebyeblue 2019. 11. 1. 11:37elasticsearch 6.4.3 version
3. kuromoji_baseform
token filter (공식문서)
kuromoji_baserform
토큰 필터는 동사와 형용사 용언의 원형을 복원한다.
한국어를 예로 들자면 '갔어', '가니까' 등의 동사를 기본형인 '가다'로 복원해준다.
PUT kuromoji_sample
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "kuromoji_tokenizer",
"filter": [
"kuromoji_baseform"
]
}
}
}
}
}
}
위와 같이 tokenizer
는 kuromoji_tokenizer
로, filter
는 kuromoji_baseform
을 설정한다.
GET kuromoji_sample/_analyze
{
"analyzer": "my_analyzer",
"text": "遊び"
}
일본어로 '놀다'에 해당하는 '遊び'를 입력한다.
{
"tokens" : [ {
"token" : "遊ぶ",
"start_offset" : 0,
"end_offset" : 2,
"type" : "word",
"position" : 0
} ]
}
위와 같이 동사의 활용 없이 원형인 '遊ぶ'로 변환된 토큰으로 나뉜다.
4. kuromoji_part_of_speech
token filter (공식문서)
kuromoji_part_of_speech
토큰 필터는 part-of-speech 태그에 사전 작업 되어 있는 불필요한 토큰을 삭제해준다.
기준은 품사 태그 세트이다. 주로 명사 뒤에 붙는 조사, 동사의 불필요한 어미 등을 삭제하는데 사용한다.
토큰 삭제는 lucene-analyzer-kuromoji.jar
내부의 stoptags.txt
파일을 따른다.
filter
에서 stoptags
를 지정하여 원하는 토큰만 걸러낼 수 있다. 모든 태그의 종류는 여기에서 확인할 수 있다.
PUT kuromoji_sample
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "kuromoji_tokenizer",
"filter": [
"my_posfilter"
]
}
},
"filter": {
"my_posfilter": {
"type": "kuromoji_part_of_speech",
"stoptags": [
"助詞-格助詞-一般",
"助詞-終助詞"
]
}
}
}
}
}
}
공식 예제대로 stoptags
에 '助詞-格助詞-一般(조사-격조사-일반)'과 '助詞-終助詞(조사-종조사)'를 지정한다.
GET kuromoji_sample/_analyze
{
"analyzer": "my_analyzer",
"text": "寿司がおいしいね"
}
'寿司がおいしいね'라는 문장을 analyze 한다.
{
"tokens" : [ {
"token" : "寿司",
"start_offset" : 0,
"end_offset" : 2,
"type" : "word",
"position" : 0
}, {
"token" : "おいしい",
"start_offset" : 3,
"end_offset" : 7,
"type" : "word",
"position" : 2
} ]
}
주어 뒤의 'が'와 서술어 뒤의 'ね'가 stoptags
에 의해 걸러지고 다른 토큰만 반환된다.
'Programming > Elasticsearch' 카테고리의 다른 글
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (3) (0) | 2019.11.01 |
---|---|
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (1) (0) | 2019.10.29 |
elasticsearch : 일본어 형태소 분석기 kuromoji 설치 (0) | 2019.10.29 |
elasticsearch : 검색 결과별 쿼리 (1) - from/size, sort (0) | 2019.10.21 |
elasticsearch : 다량의 데이터 넣기(bulk json insert) (0) | 2019.10.08 |
Comments