You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AIML中实现聊天机器人的姓名谎言检测功能

AIML姓名谎言检测优化实现

你需要的功能完全可以实现,核心是在第二个分类里增加名字匹配判断逻辑,通过AIML的<condition>标签对比用户当前输入的名字和已存储的名字,分情况返回不同回复。

修改后的完整代码

<category>
    <pattern>MY NAME IS *</pattern>
    <template>
        cool name! 
        <think>
            <set name="name"><star/></set>
        </think>
    </template>
</category>

<category>
    <that>cool name</that>
    <pattern>MY NAME IS *</pattern>
    <template>
        <condition name="name" value="<star/>">
            <li>I know you are <get name="name"/></li>
            <li>I thought you are <get name="name"/></li>
        </condition>
    </template>
</category>

逻辑说明

  • 第一个分类:首次接收用户姓名时,回复"cool name!"并将姓名存入name变量(冗余的naem变量已删除)。
  • 第二个分类:当用户再次发送姓名时,通过<condition>标签判断:
    • 如果当前输入的姓名(<star/>)和存储的name值一致,返回"I know you are [名字]"
    • 如果不一致,返回"I thought you are [之前的名字]"

测试验证

场景1(不同姓名)

HUMAN: My name is jessop
ROBOT: cool name!
HUMAN: My name is siemens
ROBOT: I thought you are jessop

场景2(相同姓名)

HUMAN: My name is jessop
ROBOT: cool name!
HUMAN: My name is jessop
ROBOT: I know you are jessop

内容的提问来源于stack exchange,提问作者Paulo Evan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:20:37