bab2min / kiwipiepy

Python API for Kiwi
Other
282 stars 27 forks source link

@nowtoday 앗, TV프로그램 때문에 NNP로 기본사전에 들어가 있나보네요... 이게 이런 종류의 고유명사 때문에 분석이 애매한 경우가 꽤 있거든요. 0.15.0버전부터 추가된 blocklist를 이용하면 특정 형태소가 분석 결과에 나오지 않도록 막을 수 있습니다. #138

Closed nowtoday closed 1 year ago

nowtoday commented 1 year ago
          @nowtoday 앗, TV프로그램 때문에 NNP로 기본사전에 들어가 있나보네요... 이게 이런 종류의 고유명사 때문에 분석이 애매한 경우가 꽤 있거든요. 0.15.0버전부터 추가된 blocklist를 이용하면 특정 형태소가 분석 결과에 나오지 않도록 막을 수 있습니다.
from kiwipiepy import Kiwi
kiwi = Kiwi()
kiwi.tokenize('안녕하세요')
# [Token(form='안녕하세요', tag='NNP', start=0, len=5)]

kiwi.tokenize('안녕하세요', blocklist=['안녕하세요/NNP'])
# [Token(form='안녕', tag='NNG', start=0, len=2), Token(form='하', tag='XSA', start=2, len=1), Token(form='세요', tag='EF', start=3, len=2)]

일단 임시 방편이겠지만 위처럼 blocklist를 사용하시는 걸 추천드립니다. 본질적인 해결법은 계속 고민해보도록 하겠습니다.

Originally posted by @bab2min in https://github.com/bab2min/kiwipiepy/issues/119#issuecomment-1562823456

nowtoday commented 1 year ago

알려주신 blocklist 방법이 kiwi.tokenize 에서는 되는데 kiwi.analyze 나 kiwi.split_into_sents 에서는 안되는 것 같아서요...

bab2min commented 1 year ago

@nowtoday 넵, 말 그대로 임시방편일뿐이고, 해당 문제는 다음 업데이트에서 개선될 예정입니다.