昔話記述言語(FDL)の紹介

                                佐藤皇太郎
                                小澤俊夫(研究代表)


 目 次

1 序・ 昔話研究とコンピュータ
 1・1 はじめに
 1・2 コンピュータを用いた昔話の構造分析

2 FDL・昔話記述言語
 2・1 FDL概説
 2・2 FDLの実例

3 OFDA・検索システム
 3・1 OFDA概説
 3・2 システム構成
 3・3 検索の実際

4 まとめ
 4・1 現状
 4・2 今後の課題
 4・3 将来の展望


  1 序・昔話研究とコンピュータ

  1・1 はじめに

 昔話、特にその物語の構造を分析するために、コンピュータを利用しようとしている「FDL研究プロジェクト」の研究を紹介します。
 伝統的な文化である「昔話」と、新しい技術である「コンピュータ」の組み合わせは、少々奇異に感じられるかも知れません。一般 にコンピュータは「融通が利かない」「与えられた指示通りにしか動かない」という性質を持っているため、「曖昧な表現」や「意外な展開」の塊である文芸作品の分析には適さないと考えられていました。実際に、昔話研究の現場におけるコンピュータの使い方も、ワープロソフトを用いた原稿執筆や表計算ソフト・データベースソフトを用いたデータ整理程度に留まっているものが多く、物語それ自体を客観的に分析するためにコンピュータを利用する試みは、世界的に見ても珍しいものであると思います(対象とする物語が「昔話」であるところがポイントなのですが、詳しくは後述します)。
 近年のパソコンの低価格化・高性能化やインターネットの普及は、コンピュータをますます身近なものにしています。コンピュータの持つ長所・短所を良く踏まえた上で、この「便利な道具」をうまく使いこなし、各種の昔話研究の効率を向上させたいと考えています。


  1・2 コンピュータを用いた昔話の構造分析

 昔話における構造とは何でしょうか。昔話も物語なので「物語の構造」と言い換えても構いません。いわゆる「起承転結」や「序破急」などが物語の大局的な構造を表していることに疑いはありませんが、ここでは少し別 の視点から考察してみます。
 例えば、『猿婿入り』の冒頭部では、爺が困っているところへ、猿が山からやって来るシーンから始まります。『舌切り雀』では、舌を切られた雀を追って、爺が山へ行くことによって、物語がより大きく動き出します。一方、『鶴女房』では、鶴が去ると物語が終了します。このように眺めてみると、登場人物(動物も含む)の「移動」が、昔話にとって極めて重要な構成要素になっていることが分かります。さらに、この考え方をもう一歩、押し進めてみると、「移動」は人物や動物に限ったものではなく、物語に登場する全ての物について当てはまることが分かります。打出の小槌や鼻高扇などの呪物も大抵は所有者を移動しますし、援助者からのアドバイスも「情報」というモノが援助者から主人公らに移動したと考えれば、同じ枠組の中で統一的に捉えることが可能になります。また、同じ「移動」と言っても、主体的に「動く」場合もあれば、他の物に「動かされる」場合もありますが、自ら主体的に動く場合を「自分が自分を動かす」と見なすことも可能なので、結局のところ物語とは、原則として、
「動かすもの(主語) 動かす内容(動詞) 動かされるもの(目的語)」
という簡潔な文型の文を複数、連続すれば表現できるのではないかと考えました(なお、ここで言う「動かす内容」とは、文字通 り「動かす」「移動する」という意味だけではなく、「目的語に対し何らかのアクションを加える」という広い意味で使っています)。
 余談ですが、この概念は物語世界だけではなく、現実世界にも当てはまるのではないでしょうか。
「この世は、動かすものと動かされるものから出来ている」
という少し哲学的(?)な見方をすると、これまでに述べて来たことが理解し易くなるかも知れません。
 ともかく、「主語 動詞 目的語」という文型による行為等を表す文(要素文)を昔話の構造における最も基本的な単位 と考え、起承転結のはっきりした物語はもちろんのこと、どんなに複雑な物語でも、その構造を要素文の連続で表現できるという立場で、まず昔話をこうした表記に翻訳することから始めることにしました。幸いなことに昔話は、小説や詩などとは異なり、感情的表現や抽象的表現が極めて少なく、ほとんどが客観的事実を記号的に羅列することによって語られているので、翻訳後も物語の骨格や構造的な面 白さは保存されると考えられます。一方、コンピュータも記号的表現ならば扱いが得意なことは言うまでもありません。
 つまり、昔話はその表記法さえ工夫すれば、コンピュータによる分析処理と相性が良いのです。この表記法(コンピュータが昔話を読むための言語)を「昔話記述言語=FDL」(Folktale Description Language)と名付け、文法や語彙の仕様を設計しつつ、翻訳作業を進めています。また、FDLで記述された昔話群をコンピュータ上で分析するためのソフトウェアを、『三枚のお札』にちなんで「OFDA」(On-line FDL Document Analyzer)と名付け、並行して開発を進めています。

 


  2 FDL・昔話記述言語

  2・1 FDL概説

 FDLは、昔話の構造を記述するための人工言語です。原則として、1話を1ファイルに、1行為を1行に記述します。FDLは、コンピュータにとって読み易いだけではなく、人間にとっても昔話の構造が一目で把握できるものを目指しています。
 但し、表現すべき内容が、口伝えされた昔話をベースにしているため、日本語やドイツ語などの自然言語の仕様に引きずられている部分も、やはり存在します。例えば、先述した原則(「主語 動詞 目的語」という文の連続で物語を記述する)から若干外れている部分(be動詞的な動詞「=」の導入や、目的語を伴わない自動詞の使用を認めるなど…)もありますが、これらは妥協したわけではなく、より正確で分かり易い記述のためです。
 一般に言語は文法と語彙によって成立しています。FDLは開発途上の言語ですが、その文法は、ほぼ完成しています。しかし、語彙については、2001年1月現在、詳細に渡る明確な基準が、まだ存在しません。具体的にはFDLの中で使用しても良い単語だけを集めた『FDL単語辞書』の編纂作業を現在、行っているところです。『FDL単語辞書』の完成には、まだ時間が掛かりそうですが、『日本の昔話』(おざわとしお再話、福音館書店)全301話中の30話(第1巻より)については、白百合女子大学の沼賀美奈子・松村裕子の両氏により、暫定的なFDL化が完了しています。実は、これだけでも、OFDA(FDLを分析する検索システム)を活用することにより、色々な面 白い発見が出来ているのですが、詳しくは後述します。
 FDLは、国際化も念頭において設計されています。基本的に、単語レベルで置換すれば、各国語版のFDLに翻訳できる仕組みです(もちろん、各国語版の『FDL単語辞書』が用意されていることが前提ですが…)。


  2・2 FDLの実例

 それでは、FDLによる『浦島太郎』(Web 版ではリンク先を、紙版では別紙を参照のこと)を、実際に読んでみましょう。
 まず、全体的な構成ですが、
◎見出し部 … タイトルや翻訳者名・翻訳年月日などを記載(「#」から始まります)。
◎INFO部 … 話型や出典などの情報を記載(ここでは解説は省略します)。
◎STORY部 …「語り」本文。モティーフ(場面)単位で大まかに区切ります。
という3パートから構成されています。
 以下、STORY部について、行単位で、【FDLからの日本語訳】と、必要に応じて【解説】を掲載します。

◇場面1(Motif-1)
・浦島太郎は、海の近くの村に居ました。
 【解説】「=」は、存在や状態を表す動詞。「@」は、場所を表す記号。「。」は、日本語の「の」に相当する記号。
・子供たちが、亀をいじめていました。
 【解説】「*」は個数を表す記号(「*3」で「3個」)。「**」で「たくさん」を表す。
・浦島太郎は、子供たちから亀を買いました。
 【解説】「<」は「〜から」を表す記号。
・浦島太郎は、亀を海に放しました。
 【解説】「>」は「〜へ」を表す記号。

◇場面2(Motif-2)
・浦島太郎は、海で釣りをしていました。
・亀が、海から現れました。
・亀は、自分が乙姫の使いであることを、浦島太郎に言いました。
 【解説】文中に別の文が入れ子のように含まれる場合は、カッコで囲う。
・亀は、浦島太郎が亀の背に乗ることを、望みました。
・浦島太郎は、亀の背に乗りました。
 【解説】物語の構造とは直接関係しないが、重要または興味深い事柄は、「#」を使ってコメント(行末まで有効)しておく。
・浦島太郎は、竜宮城に到着しました。

◇場面3(Motif-3)
・乙姫は、浦島太郎が亀を助けてくれたからたくさんのご馳走と共に(浦島太郎を)待っていました、と浦島太郎に言いました。
 【解説】「〜」は、「〜だから」を表す記号で、文と文を接続する。「+」は、「〜と共に」を表す記号。「:」は、時制を表す記号(だが、少々複雑なので、解説は省略)。
・浦島太郎は、たくさんのご馳走を食べました。
・浦島太郎は、魚の踊りを見ました。
・3ヶ月の間、浦島太郎は、竜宮城で暮しました。
 【解説】時間(日付や季節も含む)を表す場合、「$時間=○○、」と表現。
・浦島太郎は、村へ帰りたい、と乙姫に言いました。
・乙姫は、玉手箱を浦島太郎に与えました。
・乙姫は、(浦島太郎が)玉手箱を開けてはいけない、と浦島太郎に言いました。
 【解説】「!」は、否定を表す記号。「許可。」は、「〜しても良い」を表す助動詞。

◇場面4(Motif-4)
・浦島太郎は、村へ帰りました。
・村の様子が、変わっていました。
 【解説】「=。動詞(の現在分詞)」で、状態を表す。
・浦島太郎は、老人に、浦島太郎を知っているか、と尋ねました。
・老人は、300年前に浦島太郎は海から帰らなかった、と浦島太郎に言いました。
・浦島太郎が玉手箱を開けると、浦島太郎は爺になりました。

 もちろん、ここに【解説】したことは、FDLの文法仕様の一部に過ぎませんが、FDLという人工言語のおおよその雰囲気は、つかめるのではないかと思います。
 なお、文法仕様の詳細については、「FDL基本文法」を参照のこと。



  3 OFDA・検索システム

  3・1 OFDA概説

 OFDAは、FDLによって記述された昔話(一般には複数)を分析するためのソフトウェアです。基本的には検索を行うシステムなので、利用者が入力した文と同じ(または、似ている)文を含む話を検索結果 として表示するものです。
 但し、昔話の構造分析を目的としているため、少々特殊な検索を行います。具体的には、利用者が「検索パタン」として複数行(例えば、要素文を3つ)を入力すると、FDLデータベースに蓄えられた全ての昔話を対象に、物語の流れ順に「検索パタン」との比較を行い、順序も含めて「検索パタン」に書かれた全てと合致した話のみが、検索に「ヒット」したものとして選び出されるようになっています。ここで、(検索対象となる昔話の側の)行間に「関係ない文」が複数、挟まっていたとしても、「検索パタン」の条件さえ満たしていれば、「ヒット」する点が特徴です。この工夫により、例えば、全く異なる話型(※)の昔話間でも、共通 した構造を取り出すことが可能になりました。
※ 話型とは、例えば『尻尾の釣り』や『手なし娘』などといった「昔話の類型」のこと。


  3・2 システム構成

 ここで、OFDAを実現しているコンピュータ・システムの構成を簡単に紹介しておきます(興味のない方は、読み飛ばしても構いません)。
◎ Web をベースにしたクライアント・サーバ・システム … FDLによる昔話データベースと CGI を利用した検索エンジンを Web サーバに置き(データベースを一元的に管理できる)、利用者(ユーザー)は、Netscape などの Web ブラウザ経由でOFDAを利用します。OFDAサーバはインターネットに接続されているので、世界中からOFDAを利用することが可能です(但し、2001年1月現在、クライアント側に日本語環境が必要です)。

◎ CGI スクリプトには、Perl を使用 … 検索を行う CGI スクリプトとその周辺のコンバータ群は、筆者(佐藤)がプログラミングしました。


図1.OFDAのシステム構成図


  3・3 検索の実際

 「2・1 FDL概説」にて紹介しました暫定版のFDL30話を検索対象としています。
 「検索パタン」を【入力】、「検索結果」を【出力】(但し、詳細は割愛)とし、【解説】を加えました。

【入力】針
【出力】『一寸法師』『夢見小僧』『蛇婿入り』の3話がヒットしました。OFDA上では、ヒットした話の中の該当行がFDLで表示されます。例えば、『蛇婿入り』の場合、
母親 命令する >娘 (娘 刺す 針 >若者。着物。裾)
 という表示も(行番号付きで)確認することができます。
【解説】単語の検索の例。一般的なワープロソフトの検索機能と異なり、それぞれの話の中で、初めて「針」が登場したシーンのみが表示されます。さらに、例えば検索パタンとして、
針 《改行》

と入力すると、2回「針」が登場する話のみがヒットし、初めて針が登場したシーンと、2回目に針が登場したシーンがFDLにて表示されます。「初めての登場」や「2回目の登場」は、物語の構造を知る上では、重要な情報となります。

【入力】”植物
【出力】実に、30話中16話で、植物が登場しています。
【解説】単語クラスの検索の例。「”」は、クラス(単語のグループ=類語)を表す記号。「”植物」は暫定的に「木、葉、芽、花、松、杉、柳、桑、桃、桜、菖蒲、菊、椿、きのこ」から構成されています。それにしても、日本の昔話と植物とは、密接な関係がありそうです。

【入力】”動物 ”話す
【出力】『花咲かじい』『蛇婿入り』『猫の踊り』『猿婿入り』『浦島太郎』の5話がヒットしました。
【解説】文の検索の例。「(種類を問わず)動物が話す」部分を含む話を検索しています。ここでは、会話の内容までは指定していません。
【註】この検索では、「 」(スペース)を厳密に「 」(スペース)として扱う「Advanced」モードを使用しました。

【入力】”動物 ”話す 《改行》
    娘 なる ”動物。嫁
【出力】『猿婿入り』のみがヒットしました。
【解説】複数の文の検索の例。「動物が話した」後に、「娘が動物の嫁になる」話は、この30話中では『猿婿入り』だけでした。なお、この様な検索こそが、昔話の構造分析らしい検索であると言えます(これはまだシンプルな例ですが…)。
【註】前項と同様、「Advanced」モードを使用。

【入力】”男 ”移動する 《改行》
    Motif-2
【出力】冒頭部(Motif-1)において、男が何らかの移動をしている話が、30話中10話ありました。
【解説】モティーフ(場面)の区切りを表す「Motif-2」なども、検索パタンに組み入れると、より複雑な検索条件を設定できます。
【註】この検索では、初めに、「 」(スペース)を「任意の文字列」として扱う「Basic」モードを使用しました。「Advanced」モードと異なり、「(爺&婆)が移動する」ような場合もヒットします。より広く許容する(逆に言えば、あまり関係ないものまで拾ってしまうこともある)ので、一般 に、まずは「Basic」モードで大まかな当たりを付けてから、「Advanced」モードで目的とする対象に絞り込んでいくのが良いと思います。

 


  4 まとめ

  4・1 現状

◎JFDL(日本語版FDL)の Ver 0.92 の仕様(文法のみ)が完成した。
◎OFDAの Ver 0.3.2 が完成した。昔ばなし研究所ホームページ(http://www.docca.net/mukaken/)にて、稼働中。
◎『日本の昔話』(福音館書店)の中の30話について、暫定的なFDL化が完了した。


  4・2 今後の課題

当面の課題と、→ そこから派生する課題
◎『FDL単語辞書』の編纂(単語のクラス分類も含む)。→ 外国語版FDLの検討も。
◎『日本の昔話』(福音館書店)全301話のFDL化。→ 他の昔話資料のFDL化も。
◎OFDAサーバの検索環境や操作感の更なる改善。


  4・3 将来の展望

 FDLとOFDAの応用範囲は、当初想定していたものよりも、かなり広くなりそうです。
 本来の目的であった昔話の構造分析研究とその周辺領域(例えば、アールネ=トムソンの話型分類とFDLとの対応付け)やイメージ研究(例えば、「和尚」のイメージ研究とは、「和尚」は昔話の中では、どのような語られ方をしているのか=どのような扱いを受けているのかを研究すること)だけに留まらず、語りの様式研究や話型研究などにも応用できそうです。さらには、昔話の枠を越えて、物語論(「物語」と「物語以外」を分けているものは何か)を客観的に研究するための道具としての活用や、心理学・認知科学・人工知能研究などへの応用も期待されます。
 今はまだ夢物語ですが、文学(物語)と情報科学(コンピュータ)の学際分野として、昔話の自動分析や物語の自動生成などを行う「物語工学」という新しい学問分野を構築できるかも知れません。


  研究プロジェクト参加者
    小澤俊夫(代表) 沼賀美奈子 松村裕子 加藤耕義 鉢野のぞみ 間宮史子
    学外専門研究員 佐藤皇太郎(Artless Art Studio
    研究依託 多摩システム工房


本論文は、2000年 3月 31日に昔ばなし研究所より刊行された『昔話のイメージ3』白百合児童文化研究センター叢書)に収録の「昔話記述言語(FDL)の紹介・1」に加筆・修正したものです(更新日 2001年 2月 6日)。


「昔話記述言語(FDL)の研究」ホームページへ


Copyright (c) 2000-2001 Kotaro Sato, FDL Research Group. All rights reserved.