1. はじめに
MeCabとは
Wikipediaからの引用です。原文ママ、敬称略でございます。
MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓によって開発されている。名称は開発者の好物「和布蕪(めかぶ)」から取られた。[Wikipedia]
形態素解析とは
MeCabは、「形態素解析エンジン」です。形態素解析の説明も一応書いていきます。いわゆる分かち書きですね。
形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの形態素の品詞等を判別する作業である。
今回注意すること
pip install mecab-python3
で使えるようになるのですが、執筆時点で最新のバージョン(0.996.1)だと、node.surfaceがうまく動きません。
試しに、「すもももももももものうち」を分解してみます。なんか変です。
- 理想
-
現実(ver.0.996.1)
Google Colab環境には、都合よく(?)デフォルトでMeCabが入っていないので、今回はpip install mecab-python3==0.7
としてバージョンを指定したインストールで対処します。
2. Google ColabでMeCabを使う方法
次の記事を参考にして、まとめています。
[Qiita]ColaboratoryでMeCabを使えようにする。→
[Qiita]Google Colaboratory で、NEologd 辞書 で、MeCab を 使う(Python)→
MeCabのインストール
以下のコマンドを実行するだけです。先ほど述べた理由から、インストールするバージョンを指定します。
1 2 3 4 |
!apt install aptitude !aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y !pip install mecab-python3==0.7 |
辞書の追加と変更
このままだと精度が悪いので、辞書を変更します。
以下のコマンドで、NEologd辞書を追加します。
1 2 3 |
!git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git !echo yes | mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n |
さらに、利用する辞書の変更を行います。
1 2 3 4 |
!sed -e "s!/var/lib/mecab/dic/debian!/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd!g" /etc/mecabrc > /etc/mecabrc.new !cp /etc/mecabrc /etc/mecabrc.org !cp /etc/mecabrc.new /etc/mecabrc |
試しに使う
これで、Google ColabでもMeCabが使えます。試してみましょう。
関西弁が混ざると判定が難しいようですが、分かち書きできています。
1 2 3 4 5 6 7 8 9 |
import MeCab tagger = MeCab.Tagger() tagger.parse('') node = tagger.parseToNode('メカブ嫌いやけど、MeCab触るわ') while node: print(node.surface, node.feature) node = node.next |
3. 今後やりたいこと
- 自然言語処理をいろいろ試す
- ひとまず、自分Tweetに頻出の言葉を分析してみる。(↓の続き)
以上
コメント