我知道这仍然是一个悬而未决的问题所以我不希望在这里看到完整的答案.我只是想找到一些方法来解决下一个问题:
我有一个模型(假设是机器人的记忆),不同的单词与模型中的不同对象相关联.使用机器人就像使用DB执行sql-queries一样.语言是一种非常难以形式化的协议.我们不能只写一百万行代码来实现一些真正的语言.但我相信实施一些自学机制绝对是可能的.如何实施?是否可以"从头开始"或"从几个基本单词"实施学习?只是想听听你的想法.
实际上,英语是一种非常严格的语言,它是用于试验AI的最简单的语言之一.许多其他语言允许您更改单词的顺序(例如).在某些情况下,改变顺序可以改变整个意义或只是添加一些语调.我真的没有任何想法如何教这些东西的机器人.
将这款游戏提升到新的水平,第一步是......
(请原谅我说,这个问题并不表明你对此事有如此深入的了解[并且你并不孤单,算上我;-)])
即使,也许尤其如此,如果您的目的是应用完全新颖的技术和模型,那么回顾有关当前和过去实践的文献似乎很重要.除了可能识别可能在新实施中调整或重用的元素之外,对域的调查将提供对问题性质的敏锐理解[s].
我亲自尝试过各种各样的场合! - 无论是天真的方法还是二年级的方法来解决广泛定义的问题.通过天真的方法,人们对问题的真实性质和范围只有一点点了解.大二学生认为我们更好地掌握了领域知识以及相关工具,但这也可能会产生误导,因为如果没有更深入的理解,我们往往会误读/误解为我们提供的新材料,并且滥用某些工具(有点像那个"锤子好"的人,很多东西看起来像钉子......)
在NLP领域犯这些错误特别容易.那是因为
常识似乎都是必需的:毕竟一个孩子,谁的母语是英语,理解像
"他不是真正的专家" 这样的微妙之处
"他真的不是专家"
(OP对于提到单词的顺序的小眨眼)英语)
我们生活在如此激动人心的时代,技术和知识明智:处理能力,编程语言和工具,数学技术,可负担得起的语料库的可用性...仅举几例这些使这一时刻如此特殊的事情.
我不想在你的聊天机器人努力中劝阻你,我只是希望这个漫长而通用的展示会鼓励你先行一步,因为从长远来看,这将真正节省你的时间,我想在两种方式:
为你提供一些参考框架(再次,即使你的意图是"在这些框外思考")
也许会诱使你重新定义问题,例如将其限制在特定的对话领域(体育,健康,或特定大学校园的生活......)或通过关注问题的某个方面(语义意识,顺利) ,自然的声音语法,使用口语形式...)
祝好运 ;-)
查看MegaHAL的一些想法的实现.我们在我们的IRC频道中使用了这种机器人的变体很多年,他有时似乎是我们许多主要人物的智能混合体.
你"训练"机器人 - 每次机器人回答,你排名(或测试者)答案 - 如果答案是好的/合乎逻辑的 - 给出高排名,如果答案是坏的......低/负排名.
使用未来的排名来选择答案,这就是机器人学习的方式......