12
返回列表 发新帖
楼主: master185

人工智能理解自然语言的原理是什么?

[复制链接]
论坛徽章:
0
11#
发表于 2013-3-26 14:57 | 只看该作者
目前人类对于自然语言的理解还停留在比较肤浅的层次,所做的工作也仅限于某一个特定的任务。
利用人类自身的智慧标注好的知识,建立模型,然后使用模型。

siri的任务在自然语言中被称为自动问答系统,也就是从大量的已经建立好的问题和答案中,找到或者组合已有的问题和答案来得到用户用户期望的答案,之后再通过语音合成说出来。

语音合成目前已经做得非常好了,所以目前主要的困难还是集中在自然语言的理解中。目前的方法大致都是这种建立模型,训练模型,利用模型的方法。并没有很好的解决方案,当下最好的自然语言系统也只能做简单的模型式”理解“,并没有真正的理解语言本身。

即使是当下最火的深度神经网络,也是一个模型式的方法,并没有跳出原来的框框。

至少我以为,人工智能程序最终的目标应该是能从很少的公理出发,通过大量的阅读人类已有的知识,然后能够回答基于这些已经阅读过的知识的任何问题。人工智能的终极目标是仿制人类自己,而完成一个真正的自然语言理解系统也几乎相当于建造一个大致相当于人脑功能的理解系统。这也是我个人认为的人类终极问题之一。
不得不说,为了完成这个目标,人类还有很长的路要走。


使用道具 举报

回复
论坛徽章:
0
12#
发表于 2013-4-24 13:07 | 只看该作者
siri这些软件并没有真正做到理解,它们所做的,充其量算是语音搜索加tts罢了,google now更进一步,但也没有做到真正理解,只是有经过优化的匹配算法而已。
如果说机器可以理解,至少是机器可以识别人类自然语言的动词体系,它应该有一套对于初始动词的完整定义,然后通过特定的机制(动词体系)来添加新的词汇和定义,就像编写维基百科一样,这是一种还原论的思路,而重点在于确定不可再分的原子,它们会是什么呢?


使用道具 举报

回复
论坛徽章:
0
13#
发表于 2013-5-16 17:15 | 只看该作者
目前是NLP,而不是NLU。


使用道具 举报

回复
论坛徽章:
0
14#
发表于 2013-11-20 17:23 | 只看该作者
siri离AI还差得很远呢好么。。。
刨除语音方面的问题,siri就是一个基本的QA,或者dialog系统

文本-->parser,siri的parsing大概也就到syntax层面,不涉及semantic
然后根据这些feature在数据库里找对应的答案/匹配句式

不到语义层面,基本上不能说是“理解”了这段文本。
语义表达可以有很多形式,
可以是纯逻辑的,基于FOL或者Description Logic,比如DRS是一种类似FOL的representation。这种方法一般很准确,推理结果也很可靠。但是抽取的recall一般都很低,翻译过程中会丢失大量信息。

对QA系统来说,理解问题其实不难,问题一般都很短也很简单。找答案的方法就实在太多了,个人觉得做得最好的是IBM的Watson,绝对甩siri几条街,就是siri设计得挺好有很多基本什么都没说但是听起来还挺酷的百搭句式以及是苹果这种包装公司出的。。。
Watson涉及的技术复杂得很多,有不少publication可以参考。

Watson涉及到了一点Semantic Web技术,有后台Ontology。Ontology就是一个知识库,包括概念/类,概念之间的上下位关系,以及他们之间其他的属性关系(object/datatype property)。这个东西能很好地解决语义问题,实现推理(说“理解”什么概念,人一般就能用自己的知识推导出一些隐含的知识)。但是这里只是知识,比如“狗喜欢吃肉”,“人可以是傻逼”,但是没有实例,也就是说它不知道“张三是一只狗的名字”,“李四是傻逼”。这些实例的来源,最好的方法当然就是从Web信息抽取,但是挺难的。。。SW最致命的问题是,慢。。。

说到慢,其实如果“AI”越“理解”自然语言,根据现有技术,对其处理就会越慢,因为表达层次多且复杂。假如你说了一句话,计算机完全理解了(像一个人类一样,且不论“它”如何应对),但是用了很长时间/很多资源,那这到底算不算“理解”了人类语言呢?

没提到的技术方法还有很多,不少我也不是很熟悉,再提一个吧,HPSG
HPSG是一种语法(CFG那种),现在也有不少HPSG Parser,你拿一段文字丢进去,结果里面既有syntatic信息(分词,词性标准,句子结构)也有一部分语义。这结果直接拿去做textual entailment什么的都挺好。。。


语音语素什么的我都没说,ASR啊TTS啊什么的现在好像做得已经很好了,还能生成各种语调各种口音各种心情什么的(中文的生成好像差一点。。。)

答得没什么条理,想到再添吧。。。


使用道具 举报

