형태소 분석기 성능 테스트 - 한나눔, 트위터, 코모란 | 개발일지 #3-3

moonheo·2020년 2월 22일
0

누뭐개

목록 보기
4/5

같은 문장을 분석해본다.
""언제부터 YouTube에서 수익을 창출할 수 있나요?"라는 질문을 받습니다"

print(hannanum.pos('"언제부터 YouTube에서 수익을 창출할 수 있나요?"라는 질문을 받습니다'))
print('\n')
print(twitter.pos('"언제부터 YouTube에서 수익을 창출할 수 있나요?"라는 질문을 받습니다'))
print('\n')
print(komoran.pos('"언제부터 YouTube에서 수익을 창출할 수 있나요?"라는 질문을 받습니다'))

결과값

한나눔
[('"', 'S'), ('언제', 'N'), ('부터', 'J'), ('YouTube', 'F'), ('에서', 'J'), ('수익', 'N'), ('을', 'J'), ('창출', 'N'), ('하', 'X'), ('ㄹ', 'E'), ('수', 'N'), ('있', 'P'), ('나', 'E'), ('요', 'J'), ('?"', 'S'), ('라', 'N'), ('는', 'J'), ('질문', 'N'), ('을', 'J'), ('받', 'P'), ('습니다', 'E')]

트위터
[('"', 'Punctuation'), ('언제', 'Noun'), ('부터', 'Josa'), ('YouTube', 'Alpha'), ('에서', 'Josa'), ('수익', 'Noun'), ('을', 'Josa'), ('창', 'Noun'), ('출', 'Verb'), ('할', 'Verb'), ('수', 'Noun'), ('있나요', 'Adjective'), ('?"', 'Punctuation'), ('라는', 'Josa'), ('질문', 'Noun'), ('을', 'Josa'), ('받습니다', 'Verb')]

코모란
[('"', 'SS'), ('언제', 'NP'), ('부터', 'JX'), ('YouTube', 'SL'), ('에서', 'JKB'), ('수익', 'NNG'), ('을', 'JKO'), ('창출', 'NNG'), ('하', 'XSV'), ('ㄹ', 'ETM'), ('수', 'NNB'), ('있', 'VX'), ('나요', 'EF'), ('?', 'SF'), ('"', 'SS'), ('이', 'VCP'), ('라는', 'ETM'), ('질문', 'NNG'), ('을', 'JKO'), ('받', 'VV'), ('습니다', 'EC')]

'할 수 있나요?'의 '수'를 한나눔과 트위터에선 '수익'과 같은 'Noun(체언)'으로 인식해버린다. 반면 코모란은 좀더 세분화하여 'NNB'로 인식한다. ('수익'='NNG')

다른 글을 찾아보니 코모란이 속도면에서도 나쁘지 않다고 한다.

정확성, 시간 모두 중요할 때 : 코모란
https://ratsgo.github.io/from%20frequency%20to%20semantics/2017/05/10/postag/
자소 분리나 오탈자에 대해서도 어느 정도 분석 품질이 보장되야 한다면 KOMORAN 사용을 고려
https://iostream.tistory.com/144

이에 이전 코드를 한나눔에서 코모란으로 바꿔주었다.
코모란의 품사 태그도 다시 알아봐야하는데 아래에서 확인했다.

https://docs.komoran.kr/firststep/postypes.html

[i] 일반명사 Top 10 키워드 & 횟수

[('수익', 11), ('창출', 11), ('채널', 11), ('프로그램', 8), ('충족', 7), ('가입', 6), ('검토', 6), ('정책', 6), ('기준', 5), ('자격', 5)]

[ii] 일반명사,고유명사 Top 10 키워드 & 횟수

[('채널', 14), ('수익', 11), ('창출', 11), ('프로그램', 8), ('충족', 7), ('가입', 6), ('검토', 6), ('정책', 6), ('동영상', 5), ('파트너', 5)]

위 결과와 달리 '채널'의 반복횟수가 3회 더 상승했다. 아마 띄어쓰기가 안 된 부분에서 가져온 것이 아닌가 싶다

[iii] 일반명사,고유명사,의존명사 Top 10 키워드 & 횟수

Top keyword: [('수', 15), ('채널', 14), ('수익', 11), ('창출', 11), ('프로그램', 8), ('충족', 7), ('가입', 6), ('검토', 6), ('정책', 6), ('동영상', 5)]

_(이전글에서 고문관이었던) '수'가 다시 등장한다. 그 외에 다른 값들의 횟수는 위 [ii]와 변함이 없다.)

결론
1. 코란도가 속도면 정확도면에서 유리하다.
2. 일반명사~고유명사까지만 포함하여 키워드로 전제하기로 한다.

profile
흩어진 조각을 맞추어나가다 보면

0개의 댓글