-
-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
#161 처럼 원 입력의 음절은 최대한 유지하면서 형태소 분석을 수행해야하는 상황이 자주 발생하는 것으로 보인다. 현재는 여러 형태소가 결합되어 이뤄진 음절의 경우 그 음절을 자소단위까지 분해하여 형태소 분석 결과를 내고 있기에 원 입력의 음절을 유지하려면 추가적인 후처리 단계가 필요해 비효율적이다.
테스트입니다.
Mecab: (테스트, NNG), (입니다, VCP+EF)
Kiwi: (테스트, NNG), (이, VCP), (ㅂ니다, EF)
참고로 Mecab에서는 음절 기반 분석을 사용하기에 위와 같이 원 음절을 보존한 결과 출력이 가능하다.
이에 Kiwi에서도 음절을 유지한 채 분석할 수 있도록 신규 인자인 decompose_syllables을 제안한다.
default값은 True로 이 경우 기존와 동일하게 음절을 분해하여 음소단위까지 분석을 수행하며, 이 값을 False 준 경우 Mecab 결과와 유사하게 음절을 분해하지 않고 음절을 살리는 수준까지만 분석을 수행한다.
고려해야할 사항
Kiwi.tokenize()의 반환 타입인 Token의 tag property는 기존까지 단일 태그만 가진다는 전제하여 쓰였지만, decompose_syllables=False로 분석을 하게 되면 Token.tag에 +로 연결된 여러 태그가 입력될 수 있으므로, Token.tag를 사용하는 부분에서 복합 태그를 처리할 수 있도록 별도의 로직이 추가되어야 한다.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels