OFDAの使い方(入門編)── Ver 0.7 対応
FDL研究会 佐藤皇太郎
1.基礎知識
OFDA を起動すると、「検索パタン」という広めの入力箇所と、「探索範囲」「空白(スペース文字)が意味するのは」「コメントを検索対象に」「より高度な設定」
という4つのラジオボタン、「Search」「Clear」という2つの押しボタンを確認できます。以下、簡単に解説いたします。
★「検索パタン」… ここに検索したい物語のパタンを入力します。
- 基本的には、FDLの文をそのまま入力します。といっても「主語 動詞 目的語・・・」という全ての要素を入力する必要はありません。興味のある単語のみを抜き出して(例:「名詞」のみ、「動詞 前置詞」のみでもOK)入力すれば、「該当する部分を含む話」の「該当する部分」を全て表示します。1行だけ入力した場合、基本的には「その話の中で初めて出現する該当行」のみが表示されます。
なお、
複数行に渡って入力したい場合は、各行末で「改行」するだけで、FDLデータベース内にある話ごとに、物語の流れ順に照合を行います。例えば、3行入力した場合、物語の流れ順に3行ともヒットした話だけが検索結果として表示されます。各行の間に別の内容の文が挟まっていても、検索実行時にはそれらは無視されます。無視された部分も含め、詳細を確認したい場合には、検索結果の各話をクリックして開けば、その物語を構成している全てのFDL翻訳文を読むことができます。
★「探索範囲」… データベースに蓄積されたFDL文書群の中のどの部分を検索対象とするのかを設定します。
- 「FDL本文のみ」… 検索対象は物語本体が記述されている「STORY」パートのみ。通常は、このモードで充分です。
- 「INFO等も含む」… 検索対象は「STORY」パートだけではなく、「TITLE」パートや「INFO」パートも含みます(つまりFDL文書全体)。話型やサブタイプなどで検索したい場合に便利です。ただし、話型・サブタイプについては、まだ一部の作品しか登録されていません。
★「空白(スペース文字)が意味するのは」… 検索パタン内の「スペース文字」の働きを設定します。
- 「空白を含む任意の文字」… " "(スペース文字)を任意の文字列として認識します。トランプのワイルドカード(何にでも使えるカード)のようなイメージです。例えば、検索パタンとして「和尚 小僧」と入力すると、その間に様々な動詞やその他の品詞を幾つ挟んでいても、該当する検索結果が表示されます。
入力される文字列の前後にも、暗黙の " "(スペース文字)が設定されるので、例えば、「欲する」とだけ入力すると、主語やその他の情報に関わらず、「欲する」を含む全ての話を表示します。
- 「空白のみ」 … " "(スペース文字)は、" "(スペース文字)だけを表します。例えば、検索パタンとして「和尚 小僧」と入力すると、これはFDLの文法に則っていないため「該当する話はありませんでした」と表示されます。しかし、「和尚 & 小僧」ならば、複数話が表示されるはずです。
原則として、「空白を含む任意の文字」モードでアタリを付けて(概観して)から、「空白のみ」モードでより詳細な情報を検索する(絞り込んでいく)のが良いと思います。
★「コメントを検索対象に」… FDL文書内の「コメント部」("#" に続く文字列)を検索対象とするか否かを設定します。
- 「含める」… コメント部も検索対象に含めます。ちなみに「探索範囲」を「INFO等も含む」にしている場合、FDL文書の「TITLE」パートにある「題名」や「翻訳者名」(これらはコメント扱いです)について検索したいなら、「含める」にしておく必要があります。
- 「含めない」… コメント部は検索対象に含めません。純粋に物語の筋のみを追っていきたい場合に有効です。
★「より高度な設定」… 検索パタンの表記法を「FDL表現」にするか「正規表現」にするか選択できます。通常は「FDL表現」を使います。
《 ※ Ver 0.7 以降は「共起確率」も選べるようになりました!》
- 「FDL表現」…FDLの文法のまま入力できます。加えて(FDLの文法を邪魔しない範囲で)一部「正規表現」も利用できます。メタ文字として使いたい半角記号はそのまま入力して下さい(例:「^和尚」で、行頭に「和尚」がある文のみを指定できます)。この「FDL表現」モードにて、行頭に「^」(正規表現のメタ文字としての「^」ではなく、FDL表記としての「^」)が書かれた文のみを指定したい場合には、全角の「^」(つまり、「^和尚」)を使うのが分かりやすいと思います。
- 「正規表現」… いわゆる「正規表現」(regular
expression)そのままなので、最も厳密な検索が可能ですが、一般には難解かもしれません。なお、「正規表現」については情報工学の文字列処理関連の教科書を参照して下さい。
- 「共起確率」… FDL(正確には、現在の日本語版 JFDL)を構成している約2千種類の単語が、全FDL文の各行中で、任意の複数の単語群と共起(一緒に出現)する確率を計算し、上位50位までを表にして出力してくれる機能です(例:「命令する >小僧」では、共起する単語ランキングの7位が「和尚」、8位が「茶釜」、9位が「鬼婆」であることが分かります。これらは、いずれも小僧に命令している主体です)。なお、本モードにおいては、検索パタン(入力窓)の最初の1行目のみが有効となります。2行目以降に書かれた内容は無視されます。
★「Search」ボタンを押すと検索を開始します。
★「Clear」ボタンで「検索パタン」の入力エリア(フィールド)をクリアし、他のラジオボタンも初期設定に戻すことができます。
2.実践
とりあえず、「探索範囲」「空白(スペース文字)が意味するのは」「コメントを検索対象に」「より高度な設定」のすべてが初期設定(各ラジオボタンが一番左となっている状態)のまま、「検索パタン」に下記の例に挙げた文字列を入力して、「Search」ボタン を押してみて下さい。
例1)命令する >爺
解説)爺に命令する場面を含む話が検索されます。
「婆」でも試してみると、爺に命令する話と比べて、婆に命令する話が少ないことが分かります。ただ、底本が『日本の昔話』全301話と少ないので、ご参考までに)。
例2)"061b獣類色々 走る
解説)何らかの動物(『類語国語辞典』の分類による「獣類色々」:分類番号 061b)が、走っている場面を含む話が検索されます。
「”」は単語クラス(類語)を表す記号です。定義済みの単語クラスについては、「置換リスト」を参照のこと。
なお、複数の単語クラスを連結して大きな単語クラスを作りたい場合には、半角の「-」を使って連結することができます(例:"044森林-"051樹木)。
ちなみに、コメント部に書かれた「走る」を省いて検索したい場合には、上述の通り「コメントを検索対象に」を「含めない」にします。
3.実画面のスナップショット
入力画面:

出力画面:

註:全角記号も内部的には全て半角記号に変換している(国際化を前提としている)ため、検索結果を見ると、「。」が「.」に、「、」が「,」になっています。
「昔話記述言語(FDL)の研究」ホームページへ
Copyright (c) 2001-2025 Kotaro Sato, FDL Research Group. All rights reserved.