Symfoware

Symfowareについての考察blog

Pythonから係り受け解析機「CaboCha」を使用する

CaboChaをFreeBSDにインストールしてみました。
係り受け解析機「CaboCha」をFreeBSD 10.1にインストールする

Pythonから使ってみます。


Pythonバインディングのインストール



Pythonはpkg install pythonでインストールしたものを使用します。
バージョンは、2.7.9です。


# python -V
Python 2.7.9




Pythonのバインディングは、cabocha-0.69のソースに含まれています。


# cd /usr/src/cabocha-0.69/python



setup.pyを実行。


# python setup.py install



これでインストール完了です。

importできるか試してみます。


# python
Python 2.7.9 (default, Jun 12 2015, 19:23:31)
[GCC 4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final 208032)] on freebsd10
Type "help", "copyright", "credits" or "license" for more information.
>>> import CaboCha
>>>



良いようです。




簡単なサンプル



簡単なサンプルプログラムを作成してみます。
こちらのソースを参考にしました。

せっかくだから俺は衆院選挙のツイートを調べるぜ
https://github.com/mima3/stream_twitter


  1. # -*- coding:utf-8 -*-
  2. import CaboCha
  3. c = CaboCha.Parser()
  4. sentence = "太郎は花子が読んでいる本を次郎に渡した"
  5. tree = c.parse(sentence)
  6. print(tree.toString(CaboCha.FORMAT_XML))




実行してみます。


# python sample.py
iconv_open is not supported
<sentence>
<chunk id="0" link="5" rel="D" score="-0.742128" head="0" func="1">
<tok id="0" feature="名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー">太郎</tok>
<tok id="1" feature="助詞,係助詞,*,*,*,*,は,ハ,ワ">は</tok>
</chunk>
<chunk id="1" link="2" rel="D" score="1.700175" head="2" func="3">
<tok id="2" feature="名詞,固有名詞,人名,名,*,*,花子,ハナコ,ハナコ">花子</tok>
<tok id="3" feature="助詞,格助詞,一般,*,*,*,が,ガ,ガ">が</tok>
</chunk>
<chunk id="2" link="3" rel="D" score="1.825021" head="4" func="6">
<tok id="4" feature="動詞,自立,*,*,五段・マ行,連用タ接続,読む,ヨン,ヨン">読ん</tok>
<tok id="5" feature="助詞,接続助詞,*,*,*,*,で,デ,デ">で</tok>
<tok id="6" feature="動詞,非自立,*,*,一段,基本形,いる,イル,イル">いる</tok>
</chunk>
<chunk id="3" link="5" rel="D" score="-0.742128" head="7" func="8">
<tok id="7" feature="名詞,一般,*,*,*,*,本,ホン,ホン">本</tok>
<tok id="8" feature="助詞,格助詞,一般,*,*,*,を,ヲ,ヲ">を</tok>
</chunk>
<chunk id="4" link="5" rel="D" score="-0.742128" head="10" func="11">
<tok id="9" feature="名詞,一般,*,*,*,*,次,ツギ,ツギ">次</tok>
<tok id="10" feature="名詞,一般,*,*,*,*,郎,ロウ,ロー">郎</tok>
<tok id="11" feature="助詞,格助詞,一般,*,*,*,に,ニ,ニ">に</tok>
</chunk>
<chunk id="5" link="-1" rel="D" score="0.000000" head="12" func="13">
<tok id="12" feature="動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ">渡し</tok>
<tok id="13" feature="助動詞,*,*,*,特殊・タ,基本形,た,タ,タ">た</tok>
</chunk>
</sentence>




動いてくれました。
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2015/06/18(木) 23:24:14|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Python イテレータ型を作成し、forやinが使えるオブジェクトを作成する | ホーム | 係り受け解析機「CaboCha」をFreeBSD 10.1にインストールする>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1730-0a35ba58
この記事にトラックバックする(FC2ブログユーザー)