- AI Dev - 인공지능 개발자 모임
- 정보공유
- 자연어처리
글 수 73
http://bab2min.tistory.com/560?category=686456
C++로 만든 형태소 분석기의 개발과정을 정리한 글입니다. 형태소 분석을 하는 방법은 먼저 사전과 미리 정의한 규칙을 사용해서 문장을 모든 가능한 형태소의 조합으로 목록을 만듭니다. 예를 들어, '디자인하여'는 다음과 같이 12개의 형태가 가능합니다.
디자인(NNG) *
하(VV / XSV / XSA / NNG) *
아(EC / EF / IC)
그리고 형태소가 레이블되어 있는 말뭉치인 코퍼스를 사용해서 각각의 목록에 대해서 확률을 계산합니다. 그리고 가장 확률이 높은 형태소 조합을 선택합니다. 마르코프 모델을 사용하기 때문에 바로 이전 형태소에만 영향을 받는다고 가정합니다.
(NNG 확률) * (NNG->VV 확률) * (VV->EC 확률)
(NNG 확률) * (NNG->VV 확률) * (VV->EF 확률)
...
(NNG 확률) * (NNG->XSV 확률) * (VV->EC 확률)
(NNG 확률) * (NNG->XSV 확률) * (VV->EF 확률)
...
< 소스코드 >
- https://github.com/bab2min/Kiwi
< 웹 / GUI 데모 >
- https://lab.bab2min.pe.kr/kiwi