您的位置:首页 > 其它

关于Xbox Natal的虚拟儿童的语言识别部分技术的我的看法-自然语言处理技术

2009-07-21 14:01 387 查看
转自http://club.tgfc.com/thread-6083095-1-1.html

本人正巧在做这个工作之前是做自然语言处理的研究的,因此谈谈关于这个技术的个人看法。

首先先解释下自然语言处理,简单的来说,就是让计算机识别人类语言的科学。

但是大家都知道,现在计算机能做复杂的工作,但本质是很傻X的,所以实现这个就需要靠模型来实现。

这个科学表面上听起来很玄乎,但其实我们已经接触过了,其实搜索引擎就是应用该技术的,对话的机器人也一样,比如说qq机器人。

当然,现在的搜索引擎还不能做到语意识别,基本还是靠关键词来识别,搜索关键词的,但未来最终的搜索引擎的目标,就是能理解人类语言,给出你相应的答案,而不是像现在这样给出你一堆按照数学公式(比如说常见的向量空间模型)计算出来的相似度加上pagerank(网页加权),并最终计算出来分数并排序的链接出来。

还有,微软的对联系统,人立方,相信大家也都接触过吧?这些都是与自然语言处理息息相关的。

目前的计算方法其实本质上基本还是基于数学模型的方法,当然不论中国和西方都在研究语言的语法规则,逐步实现语法分析甚至是语义分析,目前该领域正在进步中。

现在的搜索引擎技术其实已经可以实现同义词,近义词等归类,当然,这些不是人来做的工作,人只不过是提供一个基本的知识库,然后通过算法让计算机自学习,扩充这个词汇知识库。

这里先简单讲讲现在主流搜索引擎的工作原理,然后大家自己多少就可以举一反三了。

搜索引擎首先要靠大量网络蜘蛛抓取几乎全世界所有的网页的信息,然后存储起来(并不是大家直观感觉到的那种现输入现搜索的,那样你没想过搜索一次的流量会多么恐怖么,其实搜索引擎只计算库中抓取的部分的网页的相关性然后排名,最后根据地址将网页关联),之后根据网页的信息,逐字逐句的把整个网页的信息拆分成词汇和短语,用一种可以以效率非常高的方式(比如说中文就可以用哈希表等东西来加快汉字的索引速度,但哈希表相当于空间换时间,所以具体你的索引结构是如何的要看你的空间时间双方面的性价比做出自己的方案来,比如说我在研究的那时候首个汉字一般是哈希表,从第二个词往后就可能用到二分索引或者二叉树,或者直接用B+树等),把这些内容全部索引存储起来。

最后你输入要查找的语句的时候,搜索引擎在短时间内根据自己的算法,把你的语句拆分成词和短语,分析出部分词性,并关联同义词或近义词,然后到这个大索引里面,根据自己设计好的算法,计算出每个页面的相似度来,并加以自己的网页加权,根据自己设置的规则,计算出网页的分数排名,最后把相关的文字和地址反馈给用户,这样流量很小就能快速实现查找。

例子举完了,那么,到了游戏里,其实也是类似的东西。

游戏里存储一个小男孩的知识库(这个知识库可能还会用算法自学习自动扩充),这个知识库就像是搜索引擎里抓的所有网页的所有信息一样,用来给你提供反馈的。

然后人说的话通过语音识别,就像是输入搜索引擎的句子一样,被机器分析,之后也通过自己设计的算法(这还不见得比现在的搜索引擎算法复杂,因为我不相信一个游戏公司能在自然语言处理中也有如此强大的实力,除非是研究自然语言和搜索引擎的微软提供支持,才可能差不多能把这些研究成功的成果完全应用进去),抽取关键词,搜索出相应的知识,然后反馈出来,有语言的,肢体等方面的表现。

这么说的话,大家就该理解这个东西的工作原理了吧,恩...

恩,说到这里,如果大家明白我的意思的话,就该知道,现阶段的做法,还无法做到语言完全的语义识别,如果算法复杂了,精度是能高些,但是小男孩计算的时间就长了,那你说一句话他半天不回一句,就操蛋了。所以,我觉得算法不会是特别的复杂,可能就是基于词或者短语的判断吧,现阶段完全实现人机对话是不现实的,所以,请不要指望我们直接就能进入脑后插管时代,虽然有可能最终表现结果是不错,但现阶段的技术还远远不够班呢。

搜索引擎中,英文句子词和词之间是分开的,这样分析词的时候一般不会分错,但中文和语音就不一样了,都是连续的,这对语音识别和词语拆分就增加了难度,有可能导致句子的单词或短语语法分析错误。

好比你在搜索引擎里输入“中华人民共和国”,计算机怎么拆分词?是把这个当成一个词语,还是拆分成“中华人民”与“共和国”?还是拆分成“中华”+"人民"+"共和国"?还是就是一个字做为一个词?(实际上现在搜索引擎基本各种拆分方式都会尝试,并且长的连贯词或者两词间距离短的,出现频率多的,出现在标题中的,字体大的在计算公式中会有相应的偏向,让你这个网页的得分高一些)。

正因为语音判断除了声音本身的判断可能出现错误,或者词语判断可能出现错误,所以要求小男孩达到特别牛逼的效果也是很难的。

所以,我个人对小男孩的看法就是,可能会很有趣,但是那演示不会把这个东西不足的地方也演示出来。所以若最后大家拿到游戏发现这个没想象中那么神的话,也请尽量口下留情,不要啥都不懂的胡一气就好了,恩... 因为我觉得这个东西的本质应该不会复杂到这个程度,上面的分析也是为了证明这个小男孩很可能只是关键词的识别而已。

以上均为个人观点,若有不正确的,欢迎指正。

[ 本帖最后由 tntforbrain 于 2009-6-3 01:32 编辑 ]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: