ロボットが知識データを言い換える時に、助詞を適切なものに切り替える必要があり、前後の体言や助詞からそれを推計するシステムを作ったと、先の記事で書いた。そのシステムを、いざ、即興漫才システムに組み込もうとした時に、いくつか問題が起こって、最初のデータから作り直すことにした。
まず、助詞だけにして助動詞を対象から外していたのを、加える必要がある。名詞や動詞が連続する場合、1語として扱えるようにする。助詞、助動詞も連続して現れる可能性があるので、それも対応する必要があった。
データ作成は、まず、日本語wikipediaから、元データを作成する。基本的に、文章の中にある、
体言1(動詞、名詞) → 助詞2(助動詞も)→ 体言3→ 助詞3(助動詞も)
という4つの語の流れを拾ってくる。例えば、次のようなものである。
肥満::は::一般的::に 一般的::に::正常::な 正常::な::状態::に 状態::に::比べ::て 比べ::て::体重::が 体脂肪::が::過剰::に 過剰::に::蓄積し::た 蓄積し::た::状況::を ある生存中::の::当事者同士::が 当事者同士::が::有効::に 有効::に::成立し::た 成立し::た::婚姻::を 婚姻::を::婚姻後::に 婚姻後::に::生じ::た 生じ::た::事情::を 事情::を::理由::として 理由::として::将来::に 将来::に::向かっ::て 向かっ::て::解消すること::を ペットボトル::は::合成樹脂::の 合成樹脂::の::一種::である 一種::である::ポリエチレンテレフタラート::を ポリエチレンテレフタラート::を::材料::として パンダ::は::ネコ目::に ネコ目::に::属するジャイアントパンダ::と 属するジャイアントパンダ::と::レッサーパンダ::の レッサーパンダ::の::2種::に対する 2種::に対する::概念上::の 概念上::の::総称::である
この助詞1を体言1、体言2、助詞2から推計しようというのである。後者をword2vecのベクトルデータを用いるなどして入力データに変換して、出力が助詞1のいずれかに推計する。
上記の4語のデータを、日本語wikipediaデータについて、すべてやる。日本語wikipediaデータは、word2vecの時に使用下処理済みデータを用いる。
24スレッドをフル稼働させるプログラムにしたら、10分程度で、全データを処理終えて、4つの語の組み合わせを、63,600,830個拾い出してきた。6千万個以上である。すごい。データは、2ギガくらいのファイルに保存んした。