Skip to content

Pusnow/mecab-ko-msvc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mecab-ko-msvc

역사적인 이유로 mecab-ko-msvc이름을 사용하지만, Windows와 함께 macOS와 Linux도 지원합니다.

Build

설치

Windows

  • 실행 컴퓨터에 맞는 최신버전 을 다운로드 받습니다. x86, x64 버전을 제공합니다.
  • -r 옵션과 -d 옵션을 사용할 경우는 문제가 없지만 최적의 환경을 위해 C:\mecab 폴더에 압축을 해제합니다.
  • 사전을 설치합니다. mecab-ko-dic.zip을 다운로드하여 C:\mecab\share\mecab-ko-dic 폴더에 압축을 해제합니다.
  • 환경변수 PATHC:\mecab\bin을 추가하거나, C:\mecab\bin\mecab.exe를 실행합니다.

macOS / Linux

  • 실행 컴퓨터에 맞는 최신버전 을 다운로드 받습니다. macOS (x86_64, arm64), Linux (x86_64, aarch64) 버전을 제공합니다.
  • -r 옵션과 -d 옵션을 사용할 경우는 문제가 없지만 최적의 환경을 위해 /opt/mecab 폴더에 압축을 해제합니다.
    • 명령어: sudo tar -C /opt -xvzf mecab-ko-<버전>.tar.gz
  • 사전을 설치합니다. mecab-ko-dic.tar.gzp을 다운로드하여 /opt/mecab/share/mecab-ko-dic 폴더에 압축을 해제합니다.
    • 명령어: sudo tar -C /opt/mecab/share -xvzf mecab-ko-dic.tar.gz
  • 환경변수 PATH/opt/mecab/bin을 추가하거나, /opt/mecab/bin/mecab를 실행합니다.

Python

  • pip를 이용하여 Python 버전을 설치할 수 있습니다.
    • 명령어: pip3 install mecab-ko-msvc mecab-ko-dic-msvc
  • 다음과 같이 Python 패키지에 내장된 사전을 사용할 수 있습니다.
$ python3
Python 3.11.3 (main, Jun  5 2023, 09:32:32) [GCC 13.1.1 20230429] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
>>> tagger = MeCab.Tagger()
>>> tagger.parse("무궁화꽃이피었습니다.")
'무궁화\tNNG,*,F,무궁화,Compound,*,*,무궁/NNG/*+화/NNG/*\n꽃\tNNG,*,T,꽃,*,*,*,*\n이\tJKS,*,F,이,*,*,*,*\n피\tVV,*,F,피,*,*,*,*\n었\tEP,*,T,었,*,*,*,*\n습니다\tEF,*,F,습니다,*,*,*,*\n.\tSF,*,*,*,*,*,*,*\nEOS\n'

사용 정보

  • 현재 버전에서는 Windows cmd에서 출력이 제대로 되지 않습니다. mecab.exe -o output.txt input.txt 명령으로 파일로 출력하거나 mecab-python-msvc 를 이용해서 Python에서 사용해야 합니다. input.txt 파일은 메모장에서 저장할 경우 인코딩을 UTF-8으로 지정해야 합니다.
  • 메모장을 이용하여 저장하고 사용할 경우 출력의 앞 부분에 필요없는 SY,*,*,*,*,*,*,* 가 나타나게 됩니다. 이는 메모장이 파일을 저장할 경우 BOM을 추가하기 때문입니다. 다른 에디터를 사용하여 BOM 없이 저장을 한다면 문제가 생기지 않습니다.

mecab-ko 소개

mecab-ko은전한닢 프로젝트에서 사용하기 위한 MeCab의 fork 프로젝트 입니다.

최소한의 변경으로 한국어의 특성에 맞는 기능을 추가하는 것이 목표입니다.

mecab-ko에서 추가된 기능.

공백 문자(white space)를 포함하는 특정 품사 비용 늘림

띄어쓰기를 하지 않는 일본어와 달리 띄어쓰기를 하는 한국어 특성에 맞게 특정 품사가 띄어쓰기 되어있는 경우 해당 품사의 비용을 늘리는 기능 (사전 설정(dicrc)에 설정 값을 지정)

mecab을 사용하여 분석

:::text
화학 이외의 것
화학    NN,T,화학,*,*,*,*
이      JKS,F,이,*,*,*,*
외      NN,F,외,*,*,*,*
의      JKG,F,의,*,*,*,*
것      NNB,T,것,*,*,*,*
EOS

mecab-ko를 사용하여 분석

:::text
화학 이외의 것
화학    NN,T,화학,*,*,*,*
이외    NN,F,이외,*,*,*,*
의      JKG,F,의,*,*,*,*
것      NNB,T,것,*,*,*,*
EOS

설정 방법

MeCab의 사전 설정(dicrc)에서 다음과 같이 설정합니다.

:::text
# 좌측에 공백을 포함하는 품사의 연접 비용을 늘리기 위한 설정입니다.
# mecab-ko에서만 사용되는 설정입니다. 다음과 같은 형식을 가집니다.
# <posid 1>,<posid 1 penalty cost>,<posid 2>,<posid 2 penalty cost> ...
# 
# 예) 120,6000 => posid가 120인 품사(조사)의 좌측에 공백을 포함할 경우
# 연접 비용을 6000만큼 늘림
left-space-penalty-factor = 120,6000,184,6000,100,500

mecab-ko의 설치와 사용법

mecab-ko 설치

mecab-ko 다운로드 페이지에서 최신 버전의 소스를 다운 받고 설치합니다. tar.gz 압축을 해제하고 일반적인 자유 소프트웨어와 같은 순서로 설치할 수 있습니다.

:::text
$ tar zxfv mecab-ko-XX.tar.gz
$ cd mecab-ko-XX
$ ./configure 
$ make
$ make check
$ su
# make install

설치 방법은 MeCab와 동일하므로, 자세한 내용은 MeCab 홈페이지를 참조하시기 바랍니다.

참고

한국어 사전(mecab-ko-dic)의 설치와 사용

mecab-ko-dic의 설명을 참조하시기 바랍니다.

라이센스

mecab-ko의 라이센스는 MeCab의 라이센스를 그대로 따릅니다.

MeCab 는 무료 소프트웨어입니다. GPL (the GNU General Public License), LGPL (Lesser GNU General Public License) 또는 BSD 라이선스에 따라 소프트웨어를 사용, 재배포할 수 있습니다. 자세한 내용은 COPYING, GPL, LGPL, BSD 각 파일을 참조하십시오.