Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

안녕하세요! 혹시 품사 태깅 때 형용사/동사 원형으로 변형되게 할 수 있을까요? #4

Open
knightas7 opened this issue Jul 20, 2020 · 3 comments

Comments

@knightas7
Copy link

knightas7 commented Jul 20, 2020

안녕하세요. Konlpy 에서 여러 분석기 활용하다가 사용자 사전 정의에 매력을 느껴 찾아와 여쭤보게 되었습니다.

너무나 편리한 분석기 개발 감사드립니다.
다름 아니라, 품사 태깅 사용 시 혹시 동사와 형용사를 윈형으로 변화시켜 가져오는 방안이 있을까요? Okt의 Okt.pos()에서 stem옵션 True로 하는 기능이 편했었거든요... 혹시나 관련한 Workaround라도 있을까요?

@lovit
Copy link
Owner

lovit commented Jul 20, 2020

안녕하세요. 코모란의 경우에는 형태소 분석 과정에서 용언 (동사, 형용사)를 어간 + 어미로 분리합니다. 그리고 동사, 형용사의 원형은 어간 + 다 입니다.

@lovit
Copy link
Owner

lovit commented Jul 20, 2020

komoran.pos('적었다')
[('적', 'VA'), ('었', 'EP'), ('다', 'EC')]
def lemmatize(sentence):
    morphtags = komoran.pos(sentence)
    morphtags = [(m if t != 'VA' and t != 'VV' else m + '다', t) for m, t in morphtags]
    return morphtags

lemmatize('적었다')
[('적다', 'VA'), ('었', 'EP'), ('다', 'EC')]

뒤의 어미를 적절히 제거하면 더 깔끔하겠지만, 그 부분 제외하고 빠르게 답변 적어 드립니다.

@knightas7
Copy link
Author

komoran.pos('적었다')
[('적', 'VA'), ('었', 'EP'), ('다', 'EC')]
def lemmatize(sentence):
    morphtags = komoran.pos(sentence)
    morphtags = [(m if t != 'VA' and t != 'VV' else m + '다', t) for m, t in morphtags]
    return morphtags

lemmatize('적었다')
[('적다', 'VA'), ('었', 'EP'), ('다', 'EC')]

뒤의 어미를 적절히 제거하면 더 깔끔하겠지만, 그 부분 제외하고 빠르게 답변 적어 드립니다.

와 신속한 답변 정말 감사드립니다! 그러네요. "어간+다" 형식 으로 보면 되겠군요...! 뭔가 원형 사전 참조하는 방식이 있는훌 알았습니다. 집에 가는 대로 테스트 적용해보겠습니다. 감사드립니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants