Ivoryworks

Project STAPAIN - スタパさんの中のひと
<< 前のページ次のページ >>

マルコフ連鎖でスタパさんの巻 その3

マルコフ連鎖による三階の近似での文章生成

 賢明な読者ならもうお分かりだと思いますが、一階の近似、二階の近似に続き、今度はマルコフ連鎖の三階の近似になります。
 一階の近似、二階の近似と同様に、スタパブログからのサンプル(スタパブログ 2006/01/23の記事)を用います。

 二階の近似では、1つの形態素に続く可能性のある別の形態素を選択して行きましたが、三階の近似ではさらに連続性を持たせます。

 再び例文「僕はリンゴとバナナを食べた。君はチキンとサラダを食べた。」を用います。
 三階の近似では、2つの形態素に続く可能性のあるもう1つのの形態素を選択します。

接頭辞1接頭辞2接尾辞
リンゴ
リンゴ
リンゴバナナ
バナナ
バナナ食べた
食べた
食べた
:(省略)
食べた(文章の終わり)

 三階の近似を用いる例として、この文章は短すぎるのですが、この情報を元に、「僕 - は」を文章の始まりとして自動生成すると、元の文章と同一のものか、または「僕は~を食べた。」の後に「君は~を食べた。」を繰り返す文章が生成されます。
 これは、ランダム性が現れる箇所が「食べた - 。」にたどり着いた時のみだからです。「食べた - 。」に到達した際、次の形態素は「(文章の終わり)」か「君」のどちらかで、「君」を引き当てた場合、再び「君は~を食べた。」が繋がる事になります。

 例えば、四階の近似、五階の近似・・・と、許される限り連続させる形態素の個数を増やす事は可能ですが、階の値が大きくなればなるほど、オリジナルの文章に近づく事になります。しかし、生成される文章がオリジナルに近づく事によって、自由度が低下し面白さが失われる事になるでしょう(元にした文章本来の面白さという意味でなく)。

 それでは、三階の近似で文章生成してみます。これまでどおり、改行を引き当てたら文章の終わりとします。

 16mmフィッシュアイ、21mm、28mm、35mm判換算で23mm相当となる広角レンズで、「あぁ~そうかそのテがあるのか」とプチ感動した拙者。

 かなりまともな文章が吐き出されましたが、二階の近時の時より更に原文に近づいているので、自動生成された文章という観点から言えば面白みは減少してます。ただ、これは学習(蓄積)させた文章量が少ないことも原因の一つだと思います。

 なんだかこれは、自然な文章を生成させる事を目的としていながら、目標に近づけば近づくほど生成される文章は原文に近くなり、本来の目的から外れてしまうというジレンマを孕んでいるようです。

 階の値が大きくなるにつれ、繰り返しの発生率が高まるようです。階の値が大きくなると、次の形態素を決定する際の選択しが狭められてしまうからだと思います。これも蓄積した情報量の少なさが影響を与えているのかもしれません。

 これ、なんか、やっぱ、革命的なフィーリングだし、外観もモダンなフィーリングだし、そーんなには高価ではないし、外観もモダンなフィーリングだし、外観もモダンなフィーリングだし、そーんなには高価ではないし、そーんなには高価ではないし、そーんなには、500万画素のCCDが備わっている。

 とにかく革命的で外観もモダンなフィーリングで、そんなには高くなくて、500万画素のCCDが備わっている何かについて興奮気味に説明してます。

 一階の近似、二階の近似、三階の近似と説明してきましたが、どうもこの辺りが適度なレベル(階)のようです。これ以上だと、原文に近づきすぎる気がするし、これ以下だと文章の質に影響を与えてしまいます。

<< 前のページ次のページ >>