里々MC139-3でのコミュニケートの処理仕様の詳細を以下にまとめました。
どこに載せるか迷ったのでとりあえず日記に。
里々使いはどっかに転載してください(えー
■里々のあいまい検索について ・以下の記載において△は全角空白を表します。 ・以下の記載において""はキーワードを示す表現であり、実際の 処理中または辞書中には記載しません。 【サマリ】 ・あいまい検索は、コミュニケート及び"≫"記法において用いられます。 ・あいまい検索では、△で区切った単語の得点を評価して行われます。 ・あいまい検索は、ゴースト名部分が異なる候補を選ばなくなりました。 (Mc136-901にて実装、MC139-3にて再修正) 【前提】 ・コミュニケートとユーザ入力は同じ処理です。 ユーザ入力の場合、ゴースト名を"ユーザ"と読み替えてください。 ・対象文とは以下のものを言います (1)コミュニケートで他のゴーストのしゃべった言葉 対象文=ゴースト名「コミュニケート文字列」 (2)辞書内で"≫"記法で記載された文 対象文="≫"以降の文字列そのまま ・候補文とは以下のものを言います 辞書内の"*○○「△ほげほげ△へもへも ・・・"形式の記載 ・特定候補文は、"○○"のあるものを、汎用候補文は、"○○"の無いものを言います。 (例) *ユーザ「△ほげほげ =特定候補文 *「△へもへも =汎用候補文 ・対象文に"「"が含まれるかどうかによって動作が異なります(MC139-3からの新機能) 対象文に"「"が含まれる場合を名前限定モード、 対象文に"「"が含まれない場合を通常コミュ探索モードと呼びます。 MC139-3より前の場合、常に通常コミュ探索モードです。 【候補の絞込み処理】 (1)名前限定モードの場合 ・ヒットする候補は、特定候補文のうち○○の部分が一致するものと、 汎用候補文に絞られます。 ・ヒットテストの処理は、"「"以降の文字列についてのみ行われます。 (具体的には、対象文から"「"までの文字列が除かれ、 候補文から最初の単語("○○「"もしくは"「")が除かれます) (2)通常コミュ探索モードの場合 ・ヒットテストする候補は、候補文すべてです。 ・ヒットテストする対象は、対象文そのままです。 ・つまり、ヒットテストの処理は、"○○「"もしくは"「" 部分も 1つの単語とみなして行われます。 【ヒットテスト】 ・絞込み後の候補文すべてを、△で分解し、単語にします。 ・単語のそれぞれの部分が、対象文に含まれているかどうかのテストが行われます。 ・対象文に単語が含まれていればヒットです。 ・ヒットした単語は10点+単語の長さ1文字につき1点の得点を得ます。 ・但し、最後が「で終わっている単語は4点固定です。 ・ヒットしなかった単語は、コミュニケートの場合0点、≫記法の場合-999点です。 ・それぞれの単語の点数を合計したものが、その候補文の得点となります。 【結果確定】 ・最高点を得た候補文が最終的な結果となります。 ・ただし、4点以下のものしかなかった場合は結果なしとなります。