Artificial intelligence 如何创建智能聊天机器人?

Artificial intelligence 如何创建智能聊天机器人?,artificial-intelligence,chatbot,Artificial Intelligence,Chatbot,我知道这仍然是一个悬而未决的问题,所以我不希望在这里看到完整的答案。我只是想找到一些方法来解决下一个问题: 我有一个模型(假设是机器人的内存),不同的单词与模型中的不同对象相关联。使用bot就像使用数据库执行sql查询。语言是一种很难形式化的协议。我们不能只写一百万行代码来实现某种真正的语言。但我相信实施某种自我学习机制是绝对可能的。如何实施?有没有可能实现“从头开始”或“从几个基本单词开始”的学习?我只是想听听你的想法 事实上,英语是一门非常严格的语言,也是实验人工智能最简单的语言之一。许多其

我知道这仍然是一个悬而未决的问题,所以我不希望在这里看到完整的答案。我只是想找到一些方法来解决下一个问题:

我有一个模型(假设是机器人的内存),不同的单词与模型中的不同对象相关联。使用bot就像使用数据库执行sql查询。语言是一种很难形式化的协议。我们不能只写一百万行代码来实现某种真正的语言。但我相信实施某种自我学习机制是绝对可能的。如何实施?有没有可能实现“从头开始”或“从几个基本单词开始”的学习?我只是想听听你的想法

事实上,英语是一门非常严格的语言,也是实验人工智能最简单的语言之一。许多其他语言允许您更改单词的顺序(例如)。在某些情况下,改变顺序可以改变整个意思或只是增加一些语调。我真的不知道如何教机器人做这些事情。

看看有什么想法。多年来,我们在IRC频道中使用了这种机器人的一种变体,他有时看起来确实是我们许多主要个性的智能混合体。

你“训练”机器人- 每次机器人回答时,您都会对答案(或测试人员)进行排名-如果答案是好的/合乎逻辑的-如果答案是坏的,则给予较高的排名。。。低/负等级


使用将来的排名来选择答案,这就是机器人学习的方式…

中有一个很好的描述。您应该能够在几天的工作中实现一个简单的Eliza bot

这不是一个学习算法,但令人惊讶的是,从如此简单的事情中可以得到如此真实的答案。

来自该项目的答案可能会对您有所帮助。对于AI的分支来说,这是一个完整的XML模式(如果你不介意的话)

维基百科的一个例子:

<category>
  <pattern>WHAT IS YOUR NAME</pattern>
  <template>My name is <bot name="name"/>.</template>
</category>

你叫什么名字?
我的名字是。

是一个很好的文档化实现。

将此游戏提升到下一个级别的第一步是…

…对现有技术有一个非常清晰的认识! (请原谅我说,这个问题并不意味着你对这件事有如此广泛的见解[而且你并不孤单,把我算在内;-))

甚至,特别是,如果您的目的是应用全新的技术和模型,查看有关当前和过去实践的文献似乎很重要。除了可能识别可在新实现中调整或重用的元素外,对该领域的调查将提供对问题性质的深入理解

我亲自尝试过——在各种各样的场合处理广义问题的幼稚方法或二年级方法。用这种幼稚的方法,人们对问题的真正性质和范围只有一个非常微小的概念。大二学生认为我们更好地掌握了领域知识和相关工具,但这也可能会产生误导,因为如果没有更深入的理解,我们往往会误读/误读提供给我们的新材料,并滥用一些工具(有点像“善于使用锤子”的人)对他们来说,很多事情都像钉子一样……)

在NLP领域特别容易犯这些错误。那是因为

  • 常识似乎是一切所必需的:毕竟,母语是英语的孩子能够理解像
    “他不是真正的专家”
    “他真的不是专家”
    (对OP提到的英语单词顺序微微眨眼)
  • 我们生活在这样一个激动人心的时代,在技术和知识方面:处理能力、编程语言和工具、数学技术、可负担得起的语料库的可用性。。。举几个例子,让这个时刻变得如此特别
我完全不想让你在聊天机器人方面泄气,我只是希望这一长期的、通用的展示会鼓励你三思而后行,因为从长远来看,这将真正为你节省时间,我认为有两种方式:

  • 为您提供一些参考框架(同样,即使您的意图是“跳出这些框框思考”)
  • 可能会诱使你重新定义问题,例如,将其限制在特定的谈话领域(体育、健康或特定大学校园的生活…)或专注于问题的特定方面(语义意识、流畅、自然的语法、口语形式的使用…)

祝你好运;-)

您可以在bot libre上创建自己的聊天机器人

机器人可以学习,可以训练,可以编写脚本,你可以为它们编程,或者让它们自己编程


W站点支持在您自己的站点上嵌入您的机器人,具有RESTAPI访问权限、Android、IRC和Twitter。免费托管,即使对于商业机器人也是如此。

这太容易了。正确答案取决于对话的上下文,而不仅仅取决于最后的回答。让机器人给出合理的答案(例如与机器人进行合理的对话)在很大程度上仍然是一个尚未解决的问题。你让它听起来好像这是所有问题的解决方案,这几乎不是开始。这只是一种学习技巧。获得“好分数”的算法才是区别所在。如果没有好的人工智能算法,这项技术就无法让你拥有一台说话机器……这是一种更好的方法。我建议你建立自己的个人聊天机器人网站。这里有一个通过此服务创建的聊天机器人“SimSimi”示例说明:我是此项目的创始人/开发者。下面是一个想法。如果您可以收集大量的训练数据(例如来自amazon mechanical turk),那么您可以使用递归神经网络(例如LSTM)将自然语言问题映射到SQL查询。我在年采用了类似的方法,绘制了自然语言地图