python3.doc_37
R e i - D r e a m
for Laravel
TOP > Python3 > ライブラリ(Mecab)
Guest
login

最終投稿日:2022年6月18日

ライブラリ(Mecab)
Mecabとは
MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓[1][2]によって開発されている。
名称は開発者の好物「和布蕪(めかぶ)」から取られた。
Mecabのインストール
● Windows10
https://taku910.github.io/mecab/#download
上記サイトより以下のファイルをダウンロードします。
    mecab-0.996.exe      ※野良で64Bit版もあります
【確認】
ターミナルから「mecab」を叩く
入力モードとなるので、何か記入してリターン
何か表示されれば成功です(文字化けは気にしない)
● Ubuntu
ターミナルより以下のコマンドを叩く
    sudo apt install mecab
    sudo apt install libmecab-dev
    sudo apt install mecab-ipadic-utf8
【確認】
ターミナルから「mecab」を叩く
入力モードとなるので、「特急はくたか」と記入してリターン
何か表示されれば成功です
MeCab-ipadic-NEologdの導入
新語が登録された辞書です。
MeCab単体で持っている辞書では、新しい言語に対応できず、固有名詞などは特に形態素解析が期待した結果になりません。
● Windows10
実はWindowsでは最新のNEologdは入手できません。
ですので、Windowsでは過去の更新が止まったNEologdの導入か、Linux経由から入手したNEologdをコピーするしかありません
ここでは、過去のNEologdの入手方法を紹介します。
○ 7zipのインストー(64bit)
https://sevenzip.osdn.jp/
上記サイトより以下のファイルをダウンロードします。
    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ファイルを全て解凍する
以下を叩く
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」はコンパイルするファイル名
※ カレントに保存されます。
○ 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",...
● Ubuntu
○ gitのインストール
gitからインストールするので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
【メモ】
以下のエラーになりました
    [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」を叩く
    入力モードとなるので、「特急はくたか」と記入してリターン
    先ほどと違い「はくたか」が固有名詞となったハズです!
PythonにMeCabを取り込む(バインド)
● Windows10
以下を叩く
    pip install mecab-python-windows
○ python動作確認
hoge.txtに何か文字を記入して[UTF-8]で保存
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)
● Ubuntu
※pipはインストールされている前提です。
以下を叩く
    sudo apt install swig
    sudo pip3 install mecab-python3
○ python動作確認
hoge.txtに何か文字を記入して[UTF-8]で保存
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)
きっぷる
ログインしてコメントを残そう!!


きっぷる