最終投稿日:2022年6月18日
ライブラリ(Mecab)
Mecabとは
MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓[1][2]によって開発されている。
名称は開発者の好物「和布蕪(めかぶ)」から取られた。
名称は開発者の好物「和布蕪(めかぶ)」から取られた。
Mecabのインストール
● Windows10
https://taku910.github.io/mecab/#download
上記サイトより以下のファイルをダウンロードします。
mecab-0.996.exe ※野良で64Bit版もあります 【確認】
上記サイトより以下のファイルをダウンロードします。
mecab-0.996.exe ※野良で64Bit版もあります 【確認】
ターミナルから「mecab」を叩く
入力モードとなるので、何か記入してリターン
何か表示されれば成功です(文字化けは気にしない)
入力モードとなるので、何か記入してリターン
何か表示されれば成功です(文字化けは気にしない)
● Ubuntu
ターミナルより以下のコマンドを叩く
sudo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic-utf8 【確認】
sudo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic-utf8 【確認】
ターミナルから「mecab」を叩く
入力モードとなるので、「特急はくたか」と記入してリターン
何か表示されれば成功です
入力モードとなるので、「特急はくたか」と記入してリターン
何か表示されれば成功です
MeCab-ipadic-NEologdの導入
新語が登録された辞書です。
MeCab単体で持っている辞書では、新しい言語に対応できず、固有名詞などは特に形態素解析が期待した結果になりません。
MeCab単体で持っている辞書では、新しい言語に対応できず、固有名詞などは特に形態素解析が期待した結果になりません。
● Windows10
実はWindowsでは最新のNEologdは入手できません。
ですので、Windowsでは過去の更新が止まったNEologdの導入か、Linux経由から入手したNEologdをコピーするしかありません
ここでは、過去のNEologdの入手方法を紹介します。
ですので、Windowsでは過去の更新が止まったNEologdの導入か、Linux経由から入手したNEologdをコピーするしかありません
ここでは、過去のNEologdの入手方法を紹介します。
○ 7zipのインストー(64bit)
https://sevenzip.osdn.jp/
上記サイトより以下のファイルをダウンロードします。
7z1900-x64.exe
インストール後以下のPathを通す
Program Files\7-Zip
上記サイトより以下のファイルをダウンロードします。
7z1900-x64.exe
インストール後以下のPathを通す
Program Files\7-Zip
○ NEologdの入手
https://github.com/neologd/mecab-ipadic-neologd/releases/
上記サイトより、以下のフZIPァイルをダウンロードします。
mecab-ipadic-neologd-0.0.6.zip ※Source code(zip)
解凍後、mecab-ipadic-neologd-0.0.6\seed内の.xzファイルを全て解凍する
以下を叩く
以下に「mydic」を作成
C:\Program Files\MeCab\dic\mydic ターミナルを上記に移動し、以下を叩く ※解凍されたCSVファイルをdic形式のファイルに変換する
上記サイトより、以下のフZIPァイルをダウンロードします。
mecab-ipadic-neologd-0.0.6.zip ※Source code(zip)
解凍後、mecab-ipadic-neologd-0.0.6\seed内の.xzファイルを全て解凍する
以下を叩く
7z X "C:\Users\hiroshi\Desktop\mecab-ipadic-neologd-0.0.6\seed\*.xz"
※programファイル等に解凍する場合は、管理者権限でターミナルを立ち上げる事(任意の場所で良い)
※カレントに保存されます。
解凍したCSVファイルをmecabのuser辞書用にコンパイルする※カレントに保存されます。
以下に「mydic」を作成
C:\Program Files\MeCab\dic\mydic ターミナルを上記に移動し、以下を叩く ※解凍されたCSVファイルをdic形式のファイルに変換する
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge001.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\mecab-user-dict-seed.20180823.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge002.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-adjective-exp-dict-seed.20151126.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge003.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-adjective-std-dict-seed.20151126.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge004.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-adjective-verb-dict-seed.20160324.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge005.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-adverb-dict-seed.20150623.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge006.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-common-noun-ortho-variant-dict-seed.20170228.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge007.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-date-time-infreq-dict-seed.20170224.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge008.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-ill-formed-words-dict-seed.20170127.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge009.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-interjection-dict-seed.20170216.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge010.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-noun-sahen-conn-ortho-variant-dict-seed.20160323.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge011.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-proper-noun-ortho-variant-dict-seed.20161110.csv"
mecab-dict-index -d "C:\Program Files\MeCab\dic\ipadic" -u hoge012.dic -f utf-8 -t utf-8 "C:\Users\hiroshi\Desktop\hoge\neologd-quantity-infreq-dict-seed.20170224.csv"
※「~ipadic」はMeCabのパス。
※「hoge006.dic」は、コンパイル後のファイル名。「~.csv」はコンパイルするファイル名
※ カレントに保存されます。
※「hoge006.dic」は、コンパイル後のファイル名。「~.csv」はコンパイルするファイル名
※ カレントに保存されます。
○ MeCabの設定ファイルにユーザー辞書を登録
以下のフィルを開く
MeCab\etc\mecabrc
userdicに各コンパイルしたファイルを絶対パスで記述する
※複数の場合はカンマで区切れる
例)
userdic = "C:\Program Files\MeCab\dic\mecab-user-dict-seed\mecab-user-dict-seed.dic","C:\Program Files\MeCab\dic\mecab-user-dict-seed\neologd-adjective-exp-dict-seed.dic",...
MeCab\etc\mecabrc
userdicに各コンパイルしたファイルを絶対パスで記述する
※複数の場合はカンマで区切れる
例)
userdic = "C:\Program Files\MeCab\dic\mecab-user-dict-seed\mecab-user-dict-seed.dic","C:\Program Files\MeCab\dic\mecab-user-dict-seed\neologd-adjective-exp-dict-seed.dic",...
● Ubuntu
○ gitのインストール
gitからインストールするのでgitコマンドが使えるか以下を叩いて確認
git --version
※使用できない場合は以下を叩いてインストールする
sudo apt install git
git --version
※使用できない場合は以下を叩いてインストールする
sudo apt install git
○ neologdのインストール
以下を叩いてneologdをインストールする
git clone https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
sudo bin/install-mecab-ipadic-neologd
【メモ】
cd mecab-ipadic-neologd
sudo bin/install-mecab-ipadic-neologd
以下のエラーになりました
[install-mecab-ipadic-NEologd] : curl is not found.
[curl]が無いよ。と怒られているので、以下を叩いてインストール後、再実行しました。
apt install curl
[install-mecab-ipadic-NEologd] : curl is not found.
[curl]が無いよ。と怒られているので、以下を叩いてインストール後、再実行しました。
apt install curl
○ /etc/mecabrc を編集する
インストールしたディレクトリ「mecab-ipadic-neologd」に【dicrc】が作成されているので、以下のコマンドで探します。
sudo find / -name dicrc
⇒ /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/dicrc
※複数検出されますが、それっぽいのを選びます。
上記Pathを以下の設定ファイルに書き込みます。※dicrcの手前まで
/etc/mecabrc
dicdir = /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
【確認】
ターミナルから「mecab」を叩く
入力モードとなるので、「特急はくたか」と記入してリターン
先ほどと違い「はくたか」が固有名詞となったハズです!
sudo find / -name dicrc
⇒ /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/dicrc
※複数検出されますが、それっぽいのを選びます。
上記Pathを以下の設定ファイルに書き込みます。※dicrcの手前まで
/etc/mecabrc
dicdir = /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
【確認】
ターミナルから「mecab」を叩く
入力モードとなるので、「特急はくたか」と記入してリターン
先ほどと違い「はくたか」が固有名詞となったハズです!
PythonにMeCabを取り込む(バインド)
● Windows10
以下を叩く
pip install mecab-python-windows
pip install mecab-python-windows
○ python動作確認
hoge.txtに何か文字を記入して[UTF-8]で保存
mecab.pyを作成し、実行する
mecab.pyを作成し、実行する
import MeCab
import sys
import re
from collections import Counter # ファイル読み込み(txtファイルの格納場所は各自変えてください)
infile = 'C:\\Users\\hiroshi\\Desktop\\SVN\\hoge.txt'
with open(infile ,encoding="utf-8") as f:
data = f.read() # 茶筌の出力フォーマット
parse = MeCab.Tagger().parse(data)
lines = parse.split('\n')
items = (re.split('[\t,]', line) for line in lines) # 形態素解析の結果を表示
for item in items:
print(item)
import sys
import re
from collections import Counter # ファイル読み込み(txtファイルの格納場所は各自変えてください)
infile = 'C:\\Users\\hiroshi\\Desktop\\SVN\\hoge.txt'
with open(infile ,encoding="utf-8") as f:
data = f.read() # 茶筌の出力フォーマット
parse = MeCab.Tagger().parse(data)
lines = parse.split('\n')
items = (re.split('[\t,]', line) for line in lines) # 形態素解析の結果を表示
for item in items:
print(item)
● Ubuntu
※pipはインストールされている前提です。
以下を叩く
sudo apt install swig
sudo pip3 install mecab-python3
以下を叩く
sudo apt install swig
sudo pip3 install mecab-python3
○ python動作確認
hoge.txtに何か文字を記入して[UTF-8]で保存
mecab.pyを作成し、実行する
mecab.pyを作成し、実行する
import MeCab
import sys
import re
from collections import Counter # ファイル読み込み(txtファイルの格納場所は各自変えてください)
infile = '/home/***/デスクトップ/***/hoge.txt'
with open(infile ,encoding="utf-8") as f:
data = f.read() # 茶筌の出力フォーマット
parse = MeCab.Tagger().parse(data)
lines = parse.split('\n')
items = (re.split('[\t,]', line) for line in lines) # 形態素解析の結果を表示
for item in items:
print(item)
import sys
import re
from collections import Counter # ファイル読み込み(txtファイルの格納場所は各自変えてください)
infile = '/home/***/デスクトップ/***/hoge.txt'
with open(infile ,encoding="utf-8") as f:
data = f.read() # 茶筌の出力フォーマット
parse = MeCab.Tagger().parse(data)
lines = parse.split('\n')
items = (re.split('[\t,]', line) for line in lines) # 形態素解析の結果を表示
for item in items:
print(item)



