AIMLパターンマッチングがどのように機能するかを理解しようとして問題が発生しています。_
との違いは何*
ですか?そして、どのようにそれらを使用して最良の一致を得る必要がありますか?
私はこの文書しか持っていませんが、いくつかの良い例が欠けています。
AIMLパターンマッチングがどのように機能するかを理解しようとして問題が発生しています。_
との違いは何*
ですか?そして、どのようにそれらを使用して最良の一致を得る必要がありますか?
私はこの文書しか持っていませんが、いくつかの良い例が欠けています。
*は、1つの単語のパターンまたは複数の単語が一致しない限り、すべてに一致します
_は、1つの単語または複数の単語のパターンが一致する可能性がある場合でも、すべてに一致します
<pattern>BYE _</pattern>
<pattern>BYE *</pattern>
同じパターンに一致するため意味がありませんが、<pattern>BYE _</pattern>
シャドウしますが<pattern>BYE * SEE YOU</pattern>
、BYE*はシャドウしません。
_を慎重に使用します。たとえば、_は何にでも一致し、ボットは毎回同じ答えを出します。
<pattern>_ A COUPLE OF WORDS *</pattern>
そして<pattern>_ A COUPLE OF WORDS</pattern>
、COUPLE OF WORDSが文の中にあるか、文の終わりにあるたびにキャッチしたい場合は、_を使用する適切な方法です。
_と*はどちらもワイルドカードです。違いは、パターンマッチングで使用する場所です。
_ should be used before the word or phrase you're matching on
* should be used after the word or phrase you're matching on.
参照:AIML仕様
これをよりよく理解するには、既存のAIMLボットの例を見る価値があるかもしれません。
参照:ダウンロード、この1つのSaluations.aimlには例があります