1、7.1 7.1 自然语言自然语言处处理应用场景理应用场景7.2 7.2 自然语言自然语言处处理基本功能模块理基本功能模块7.3 7.3 文文本本处处理理7.4 7.4 机器翻译机器翻译7.5 7.5 应用案例应用案例 先通过一个案例说明自然语言处理中常用的术语及其代表的知识平面。由下图可以看出,自然语言处理系统首先把指令“删除文件B”在音位学平面转化成序列“shan chu#wenjian#bi”;然后在形态学平面把这个音位序列转化为语素序列“删除”,“文件”,“B”;接着在词汇平面把这个语素序列转化为字词序列并标注出相应的词性:(删除,VERB),(“文件”,NOUN)(“B”,ID);在句
2、法学平面进行句法分析,得到这个单词序列的句法结构,用树形图表示;在语义学平面得到这个句法结构的语义解释:删除文件(“B”);在语用学平面得到这个指令的语用解释“rm-i B”,此处用的是UNIX系统的指令符号和书写规范,最后计算机执行这个命令。自然语言处理过程长期趋势的分析方法移动平均法u 移动的项数越多,对原数列波动的曲线修匀得越光滑,也就越能显示出现象的长期发展趋势。u 移动的项数越多,首尾丢失的项数也就越多,进行趋势外推测时的误差也就越大u 移动项数的多少要依据现象发展的特点和统计分析的要求确定u 实际应用中,移动平均法主要用来有效的消除不规则变动和季节变动对原数列的影响u 移动平均采用
3、奇数项移动能一次对准被移动数据的中间位置,若采用偶数项移动平均,一次移动平均后的数值将置于居中的两项数值之间长期趋势的分析方法指数平滑u 指数平滑法是对过去的观测值加权平均进行预测,使第期的预测值等于期的实际观测值与第期指数平滑值的加权平均值u 一次指数平滑法预测模型1(1)tttyyy长期趋势的分析方法指数平滑u 平滑系数的取值对平滑效果影响很大,越小平滑效果越显著u 取值的大小决定了在平滑值中起作用的的观察值的项数的多少u 一般来说取值的大小应当视所预测对象的特点及预测期的长短而定长期趋势的分析方法数学模型法u 数学模型法就是根据时间数列发展形态的特点,选择一种合适的数学方程式,进而以自变
4、量x代表时间,y代表实际观测值,然后依据此方程式来分析长期趋势的方法u 数学模型有直线型和曲线型两种类型,而每一种类型又有很多种具体形式。因此,在建立模型之前首先要判断趋势的形态散点图法指标法季节周期性数据的分析方法u 季节模型指一时间序列在各年中所呈现出的典型状态,这种状态年复一年以基本相同的形态出现u 季节模型是由一套指数组成的,各指数刻画了现象在一个年度内各月或各季的典型特征u 12个月(或4个季度)指数的平均数应等于100%,而各月(或季)的指数之和应等于1200%(或400%)季节周期性数据的分析方法u 季节模型正是以各个指数的平均数等于100%为条件而构成的,它反映了某一月份或季度
5、的数值占全年平均数的大小u 如果现象的发展没有季节变动,则各期的季节指数应等于100%u 如果某一月份或季度有明显的季节变化,则各期的季节指数应大于或小于100%季节周期性数据的分析方法采用季节指数法消除季节变动以外的三个因素u 同期平均法:现象不存在长期趋势或长期趋势不明显的情况下,一般是直接用平均的方法通过消除循环变动和不规则变动来测定季节变动u 移动平均趋势剔除法:现象具有明显的长期趋势时,一般是先消除长期趋势,然后再用平均的方法再消除循环变动和不规则变动季节周期性数据的分析同期平均法u “同期平均”就是在同季(月)内“平均”,而在不同季(月)之间“移动”的一种“移动平均”法u“平均”是
6、为了消除非季节因素的影响,而“移动”则是为了测定季节因素的影响程度u 步骤如下:第一,计算各年同季(月)的平均数第二,计算各年同季(或同月)平均数的平均数第三,计算季节比率()()100%()S 同月或季 平均数季节指数总月或季 平均数季节周期性数据的分析同期平均法u 同期平均法计算简单,易于理解u 但实际上,许多时间序列所包含的长期趋势和循环波动,很少能够通过平均予以消除u 只有当序列的长期趋势和循环波动不明显或影响不重要,可忽略不计时,应用该方法比较合适7.2.1 词汇自动处理词汇自动处理词汇是语言的建筑材料,是语言描述的中心。汉语词汇的自动处理主要分为文本的自动分词和自动标注。先看两个文
7、档:文档1:学校有关于人工智能的书籍,学校开设人工智能课程。文档2:学校推动教学改革,推动人工智能课程改革。然后对文档1、文档2进行如下分词:文档1:学校|有|关于|人工智能|的|书籍,|学校|开设|人工智能|课程。文档2:学校|推动|教学|改革|,推动|人工智能|课程|改革。上述分词其实是我们根据自己民族语言习惯人工进行的分词,人工智能要解决的是机器怎样进行中文分词。工程上,已经解决了机器怎样进行中文分词。怎样解决的呢?以文档2为例,增加文档2的另一种分词结果,和上述文档2的分词罗列如下:文档2:学校|推动|教学|改革|,推动|人工智能|课程|改革。A1 A2 A3 A4 A5 A6 A7
8、A8学校|推动|教学改革|,推动|人工|智能|课程改革。B1 B2 B3 B4 B5 B6 B7 下面会构建语料库,机器能根据语料库自动计算上面两种不同分词方式各自出现的概率,哪个概率大就使用哪个分词方式。人工智能应用中,通常将现代汉语分为15类:名词、时间词、方位词、数词、量词、代词、区别词、动词、趋向动词、能愿动词、形容词、副词、介词、连词、助词。自动词类标注的关键是排除兼类词歧义,所谓兼类词也就是词类的歧义,这是汉语自动处理的难点之一。试比较:我在北京上学(“在”为介词,“上”为动词)我在床上(“在”为动词,“上”为方位词)上面的例子中,“在”为“动-介”兼类,“上”为“方位-动”兼类。
9、汉语中往往越是常用的词,不同的用法就越多,兼类现象也就越多。7.2.2 句法自动处理句法自动处理 就汉语文本来说,经过词汇自动处理,每个词都从连续的汉字流中被切分出来,词与词之间出现了空白,并且都被标注了供机器处理的各种信息。然而,经过词汇自动处理之后,句子中词与词之间的词法关系,句子中词组与词组之间的结构关系,仍然是不清楚的,需要进一步处理,这就是句法自动处理。下面通过一个简单的乔姆斯基形式语法类型G演示计算机自动识别句子的各个句法单位以及他们之间的相互关系的过程,这个过程英文为parsing,可译为自动句法分析,设语法类型G为:先予以说明:S是初识符号,它属于集合VN,集合VN中的符号是用
10、来描述语法的,可将NP、VP、V依次解释为名词短语、动词短语、动词。VT是该语言中的词汇,是终极符号。P叫做重写规则,共有(i)(v)五条,箭头左边的符号简称为规则左边,右边的符号简称为规则右边,VN,VT,S,P四元组定义了语法G=(VN,VT,S,P)。我们用该语法G分析句子“熊猫吃竹叶”。首先,从初始状态S开始,写出句子“熊猫吃竹叶”的推导过程:推导过程 所用规则S 开始NPVP(i)NPVNP(ii)熊猫VNP(iv)熊猫吃NP(v)熊猫吃竹叶(iv)上述推导过程,也就是句子的生成过程,可用下图的句法树形图表示:句法树形图 其次,我们采用自低向上剖析(buttom-up parsing
11、)方法剖析句子“熊猫吃竹叶”,将句子切分为如下形式:熊猫|吃|竹叶 根据重写规则(iv),可得如下剖析图 熊猫|吃|竹叶 NP_ 然后,剖析符号串“NP|吃|竹叶”,先检查语法G中有没有右部为NP的重写规则,检查结果是没有。再检查符号串“NP|吃|竹叶”中的第二个词“吃”,根据规则(V)可得如下剖析图 熊猫|吃|竹叶 NP_ V_ 剖析过程中,要在语法G容许的范围内,尽量把符号串的语法符号NP,V等组合起来。先检查语法G中有没有右部为NP的重写规则,检查结果是没有,再检查语法G中有没有把NP和V组合起来的重写规则,检查结果也是没有。随后检查符号串“NP|V|竹叶”中的第二项V,根据规则(iii
12、),可得如下剖析图 熊猫|吃|竹叶 NP_ V_ VP_ 继续剖析,此时语法G中重写规则(i)的右边为符号串NP VP,重写规则(iv)的右边为“竹叶”,此处该应用重写规则(i)呢还是(iv)呢?经过试验,该应用重写规则(iv),可得如下剖析图:熊猫|吃|竹叶 NP_ V_ NP_ VP_ 继续剖析,可以发现支配V的这个VP语法符号不能引导我们找到成功的途径,需要去掉VP,这叫做采用“回溯”(backtracking)的方法,可得如下剖析图:熊猫|吃|竹叶 NP_ V_ NP_ 应用重写规则(ii),可得如下剖析图:熊猫|吃|竹叶 NP_ V_ NP_ _VP_ 再应用重写规则(i),可得如下
13、剖析图:熊猫|吃|竹叶 NP_ V_ NP_ _VP_ S S的跨度从句首开始,到句末结束,覆盖了整个句子,因此句子剖析成功。7.2.3 语义自动处理语义自动处理 语义分析是自然语言处理的最基础的功能模块,本小节只简要介绍义素分析法、语义网络的形式模型 1.义素分析法 义素是意义的基本要素,也是词的意义的区别特征,或者说,词的意义是一些语义特征(即义素)的总和,例如,“哥哥”的意思是+人+亲属+同胞+年长+男性等义素的总和,“妹妹”的意思是+人+亲属+同胞-年长-男性等义素的总和。“+”表示肯定,“-”表示否定,这样-男性就是+女性。一组词的义素可以用义素矩阵来表示,汉语中表同胞的亲属词的义素
14、矩阵如表 所示 可见,义素矩阵反映了相应亲属词的基本语义特征,义素分析法是语义形式化描述的一种好办法。2.语义网络 语义网络可以较好的描述人类的联想记忆,可用有向图表示,该有向图由三元组(结点1,弧,结点2)连接而成的,如图所示,可将该三元组视为构图的积木。语义网络三元组的表示法 结点表示概念,弧是有方向、有标记的,弧的方向体现了结点1为主,结点2为辅,弧上的标记表示结点1的属性或结点1与结点2之间的关系。从逻辑表示的方法来看,语义网络中的一个三元组相当于一个二元谓词,语义网络内各个概念之间的关系,主要由ISA,PART-OF,IS等谓词来表示。这样命题“墙上有黑板”,可以表示为下图PART-
15、OF关系 当用语言网络来表述事件时,语义网络中结点之间的关系,还可以是施事(AGENT)、受事(PATIENT)、位置(LOCATION)等。例如,“张忠老师帮助王林同学”这一事件可以表示为图事件的语义网络7.3.1 文本特征文本特征1.词袋模型词袋模型 词袋模型是一种常用的提取文本特征的数学模型,它将一篇文档看作是一个装有若干词语的袋子,这样就仅考虑了词语在文档中出现的次数,而忽略了词语的顺序以及句子的结构,这种简化是建模所必要的,事实证明也很有效。例如:文档1:学校有关于人工智能的书籍,学校开设人工智能课程。依照汉语理解习惯,我们将文档1拆分成词语并标记词语出现的次数,这样形成的集合:(学
16、校:2),(有:1),(关于:1),(人工智能:2),(的:1),(书籍:1),(开设:1),(课程:1)就是文档1对应的“词袋”(bag-of-word)词袋模型对文档1进行了很大的简化,但仍保留了文档1的关键信息,我们通过“人工智能”、“书籍”、“课程”等词语仍然可以知道文档1与学习人工智能有关,这正是词袋模型的用处。例例 7.1 写出文档2对应的词袋。文档2:学校推动教学改革,推动人工智能课程改革。解:(学校:1),(推动:2),(教学:1),(改革:2),(人工智能:1),(课程:1)文本处理包含像期刊、微信、网页等许多不同种类,实际应用中,通常将要处理的文本收集一起做成语料库,然后提
17、取语料库中所有出现的词语,并形成一个词典。例如增加文档3。文档3:国家推动人工智能产业发展。构建一个包含三篇文档的语料库:文档1:学校有关于人工智能的书籍,学校开设人工智能课程。文档2:学校推动教学改革,推动人工智能课程改革。文档3:国家推动人工智能产业发展。根据语料库提取所有出现过的词语形成词典:1 2 3 4 5 6 7 8 9 10 11 12 13 14 学校 有 关于 人工智能 的 书籍 开设 课程 推动 教学 改革 国家 产业 发展 “的”、“了”、“也”等这类不携带任何主题信息的高频词称为停止词,构建词典时我们通常不会去除停止词。统计每篇文档中每个词语出现的次数,如表上述统计结果
18、即是三篇文档的词计数向量文档1:(2,1,1,2,1,1,1,1,0,0,0,0,0,0)文档2:(1,0,0,1,0,0,0,1,2,2,1,0,0,0)文档3:(0,0,0,1,0,0,0,0,1,0,0,1,1,1)语料库词典统一了各文档词计数向量的维数。3.词频率与逆文档频率(词频率与逆文档频率(tf-idf)前面已经计算出了一篇文档的词频率tf(term frequency)。词频率越大,这个词语在这篇文档中出现的次数就越多,这个词语对这篇文档的重要性就越大,信息检索中,就是要在大量文档形成的语料库中,查找出那些对关键词语重要的文档,词频率tf只包含词语的信息,未包含语料库的信息,这
19、个包含语料库信息的指标叫逆文档频率idf(inverse document frequency)。假定语料库中总共有D篇文档,语料库形成的词典中第i个词语在某篇文档中出现过,计数一次,假设共有Di篇文档出现了第i个词语,那么第i个词语的文档频率即为dfi=Di/D,这个词语的逆文档频率为文档频率的负对数,即idfi=-logDi/D,由于DiD,负号保证了idf大于等于0。4.文档文档特征特征 将一个词语在某篇文档中的词频率tf与该词语的逆文档频率(idf)相乘,就是该词语在这篇文档中的词频率-逆文档频率(tf-idf),词频率-逆文档频率是对词频率的一种修正。一篇文档,将该文档的词频向量中的
20、频率值修正为词频率-逆文档频率,得到这篇文档的词频率-逆文档频率向量,它就是文档的特征。两个向量夹角的余弦值按公式(7.1)计算,对两个tf-idf文档向量而言,由tf-idf0,所以余弦值介于0到1之间。从三角形的基本原理可知,如果两个向量夹角的余弦值越大,那这两个向量代表的文档就越相似。0度角的余弦值是1,代表文档是相同的或者非常相似。文档如果表现为正交向量,其值则接近于0。语言是有限手段的无限运用,人们使用和理解的句子范围都是无限的。机器翻译的实质,就是把源语言中无限数量的句子,通过有限的规则,自动转换为目标语言中无限数目的句子。乔姆斯基说:一个人的语言知识是以某种方式体现在人脑这个有限
21、的机体之中的,因此,语言知识就是一个由某种规则和原则构成的有限系统。但是一个会说话的人却能讲出并理解他从未听到过的句子,而且这种能力是无限的,人们使用和理解的句子范围都是无限的。7.4.1 基于规则的机器翻译基于规则的机器翻译 基于规则的机器翻译,采用规则型语言模型,它以生成语言学为基础,人工编制语言规则,这些语言规则主要来自语言学家掌握的语言学知识,难免有主观性和片面性。一个完整的机器翻译过程可以分为如下六个步骤:源语言词法分析;源语言句法分析;源语言目标语言词汇转换;源语言目标语言结构转换;目标语言句法生成;目标语言词法生成。机器翻译金字塔 可以看出,这个机器翻译金字塔的左侧是源语言的分析
22、,右侧是目标语言的生成,中间是源语言到目标语言的转换。源语言的分析独立于目标语言的生成,只是在转换部分才同时涉及源语言和目标语言,这种“独立分析-独立生成-相关转换”的思想,成为了基于规则的机器翻译的原则。7.4.2 基于统计的机器翻译基于统计的机器翻译 基于统计的机器翻译,采用统计语言模型,以分析大规模语料库为基础,计算机利用模型中的概率参数,可以估计出自然语言中语言成分出现的可能性,相对客观和全面。基于统计的机器翻译,把机器翻译问题看成是一个噪声信道问题:可以这样来看机器翻译:一种语言T由于经过了一个噪声信道而发生了扭曲变形,在信道的另一端呈现出另一种语言S。语言T是信道意义上的输入,在翻
23、译意义上就是目标语言,语言S是信道意义上的输出,在翻译意义上就是源语言。从这种观点来看,一种语言中的任何一个句子都有可能是另外一种语言中的某几个句子的译文,只是这些句子的可能性各不相同,机器翻译就是要找出其中可能性最大的句子,也就是对所有可能目标语言T计算出概率最大的一个作为源语言S的译文。7.4.3 神经网络机器翻译神经网络机器翻译 神经语言模型NLM(neural language model)使用词的分布式表示对自然语言序列建模,将每个词予以编码,识别两个相似的词,共享一个词(及其上下文)和其他类似词(和上下文之间)的统计强度。统计语言模型为每个词学习的分布式表示,允许模型处理具有类似共
24、同特征的词来实现这种共享。例如,假设词“狗”和“猫”映射到具有许多属性的表示,则包含词“猫”的句子可以告知模型对包含词“狗”的句子做出预测,反之亦然。这些词表示有时称为词嵌入,这样在嵌入空间中,具有相似含义的词彼此邻近。机器翻译的编码器-解码器框架的总体思想 神经机器翻译系统使用神经语言模型。首先使用RNN模型(也可以是CNN)读取输入序列并产生概括输入序列的数据结构,简称这个概括为“上下文”C,上下文C可以是向量或者张量,如图7-10中的“中间的语义表示”。然后利用另外一个RNN模型读取上下文C并且生成目标语言的句子。讯飞翻译机2.0是科大讯飞于2018年4月20日推出的新一代人工智能翻译产
25、品,如图7-26所示。讯飞翻译机2.0,145.5mm*52.5mm*13.4mm比较小巧,重量仅有120g随身携带非常方便。金属的外壳使得其在耐用性上也有不错的表现。后置一颗1300万像素摄像头,专门用来进行拍摄翻译使用。摄像头的下方是一颗“SOS”紧急呼救按钮。讯飞翻译机2.0采用语音识别技术、自然语言理解、NMT翻译技术、语音合成以及四麦克风阵列等多项人工智能技术,如图7-27所示,支持在六麦克风、双麦克风和单麦克风场景下的语音分离和英文识别任务,支持语种覆盖近200个国家和地区,包括AI+翻译(语音对话翻译、离线翻译、拍照翻译、人工翻译、方言翻译)及增值服务(全球上网、SOS紧急救援、
26、AI语音助手、口语学习)两大功能。语音对话翻译:支持33种语言即时互译,1秒给出翻译结果,基于4000万句对话,贴合原意翻译结果,中英语音识别准确率98%,通过四麦列阵的方式实现录音高清降噪,过滤环境音的效果,大大提升语音翻译时的录词准确性。帮助你快速学习各种常用的情景对话,出行会话、购物会话、餐饮会话、住宿会话、观光会话、生活服务,这些场景内的常用对话都能协助用户来理解和学习离线翻译:在没有信号的情况下,离线翻译自动生效,当前支持中英离线翻译,语种持续增加,达到日常交流跟在线翻译无差异。曾在2018俄罗斯世界杯前支持中俄离线翻译。拍照翻译:讯飞翻译机2.0支持手写字体拍摄翻译,而且支持12种语言(英、日、韩、泰、法、德、西、俄、意、葡、阿拉伯等)的拍照翻译。即使出国旅游走进外国餐厅,你也可以从容的用讯飞翻译机2.0拍摄翻译出外文菜单!不仅仅菜单,外语的商品标签、各种指示牌、外语地图、说明书等等。SOS紧急救援:讯飞翻译机2.0的SOS紧急求救键也非常实用,实现预设好紧急联系人信息,一旦出现意外或者紧急情况,长按SOS键5秒以上就可以发出“求救”信号,对于出国在外游玩的人,这样的功能非常实用。Thank you!