アイソモカ

知の遊牧民の開発記録

開発記録 191205 Thu (100本ノック #047)

滷味包でスペアリブを煮ている。昨日から煮始めて、だいぶいい感じになってきた。

47. 機能動詞構文のマイニング

動詞のヲ格にサ変接続名詞が入っている場合のみに着目したい.46のプログラムを以下の仕様を満たすように改変せよ.

  • 「サ変接続名詞+を(助詞)」で構成される文節が動詞に係る場合のみを対象とする
  • 述語は「サ変接続名詞+を+動詞の基本形」とし,文節中に複数の動詞があるときは,最左の動詞を用いる
  • 述語に係る助詞(文節)が複数あるときは,すべての助詞をスペース区切りで辞書順に並べる
  • 述語に係る文節が複数ある場合は,すべての項をスペース区切りで並べる(助詞の並び順と揃えよ)

例えば「別段くるにも及ばんさと、主人は手紙に返事をする。」という文から,以下の出力が得られるはずである.

返事をする と に は 及ばんさと 手紙に 主人は

このプログラムの出力をファイルに保存し,以下の事項をUNIXコマンドを用いて確認せよ.

  • コーパス中で頻出する述語(サ変接続名詞+を+動詞)
  • コーパス中で頻出する述語と助詞パターン

 

やったこと

 

例文の CaboCha 出力を確認

一応見ておく

* 0 3D 0/0 0.455238
  記号,空白,*,*,*,*, , , 
* 1 2D 0/0 1.021216
別段  副詞,助詞類接続,*,*,*,*,別段,ベツダン,ベツダン
* 2 3D 0/2 2.294919
くる  動詞,自立,*,*,カ変・クル,基本形,くる,クル,クル
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
も 助詞,係助詞,*,*,*,*,も,モ,モ
* 3 7D 0/3 -1.816825
及ば  動詞,自立,*,*,五段・バ行,未然形,及ぶ,オヨバ,オヨバ
ん 助動詞,*,*,*,不変化型,基本形,ん,ン,ン
さ 助詞,終助詞,*,*,*,*,さ,サ,サ
と 助詞,格助詞,引用,*,*,*,と,ト,ト
、 記号,読点,*,*,*,*,、,、,、
* 4 7D 0/1 -1.816825
主人  名詞,一般,*,*,*,*,主人,シュジン,シュジン
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
* 5 7D 0/1 -1.816825
手紙  名詞,一般,*,*,*,*,手紙,テガミ,テガミ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
* 6 7D 0/1 -1.816825
返事  名詞,サ変接続,*,*,*,*,返事,ヘンジ,ヘンジ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 7 -1D 0/0 0.000000
する  動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
。 記号,句点,*,*,*,*,。,。,。
EOS

 

途中経過

アルゴリズムの順序としては、動詞の文節 chunk を見つけてから、係り元文節を chunk.srcs で見て、

  1. 「サ変接続名詞+を(助詞)」
  2. 述語に係る助詞(文節)

をそれぞれ探すのがスムーズかもしれない。

現時点での出力結果。

# knock047.txt (21行目)
返事をする さ に は 及ばんさと 手紙に   主人は

「及ばんさ」という文節には、助詞は「さ」と「と」があるが、今使いたいのは「と」のほうなんやな。つまり、述語に係る文節に助詞が複数ある場合には、最右の助詞を使うというわけだ? それとも、morph.pos1 を見て、終助詞ではなく格助詞を使うのだろうか?

続きはまた後日。