自然语言处理,计算机与人类“谈心”的关键
自然语言处理不达标,机器人就不能真正了解人类,智能服务也就不能做到完美。
2011年,日本多个机构发起的一项机器人项目,以东京大学入学考试难度为目标,以检验人工智能可在多大程度上模拟人类思考以及解决问题的能力。在去年和今年的考试中,机器人“Torobo-kun”分别获得了511分和525分,总分为950分。照着当前的成绩,Torobo-kun有80%的可能被512所私立大学和23所国立大学和公立大学录取,可惜的是,离东京大学至少获得 80% 分数的要求还差得很远。
根据对比,在两次考试中,Torobo-kun在数学和物理方面有了明显的进步,而英语和国语的成绩还是一团糟。在镁客君看来,相比于英语和国语,数学和物理对自然语言的理解要宽松一点,所以,对于机器人在这两门功课的进步,其实并没有多大的惊喜,而要想机器人能够考上东京大学,主要还是看英语和国文等需要深透理解的科目,而在这其中,自然语言处理是关键。
什么是自然语言处理?
自然语言处理(Natural Language Processing,简称NLP),还有人称之为自然语言理解(Natural Language Understanding ,简称NLU)。对此,镁客君觉得这两者有着一个根本的区别,自然语言处理只是对语言的一种字面意思的处理和理解,而真正的“理解”是一个很难讲明的东西,正如“一千个读者就有一千个哈姆雷特”一般,当读完整本书,我们会用一些词去形容哈姆雷特,只是自然语言的处理并不能达到这个程度。因而,在自然语言的相关技术之上,镁客君更倾向于称之为自然语言处理。
在人工智能领域,自然语言处理一个重要方向。简单来讲,自然语言处理就是用计算机来处理、理解以及运用人类语言(如中文、英文等),它属于人工智能的一个分支,是计算机科学与语言学的交叉学科。
一般来讲,自然语言处理得步骤主要分为6步:
1、获取原始文本;
2、对文本进行预处理;
3、分词:将文章按词组分开。该步骤只针对中文,西方字幕语言已经用空格做好了分词;
4、词法分析:对于英文,有词头、词根、词尾的拆分,名词、动词、形容词、副词、介词的定性,多种词意的选择。比如DIAMOND,有菱形、棒球场、钻石3个含义,要根据应用选择正确的意思;
5、语法分析:通过语法树或其他算法,分析主语、谓语、宾语、定语、状语、补语等句子元素;
6、语义分析:通过选择词的正确含义,在正确句法的指导下,将句子的正确含义表达出来。
NLP主要的应用方向
从应用角度看,NLP的前景是相当的广泛,尤其是现在信息泛滥的时代,比如:
文本分类和聚类:主要是将文本按照关键字词做出统计,建造一个索引库,这样当有关键字词查询时,可以根据索引库快速地找到需要的内容;
信息抽取:直接从自然语言文本中抽取事实信息,一种更有力的信息获取工具;
机器翻译:顾名思义,就是语言之间的转换,典型案例有百度翻译、谷歌翻译;
信息检索和过滤:在大流量的信息中寻找关键词,属于网络瞬时检查的应用范畴;
语音识别及文语转换:将人类的语音转换为文字,并理解其中的含义,诸如亚马逊Alexa或一些家居机器人。
此外,除了这些,手写体和印刷体字符识别、舆情分析和观点挖掘等也属于自然语言处理的应用范畴。
NLP研究进展的难处
目前,专注于自然语言处理的公司和团队也是相当多的,大的有谷歌、苹果、百度等等,小的有斯坦福大学自然语言处理研究小组、卡内基梅隆大学语言技术研究院和中科院计算机所自然语言处理研究组等等。不过,虽然参与者众多,但在前进的过程中,依然有一些难题阻挡在那里,而相对于西方寓言,中文等语言的处理更是难上一层楼。以中文为例,自然语言处理都遇到了哪些难题?
令人费解的多层次语义
此前,曾有这样一个段子,在两场比赛中,中国队皆打败了美国队,中国媒体在报道的时候分别以“中国队大胜美国队”、“中国队大败美国队”来作为标题,而美国人却对第二句话做出了错误的理解。在中国人看来,第二句话是说中国队战胜了美国队,而在那些不了解中文或一知半解的人哪里,这句话有可能会被理解为“中国队输给了美国队”,这就是一种歧义。
在这方面,连中文学习都是依靠数据库的计算机而言,它们也跟那些外国人一样,都只能算是一知半解,极有可能get不到正确的意思。
连贯的上下文理解
有时候,人们在理解一句话的时候需要上下联系,比如说话人所处的环境,或是文本中的前后文等,这些都是正确理解一句话所需要考虑的因素。
比如今年“威诺格拉德模式挑战赛”(图灵测试的一个变种)中的一个题目:市议员们拒绝示威者的游行许可,因为他们害怕暴力。针对“他们”这个词的指定对象,如果是人类的话,通过前后文的理解,很快就知道这是在指“市议员们”,不过,对于计算机而言,这就有些困难了。据数据显示,人类胡乱选择的正确率是45%,而经过慎重考虑的计算机最后的正确率也只比人类高了那么一丢丢的3%。可见,在遇到这种情况时,计算机的自然语言处理还不能达到令人满意的程度。
在自然语言处理方面,研究者们还有许多的问题需要解决,比如训练数据的缺乏、成语俗语的处理等等,这些都需要研究者们花费大量时间去解决。在此基础之上,由于计算机不能够正确理解人类的语言,一些人工智能产品的落地也相应的受到了限制,比如一些个聊天机器人、语音助理等等。
自然语言处理,计算机与人类“谈心”的关键相关推荐
- 计算机和人类“看”法不同,但这重要么?
来源:大数据文摘 "看"这个动作一直被认为是生物所独有的. 当工程师第一次"教"计算机"看"这个动作时,他们理所当然地认为计算机可以像人类眼 ...
- 你怎样看待计算机与人类的发展,计算机语言与人类语言的相互渗透
摘 要 计算机语言是计算机可以识别的语言,根据语言的指令可以进行一系列的操作,进而达到执行程序的目的:人类语言是可以被人类识别的语言,是人与人之间进行沟通和交流的桥梁,通过语言的使用,可以实现人们交流 ...
- 多媒体计算机的关键技术有哪些,多媒体计算机的定义分类和关键技术
<多媒体计算机的定义分类和关键技术>由会员分享,可在线阅读,更多相关<多媒体计算机的定义分类和关键技术(44页珍藏版)>请在人人文库网上搜索. 1.多媒体计算机的定义分类和关键 ...
- Python题目——实现人机对战的尼姆游戏:假设有一堆物品,计算机和人类玩家轮流从其中拿走一部分。在每一步中,人或计算机可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品
问题描述:尼姆游戏是这样一个游戏:假设有一堆物品,计算机和人类玩家轮流从其中拿走一部分.在每一步中,人或计算机可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家 ...
- 人脑能用计算机算法吗,计算机和人类大脑相比,谁才是“最强大脑”?
计算机想必大家都非常清楚,如今已经深深地进入了我们的生活,我想现在的人几乎都离不开计算机,那么计算机和人类大脑相比,谁才是最强大脑? 就目前而言,人与计算机似乎具有互补的技能.这意味着计算机非常擅长于 ...
- 文献笔记01-全国计算机等级考试报名系统关键环节设计
一.基本信息 标题:全国计算机等级考试报名系统关键环节设计 时间:2009 出版源:中国知网 领域分类:计算机应用与软件 二.研究背景 问题定义:人工报名需要花费大量人力物力,为了解决以上问题,可以采 ...
- 自然语言处理:计算机学习人类语言的新方法
自然语言处理(Natural Language Processing,简称NLP)是计算机科学和人工智能领域的一个重要分支,它旨在让计算机能够理解.分析和生成自然语言.NLP的应用场景非常广泛,包括机 ...
- 谷歌机器智能大牛:AI模型要真正理解人类语言,关键是「序列学习」
来源:新智元 编辑:David 如果计算机给了你所有正确的答案,是否意味着它和你一样了解世界? 这是人工智能科学家几十年来一直争论不休的谜题.随着深度神经网络在与语言相关的任务中取得了令人瞩目的进步, ...
- 专访图灵奖得主:完全自动驾驶是计算机接近人类智能的一大步
约瑟夫·斯发基斯(Joseph Sifakis) "我们什么时候会有完全自动驾驶的汽车?这将会是计算机向着接近人类智能所迈进的一大步."10月29日,2007年度图灵奖得主.国际嵌 ...
- 计算机对人类发展历史的影响,【信息技术对人类社会发展有什么影响?】_人类 发展史_全球新能源网...
当前位置: 首页 > 专家说 > 核能原子能 > 正文 信息技术对人类社会发展有什么影响? 关注热度:162 [专家解说]: 二十世纪人类取得了一系列科学技术的辉煌成就.并形成了 ...
最新文章
- 感受hook里useEffect的执行顺序,hook倒计时
- lvs+keepalived简单配置
- scala中NULL的option定义的字段初始化用Some
- 【谈谈IO】BIO、NIO和AIO
- 发布在线文档【软件=业务+架构+流程+组织.pptx】
- C#LeetCode刷题之#7-反转整数(Reverse Integer)
- Java变异出现错误:No enclosing instance of type XXX is accessible
- 为什么PHP能够受到大家追捧和喜爱,又为什么饱受嘲讽?
- Spring Cache使用详解
- python marshal 对象序列化和反序列化
- 阿里云ECS服务器配置Web项目和FTP Server
- 【3dsmax插件】FBX转Bip插件 Bippy.ms
- 如何在windows中配置自动生成崩溃文件(.dmp)
- 2019年学UI设计有前途吗
- 本周最新文献速递20210801
- 金士顿服务器内存条怎么看型号,Win10怎么查看内存条型号?
- Hello China V1.75版本运行截图
- python 轨迹分析_Python语言:程序代码分析铅球运动轨迹
- linux 统计每个ip数量,日子IP统计
- 【loadrunner】——利用loadrunner进行压力测试