Mecab と Word2Vec
Mecab と Word2Vec で自然言語解析ができる
スクレイピング結果から類似語を学習させる
Mecab は
日本語の形態素解析システム
日本語テキスト分析で
辞書データを元に単語を分割し
自動的に品詞分類する
インストールは
1 2 3 | sudo apt install mecab sudo apt install libmecab-dev sudo apt install mecab-ipadic-utf8 |
でインストール
1 | mecab |
で
mecab を起動できる
これで
すもももももももものうち
と入力すると
1 2 3 4 5 6 7 8 | すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS |
というように品詞分類できる
次に標準のIPA辞書だと固有名詞に弱いので
拡張辞書をインストール
1 2 3 | git clone --depth 1 https: //github .com /neologd/mecab-ipadic-neologd .git cd mecab-ipadic-neologd/ sudo . /bin/install-mecab-ipadic-neologd |
を実行し
yes を入力すればインストールできる
なお
–depth 1 をつかうことで
直近の履歴のみ clone できる
【GIT】非常に重たいrepositoryをcloneする方法
を参考に
次に python の mecab ライブラリーをインストール
1 2 | cd - pip3 install mecab-python3 |
cd –
とすると1つ前のディレクトリに戻ることができる
今回は cd で git clone したディレクトリに移動していたので使用
次に python でmecab による品詞分類コードの実装
1 | import Mecab |
でライブラリをインポート
Mecab.Target() でインスタンスを生成
1 | m = Mecab.Target() |
あとは解析
1 | vim sumomo.py |
でファイルを作成
1 2 3 4 | import MeCab m = MeCab.Tagger() print (m.parse( "すもももももももものうち" )) |
とすると
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | Failed initializing MeCab. Please see the README for possible solutions: https: //github .com /SamuraiT/mecab-python3 #common-issues If you are still having trouble, please file an issue here, and include the ERROR DETAILS below: https: //github .com /SamuraiT/mecab-python3/issues issueを英語で書く必要はありません。 ------------------- ERROR DETAILS ------------------------ arguments: error message: [ifs] no such file or directory: /usr/local/etc/mecabrc ---------------------------------------------------------- Traceback (most recent call last): File "sumomo.py" , line 2, in <module> m=MeCab.Tagger() File "/home/snowpool/anaconda3/lib/python3.6/site-packages/MeCab/__init__.py" , line 124, in __init__ super(Tagger, self).__init__(args) RuntimeError snowpool@snowpool-Prime-Series:~ /scraping $ vim sumomo.py snowpool@snowpool-Prime-Series:~ /scraping $ python sumomo.py Failed initializing MeCab. Please see the README for possible solutions: https: //github .com /SamuraiT/mecab-python3 #common-issues If you are still having trouble, please file an issue here, and include the ERROR DETAILS below: https: //github .com /SamuraiT/mecab-python3/issues issueを英語で書く必要はありません。 ------------------- ERROR DETAILS ------------------------ arguments: error message: [ifs] no such file or directory: /usr/local/etc/mecabrc ---------------------------------------------------------- Traceback (most recent call last): File "sumomo.py" , line 3, in <module> m=MeCab.Tagger() File "/home/snowpool/anaconda3/lib/python3.6/site-packages/MeCab/__init__.py" , line 124, in __init__ super(Tagger, self).__init__(args) RuntimeError |
となってしまう
Failed initializing MeCab. Please see the README for possible solutions: https://github.com/SamuraiT/mecab-python3#common-issues
で検索し
を参考に
1 | which mecab |
でパスを確認
1 | /usr/bin/mecab |
になっているのを確認
1 | vim ~/.bashrc |
でファイルを開き
最終行まで
shit+g で移動
1 | export MECABRC= /etc/mecabrc |
を追記し保存
1 | source ~/.bashrc |
としたけどダメ
一度元にもどし
を参考に
1 | pip install unidic-lite |
【Ubuntu】MeCabとNEologdをインストールしてPythonで形態素解析する
を参考に
1 | echo `mecab-config --dicdir` "/mecab-ipadic-neologd" |
でディレクトリパスを確認すると
1 | /usr/lib/mecab/dic/mecab-ipadic-neologd |
となる
Ubuntu 16.04 LTS で MeCab を NEologd とともにインストールする
を参考に
1 | sudo vim /etc/mecabrc |
でファイルを開き
6行目の
1 | dicdir = /var/lib/mecab/dic/debian |
の部分を
1 2 | ;dicdir = /var/lib/mecab/dic/debian dicdir = /usr/lib/mecab/dic/mecab-ipadic-neologd |
として保存
これで
1 | echo "幽☆遊☆白書" | mecab |
を実行すると
1 2 | 幽☆遊☆白書 名詞,固有名詞,一般,*,*,*,幽☆遊☆白書,ユウユウハクショ,ユウユウハクショ EOS |
となり分解できているのがわかる
なお辞書の設定をしないと
1 2 3 4 5 6 | 幽 形容詞,自立,*,*,形容詞・アウオ段,ガル接続,幽い,カソケ,カソケ ☆ 記号,一般,*,*,*,*,☆,☆,☆ 遊 名詞,固有名詞,組織,*,*,*,* ☆ 記号,一般,*,*,*,*,☆,☆,☆ 白書 名詞,一般,*,*,*,*,白書,ハクショ,ハクショ EOS |
というようになった
これで辞書が使えるようになったので
1 | python sumomo.py |
を実行すると
1 2 3 4 5 6 7 8 | すもも スモモ スモモ 李 名詞-普通名詞-一般 0 も モ モ も 助詞-係助詞 もも モモ モモ 桃 名詞-普通名詞-一般 0 も モ モ も 助詞-係助詞 もも モモ モモ 桃 名詞-普通名詞-一般 0 の ノ ノ の 助詞-格助詞 うち ウチ ウチ 内 名詞-普通名詞-副詞可能 0 EOS |
というように分類できているのがわかる
参考書籍は
なお kindle Fire でみるときには
拡大しなくても見れるので
10インチがおすすめ
カバーがほしい場合には
マグネット機能で閉じたらOFFにしてくれる純正がおすすめ