如何创建一个智能聊天机器人? [英] How to create a smart chat-bot?

查看:111
本文介绍了如何创建一个智能聊天机器人?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I know that it's still an open problem so I don't expect to see complete answers here. I just want to find some approaches to solve the next problem:

我有一个模型(假设它是机器人的内存),并且模型中的不同对象与不同的单词相关联.与机器人交谈就像在数据库中执行sql查询一样.语言是很难定义的协议.而且我们不能仅仅编写一百万行代码来实现某种真实的语言.但是我相信绝对有可能实施一些自学机制.如何实施?是否可以实施从头开始"或从几个基本单词开始"的学习?只想听听你的想法.

I have a model (assume that is's bot's memory), and different words are associated with different objects in the model. Speaking with the bot is like executing sql-queries with a DB. Language is a very hard formalizable protocol. And we can't just write a million lines of code to implement some real language. But I believe that it's absolutely possible to implement some self-learning mechanism. How can it be implemented? Is it possible to implement learning "from scratch" or "from few basic words"? Just want to hear your ideas.

实际上,英语是一种非常严格的语言,并且是尝试AI的最简单的语言之一.许多其他语言允许您更改单词顺序(例如).在某些情况下,更改顺序可以更改整个含义,也可以添加一些语调.我真的不知道如何教机器人如何使用这些东西.

Actually, English is a very strict language and it's one of the easiest languages for experimenting with AI. Many other languages allow you to change the order of words (for example). And in some cases changed order can change the whole meaning or just add some intonation. I really don't have any ideas how to teach a bot for these things.

推荐答案

将游戏带入新境界的第一步是...

The first step, in taking this game to the next level, is ...

(请原谅,这个问题并不意味着您对此事有如此全面的了解[而且您并不孤单,请记着我;;)])

(and pardon me to say, the question doesn't suggest that you have such an extensive insight into the matter [and you're not alone, count me in ;-)])

即使,尤其是如果您打算使用全新的技术和模型,回顾有关当前和过去的做法的文献似乎也很重要.除了可能确定可以在新实现中调整或重新使用的元素之外,对域的调查还将对问题的 nature 提供敏锐的理解.

Even, and maybe in particular, if your intention is to apply completely novel techniques and models, it seems important to review the literature on current and past practices. Aside from possibly identifying elements that may be adapted or reused in a new implementation, a survey of the domain will provide an keen understanding of the nature of the problem[s].

我已经亲自尝试过-在各种情况下!-无论是幼稚的方法还是修辞学的方法都可以解决广泛定义的问题.使用幼稚的方法,人们对问题的真正性质和范围只有很少的了解.善变的人认为我们可以更好地掌握领域知识和相关工具,但这也可能会产生误导,因为如果没有更深入的了解,我们会误读/误解提供给我们的新材料,还会滥用某些工具(有点像那个锤子好"的家伙,很多东西看起来像钉子……)

I've personally tried -on various and multiple occasions!- either the naive approach or the sophomoric approach to tackling broadly-defined problems. With the naive approach, one has but a very slight idea of the true nature and scope of the problem. The sophomoric sees us better equipped with domain knowledge and also with related tools, but this can also be misleading because without a deeper understanding, we tend to mis-read/mis-understand new material offered to us and also misuse some of the tools (a bit like the the fellow who's "good with a hammer" for whom many things look like a nail...)

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

It is particularly easy to make these mistakes in the field of NLP. That's because

  • 常识似乎是必需的:毕竟,一个孩子,母语是英语,会理解诸如
       他不是 不是真的 专家"
       他不是 专家"
    (OP提到英语单词的顺序时有点眨眼)
  • 我们生活在如此激动人心的时代,技术和知识方面:处理能力,编程语言和工具,数学技术,可负担的语料库的可用性...仅举几例,这些都使这一刻变得如此特别.
  • Common sense seems to be all is required: after all a child, who's native tongue is English understands subtleties like
       "He's not really an expert"
       "He's really not an expert"
    (small wink at the OP's reference to the ordering of word in the English language)
  • We live in such exciting times, technology and knowledge wise: Processing power, programming language and tools, mathematical techniques, availability of affordable corpora... to name a few of these things that make this moment in time so special.

远离我的想法是不鼓励您使用聊天机器人,我只是希望这个漫长而通用的展览会鼓励您先走后走,因为从长远来看,这确实可以节省您的时间,我认为有两种方式:

Far from me the idea of discouraging you in your chat-bot endeavor, I just hope that this long and generic exposé will encourage to look-before-you-leap, as this will truly save you time in the long run, I think in two ways:

  • 为您提供一些参考框架(同样,即使您打算在这些框子之外思考")
  • 也许会诱使您重新定义问题,例如将其限制为特定的对话领域(体育,健康或特定大学校园的生活...),或者着眼于问题的特定方面(语义)意识,流畅,自然的发音语法,口语形式的使用...)

祝你好运;-)

这篇关于如何创建一个智能聊天机器人?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