意図しないパターンにマッチしてしまう場合の対処方法をご紹介します。
実装方法
<pattern>
のlevel
属性でマッチング結果を調整する方法です。
level
属性はデフォルトで上位概念語hypernym
が設定されており、必要に応じて後述の例のようにマッチングレベルを類義語などに変更してください。
また、利用できるlevel
についてはこちらをご覧ください。
詳細については、xAIML基本編の「ユーザ発話の曖昧な表現をマッチングさせるには」を参照してください。
上位概念語(デフォルト)マッチングの場合
1 2 3 4 5 6 |
<category> <pattern>すきやきを食べたい</pattern> <template> 冬場に食べたい料理ですね。 </template> </category> |
実行結果
1 2 |
user > すきやきを食べたい bot > 冬場に食べたい料理ですね。 |
1 2 |
user > 冷やし中華を食べたい bot > 冬場に食べたい料理ですね。 |
類義語マッチングの場合
1 2 3 4 5 6 |
<category> <pattern level="synonym">すきやきを食べたい</pattern> <template> 冬場に食べたい料理ですね。 </template> </category> |
実行結果
1 2 |
user > すきやきを食べたい bot > 冬場に食べたい料理ですね。 |
1 2 |
user > 冷やし中華を食べたい bot > NOMATCH |