回复
论坛徽章:
0
15#
发表于 2013-11-20 18:21 | 只看该作者
我正在做智能语言处理,说说,我的想法:
    先把句子分词,也就是类似英语的一个个单词,然后算出,这些词汇与你数据库中的问题的距离,得到距离最近的问题,然后给出答案,我是这样做。
   大师级的人忽略~~~~


使用道具 举报

回复
论坛徽章:
0
16#
发表于 2013-11-20 19:12 | 只看该作者
你说的问题可能需要分拆一下:
1. 自然语言分析(NLP)
2. 人工智能(谓词逻辑模型、机器学习ML、支持向量机SVM、神经网络、贝叶斯逆概网络等)

自然语言分析是将语音和非结构化的文本段落进行转化、分词、进行词性标注、进行实体识别、用Parser构造为语法树,以供计算机可以使用逻辑方法进行识别和认知。

而人工智能部分,则提供了诸多的方法,以自然语言分析的结果作为输入,进行知识概念关系抽取、进行特定领域的问题判别等等。

理论上讲,足够多神经元的正向反馈神经系统,通过训练,可以近似模拟大脑对外界信号的判断。

当然,得到判断结果之后,再如何将这些结果反馈回来让人去理解,与人交互就又是另外一个领域的问题了(HCI)。


使用道具 举报

回复
论坛徽章:
0
17#
发表于 2013-11-20 20:06 | 只看该作者
最近自学NLP中。。。 用的书是MIT出的Foundations of Statistical Natural Language Processing
作为入门书籍的话,假设楼主具有一定的数学基础(微积分,概率论和随机过程)
建议楼主看看 吴军博士写的《数学之美》 非常深入浅出的讲解了一些数学模型的在工程领域的应用,其中就有自然语言处理方向的应用,比如机器翻译,人工智能,数据处理。

历史上处理自然语言的方法主要有两个流派,基于规则的方法和基于统计的方法。
现在常用的系统中一般用的是统计方法,统计方法的弊端也逐渐显露出来---语料库的增长和识别正确率的增长幅度关系度下降。所以大家最近都倾向于了一种监督或者半监督的语料标注。

根据乔姆斯基的文法的体系,一般认为自然语言是一种上下文相关的语言。我们在处理的时候近似用N元模型--即假设一个词的出现与否仅与这个词前面的N-1的词有关,也就是马尔科夫假设模型。

以汉语为例,计算机要以人工智能的方式理解自然语言,就必然要对输入的文本进行分词处理--即把一句话,如“我是中国人”分词为“我/是/中国/人”(根据分词系统的颗粒度大小可以决定是否把中国人三个字分开,这里分割与否不重要。)

假设我们的模型中的N=2,那么一个出现的概率仅和它前面的1个词有关
那么设“我”出现的概率为P(A) “是”出现的概率为P(B)
则“我是”两个字同时出现的概率为P(B|A) 利用贝叶斯公式便可以计算出它的概率。


通过上面的迭代计算可以得出这个句子的概率。因为一个句子由多种分词法,所以如果某个概率值是所有可能性中最大的,那么它就是最可能出现的,也就是我们日常自然语言中最有可能被理解的方式了。这也就是通过计算机来模拟人工智能的方式来理解的方法。
上面说的是一种最简单的方法,现在的方法进化了很多,但是以此为基础的~


使用道具 举报

回复
论坛徽章:
0
18#
发表于 2014-1-28 14:47 | 只看该作者
siri is kinda of joint speech recognition and NLP, or they just use real human in Mechanical Turk.


使用道具 举报

回复
论坛徽章:
0
19#
发表于 2014-3-21 19:54 | 只看该作者
Siri,是一个复杂的系统,是由语音识别,语义分析,知识库,搜索等不同的模块构成的。提问者的问题应该是比较关心自然语言理解。我来回答自然语言理解的部分吧。这不是一个独立的学科,我个人认为是一个交叉学科,涉及到很多方面的知识。英文中它叫做Natural Language Understanding. 斯坦福大学的这门课是关于这个的,比较全面的介绍了不同的知识。自然语言理解中还有一个比较重要的就是语义的理解,可以研究Computational semantics相关的内容。TFIDF是信息检索中常用的基于统计的方法,虽然在文档检索中有很好的表现,但是在语义分析中并不是很有效。相比之下,LSA也是基于统计的,可能更好一点。也有用topic model来做语义分析的,比如LDA算法。我个人比较看好结合知识库和统计的方法,Watson就结合了知识库,谷歌的Knowledge Graph就是一个知识库,它是以freebase为基础的,有一个不错的免费的知识库叫DBpedia,它是基于wikipedia的。


使用道具 举报

回复
论坛徽章:
0
20#
发表于 2017-8-5 19:57 | 只看该作者
其实就是语法解析,现在有专门的平台提供自然语言理解服务,可以做很多APP,如果智能客服。
可以参考 http://blog.csdn.net/huangmeimao/article/details/76418753

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表