自然语言处理,计算机与人类“谈心”的关键
自然语言处理不达标,机器人就不能真正了解人类,智能服务也就不能做到完美。
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%。可见,在遇到这种情况时,计算机的自然语言处理还不能达到令人满意的程度。
在自然语言处理方面,研究者们还有许多的问题需要解决,比如训练数据的缺乏、成语俗语的处理等等,这些都需要研究者们花费大量时间去解决。在此基础之上,由于计算机不能够正确理解人类的语言,一些人工智能产品的落地也相应的受到了限制,比如一些个聊天机器人、语音助理等等。
最后,记得关注微信公众号:镁客网(im2maker),更多干货在等你!
硬科技产业媒体
关注技术驱动创新