1
私はこの会話に一致するAIMLを作成することができますどのように思っていました: AIML 1.0 - *パターン
User: What's my name?
Bot: Right now I don't know. Tell me, what's your name?
User: Gandalf.
Bot: Hello Gandalf.
は、だから私はこの二つのカテゴリーを使用しようとしました。
<category>
<pattern>WHAT'S MY NAME?</pattern>
<template>
<condition name="name_set" value="S"> <get name="name"/></condition>
<condition name="name_set" value="">Right now I don't know.Tell me, what's your name?</condition>
</template>
</category>
<category>
<pattern>*</pattern>
<that>Right now I don't know.Tell me, what's your name?</that>
<template><think><set name="name"><star/></set><set name="name_set">S</set></think>Hello <srai>WHAT'S MY NAME?</srai>.</template>
</category>
しかし、その代わりに、この最後の定義されたパターンを選択するのは、私のボットは常に*パターンが、無そのタグを使用して別のカテゴリーでsetted、デフォルトの回答に答えています。私は間違っているの?
ボーナス質問:空手段NO、SがYES意味:おそらくあなたは、私が、私は、ユーザーの名前を保存かどうかを確認するためにname_setグローバル変数を使用していることに気付きました。私はこのエスカモテージを使用しています。なぜなら、Program-OボットでAIMLバリデーターが私にが存在することを許可していないからです。属性です。誰かが問題を解決するために何かを知っている、または与えるために何か提案がある場合、私のゲストにしてください。
ありがとうございます。
[解決済み]私はあなたのトリックを使って別の方法で解決しました。タグは と同じ*教えてください* ありがとうございます。 –
enriquo