WindowsでPythonでMeCab(mecab-ipadic-NEologd)


前提

Windows10
Python3.9

1. MeCabのインストール

Binary package for MS-WindowsをDL・インストール
文字コードはUTF-8にしておく

2. mecab-ipadic-NEologdをインストール

最新の辞書とかもあって便利なのでいれる

→WindowsはWSLに入れろって感じだけど普通にインストールできる

NEologd辞書のダウンロードとコンパイル

git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd\seed
7z X *.xz

辞書ファイルのコンパイル

mecab-dict-index -d "c:\Program Files (x86)\MeCab\dic\ipadic" -u NEologd.20200910-u.dic -f utf-8 -t utf-8 mecab-user-dict-seed.20200910.csv
mkdir "C:\Program Files (x86)\MeCab\dic\NEologd"
move NEologd.20200910-u.dic "C:\Program Files (x86)\MeCab\dic\NEologd"

mecabrcファイルの編集

mecabの辞書はC:\Program Files (x86)\MeCab\etcにあるmecabrcで指定できる

NEologd辞書はユーザー辞書として設定する

dicdir = $(rcpath)..\dic\ipadic
userdic = C:\Program Files (x86)\MeCab\dic\NEologd\Neologd.20200910.dic

参考:https://qiita.com/zincjp/items/c61c441426b9482b5a48

4. PythonでMeCabを使う

$ pip install mecab-python3
import MeCab

mecab = MeCab.Tagger()

text = '解析したいテキスト'
mecab.parse('')#文字列がGCされるのを防ぐ
node = mecab.parseToNode(text)
while node:
    #単語を取得
    word = node.surface
    #品詞を取得
    pos = node.feature.split(",")[1]
    print('{0} , {1}'.format(word, pos))
    #次の単語に進める
    node = node.next

参考:https://qiita.com/taroc/items/b9afd914432da08dafc8