物語構造のデータマイニング

 物語の構造に関するモデルは多く提案されているので、LLM(大規模言語モデル)を使えば大量の物語の構造が得られる。これをデータマイニングしたら、人間が発見しづらい傾向、構造のパターンや共通性を持つストーリーの群を見いだせないか。

近年、「ナラティブ」や「物語」という語がビジネス分野においてバズワードのように用いられ、注目を集めている。物事を単なる説明として提示するのではなく、物語として構築することによって、説得力を高めたり、価値づけを容易にしたり、さらには組織内外を結びつけるコミュニケーションの道具として活用したりすることができると考えられている。人々は、物語を用いることに大きな実利を見いだしているようである。
 一方で、物語をどのように分析し、評価し、構築するかという実践的な方法論については、必ずしも大きな進展が見られるわけではない。物語構造に関する研究自体は古くから存在する。たとえばウラジーミル・プロップは、ロシアの昔話を分析し、物語を構成する31の機能を提案した。これは物語を部品的な構造の集合として捉える試みである。また、物語の全体的な形を大まかに類型化する研究も存在する。さらにジェラール・ジュネットは、物語における時間構造に注目し、出来事が実際に起こる時間と、読者が物語を読む際の時間的順序や速度との関係を理論化した。
 しかし、物語を分類する研究には、ある種のいたちごっこ的性質があると考えられる。ある観点から物語が類型化され、典型例が提示されると、人々はその類型の外側にある新しい構造の物語を創造しようとするであろう。そのような新奇な構造は注目を集めやすく、流行しやすい。さらに、物語の基本的部品や基本構造そのものも、時代や文化、人々の関心の変化に応じて変わっていく。プロップの分類はロシアの昔話をもとにしたものであり、現代の漫画やゲームの物語には必ずしも適合しない可能性がある。
 このように考えると、多数の物語を分析して結果を提示すること自体よりも、物語をうまく分析するための方法論を開発することのほうが、より普遍的な価値を持つと考えられる。方法論が確立されていれば、状況やジャンルに応じて対象となる物語群を設定し、それぞれに適用することで比較的普遍的な知見を得ることができる。この試みは、データサイエンスやデータマイニングの研究として捉えることも可能である。
 このような情報学的研究を行う際に、まず検討しなければならないのは、何をもって似ているとするか、何を共通性とみなすかという類似性モデルである。このモデルの定義によって、クラスタリングや共通パターン抽出の結果は大きく変わる。現在の物語構造研究では、この点について十分な議論がなされていないように思われる。
 物語を基本的部品に分解すれば、物語は部品の列として表現できる。たとえば、主人公の旅立ちや宝物の獲得といった抽象的出来事をA、B、C、Dなどの記号で表すと、物語は記号列として変換できる。その列が「Aの次にBが現れる」のような部分的な要素の関係をどのように含んでいるかを調べたり、そこから全体がどのようなものであるかを俯瞰したりできる。これは既存研究でも広く行われている方法であり、ジャンルや文化に応じて出来事の集合を定義し直すことで、多様な視点から物語構造を分析できる。
 ここまでは多くの研究があるのだが、ここからマイニング的な方向に進む研究は少ない。つまり、どのような物語がどのように似ていると考えるか、そのモデルが少ない。そこで、ある構造のもとで、どのような物語が似ているか、どのようなものを共通性と考えるかをモデル化する研究を提案したい。
 ここでは、その一つの方法として、物語を順序対の集合として表現するモデルを提案する。まず、物語をウラジーミル・プロップの方法などを用いて、ある種の記号列に変換する。ここでいう記号とは、物語を構成する部品的な機能構造を指す。たとえば主人公が旅立つ、宝物を獲得するといった抽象化された出来事である。これらの出来事をa、b、c、dといった記号に対応させれば、物語全体を一つの記号列として表すことができる。この段階までは既存研究で広く行われてきた手法である。特定のジャンルや文化に応じて出来事の種類を設定し直すことで、多様な観点から物語構造を分析することが可能である。
 次に、二つの物語をこの方法によって、それぞれ記号列 (a,b,c,d,e) と (a,c,e,b,d) に変換したと仮定する。このとき、両者の類似性をどのように定義すると良いか考える。同様の問題を扱う分野として生物学がある。そこではゲノム列を記号列として扱い、編集距離と呼ばれる距離モデルによって比較を行う。詳細は省くが、これは二つの記号列から最も長い共通する部分列を取り出すことに対応している。
 上記の例では、(a,c,e) が両者に共通する最長の部分列の一つである。この長さは3であり、元の列の長さが5であることから、類似性を 3/5 のように定義することができる。ここでいう部分列とは、元の順序を保ったまま抽出された記号列を指す。たとえば (a,c,e) や (a,d) は (a,b,c,d,e) の部分列であるが、順序が崩れている (a,c,b) は部分列とはならない。
 この方法により距離を定義すれば、クラスタリングなどの分析は実行可能となる。しかし、共通性の解釈には問題が残る。(a,b,c,d,e) と (a,c,e,b,d) の最長共通部分列は (a,c,e) だけではなく、(a,c,d) や (a,b,d) など複数存在する。そのため、どれを二つの物語の「共通部分」とみなすべきかが明確にならない。分析結果に曖昧さが残るのである。さらに、記号列が長くなったり、比較対象が増えたりすれば、解の候補はさらに増加し、共通性の把握はいっそう不明確になる。
そこでここでは異なる類似性モデルを提案したい。それは、記号列からすべての順序対を抽出する方法である。順序対とは、二つの記号の組であり、「最初の記号が二番目の記号より前に現れる」という関係を示すものである。たとえば (a,b,c,d,e) という記号列からは、(a,b) や (c,e) といった順序対が得られる。これをすべて列挙すると、(a,b),(a,c),(a,d),(a,e),(b,c),(b,d),(b,e),(c,d),(c,e),(d,e) という集合になる。一方、(a,c,e,b,d) から順序対をすべて取り出すと、(a,c),(a,e),(a,b),(a,d),(c,e),(c,b),(c,d),(e,b),(e,d),(b,d) という集合になる。
 このように、記号列を順序対の集合として表現すれば、二つの物語の共通性は、両者に共通して含まれる順序対の集合として一意的に定義できる。上記の例では、(a,b),(a,c),(a,d),(a,e),(b,d),(c,d),(c,e) が共通部分となる。最長部分列のように複数の候補が生じることはなく、共通性は明確に定まる。さらに、複数の記号列やより長い記号列を比較する場合でも、共通する順序対の集合は一意に定まるため、それを出発点(アンカー)として議論を進めやすくなる。
 もっとも、この類似性モデルはまだ初等的なものである。今後は、物語に固有の性質をどのようにこの順序対モデルの制約条件として組み込むかを検討する必要がある。そのような工夫を重ねることで、より精緻で質の高い物語比較モデルを構築できると考える。文学的知見と情報学的モデルを融合させることが、この種の研究を発展させ、魅力的なものにしていく鍵となるであろう。

 戻る          宇野毅明のホームページへ