4. シノニムの設定
シノニムファイルを設定するには設定したいエージェントをダブルクリックし、エージェントエディタを開きます。[Synonym Table]タブをクリックすると、このエージェントに設定されているシノニム辞書ファイルの内容が表示されます。
[New]を押し、このエージェントに新規のシノニム辞書ファイルを設定することにします。ターゲットとそれに対するシノニムを記述し最後に[Save As]を押します。ファイル保存のダイアログが表示されるので表示内容の保存先となるファイル名を入力し[OK]を押します。一連の流れを図2~図5に示します。
5. シノニムの使用例
連載で作成しているレストラン検索サンプルでは、現状ではジャンルはgenre.txtに定義した語しか認識ができません。そこでシノニムを利用してユーザーのジャンルの言い回しの自由度を上げてみましょう。また、語「有名」に星の数が多いという意味を持たせると「新宿の有名レストラン」のような問い合わせに対し「新宿の3つ星レストラン」を提示します。こうすると有名店を探したいというユーザーの要望に答えられそうです。このような意味づけもシノニムを使うことで可能となります。
上記を実現するために必要なシノニム設定の内容を表1に示します。前節の手順に従い設定を行います。
エージェント | シノニム辞書の内容 | ファイル名 |
ジャンル | イタリアン: イタめし,イタリア料理 | genre.synonym |
中華: 中国料理 | ||
星 | 3: 有名 | stars.synonym |
シノニムを追加したレストラン検索を実行してみます。Interaction Consoleより「新宿の有名なイタめし」と入力すると「ジャンル=イタリアン AND 星=3」の条件でレストランが1件検索されました(図6)。シノニムが想定どおり動作しています。
シノニムが解釈された様子は解析結果のデバッグツールであるClaim Viewerでも確認できます。
メニューの[View]-[Claim Viewer]を選択してClaim Viewerを開くと、入力した質問に対する、個々のエージェントの解析結果が階層表示されます(図7)。エージェント名が太字で書かれている部分をクリックして展開するとそのエージェントの出力したクレームが表示されます。その中の「Input claimed」にはクレーム対象となった入力語、「Pattern matched」にはターゲットの語が表示されます。
ジャンルのエージェントを見るとシノニムとして設定した「イタめし」が「イタリアン」として認識され、星のエージェントでは「有名」は「3」と同義として認識されています。