CaBoCha の変更点 - アールメカブ

アールメカブ


CaBoCha の変更点


[[Programming]]

#contents

http://chasen.org/~taku/software/cabocha/cabocha.html


[[CaBoCha:]] のインストール.[[下準備>和布蕪他インストール]]で[[MeCab:http://sourceforge.net/project/showfiles.php?group_id=177856&package_id=205277]] と,次に [[TinySVM:http://chasen.org/~taku/software/TinySVM/]] : http://chasen.org/~taku/software/TinySVM/ と [[飲茶 YamCha:http://chasen.org/~taku/software/yamcha/]] : http://chasen.org/~taku/software/yamcha/ さらには  [[CRF++:http://crfpp.sourceforge.net/]] : http://crfpp.sourceforge.net/ をインストールして,
[[CaBoCha:http://sourceforge.net/projects/cabocha/]]: http://sourceforge.net/projects/cabocha/は[[次のようにしてインストール>日録2008_2月#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 の解析結果を理解しよう. [#hbe26687]

[[CaboChaのCインターフェイス]] 


** とりあえず動かしてみる. [#v6b66c2f]
CaBoCha に付属のCプログラム example.c を一寸変えて&ref(cabocha.c); ,実行してみる.


 $ ./cabocha
 FROMAT_TREE = 
 <PERSON>太郎</PERSON>は---------D
  <PERSON>花子</PERSON>が-D     |
                 持っている-D   |
                         本を---D
                         次郎に-D
                         渡した。
 EOS
 token_size = 15 : chunk size = 6 sentence size = 60
 * 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 の七つ目か.

** 「本が好き」と「本が好きでない」 [#f13f17e1]
 $ ./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 が同じ節にあるという判断を下すことになるのか?逆かな?「好き」という名詞と同じ節に「ない」が含まれている場合,それは否定されていると考えるべきか.

ところで文を区切るというのは,自分でやらなければいけないのかな?

ともかく srr/cabocha.h &ref(cabocha.h); をよく読もう.