ノート/ノート
訪問者数 220      最終更新 2016-12-12 (月) 14:14:40

Cabochaで構文木を作っていいのか (2016-12-03)

Cabochaでは

$ cabocha -f 2
三郎に一郎はりんごを贈った。
(トリー表現)
  三郎に-----D
    一郎は---D
    りんごを-D
      贈った。
EOS
 (ラティス表現)
* 0 3D 0/1 -1.997831
三郎    名詞,固有名詞,人名,名,*,*,三郎,サブロウ,サブロー
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
* 1 3D 0/1 -1.997831
一郎    名詞,固有名詞,人名,名,*,*,一郎,イチロウ,イチロー
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
* 2 3D 0/1 -1.997831
りんご  名詞,一般,*,*,*,*,りんご,リンゴ,リンゴ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 3 -1D 0/1 0.000000
贈っ    動詞,自立,*,*,五段・ラ行,連用タ接続,贈る,オクッ,オクッ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。      記号,句点,*,*,*,*,。,。,。
EOS
XML形式(-f3)
<sentence>
 <chunk id="0" link="3" rel="D" score="-1.997831" head="0" func="1">
  <tok id="0" feature="名詞,固有名詞,人名,名,*,*,三郎,サブロウ,サブロー">三郎</tok>
  <tok id="1" feature="助詞,格助詞,一般,*,*,*,に,ニ,ニ">に</tok>
 </chunk>
 <chunk id="1" link="3" rel="D" score="-1.997831" head="2" func="3">
  <tok id="2" feature="名詞,固有名詞,人名,名,*,*,一郎,イチロウ,イチロー">一郎</tok>
  <tok id="3" feature="助詞,係助詞,*,*,*,*,は,ハ,ワ">は</tok>
 </chunk>
 <chunk id="2" link="3" rel="D" score="-1.997831" head="4" func="5">
  <tok id="4" feature="名詞,一般,*,*,*,*,りんご,リンゴ,リンゴ">りんご</tok>
  <tok id="5" feature="助詞,格助詞,一般,*,*,*,を,ヲ,ヲ">を</tok>
 </chunk>
 <chunk id="3" link="-1" rel="D" score="0.000000" head="6" func="7">
  <tok id="6" feature="動詞,自立,*,*,五段・ラ行,連用タ接続,贈る,オクッ,オクッ"> 贈っ</tok>
  <tok id="7" feature="助動詞,*,*,*,特殊・タ,基本形,た,タ,タ">た</tok>
  <tok id="8" feature="記号,句点,*,*,*,*,。,。,。">。</tok>
 </chunk>
</sentence>

心に思う構文木イメージとしてはこんなことか? 

構文木イメージ
                            文
     +----------------+---------------+
 名詞句             動詞句
     |          +---------------+--------------+
 一郎は              名詞句               名詞句           動詞句
                            |                     |                   |
                        三郎に             りんごを          贈った

「一郎は」は主格なので、一段上にあげてあるが、Cabochaの係り受け解析では、 主格であることは認識していない。

Cabocha出力
                            文
     +----------------+---------------+
 名詞句             動詞句
     |          +---------------+--------------+
 三郎に               名詞句               名詞句           動詞句
                            |                     |                   |
                        一郎は             りんごを          贈った

とにかくこれをバイナリ・トリー化すると

Cabocha出力をバイナリ・トリー化したもの
                  文
     +---------+--------+
 名詞句           動詞句
     |            +---------+--------+
 三郎に     名詞句                  動詞句
                   |          +--------+--------+
              一郎は      名詞句                動詞句
                                 |                       |
                            りんごを              贈った

ここでは、Cabochaでのchunkのつながり(=係り受け関係)は (0→3), (1→3), (2→3) である。これを、語の出現順序(リーフ間の左右関係)を維持しつつバイナリ化しようとすると、たとえば先に(0→3)を作ると、次の2段目に来る(1→3)は(0→3)より左側に来ざるを得ない(3は右側なので)。となると、0より1が左に来てしまうので、元の語順が守られない。

係り受け解析の後、主格の格助詞(「は」「が」)を検知して、主格を決めるのか?

欲しいのは何か?

「入門自然言語処理」での例

もはや'今さら'だが、という接頭辞で始めるしかないほど今さらだが、私はプリペイド携帯をずっと使っている。
              もはや-----D
  '今さら'だが、という-D |
                接頭辞で-D
                始めるしか-D
                        ない-D
                          ほど-D
                    今さらだが、-------D
                              私は-----D
                    プリペイド携帯を---D
                                ずっと-D
                            使っている。

さて、どうしよう。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-12 (月) 14:14:40 (345d)