重みの活用例
以下のようなシナリオがあった場合を考えます。
「プリンタについて」とテキスト入力すると選択肢を表示します。
ですが、用意しているユーザ発話は
プリンタ(について)(教えて) という1パターンです。
この場合、
「プリンタの使い方がわからない」と入力すると、
デバッガの解析で以下のようになり、ちゃんと意図したシナリオにヒットしません。
ここでは、 勤怠管理ツール(の)使い方についてわかる という構造の方が発話に近いため、そちらの方がデバッガ解析スコアが1位となっています。
この場合、以下のC7のように、拾えない発話の構文をシナリオに追加していくのが一般的ですが、 シナリオを変更できないなんらかの事情があると仮定して、辞書の「重み」設定だけで解決する方法を考えます。
${プリンタ}の「重み」を空白(初期値:1)から50に引き上げます。
すると、シナリオは変更しなくても
のように、
${プリンタ}[[${について}|]][[${教えて}|]]
のシナリオにヒットするようになりました。
先ほどのデバッガ画面と見比べて、似たような構文のものよりも、 「重み」を上げたキーワードである「プリンタ」が使われた発話が上位に来ていることがわかります。
これが、「重み」による「簡易にスコア順位を上げる効果」を発揮した例です。
ただし、通常の運用においては以下のように、拾えなかった発話の構文をカバーすることを推奨します。
以下のようにシナリオを追加すると、
拾えなかった発話も上位にヒットするようになります。
「解析」と「重み」まとめ
以上のように、「重み」は「簡易にスコア順位を上げる効果」があります。
*「重み」…指定した名詞(ワード)が使われたシナリオのスコア付けにおける計算結果「重複/全体の割合」を上下させる
デバッガの解析機能を活用すれば、「重み」で見た効果のようにスコアの値を調整する際、より可視的にユーザ発話と返答シナリオをチューニングできます。より効率的なシナリオ構築にお役立てください。