「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【Python】MeCabの導入方法と使い方

[ Pythonのインストール ]

以下のサイトの手順に従ってPythonをインストールします。
edunity.hatenablog.com

[ MeCabのインストール ]

以下のサイトで「mecab-64-0.996.2.exe」をクリックして「 MeCab」をインストールします。
github.com
文字コードは「UTF-8」を選択してください。

[ mecab-python3のインストール ]

コマンドプロンプトを開いて「pip install mecab-python3」と入力してエンターを押します。

Microsoft Windows [Version 10.0.19045.3086]
(c) Microsoft Corporation. All rights reserved.

C:\Users\EDunity>pip install mecab-python3

[ 辞書のインストール ]

コマンドプロンプトを開いて「pip install unidic」と入力してエンターを押します。

Microsoft Windows [Version 10.0.19045.3086]
(c) Microsoft Corporation. All rights reserved.

C:\Users\EDunity>pip install unidic

コマンドプロンプトを開いて「python -m unidic download」と入力してエンターを押します。

Microsoft Windows [Version 10.0.19045.3086]
(c) Microsoft Corporation. All rights reserved.

C:\Users\EDunity>python -m unidic download

[ 動作確認 ]

Pythonファイルを作成して以下のスクリプトをコピペして保存してください。

import MeCab

mecab = MeCab.Tagger() 

result = mecab.parse("すもももももももものうち")

print(result)

ファイルを保存したら実行してください。
edunity.hatenablog.com
実行後にコマンドプロンプトに下記のように出力されれば成功です。

Microsoft Windows [Version 10.0.19045.3086]
(c) Microsoft Corporation. All rights reserved.

C:\Users\EDunity\Desktop>py Report.py
すもも  名詞,普通名詞,一般,,,,スモモ,李,すもも,スモモ,すもも,スモモ,和,"","","","","","",体,スモモ,スモモ,スモモ,スモモ,"0","C2","",15660352771596800,56972
も      助詞,係助詞,,,,,モ,も,も,モ,も,モ,和,"","","","","","",係助,モ,モ,モ,モ,"","動詞%F2@-1,形容詞%F4@-2,名詞%F1","",10324972564259328,37562
もも    名詞,普通名詞,一般,,,,モモ,桃,もも,モモ,もも,モモ,和,"","","","","","",体,モモ,モモ,モモ,モモ,"0","C3","",10425303000293888,37927
も      助詞,係助詞,,,,,モ,も,も,モ,も,モ,和,"","","","","","",係助,モ,モ,モ,モ,"","動詞%F2@-1,形容詞%F4@-2,名詞%F1","",10324972564259328,37562
もも    名詞,普通名詞,一般,,,,モモ,桃,もも,モモ,もも,モモ,和,"","","","","","",体,モモ,モモ,モモ,モモ,"0","C3","",10425303000293888,37927
の      助詞,格助詞,,,,,ノ,の,の,ノ,の,ノ,和,"","","","","","",格助,ノ,ノ,ノ,ノ,"","名詞%F1","",7968444268028416,28989
うち    名詞,普通名詞,副詞可能,,,,ウチ,内,うち,ウチ,うち,ウチ,和,"","","","","","",体,ウチ,ウチ,ウチ,ウチ,"0","C3","",881267193291264,3206
EOS

[ 分かち書き ]

MeCabを使って分かち書きをしてみます。

import MeCab

mecab = MeCab.Tagger("-Owakati")

docs = ["すもももももももものうち"]

result = [mecab.parse(doc).strip() for doc in docs]

print(result)

以下のように出力されます。

Microsoft Windows [Version 10.0.19045.3086]
(c) Microsoft Corporation. All rights reserved.

C:\Users\EDunity\Desktop\Report>py Report.py
['すもも も もも も もも の うち']

[ 参考文献 ]

resanaplaza.com
teratail.com