いつどこソフトの基本概念

「いつどこソフト」のプログラムの大まかな枠組みを説明します。
 基本的な構造自体はとても単純です:

 [ いつ ]、[ どこ ] で [ 誰 ] が [ 何をした ]

 こういう骨格になっています。この「いつ」や「どこ」のように細かく分けられた部分を pts と呼ぶことにします。 pts は "part of speech" をこばとが勝手に略した記号です。 part of speech の本来の意味は品詞(名詞や動詞、形容詞など)ですが、このブログではもう少し大雑把に「文章の断片」という意味で用います。

  [  ] に入れるべき言葉はそれぞれのファイルに収納されています。4種類のファイルから無作為に選んだ言葉を [  ] に入れて文章を完成させるわけです。1度にまとめて複数の文章を作成する場合は1度使った言葉は取り除いて使わないようにします。たとえば、最初の 001 番において、

 [ 先月 ]、[ 図書室 ] で [ 老女 ] が [ 壁に落書きした ]

と出力された場合、<先月>、<図書館>、<老女>、<壁に落書きした>という pts は 002 番以降は選択されません。少しでも文章にバリエーションを与えるための工夫です。

 現段階でそれぞれ 250, 800, 750, 900 のデータが入っています。

 単純計算すると、250 × 800 × 750 × 900 = 1350 億通りの文章を生成することができますが、実際に何度も出力してみると、体感としてはまだそれほど多くはないのです。というのは、主語や場所が変わっても、「何をした」のところが同じだとすると、人間は「あー、前にどこかで同じ文章見たよー」と判断してしまいます。一方で「いつ」、「どこ」、「誰」に関しては、それがよほど特殊な表現(そういうのもたまに入っています)でない限り、その組み合わせを記憶に残すことが難しいようです。「昨日」や「今日」という言葉は日常で繰り返し使っていますし、「街中」や「部屋」なども意識しない言葉です。「昨日、会社でおじさんが踊り狂った」という文章を読んだあとで、「去年、会社で女子高生が居眠りした」という文を見たとしても(「会社」が重複しています)、同じ文章とは認識しないでしょう。やはり「踊り狂った」や「居眠りした」のところに意識が集中しているからです。

 「何をした」は現時点で 900 通りしかありません。前回お話したように、たとえば1度にまとめて 100 文を出力した場合、その 100 文の中に原則として同じ pts(part of speech:品詞、当ブログでは「文章の断片」の意で用いています)は含まれません。しかしリセットして新たに 100 文を出力すると、改めて全リストの中から pts を選び取ります。そのさいに最初の 001 番の文章が前回と同じ「何をした」を選ぶ確率は 100 / 900 = 1 / 9 となります。数学ブログではないので細かい確率計算は省きますが、 100 文も選べばほぼ確実に重複します。ともかくこの「何をした」のデータ量を増やすことが最重要と考えています。

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)