nori 관련 질문드립니다.
79
2 asked
안녕하세요 강사님 강의 잘 보고 있습니다.
다름 아니라 nori 토큰화 과정에서 이해가 안되는 부분이 있어서 질문드립니다.
get /_analyze
{
"text":"",
"analyzer":"nori"
} 간단한 nori analyzer 테스트 쿼리입니다.
해운대 결과
{
"tokens": [
{
"token": "해운",
"start_offset": 0,
"end_offset": 2,
"type": "word",
"position": 0
},
{
"token": "대",
"start_offset": 2,
"end_offset": 3,
"type": "word",
"position": 1
}
]
}
해운대로 결과
{
"tokens": [
{
"token": "해운",
"start_offset": 0,
"end_offset": 2,
"type": "word",
"position": 0
},
{
"token": "대",
"start_offset": 2,
"end_offset": 3,
"type": "word",
"position": 1
}
]
}
해운대구 결과
{
"tokens": [
{
"token": "해운대",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 0
},
{
"token": "구",
"start_offset": 3,
"end_offset": 4,
"type": "word",
"position": 1
}
]
}
해운대, 해운대로 결과에서는 해운대가 해운 + 대 로 토큰화 되었습니다.
해운대구 결과에서는 마찬가지로 해운 + 대 + 구 로 토큰화 될 것이라 예상했지만 해운대 + 구 로 토큰화 되었습니다.
어떤 이유로 이렇게 동작하는지 궁금합니다.
Answer 2
0
안녕하세요 focandlol님! 질문 잘 해주셨습니다:)
nori analyzer는 자체적인 로직으로 형태소를 분리합니다.
이 때, 문맥과 텍스트의 길이에 따라 형태소가 다르게 분리되기도 합니다.
이러한 원리 때문에 말씀해주신 상황이 발생한 것으로 유추됩니다!
이를 해결하기 위해서는 사용자 사전(user dictionary) 기능을 활용하셔야 합니다.
이와 관련해서는 링크에 설명이 잘 되어 있어서 링크 첨부드릴게요~!
https://esbook.kimjmin.net/06-text-analysis/6.7-stemming/6.7.2-nori
https://discuss.elastic.co/t/dec-17th-2020-kr-elastic-cloud/258379
이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~
0
안녕하세요, 인프런 AI 인턴입니다. focandlol님.
Nori Analyzer가 작동하는 방식에 대한 궁금점을 해결해드리겠습니다. Nori Analyzer는 한국어의 형태소 분석을 통해 텍스트를 토큰화하는 기능을 제공합니다. 형태소 분석은 단어의 의미를 고려하여 가능한 가장 긴 형태소들을 우선적으로 추출하는 특징을 갖고 있습니다. 이 과정에서 Nori는 어근 및 접미사 등 어휘적 구조를 분석하여 의미적으로 가장 긴 형태소를 우선적으로 인식합니다.
주제 요약:
- 형태소 분석 특징: Nori Analyzer는 가능한 고유한 의미를 가지는 가장 긴 형태소를 우선 인식합니다.
해운대구의 경우해운대라는 단어가 하나의 지명으로 인식되며, 따라서 ‘해운대’가 하나의 형태소로 뽑힙니다.
- 예시 설명:
해운대와 같은 경우에는 명확한 의미적 구분 없이 더 작은 단위, ‘해운’과 ‘대’로 쪼개질 수 있습니다.
- 반면
해운대구는 ‘해운대’라는 의미적 단위를 인식하여 ‘해운대’를 독립된 단위로 간주하고 다음에 오는 ‘구’와 따로 토큰화합니다.
이러한 방식은 다소 복잡하게 보일 수 있지만, 실제 검색 성능 향상에 도움이 되는 방식으로 설계되었습니다.
아래 URLs에서 Nori Analyzer에 대한 더 많은 정보와 예제를 참조하실 수 있습니다:
- Elasticsearch Nori Analyzer on Stack Overflow
- Nori Analyzer 공식 Elasticsearch 문서
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
멀티 필드 실무 질문드립니다.
0
43
1
페이지네이션 질문드립니다.
0
41
3
insert , upsert 질문드립니다.
0
46
2
안녕하세요 질문 있습니다.
0
85
2
검색어 애널라이저 질문
0
77
2
스프링부트에 엘라스틱서치 연결하기
0
124
2
60강 ProductDoument 코드 관련 질문 있습니다!
0
65
2
analyser를 인덱스 삭제후에 설정하던데 인덱스 생성후에도 analyser 수정이 가능한가요?
0
68
2
정말 사소한 질문이지만 ... 궁금해서 물어봅니다.
0
97
1
도큐먼트 upsert API 관련 강의 자료 오류 제보 드립니다.
0
81
2
안녕하세요 선생님 '실전에서 바로 써먹는 Kafka 입문' 강의 질문 있습니다.
0
114
1
spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.
0
82
2
58 강에서 동의어처리가 안 됩니다
0
143
4
opensearch nori 플러그인 지원
0
307
2
스프링부트에서 엘라스틱 인덱스 설정(동의어 필터 적용 에러)
0
160
2
docker compose.yml 주석 중에 이해 안되는 부분이 있어요
0
102
1
Elastic Cloud 에서 "Logs and metrics" 기능 관련 질문 있습니다.
0
108
1
must_not 쿼리는 term 쿼리만 사용 가능한가요 ?
0
102
2
(질문아님)Windows에서 Elasticsearch 하는 법
0
114
2
안녕하세요 선생님 Elastic Cloud 비용 관련해서 질문 드립니다.
0
246
2
Elasticsearch 설치하기 강의에서 질문 있습니다.
0
205
2
강의 질문입니다.
0
99
1
Elasticsearch 지난 2021년 1월 Elastic 은 소프트웨어 라이선스 전력 변경 - 관련 질문
0
60
1
[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 - 영상 누락
0
84
2

