글 수 37

C++로 만든 형태소 분석기 - KIWI

조회 수 85 추천 수 0 2018.07.02 21:33:46


 

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

엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수
37 엑소브레인 강연 자료 깊은바다 2018-07-19 20
» C++로 만든 형태소 분석기 - KIWI 깊은바다 2018-07-02 85
35 간편한 토픽 모델링 툴 Tomoto Gui 깊은바다 2018-06-14 72
34 클로바 Interaction Model의 이해 및 설계/제작 노하우 - 자연어처리 방법 깊은바다 2018-06-06 87
33 SentiWordNet과 감성분석 깊은바다 2018-06-04 82
32 한국어 오픈소스 자연어처리 라이브러리 - Koshort 깊은바다 2018-05-20 275
31 기계번역기의 발전과 역사 깊은바다 2018-05-10 60
30 소셜 미디어 감성분석을 통한 주가 예측 깊은바다 2018-04-28 137
29 노가다 없는 텍스트 분석을 위한 한국어 NLP 깊은바다 2018-04-26 448
28 한국어 채팅 데이터로 머신러닝 하기 깊은바다 2018-04-25 233
27 나이브 베이즈로 스팸 분류 깊은바다 2018-04-15 172
26 음성인식 방법과 카카오i의 음성형엔진 깊은바다 2018-04-09 128
25 엑소브레인 자연어 질의응답 기술 file 깊은바다 2018-03-25 202
24 왓슨 컴퓨터의 인공지능 소개 깊은바다 2018-03-25 131
23 자연어처리의 개념 깊은바다 2018-03-24 347