あおのたすのブログ

Deep Learningと自然言語処理と機械学習に興味がある大学院生のブログ。最近は強化学習・Semi-Supervisedなどに興味が出てきた。

mecab-ipadic-neologdを使ってみた

MeCab用の辞書、mecab-ipadic-neologdが凄いという話を聞いたので、使ってみる。

github.com

基本的にREADMEを読めば分かる。すんなりインストールできた。

# インストール
git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd


# 更新
git pull
./bin/install-mecab-ipadic-neologd -y


# 辞書の場所をチェックする
echo `mecab-config --dicdir`"/mecab-ipadic-neologd"


# 実行
mecab -d `mecab-config --dicdir`"/mecab-ipadic-neologd"

10日放送の「中居正広のミになる図書館」(テレビ朝日系)で、SMAPの中居正広が、篠原信一の過去の勘違いを明かす一幕があった。
10日	名詞,固有名詞,一般,*,*,*,10日,トオカ,トオカ
放送	名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
の	助詞,連体化,*,*,*,*,の,ノ,ノ
「	記号,括弧開,*,*,*,*,「,「,「
中居正広のミになる図書館	名詞,一般,*,*,*,*,中居正広のミになる図書館,*,*,wikipedia_keyword,
」	記号,括弧閉,*,*,*,*,」,」,」
(	記号,括弧開,*,*,*,*,(,(,(
テレビ朝日系	名詞,固有名詞,*,*,*,*,テレビ朝日系,*,*,wikipedia,
)	記号,括弧閉,*,*,*,*,),),)
で	助詞,格助詞,一般,*,*,*,で,デ,デ
、	記号,読点,*,*,*,*,、,、,、
SMAP	名詞,固有名詞,一般,*,*,*,SMAP,スマップ,スマップ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
中居正広	名詞,固有名詞,人名,一般,*,*,中居正広,ナカイマサヒロ,ナカイマサヒロ
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
、	記号,読点,*,*,*,*,、,、,、
篠原信一	名詞,固有名詞,人名,一般,*,*,篠原信一,シノハラシンイチ,シノハラシンイチ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
過去	名詞,副詞可能,*,*,*,*,過去,カコ,カコ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
勘違い	名詞,サ変接続,*,*,*,*,勘違い,カンチガイ,カンチガイ
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
明かす	動詞,自立,*,*,五段・サ行,基本形,明かす,アカス,アカス
一幕	名詞,一般,*,*,*,*,一幕,ヒトマク,ヒトマク
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
あっ	動詞,自立,*,*,五段・ラ行,連用タ接続,ある,アッ,アッ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。	記号,句点,*,*,*,*,。,。,。
EOS

言語処理学会(NLP2015)に参加してきた

京都大学で開催された言語処理学会第21回年次大会(NLP2015)に参加されてきた。
自然言語処理に興味あるので、とても刺激的でした。

懇親会で「あ!あのブログ凄い見てます!」って人と沢山会えて幸せだった。
優秀な人はちゃんとブログなどでしっかりアウトプットできてるんだなと感じました。

自分は実装しました!みたいなエンジニア的なブログよりも
こんな論文読んだよ!みたいな記事の方が続くと思う。

読んだ論文はしっかりブログで書こうと思う。


Iyyer, Mohit, Jordan Boyd-Graber, and Hal Daumé III. "Generating Sentences from Semantic Vector Space Representations."

とりあえず文書生成の論文を教えてもらったので、読んだら記事にします。


自分はParagraph Vectorを卒論で使ったのですが、言語処理学会でParagraph Vectorの発表沢山ありましたね。
モデル拡張してる人も沢山いました。
沢山関連論文読んでEMNLPとか通せるようになりたいな〜。

Pythonからmecabで形態素解析やってみる

前回、mecab-pythonをインストールしてみましたが、

今回はpythonから実行してみることに。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import MeCab
import sys
import string

tagger = MeCab.Tagger (" ".join(sys.argv))
text = u'MeCabで遊んでみよう!'

encoded_text = text.encode('utf-8')
node = tagger.parseToNode(encoded_text) # 変数に入れる!
while node:
    print node.surface + '\t' + node.feature
    node = node.next


これを実行すると...

	BOS/EOS,*,*,*,*,*,*,*,*
MeCab	名詞,一般,*,*,*,*,*
で	助詞,格助詞,一般,*,*,*,で,デ,デ
遊ん	動詞,自立,*,*,五段・バ行,連用タ接続,遊ぶ,アソン,アソン
で	助詞,接続助詞,*,*,*,*,で,デ,デ
みよ	動詞,非自立,*,*,一段,未然ウ接続,みる,ミヨ,ミヨ
う	助動詞,*,*,*,不変化型,基本形,う,ウ,ウ
!	記号,一般,*,*,*,*,!,!,!
	BOS/EOS,*,*,*,*,*,*,*,*

できたー。

PythonでMecabを使ってみる

PythonMeCabをインストールしてみます。

 

// mecab本体

$ wget http://mecab.googlecode.com/files/mecab-0.99.tar.gz

$ tar -xzf mecab-0.99.tar.gz

$ cd mecab-0.99

$ ./configure --with-charset=utf8

$ make && sudo make install

 

// mecab-ipadic

$ wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download

//$ tar -xzf mecab-ipadic-2.7.0-20070801.tar.gz

$ tar -xzf download

$ cd mecab-ipadic-2.7.0-20070801

$ ./configure --with-charset=utf8

$ make && sudo make install

 

// mecab-python

$ wget http://mecab.googlecode.com/files/mecab-python-0.993.tar.gz

$ tar -xzf mecab-python-0.993.tar.gz

$ cd mecab-python-0.993

$ python setup.py build

$ sudo python setup.py install

 

 

それでpython

import MeCab

を実行してみたのだけれども。。。エラー。

 

>>> import MeCab

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "MeCab.py", line 25, in <module>

    _MeCab = swig_import_helper()

  File "MeCab.py", line 17, in swig_import_helper

    import _MeCab

ImportError: libmecab.so.2: cannot open shared object file: No such file or directory

 

 

そこで、

vim /etc/ld.so.confを実行して

/usr/local/lib 

を追加する。

 

 ldconfig 

で更新して、

 

Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) 

[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import MeCab

>>> 

 

無事インストールできました。