2013-03-20 39 views
-1

所以我们都见过铁人,对吗?作为一个个人项目,我试图创建一个类似jarvis的ai。我不需要任何方法像扎维斯那样复杂;这只是我能想出的最好的描述符。jarvis-like ai python app

我开始寻找到对话AI - 聊天机器人 - 但是这不是我所需要的。我觉得这种方法处理用户输入的方式与我所寻找的方式完全不同,也更复杂。我需要的只是给ai一个命令,并让ai匹配该命令并运行相应的代码。

所以然后我偶然发现libdiff。但是这不足以满足我的目的。就我已经能够使用它而言,libdiff不会匹配字符串不符合的字符串。据我所知,至少,两个字符串的措辞顺序必须与libdiff进行匹配相同。

例如:
用户输入:“现在几点了?”
不会用命令它应该与匹配匹配:“什么时候”

我不要求对spoonfed代码,但任何人都可以点我在正确的方向?

+1

+1问题年奖:) – NlightNFotis 2013-03-20 23:23:23

+0

@NlightNFotis谢谢朋友:) – 2013-03-21 00:20:45

+0

我在同一个追求jaja check出来这个。 http://www.youtube.com/watch?v=_U_v9tRD68k – 2013-03-21 00:29:12

回答

2

很酷的项目,这里是我的第一个想法。我想首先你需要语音到文本,所以你可以有效地处理命令。然后你可以在其上应用更复杂的方法。有https://code.google.com/p/dragonfly/,但我发现它对于快速开发项目有点过分,我认为主要支持Windows。然而,也许有人提供这种类型的免费休息服务,谷歌在这里做的很好,http://updates.html5rocks.com/2013/01/Voice-Driven-Web-Apps-Introduction-to-the-Web-Speech-API,但我不认为有一个Python绑定。

然后,下一个任务将试图找到文本中的含义。所以你需要一个解析器(http://nltk.org/index.html)来查看诸如“what”和主题“时间”这样的疑问词,或者某种类型的词性标注。当然,在一般情况下(任意输入的情况下)要正确地做到这一点是非常困难的。拥有一些内置的命令可能会容易得多,并且稍后可以更加通用。

如果你想这样做,实时,因为你需要细分的实时音频流,以确定一个句子结束和另一个开始时它甚至更具挑战性。

假设你想先解决一个更简单的问题。说只需通过麦克风识别单个命令,如单词“打开”,然后执行一个动作。如果你愿意训练你的声音,你可以很容易地做到这一点。受此动机http://xa.yimg.com/kq/groups/24321415/1523383180/name/Speech_Recognition_seminar.pdf。你需要pyaudio,numpy,scipy,如果你想看看在python中实现这个代码,请参阅https://gist.github.com/a-wild-tigger/5209781

+0

这里有很多很棒的信息,谢谢。肯定踢了一些想法。 – 2013-03-21 03:21:35

+0

雄心勃勃的项目。让我知道是否还有其他问题。我很想看看你想出了什么!祝你好运。 – 2013-03-21 03:23:49