CaBoCha:? のインストール.下準備でMeCab?と,次に TinySVM http://chasen.org/~taku/software/TinySVM/ と 飲茶 YamCha http://chasen.org/~taku/software/yamcha/ さらには CRF++: Yet Another CRF toolkit http://crfpp.sourceforge.net/ をインストールして, CaBoChaは次のようにしてインストール?.
CaBoCha0.60pre2をインストール $ bzip2 -cd cabocha-0.60pre2.tar.bz2 | tar xf - $ ./configure --with-charset=UTF8 $ make $ sudo make install $ sudo ldconfig # これも忘れないうちに実行しておく
実行してみる.
$ cabocha 僕は,今日大学で授業があるんだ. 僕は,-----D 今日大学で---D 授業が-D あるんだ. EOS $ cabocha -f1 僕は,今日大学で授業があるんだ. * 0 3D 0/1 -1.541709 僕 名詞,代名詞,一般,*,*,*,僕,ボク,ボク O は 助詞,係助詞,*,*,*,*,は,ハ,ワ O , 記号,読点,*,*,*,*,,,,,, O * 1 3D 1/2 -1.541709 今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー O 大学 名詞,一般,*,*,*,*,大学,ダイガク,ダイガク O で 助詞,格助詞,一般,*,*,*,で,デ,デ O * 2 3D 0/1 -1.541709 授業 名詞,サ変接続,*,*,*,*,授業,ジュギョウ,ジュギョー O が 助詞,格助詞,一般,*,*,*,が,ガ,ガ O * 3 -1D 1/2 0.000000 ある 動詞,自立,*,*,五段・ラ行,基本形,ある,アル,アル O ん 名詞,非自立,一般,*,*,*,ん,ン,ン O だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ O . 記号,句点,*,*,*,*,.,.,. O EOS
CaBoCha に付属のCプログラム example.c を一寸変えて&ref(): File not found: "cabocha.c" at page "CaBoCha"; ,実行してみる.
$ ./cabocha FROMAT_TREE = <PERSON>太郎</PERSON>は---------D <PERSON>花子</PERSON>が-D | 持っている-D | 本を---D 次郎に-D 渡した。 EOS * cid = 0 link = 5D head_pos = 0 / func_pos = 1 score = -0.849263 surface = 太郎 feature = 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー ne = B-PERSON surface = は feature = 助詞,係助詞,*,*,*,*,は,ハ,ワ ne = O * cid = 1 link = 2D head_pos = 0 / func_pos = 1 score = 1.470467 surface = 花子 feature = 名詞,固有名詞,人名,名,*,*,花子,ハナコ,ハナコ ne = B-PERSON surface = が feature = 助詞,格助詞,一般,*,*,*,が,ガ,ガ ne = O * cid = 2 link = 3D head_pos = 0 / func_pos = 2 score = 1.116824 surface = 持っ feature = 動詞,自立,*,*,五段・タ行,連用タ接続,持つ,モッ,モッ ne = O surface = て feature = 助詞,接続助詞,*,*,*,*,て,テ,テ ne = O surface = いる feature = 動詞,非自立,*,*,一段,基本形,いる,イル,イル ne = O * cid = 3 link = 5D head_pos = 0 / func_pos = 1 score = -0.849263 surface = 本 feature = 名詞,一般,*,*,*,*,本,ホン,ホン ne = O surface = を feature = 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ ne = O * cid = 4 link = 5D head_pos = 1 / func_pos = 2 score = -0.849263 surface = 次 feature = 名詞,一般,*,*,*,*,次,ツギ,ツギ ne = O surface = 郎 feature = 名詞,一般,*,*,*,*,郎,ロウ,ロー ne = O surface = に feature = 助詞,格助詞,一般,*,*,*,に,ニ,ニ ne = O * cid = 5 link = -1D head_pos = 0 / func_pos = 1 score = 0.000000 surface = 渡し feature = 動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ ne = O surface = た feature = 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ ne = O surface = 。 feature = 記号,句点,*,*,*,*,。,。,。 ne = O EOS
cid が句を表しており,link は,その句が接続する cid の番号ということらしい.最後の句の link が -1D となっているのは,前に戻って cid 番号 1 の句と係り受け関係にあるということかな.ただし,D は出力で付加されたもので,実際には整数で表されている.
また活用語の原型は,やはり feature の七つ目か.
$ ./cabocha 本が好き FROMAT_TREE = 本が-D 好き EOS * cid = 0 link = 1D head_pos = 0 / func_pos = 1 score = 0.000000 surface = 本 feature = 名詞,一般,*,*,*,*,本,ホン,ホン ne = O surface = が feature = 助詞,格助詞,一般,*,*,*,が,ガ,ガ ne = O * cid = 1 link = -1D head_pos = 0 / func_pos = 0 score = 0.000000 surface = 好き feature = 名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ ne = O EOS $ ./cabocha 本が好きでない FROMAT_TREE = 本が-D 好きでない EOS * cid = 0 link = 1D head_pos = 0 / func_pos = 1 score = 0.000000 surface = 本 feature = 名詞,一般,*,*,*,*,本,ホン,ホン ne = O surface = が feature = 助詞,格助詞,一般,*,*,*,が,ガ,ガ ne = O * cid = 1 link = -1D head_pos = 0 / func_pos = 2 score = 0.000000 surface = 好き feature = 名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ ne = O surface = で feature = 助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ ne = O surface = ない feature = 助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ ne = O EOS
これをみると「ない」という否定が掛かる語は,cid が同じ節にあるという判断を下すことになるのか?逆かな?「好き」という名詞と同じ節に「ない」が含まれている場合,それは否定されていると考えるべきか.
ところで文を区切るというのは,自分でやらなければいけないのかな?