質問

AIML パターン マッチングがどのように機能するかを理解するのに問題があります。違いは何ですか _ そして *?そして、最良の一致を得るには、それらをどのように使用すればよいでしょうか?

私は持っている このドキュメント のみですが、いくつかの良い例が欠けています。

役に立ちましたか?

解決

A *単語または複数の単語のパターンが一致しない限り、何もマッチします。

単語または複数の単語のパターンが一致したとしても、

Aは_何もマッチします。

<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>はあなたが単語のカップルが内部または文の末尾にあるすべての回をキャッチしたい場合は_使用する適切な方法です。

他のヒント

_ と * は両方ともワイルドカードですが、違いはパターン マッチングで使用される場所です。

_ 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 ボットの例を検討する価値があるかもしれません。

見る: ダウンロード, 、 これです 挨拶.aiml 例があります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top