mecab-ko 기능 추가 요청

325 views
Skip to first unread message

Ioseph Kim

unread,
Dec 10, 2014, 10:53:17 PM12/10/14
to eun...@googlegroups.com
안녕하세요. 

우연히 이 프로젝트를 알게 되어, 
저는 mecab-ko와, mecab-ko-dic, textsearch-ja 로 PostgreSQL에서 한국어 full text search 확장 모듈을 구현하고 있습니다. 

덕분에 아주 성공적으로 구현되었습니다. 
성능도 꽤 날 나오는 편이고요. 

그런데, 용언활용 부분에 약간 미흡한 부분이 있어서 이렇게 기능 요청을 하게 되었습니다. 
제가 어찌 해 보려고, mecab 코드를 보고 있는데, c++ 실력이 딸려서 힘드네요. 

요청 사항은 
MeCab::Option 에 
split-inflect 옵션을 추가하는 것입니다. 

현재는 

$ echo '될지 갈지 문젭니다' | ./mecab
될지    VV+EC,*,F,될지,Inflect,VV,EC,되/VV+ㄹ지/EC,*
갈지    VV+EC,*,F,갈지,Inflect,VV,EC,가/VV+ㄹ지/EC,*
문젭니다        NNG+VCP+EF,*,F,문젭니다,Inflect,NNG,EF,문제/NNG+이/VCP+ᄇ니다/EF,*
EOS

이렇게 나오는데, 

$ echo '될지 갈지 문젭니다' | ./mecab --split-inflect
되      VV,*,F,되,*,*,*,*,*
ㄹ지    EC,*,F,ㄹ지,*,*,*,*,*
가      VV,*,F,되,*,*,*,*,*
ㄹ지    EC,*,F,ㄹ지,*,*,*,*,*
문제    NNG,*,F,문제,*,*,*,*,*
이      VCP,*,F,이,*,*,*,*,*
ᄇ니다 EF,*,F,ㅂ니다,*,*,*,*,*
EOS

이렇게 나왔으면 합니다. 
분리된 형태소들이 굳이 사전에 없어도 괜찮습니다. 

필요한 이유가, 인터넷에 떠도는 소설 하나를 DB에 넣어 인덱스를 만들어보니, 
 기다려       |   1
 기다렸       |   2
 기다리       |   4
 기다린       |   1
 기다릴       |   1
형태로 '기다리다' 의 의미를 가진 자료가 각각 분리되어어버려 검색 품질이 떨어집니다.

긍정적인 논의가 있었으면 좋겠네요.



Yong-woon Lee

unread,
Dec 11, 2014, 8:40:29 AM12/11/14
to eun...@googlegroups.com
안녕하세요. 우선 저희 프로젝트에 관심을 가져주셔서 감사합니다.

'은전한닢 프로젝트'는 현재  mecab(엔진), mecab-ko-dic(학습 데이터 및 사전), mecab-lucene-analyzer(루씬용 분석기)로 이루어져 있으며,
가능하면 mecab 엔진을 바꾸지 않고 필요한 부분은 mecab-lucene-analyzer에서 가공을 하는 방식으로 가고 있습니다.

이러한 이유는 mecab는 범용 엔진으로 제작된 것이기 때문에 딱히 해당 기능을 넣을 곳을 찾기가 쉽지 않고, mecab와 협업 관계가 아니기 때문에
mecab이 버전업을 한 경우의 일을 최소화하기 위함입니다.

mecab이 아니라 textsearch-ja의 소스를 수정하여 원하는 방향으로 개발이 가능하지 않을까요?

좋은 답변을 드리지 못해 죄송합니다. 다시한번 관심에 감사드립니다.

Ioseph Kim

unread,
Dec 11, 2014, 11:17:26 AM12/11/14
to eun...@googlegroups.com
네, 답변 감사합니다.
새로운 textsearch 모듈을 만들어야겠네요.

Reply all
Reply to author
Forward
0 new messages