['정진해온', '정진해'] 형태소 분석하면 이상한 숫자가 끼어있어요.

278 views
Skip to first unread message

Drake Jin

unread,
Jan 8, 2020, 3:26:15 AM1/8/20
to 은전한닢 프로젝트
문제
정진해온, 정진해 를 형태소 분석하면 다음과 같이 '정진7' 이라는 단어가 나타나게 됩니다. '정진', '해' 까지는 이해하겠는데 '7'의 등장은 무척 abnormal합니다.
혹시 이에 대한 원인이나 해결방법을 알 수 있을까요? 사전목록을 살펴보아도 '정진7' 이라는 단어가 사전에 들어가 있지 않아서요.


현재
elasticsearch plugin nori 형태소 분석기를 사용하고 있습니다. elasticsearch nori에서 문제인줄 알고, 이슈제기를 하고 홀로 digging을 하다가 문제에 대해서 알게되었습니다.
(elasticsearch plugin nori는 mecab을 base로 vector를 만들어서 사용하는 형태소분석기 플러그인입니다.)
https://github.com/elastic/elasticsearch/issues/50726

정진이라는 글자가 오면 '정진_' 으로 특수문자 포함해서 치환하는 elasticsearch char_filter를 만들어서 사용중이며, 특수문자는 tokenizer 형태소 분석기에 의해 제거되게됩니다.

혹시 이에 대해서 어떠한 인사이트나 경험공유해주시면 정말 감사하겠습니다.


Drake Jin

unread,
Jan 8, 2020, 3:26:48 AM1/8/20
to 은전한닢 프로젝트
image

Drake Jin

unread,
Jan 8, 2020, 3:29:44 AM1/8/20
to 은전한닢 프로젝트
mecab 테스트환경을 구성한 dockerfile 내용 공유합니다.

mecab-ko version: 0.996-ko-0.9.2 mecab-ko-dic version: 2.1.1-20180720

FROM node:10.15.3

RUN mkdir -p /opt/mecab

COPY ./mecab-ko-tarball/mecab-0.996-ko-0.9.2.tar.gz /opt/mecab/mecab-0.996-ko-0.9.2.tar.gz # 이 부분을 replace해주세요
COPY ./mecab-ko-tarball/mecab-ko-dic-2.1.1-20180720.tar.gz /opt/mecab/mecab-ko-dic-2.1.1-20180720.tar.gz # 이 부분을 replace해주세요


# mecab runtime install
RUN tar zxvf /opt/mecab/mecab-0.996-ko-0.9.2.tar.gz -C /opt/mecab
RUN rm /opt/mecab/mecab-0.996-ko-0.9.2.tar.gz
RUN mv /opt/mecab/mecab-0.996-ko-0.9.2 /opt/mecab/run

WORKDIR /opt/mecab/run
RUN /opt/mecab/run/configure
RUN make
RUN make install

# libmecab.so.2를 찾을 수 없는 에러가 나는 경우, 다음과 같은 명령어를 수행해 주어야 합니다.
RUN ldconfig

# mecab dictionary install
RUN tar zxvf /opt/mecab/mecab-ko-dic-2.1.1-20180720.tar.gz -C /opt/mecab
RUN rm /opt/mecab/mecab-ko-dic-2.1.1-20180720.tar.gz
RUN mv /opt/mecab/mecab-ko-dic-2.1.1-20180720 /opt/mecab/dict

WORKDIR /opt/mecab/dict
RUN /opt/mecab/dict/autogen.sh
RUN /opt/mecab/dict/configure
RUN make
RUN make install

WORKDIR /opt

ENTRYPOINT ["tail", "-f", "/dev/null"]
Reply all
Reply to author
Forward
0 new messages