コードネームは初話ユウ

自然言語処理でいろいろやってみる

2012-09-01から1ヶ月間の記事一覧

cabochaソースを読む(4)係り受けレイヤ

いよいよ本丸の係り受け部分を見ていく。parse() は dep.cpp l.191から。 アルゴリズム自体は最初の回に紹介した論文に詳しく述べられている。parse()は100行に満たないので、論文と見比べながら読んでいけば大体わかると思うが、いくつかコメント: l.207 b…

cabochaソースを読む(3)各文節の素性

素性選択レイヤを見る。ソースはselector.cpp。l.117 parse()から行く。 l.121 の forループで(sentence中の)全chunkをなめる。 l.128 の forループで各chunkの中の全tokenをなめる。 各tokenに対して、 l.130 pat_kutouten_.match(token->normalized_surf…

cabochaソースを読む(2)入力データから情報抽出

前記事の続き。 tree->read() (tree.cpp l.406) が文字列入力からデータ構造を構築する。まずデータ構造の宣言をチェック。 cabocha.h に struct cabocha_chunk_t (l.75), struct cabocha_token_t (l.87) の宣言がある。chunk が文節、token が形態素。ちな…

cabochaソースを読む(1)処理の流れ概要

係り受けツールのcabochaをいじっているが、いろいろとひっかかってる。cabochaは係り受けをどうやって決めているのか?を知るため、ソースを少し読んでみた。以下そのメモ。 南瓜のページ http://code.google.com/p/cabocha/ からソースをDL。とったのは v0…