Closed DevJunghun closed 11 months ago
이미 등록된 형태소의 태그를 바꿀 수 있는지에 대해서도 문의드립니다. 예를 들어, 포켓몬이라는 단어가 NNP 태그로 태깅되어 있을때, 기 등록된 점수보다 더 높은 점수로 사용자 단어 사전에 추가하여 NNG 태그로 재태깅할 수 있는지에 대한 것입니다.
kiwi.add_user_word('포켓몬', 'NNG', 100)
안녕하세요 @DevJunghun
현재 키위 시스템에서는 단어의 형태와 품사를 묶어서 키로 관리하고 있습니다. 즉 형태와 품사가 동일한 형태소는 오직 사전에 하나만 등재될 수 있는 구조입니다. 반대로 얘기하면 형태가 동일해도 품사가 다르면 별개의 형태소로 처리되어 사전에 각각 등재될 수 있구요.
그래서 이미 포켓몬/NNP
이 등재되어 있는 상태라고 할지라도 포켓몬/NNG
이 등재되지 않은 상태라면 add_user_word
를 통해 포켓몬/NNG
을 등록할 수 있습니다. score를 100처럼 큰 값으로 주면 '포켓몬'이라는 텍스트가 당연히 우선적으로 NNG로 분류될 것이구요. 그래서 두번째 질문에 대한 답은 '가능하다'가 되겠습니다.
>>> import kiwipiepy
>>> kiwi = kiwipiepy.Kiwi()
>>> kiwi.tokenize('포켓몬재밌다')
[Token(form='포켓몬', tag='NNP', start=0, len=3), Token(form='재밌', tag='VA', start=3, len=2), Token(form='다', tag='EF', start=5, len=1)]
>> kiwi.add_user_word('포켓몬', 'NNG', 100)
True
# 만약 add_user_word의 리턴값이 True가 아니면 이미 등재되어있는 형태소라서 다시 추가되지 않은 것입니다.
>>> kiwi.tokenize('포켓몬재밌다')
[Token(form='포켓몬', tag='NNG', start=0, len=3), Token(form='재밌', tag='VA', start=3, len=2), Token(form='다', tag='EF', start=5, len=1)]
커스텀 태그 기능은 내부적인 구조 변경이 필요하여 현재 키위에서 지원하고 있지는 않은데요, 개발 계획에 추가해두도록 하겠습니다.
상세한 답변 감사드립니다. 자주 사용하며 키위의 발전을 응원하고 좋은 방향으로 발전할 수 있도록 기여하겠습니다.
해당 이슈는 닫도록 하겠습니다.
안녕하세요. 먼저 뛰어난 한국어 형태소 분석기를 개발해주심에 감사드립니다. 한국어 텍스트 처리에 아주 잘 사용하고 있습니다..!
현재 Kiwi를 이용해 특정 도메인에서 작은 범위의 NER Task를 수행할 수 있을 것 같아 구현을 시도 중에 있는데, 기존 태그 목록 (https://bab2min.github.io/kiwipiepy/v0.15.1/kr/#_9) 외에 다른 태그를 추가하여 사용자 단어 사전을 이용하는 방법이 존재하는지 문의드립니다.
예를 들면, 포켓몬이라는 단어를 다음과 같이 SPE 태그(기존 태그 목록에 존재하지 않는 태그)로 태깅할 수 있는지에 대한 것입니다.
감사합니다!