mecab-ko-dic-msvc

Mecab-ko-dic-msvc build


Keywords
linux, macos, mecab, mecab-ko, mecab-ko-msvc, windows
License
Other
Install
pip install mecab-ko-dic-msvc==0.999

Documentation

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 폴더에 압좕을 ν•΄μ œν•©λ‹ˆλ‹€.
  • ν™˜κ²½λ³€μˆ˜ PATH에 C:\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 각 νŒŒμΌμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.