我想创建一个聊天机器人,该机器人会问一些问题,根据他们的回答,它们会沿着一棵模板树行进。我在编码领域不是很有经验,所以如果我的行话不正确,请原谅!
这是一个例子。
我想根据用户在聊天机器人中的输入来编写自定义报告。假设用户想要一些日常的自定义动机。
您今天感觉如何? 根据用户输入,可分为以下几类: “好-坏-悲伤-高兴-激动”等
根据具体情况,我们沿着“模板树”行进,因此,如果用户输入“ Pretty Good”,并且分类为“ Good”,那么“ BAD”类别下将存在的任何模板都将被忽略。
然后,我们提出诸如“您叫什么名字?”之类的问题,这些问题将作为变量存储,一旦我们根据输入内容找到正确的模板,它们就会被合并到文本模板中。
构建此平台的最佳平台是什么?确实是聊天机器人吗?
非常感谢您的帮助!
我尝试了Pandorabots,但它似乎过于线性-在输入>响应模型中,条件逻辑并不多。我已经准备好研究和学习,因此有关哪种平台/方法的任何提示将非常有帮助!
答案 0 :(得分:2)
Pandorabots使用AIML创建聊天机器人,您当然可以在其中执行条件逻辑。这是一些可以满足您要求的代码:
<?xml version="1.0" encoding="UTF-8"?>
<aiml version="2.0">
<category>
<pattern>HI</pattern>
<template>
Hi there. What is your name?
</template>
</category>
<category>
<pattern>*</pattern>
<that>WHAT IS YOUR NAME</that>
<template>
<think><set name="name"><star/></set></think>
How are you feeling today?
</template>
</category>
<category>
<pattern>*</pattern>
<that>HOW ARE YOU FEELING TODAY</that>
<template>
<think><set name="mood"><star/></set></think>
<condition name="mood">
<li value="good">That's great <get name="name"/>.</li>
<li value="bad">Sorry to hear that <get name="name"/>. Can I help?</li>
<li value="sad">Cheer up <get name="name"/>, it's a beautiful day!</li>
<li value="happy">Oh wow <get name="name"/>. I'm so pleased for you!</li>
<li value="excited">Amazing <get name="name"/>! What's happened?</li>
<li>The day is yours to command <get name="name"/>.</li>
</condition>
</template>
</category>
</aiml>
示例对话如下:
使用模式标签,您也可以使用Pandorabots将相似的答案组合在一起。用应该触发模板的所有情感来创建名为“好”和“坏”的集合。 “好”集的示例:
[
["amazing"],
["good"],
["happy"],
["great"]
]
然后使用这样的类别:
<category>
<pattern>I FEEL <set>good</set></pattern>
<template>Great to hear!</template>
</category>
<category>
<pattern>I FEEL <set>bad</set></pattern>
<template>Sorry to hear that. Can I help?</template>
</category>
希望有帮助。 Pandorabots的FAR能力远胜于输入-响应,我凭借使用AIML和Pandorabots拥有世界上最人性化的对话式AI赢得了四次Loebner奖。
答案 1 :(得分:0)
由于您已经尝试过Pandorabots,所以我假设您熟悉XML和aiml,这就是为什么我提议使用程序O Program O on Github aiml有一个功能调用,可用于建立交互式树形聊天。 请在下面查看我的示例。尽管我想您可能在研究中遇到了艾米尔。
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern>hi</pattern>
<template>How are you feeling today?</template>
</category>
<category>
<pattern>GOOD</pattern>
<that>How are you feeling today?</that>
<template>Nice, I like it that way.</template>
</category>
<category>
<pattern>BAD</pattern>
<that>How are you feeling today?</that>
<template>
<randon>
<li>Ok! I think you need an appointment with a doctor?</li
<li>How exactly are you feeling?</li>
</random>
</template>
</category>
<category>
<pattern>SAD_</pattern>
<that>How are you feeling today?</that>
<template>
<randon>
<li>Ok! what happened?</li
<li>how can i help?</li>
</random>
</template>
</category>
<category>
<pattern>HAPPY_</pattern>
<that>How are you feeling today?</that>
<template>
<randon>
<li>great! its good for you</li
<li>thats what up.</li>
</random>
</template>
</category>
</aiml>