Google ColabでMeCabを使うまで。node.surfaceバグへの対処添え

MeCab
Nishipy
MeCabをGoogle Colabで使いたくなったときの備忘録です。2019年1月時点の最新バージョンだと、node.surfaceがうまく動かないことに注意します。

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のインストール

以下のコマンドを実行するだけです。先ほど述べた理由から、インストールするバージョンを指定します。

辞書の追加と変更


このままだと精度が悪いので、辞書を変更します。
以下のコマンドで、NEologd辞書を追加します。

さらに、利用する辞書の変更を行います。

試しに使う

これで、Google ColabでもMeCabが使えます。試してみましょう。
関西弁が混ざると判定が難しいようですが、分かち書きできています。

3. 今後やりたいこと

  • 自然言語処理をいろいろ試す
  • ひとまず、自分Tweetに頻出の言葉を分析してみる。(↓の続き)
Pythonで自分のツイートをすべて取得する方法と、いいねが多いツイートの特徴
Nishipy本ブログ用に作ったTwitterアカウントのフォロワーが1000人を超えました!良い節目ですので、自分の今までのツイートをスクレイピングします。そして、"いいね"数が多いツイートの傾向について、見ていきます。...(続く)


以上

コメント