短语抽取_机器翻译作业
- 格式:docx
- 大小:16.55 KB
- 文档页数:3
人工智能的核心技术是什么?《人工智能标准化白皮书(2018)》1 机器学习机器学习(Machine Learning)是一门涉及统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域的交叉学科,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,是人工智能技术的核心。
基于数据的机器学习是现代智能技术中的重要方法之一,研究从观测数据(样本)出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。
根据学习模式、学习方法以及算法的不同,机器学习存在不同的分类方法。
(1)根据学习模式将机器学习分类为监督学习、无监督学习和强化学习等。
监督学习监督学习是利用已标记的有限训练数据集,通过某种学习策略/方法建立一个模型,实现对新数据/实例的标记(分类)/映射,最典型的监督学习算法包括回归和分类。
监督学习要求训练样本的分类标签已知,分类标签精确度越高,样本越具有代表性,学习模型的准确度越高。
监督学习在自然语言处理、信息检索、文本挖掘、手写体辨识、垃圾邮件侦测等领域获得了广泛应用。
无监督学习无监督学习是利用无标记的有限数据描述隐藏在未标记数据中的结构/规律,最典型的非监督学习算法包括单类密度估计、单类数据降维、聚类等。
无监督学习不需要训练样本和人工标注数据,便于压缩数据存储、减少计算量、提升算法速度,还可以避免正、负样本偏移引起的分类错误问题。
主要用于经济预测、异常检测、数据挖掘、图像处理、模式识别等领域,例如组织大型计算机集群、社交网络分析、市场分割、天文数据分析等。
强化学习强化学习是智能系统从环境到行为映射的学习,以使强化信号函数值最大。
由于外部环境提供的信息很少,强化学习系统必须靠自身的经历进行学习。
强化学习的目标是学习从环境状态到行为的映射,使得智能体选择的行为能够获得环境最大的奖赏,使得外部环境对学习系统在某种意义下的评价为最佳。
机器翻译中的词典和术语库构建方法机器翻译(Machine Translation, MT)是指使用计算机和自然语言处理技术进行自动翻译的过程。
为了提高翻译质量和效率,构建有效的词典和术语库是机器翻译的关键之一。
本文将介绍。
一、词典构建方法1. 人工构建人工构建词典是最常见的方法之一。
翻译专家根据专业知识和语言能力,将词语和短语直接进行翻译,形成双语对照的词典。
这种方法可以保证翻译的准确性和专业性,但是构建过程耗时且需要大量人力资源。
此外,人工构建的词典需要定期更新和维护,才能适应新的语言变化和文化差异。
2. 自动抽取自动抽取是利用机器学习技术和大规模语料库,通过统计和推理方法自动提取词典。
具体步骤包括:分词,统计词频和概率,根据一定的阈值选择高频词汇作为词典的候选词,然后利用上下文信息进行进一步筛选。
自动抽取的优点是可以快速构建较大规模的词典,但是抽取过程中可能出现语义漂移和误抽取等问题,需要进行后期的人工校对和纠错。
3. 词性标注与词义消歧在词典构建过程中,词性标注和词义消歧是非常重要的环节。
词性标注可以帮助机器翻译系统准确判断词语的句法角色和语义关系,进而提高翻译的准确性。
词义消歧则是根据上下文信息对多义词进行判断,从而确定正确的翻译。
词性标注和词义消歧可以通过规则、统计和机器学习等方法进行。
二、术语库构建方法术语库是机器翻译中处理特定领域或专业术语的重要工具。
下面介绍几种术语库构建方法。
1. 人工构建与词典类似,人工构建术语库是一种常见的方法。
翻译专家根据领域知识和语言能力,将特定领域的术语进行整理和翻译,形成双语对照的术语库。
人工构建的术语库可以保证翻译的准确性和专业性,但是构建过程耗时且需要大量人力资源。
2. 自动抽取自动抽取是指利用机器学习和大规模语料库,通过统计和推理方法自动提取术语库。
具体步骤包括:根据特定领域的文本和上下文信息,统计词频和共现频率,根据一定的阈值选择高频词汇作为术语的候选词,然后利用上下文信息进行进一步筛选。
一、什么是语义角色(semantic role)语义角色是句子中名词短语(NP)与动词之间的逻辑关系,用于描述动作的执行者、受事者、工具、受益者等角色。
语义角色理论是对句子中名词短语与动词之间关系的一种分析方法,也是句法语义学的重要研究领域。
二、语义角色的种类根据不同研究者的观点和理论假设,语义角色可以分为不同的种类,常见的有以下几种:1. 施事者(Agent):执行或发起动作的实际执行者。
2. 受事者(Patient):直接受到动作影响的实体。
3. 主题(Theme):动作的主要参与者,通常是经历动作的对象。
4. 起源(Source):动作起源的来源。
5. 终点(Goal):动作的目标地点或目标对象。
6. 经历者(Experiencer):经历某种感知或情感状态的实体。
7. 受益者(Beneficiary):从动作中获益的实体。
8. 工具(Instrument):执行动作所需的工具或手段。
9. 增补(Recipient):接受某种事物或信息的实体。
三、语义角色的作用语义角色在句法语义分析中起着重要作用,它可以帮助我们识别句子成分之间的逻辑关系,理解句子中各个名词短语的功能和作用,从而更好地理解句子所表达的含义。
通过分析语义角色,我们可以揭示出句子的深层语义信息,揭示出动作的参与者、受事者以及它们之间的关系,有助于句子的语义理解和句法结构的分析。
四、语义角色的判别方法对于一个给定的句子,如何确定其中名词短语的语义角色呢?一般来说可以通过以下几种方法进行判别:1. 上下文语境:通过上下文来推断名词短语在句子中扮演的角色,比如动作的执行者、受事者等。
2. 语法结构:通过句法结构来确定名词短语的语义角色,比如主语通常是动作的执行者,宾语通常是动作的受事者等。
3. 动词语义:通过分析动词的语义,来确定名词短语扮演的角色,比如动词的属性、语义类别等。
4. 逻辑推理:通过逻辑推理来确定名词短语的语义角色,从句子的逻辑关系出发进行分析。
神经机器翻译综述高明虎;于志强【摘要】机器翻译研究在非人工干预的情况下, 利用计算机自动地实现不同语言之间的转换, 是自然语言处理和人工智能的重要研究领域, 神经机器翻译 (neural machine translation, NMT) 利用神经网络实现源语言到目标语言的转换, 是一种全新的机器翻译模型.神经机器翻译经过最近几年的发展, 取得了丰富的研究成果, 在很多语言对上超过了统计机器翻译方法.首先介绍神经机器翻译的基本思想和主要方法, 然后对最新的前沿进展进行综述, 最后对神经机器翻译的未来发展方向进行展望.%Machine translation without human interference and dependent on computers is an important research field of natural language processing and artificial intelligence. Neural machine translation (NMT) as a brand-new machine translation model uses the neural network to complete the translation process from the source language to the target language. Neural machine translation has achieved abundant research results in recent years, and has beaten statistical machine translation methods in terms of many language pairs. This paper first introduces the basic principles and main methods of neural machine translation, then summarizes the latest advances, and finally predicts the development of neural machine translation.【期刊名称】《云南民族大学学报(自然科学版)》【年(卷),期】2019(028)001【总页数】5页(P72-76)【关键词】自然语言处理;人工智能;机器翻译;神经网络;语言对【作者】高明虎;于志强【作者单位】云南民族大学信息与网络中心, 云南昆明 650500;云南民族大学信息与网络中心, 云南昆明 650500【正文语种】中文【中图分类】TP391机器翻译是在保持语义一致性的基础上,利用计算机软件实现两种语言的转换的过程,属于计算语言学(computational linguistics)的子领域,将人工智能与自然语言处理相结合是其重要的研究内容.自20世纪40年代机器翻译任务产生以来,机器翻译大体经历了2个阶段:早期的基于规则的机器翻译(rule-based machine translation)和近期的统计机器翻译(statistical machine translation,简称SMT).自2014年将神经网络研究用于机器翻译以来,采用端到端的神经机器翻译(neural machine translation, NMT)[1-2]获得了迅速发展.它采用一种全新的方法体系,直接使用神经网络实现源语言文本到目标语言文本的映射.与统计机器翻译不同,由于神经机器翻译不再需要进行词对齐、短语切分等步骤[3],也无需句法分析等语言学知识支持.具有人工成本低、开发周期短的优点,并且较好的克服了统计机器翻译所面临的语义表示、错误传播等问题,成为Google、百度等国内外公司在线机器翻译系统的核心技术.1 经典机器翻译模型经典机器翻译模型大体历经了2个发展历程:基于语言规则的机器翻译(1949—1992)和统计机器翻译(1993—2016).语言学家认为语言的表述是有规则可依的,因此基于规则的机器翻译是由语言学专家先总结出不同自然语言之间的转换规律,再以规则形式表示翻译知识,最后由计算机进行规则的执行.由于有语言学专家的深度参与,句法、词法和语义等深层次自然语言特性可以被充分挖掘,但由于自然语言的灵活特性,基于规则的机器翻译面临着规则提取困难、程序开发难度大、人工成本高等困难.随着互联网的兴起和硬件运算能力的大幅提升,基于统计特性的统计机器翻译得到重视,并在20世纪90年代后开始成为机器翻译的主流模型.统计机器翻译采用数据驱动的方式,在大规模多语言文本数据上自动训练数学模型,通过数学模型对翻译过程进行描述.其基本思想是通过统计方法获取源语言与目标语言之间的翻译规律,用以指导隐结构(词语对齐、短语抽取、短语概率、短语调序等)的构成来实现翻译,翻译过程如下:其中,θ是指定模型的概率分布参数,由源语言F和目标语言E构成的平行句对集合,参数θ是从其构成中学习而来,作为翻译假设输出.统计机器翻译通过建立概率模型来计算F到E的概率,从而进行翻译.自面世以来,统计机器翻译取得了巨大的成功,2006年Google推出了 Translate翻译平台,它的推出标志着在商业应用上,数据驱动的统计机器翻译取代了基于语言规则的机器翻译成为翻译系统的主流.尽管如此,统计机器翻译仍面临着翻译性能严重依赖于对齐特性等隐结构获取难度大、局部特征难以捕获全局依赖关系、不易调序影响翻译流畅度等难题.2 神经机器翻译模型2.1 神经网络的发展神经网络最开始是受生物神经系统的启发,为了模拟生物神经系统而出现的.Pitts[4]于1943年最早提出了神经网络数学模型,为了让计算机能够更加自动且更加合理的设置权重,1957年,Rosenblatt[5]提出了一种最简单的神经网络——感知机(Perceptron)算法.该算法使用特征向量来表示的前馈式人工神经网络,它是一种二元分类器,为单层的人工神经网络.1969年,Marvin Minsky 和Seymour Papert证明感知机不能解决简单的异或(XOR)等线性不可分问题,使得人工神经网络发展进入了低潮.到20世纪80年代末,随着分布式表达和反向传播算法[6]等算法的提出,神经网络的研究才迎来了第二次兴起.近年来,神经网络应用于图像识别、语音识别等领域取得巨大成功,在自然语言处理任务上(如语言模型、句法分析、序列标注等任务[7]),神经网络的应用也有很好效果.2.2 神经机器翻译基本思想学术界很早就提出了将神经网络应用于机器翻译的思想,20世纪90年代,Castano等利用小规模平行语料实现了基于神经网络的翻译方法[8],但由于平行语料规模和硬件计算能力限制,未能取得超越性的效果.深度学习热潮兴起之后,神经网络常被用于结合统计机器翻译用于词语对齐、依存分析、规则抽取等任务中. 2013年,Kalchbrenner 和Blunsom[9]重新总结并提出了基于神经网络的翻译方法,引起了学术界的关注.随后, Sutskever[10]、 Cho[11-12]、 Jean[13-14]等人各自实现了完全基于神经网络的机器翻译模型.神经机器翻译的基本思想与统计机器翻译相同,即概率最大化.在翻译建模上不借用其他手段,只采用神经网络实现源语言到目标语言的转换.与统计机器翻译的离散表示方法不同,神经机器翻译采用连续空间表示方法(continuous space representation)表示词语、短语和句子.在翻译建模上,不需要进行词对齐、短语抽取、短语概率计算、最大熵调序等统计机器翻译的处理步骤,而是完全采用神经网络完成从源语言到目标语言的映射,神经机器翻译通常采用编码器-解码器(encoder-decoder)框架实现源序列到目标序列的转换[2].其中编码器读取源语言输入“x1”、“x2”、“x3” 、“x4”,输出固定维度的语义编码向量C;解码器读取该向量,解码生成目标语言词语序列“y1”、“y2”、“y3”,如图1所示.与统计机器翻译相比,基于编码器-解码器框架的神经机器翻译无需人工设计定义在隐结构上的特征来描述翻译规律,而是直接从训练语料中学习特征.因此规避了由于自然语言的高度复杂性带来的大量的特征设计工作.2.3 神经机器翻译各种类型及其特点神经网络依据拓扑结构特点可以分成多种类型,如前馈神经网络,卷积神经网络(convolutional neural network),循环神经网络等.以下对近年来在机器翻译、摘要抽取、序列标注、情感分类等自然语言处理任务上常用的神经网络进行了分析.2.3.1 循环神经网络循环神经网络(recurrent neural network,RNN)是目前神经机器翻译所采用的主流网络结构,它将隐状态在相同的网络层次中循环传递,因此具有序列化结构的自然语言句子可以作为它的输入[15-16].循环神经网络的结构如图2所示.x = {x1, x2,…, xT}表示输入的源语言序列,每个时间步 t 的隐藏状态由以下公式进行更新:ht=f(ht-1,xt,θ).其中,f为非线性函数,ht-1为前一时刻的隐状态,Xt为t时刻的输入,θ为网络参数.网络通过如下进行更新:at=Wht-1+Uxt+b;ht=tan h(at);ot=Vht+c;循环神经网络适合处理变长序列数据.理论上能够捕捉到所有之前时刻的隐状态,这在一定程度上解决了长距离依赖问题.2.3.2 循环神经网络变型从理论上讲,循环神经网络可以通过充分训练得到的参数解决长距离依赖问题,但实际效果并不理想.原因在于训练的过程中采用反向传播(backpropagation through time, BPTT)[17]来进行误差的传递,从而调整网络参数,在实际应用中会产生梯度消失问题 [18].长短时记忆神经网络(LSTM)[19]是循环神经网络的变形结构,引入了门控的概念,通过遗忘门、输入门和输出门进行信息选择和更新,具有与循环神经网络相似的结构和优点,且性能更好.门限循环单元(gated recurrent units, GRU)[11,20]将长短时记忆循环单元的输入门和遗忘门合并成更新门(update gate),又引入了重置门(reset gate),用更新门控制当前状态需要遗忘的历史信息和接受的新信息,用重置门控制候选状态中有多少信息是从历史信息中得到.该结构是对长短时记忆神经网络的简化,效果与后者相近,并降低了计算量.前馈神经网络中,矩阵相乘是时间复杂度较高的部分.简单循环单元(simple recurrent unit,SRU)[21]对网络结构进行改进,门计算只依赖于当前输入的循环,使模型只有逐点矩阵相乘的计算依赖于之前的时间步.从而减少了计算量,能够让网络更容易的进行并行化.递归神经网络(recursive neural network,recursive NN)是循环神经网络的变形结构,以树形结构进行组织,通常用于表示自然语言句法结构[22].循环神经网络及其重要变型的不同之处如表1所示.表1 循环神经网络及其重要变型的差异网络模型模型特点循环神经网络(RNN)状态在网络中传递,擅长处理序列化输入,但会存在梯度消失问题.长短时记忆神经网络(LSTM)引入了门控的概念,通过遗忘门、输入门和输出门进行信息选择和更新,较好的解决了RNN的梯度消失问题.门限循环单元(GRU)将长短时记忆循环单元的输入门和遗忘门合并成更新门,又引入了重置门,从而简化了LSTM的结构.简单循环单元(SRU)门计算只依赖于当前输入的循环,使模型只有逐点矩阵相乘的计算依赖于之前的时间步,提高并行能力.递归神经网络(NN)以树形结构进行组织,与上述模型不同,其通常用于表示自然语言句法结构.2.3.3 卷积神经网络卷积神经网络(convolutional neural networks,CNN)在图像分类中取得了巨大成功,在处理图像时,实际是以像素作为输入.与图像任务不同的是,NLP任务的输入基本上是矩阵形式的句子或文档.矩阵的每一行是一个向量,本质上是序列化的输入.卷积神经网络常被应用到文本分类中,比如情感分类、信息识别、主题分类中.由于卷积操作过程会丢失一些词的位置信息,因此在处理序列化输入的任务方面,例如翻译、词性标注和实体抽取时效果不是很理想.但近期很多研究通过融入位置等信息[23],在保持了卷积神经网络的并行能力的同时,加强了对序列化输入的处理.3 总结及展望目前,神经机器翻译取得巨大成功,在很多语言对上的效果已经超越统计机器翻译.从2014年开始,产出了大量的科研成果与实际产品.由于研究时间较短,该翻译模型仍然存在许多值得更加深入探索的问题,以下几点有可能成为未来研究集中方向.1) 提高翻译框架可解释性.基于编码器解码器结构的神经机器翻译,实现了源语言到目标语言的直接翻译,但是相比统计机器翻译,神经机器翻译过程更类似于在黑盒中运行,难以从语言学的角度对翻译过程进行解释.已有研究证明,可以从可视化[24]、隐含句法结构信息抽取[25]等角度对翻译过程进行分析,以此改正翻译错误,是神经机器翻译未来重要的研究方向.2) 外部知识融入.与统计机器翻译相比,神经机器翻译结果在句子的流畅度上有较大提升,但是与语法句法等语言学想关的翻译错误仍会在神经机器翻译中出现,因此,融合语言学知识对于神经机器翻译性能的提升至关重要,这一点在资源稀缺型语言和特定领域的翻译任务中尤为迫切,语言学知识包括词汇、句法、语义等不同粒度的知识,词汇级知识包含词素、词性标注、分词标记等.句法级包括短语树、依存树和谓词框架等.语义级别包含词义推导、语义树等.融合更加丰富的外部知识是神经机器翻译重要研究内容,也是提高翻译性能的重要方法,有待深入研究. 3) 多语言机器翻译.翻译系统学习一种通用的表征,其中不同语言中具有相同意义的句子都以类似的方式表示,这些为多语言之间的迁移学习研究提供了良好的基础.在多语平行语料,或者多语可比语料基础上研究基于神经网络的多语言机器翻译,对低资源语言甚至资源丰富型语言的翻译都具有学术价值和实用价值,是自然语言处理研究的一个重要方向.4) 多模态翻译.传统神经机器翻译过程中,文本翻译过程与翻译场景等信息是相互独立的,因此,导致神经机器翻译的结果往往不够智能,不能自适应的产生适合翻译场景的文本翻译结果.然而相同场景中的图像、文本信息属于异类信息,彼此之间存在巨大的语义鸿沟,因此将对齐后的多模态特征融入神经机器翻译网络,实现多模态神经机器翻译,是提升翻译效果乃至实现智能翻译的一个值得探索的方向. 神经机器翻译代表了一种全新的机器翻译模型,目前在主流语言对上的性能已经超越统计机器翻译,成为当前的主流技术.神经机器翻译能够从平行语料中直接学习特征,应用难度较低,并且能够通过长短时记忆和注意力等机制有效处理长距离依赖问题.虽然该方法在资源依赖、训练算法、可解释性等方面存在不足之处,但是在未来必将获得长足的发展.参考文献:【相关文献】[1] SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks[C]//Advances in neural information processing systems. 2014: 3104-3112. [2] BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[J].arXiv:1409.0473, 2014.[3] 刘洋.神经机器翻译前沿进展[J].计算机研究与发展,2017,54(06):1144-1149.[4] PITTS W. A logical calculus of the ideas immanent in nervous activity[M]// Neurocomputing: foundations of research. MIT Press, 1988:115-133.[5] 焦李成, 杨淑媛, 刘芳,等. 神经网络七十年:回顾与展望[J]. 计算机学报, 2016, 39(8):1697-1716.[6] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J].Nature, 1986, 323(6088): 533-536.[7] COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(Aug): 2493-2537.[8] CASTANO M A, CASACUBERTA F. A connectionist approach to machinetranslation[C]//Fifth European Conference on Speech Communication and Technology. 1997.[9] KALCHBRENNER N, BLUNSOM P. Recurrent continuous translationmodels[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. 2013: 1700-1709.[10] SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks[C]//Advances in neural information processing systems. 2014: 3104-3112. [11] CHO K, van B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv:1406.1078, 2014.[12] CHO K, van B, BAHDANAU D, et al. On the properties of neural machine translation: encoder-decoder approaches[C]//Proceedings of SSST-8, Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation. Doha, Qatar, 2014:103-111[13] JEAN S, CHO K, BENGIO Y. On using very large target vocabulary for neural machine translation[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on NaturalLanguage Processing (ACL 2015). Beijing,2015:1-10.[14] JEAN S, FIRAT O, CHO K, et al. Montreal neural machine translation systems for WMT’15[C]//Proceedings of the Tenth Workshop on Statistical Machine Translation. Lisbon, Portugal, 2015:134-140[15] ELMAN J L. Finding structure in time[J]. Cognitive science, 1990, 14(2): 179-211.[16] GOODFELLOW I, BENGIO Y, COURVILLE A, et al. Deep learning[M]. Cambridge: MIT Press, 2015[17] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[M]// Neurocomputing: foundations of research. Cambridge: MIT Press, 1988:533-536.[18] BENGIO Y, SIMARD P, FRASCONI P. Learning long-term dependencies with gradient descent is difficult[J]. IEEE transactions on neural networks, 1994, 5(2): 157-166.[19] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural computation, 1997, 9(8): 1735-1780.[20] CHUNG J, GULCEHRE C, CHO K H, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[J]. arXiv preprint arXiv:1412.3555, 2014.[21] LEI T, ZHANG Y, WANG S I, et al. Simple recurrent units for highly parallelizable recurrence[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 4470-4481.[22] SOCHER R, HUANG E H, PENNIN J, et al. Dynamic pooling and unfolding recursive autoencoders for paraphrase detection[C]//Advances in neural information processing systems. 2011: 801-809.[23] GEHRING J, AULI M, GRANGIER D, et al. Convolutional sequence to sequence learning[J]. arXiv preprint arXiv:1705.03122, 2017.[24] DING Y, LIU Y, LUAN H, et al. Visualizing and understanding neural machine translation[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017, 1: 1150-1159.[25] SHI X, PADHI I, KNIGHT K. Does string-based neural MT learn sourcesyntax?[C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. 2016: 1526-1534.[26] MCCULLOCH W S, PITTS W. A logical calculus of the ideas immanent in nervous activity[J]. Bulletin of mathematical biology, 1990, 52(1/2): 99-115.[27] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J]. Nature, 1986, 323(6088): 533.[28] COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(Aug): 2493-2537.[29] NECO R P, FORCADA M L. Asynchronous translations with recurrent neural nets[C]// International Conference on Neural Networks, 1997.IEEE, 1997, 4: 2535-2540.。
一种错误敏感的词对齐评价方法1黄书剑,奚宁,赵迎功,戴新宇,陈家骏南京大学计算机软件新技术国家重点实验室,南京 210093Email: {huangsj, xin, zhaoyg, daixy, chenjj}@摘要: 对齐错误率(Alignment Error Rate,AER)是目前通用的词对齐评价标准。
近年来的研究表明,AER虽然在一定程度上能够反映词对齐的质量,但它与机器翻译最终结果BLEU得分的相关性并不好。
本文针对基于短语的机器翻译系统(PBSMT)分析了AER可能存在的一些问题,并根据词对齐结果中可能存在的不同类型的错误,提出了一种错误敏感的词对齐评测方法ESAER(Error-Sensitive Alignment Error Rate)。
实验表明,本文提出的ESAER与BLEU的相关性要远远好于AER。
关键字:统计机器翻译、词对齐、评价标准、AER、错误敏感An Error-Sensitive Metric for Word Alignment inPhrase-based SMTHUANG Shujian, XI Ning, ZHAO Yinggong, DAI Xinyu and CHEN Jiajun State Key Laboratory for Novel Software Technology, Nanjing University, 210093Email: {huangsj, xin, zhaoyg, daixy, chenjj}@Abstract:AER (Alignment Error Rate) is a widely used alignment quality measure. Recent study shows that the AER score is not well correlated with the BLEU score of the final translation result. In this paper, we analyze the possible reasons for this weak correlation in a phrase-based SMT environment. We also propose a new alignment quality measure ESAER (Error-Sensitive Alignment Error Rate) according to different alignment errors. Experimental result shows that ESAER gets a much higher correlation with BLEU score than AER.Keywords:SMT, AER, Word Alignment, evaluation metric, error-sensitive1引言词对齐的基本任务是从句子对齐的双语平行语料中找到相互对应、互为翻译的词(如:图一)。
python 提取短语文本数据中包含着大量的信息,而提取关键短语是对文本进行深度理解和分析的一种重要手段。
本文将介绍在Python中常用的短语提取方法,包括基于TF-IDF、TextRank算法以及其他常见的文本处理技术。
1. 基于TF-IDF的短语提取:•TF-IDF介绍:TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于评估一个词在文档中的重要性的统计方法。
它将一个词在文档中出现的频率(TF)与在整个文集中出现的频率的倒数(IDF)相乘,得到一个权重值。
•基于TF-IDF的短语提取流程:1.文本分词:使用中文分词工具,将文本分割成词语。
2.计算TF-IDF:对每个词语计算其在文档中的TF-IDF值。
3.短语提取:选取具有较高TF-IDF值的词语组合成短语。
from sklearn.feature_extraction.text import TfidfVectorizerdef extract_phrases_tfidf(texts):vectorizer =TfidfVectorizer()X =vectorizer.fit_transform(texts)feature_names =vectorizer.get_feature_names_out()# 提取TF-IDF较高的词语作为短语phrases =[feature_names[i] for i in X.sum(axis=0).argsort()[0, :: -1][:5]]return phrases# 示例texts =["这是一段文本,用于演示TF-IDF短语提取的方法。
", "在P ython中进行文本处理是一项常见的任务。
"]result =extract_phrases_tfidf(texts)print("提取的短语:", result)2. TextRank算法的短语提取:•TextRank介绍:TextRank是一种基于图的排序算法,被广泛用于关键词提取和短语提取。
1. 空字符处理:在e 每句话后添加空标记利用IBMModel 1训练e2f ,在f 每句话后添加空
标记利用IBMModel 1训练f2e
2. 利用最大似然估计单向对齐:从p a |e ,f = t e j f a j
t e j f i l f i =0l e j =1可知要p a |e ,f 最大只需要
t e j f a j 最大,即对每个e j 选取令t e j f a j 最大的f a j ,根据a(j)即可得到单向对齐
3. 合并两个单向对齐:grow-diag-final 注意e not aligned or f not aligned 与(e,f )not
aligned 与并不等价e not aligned or f not aligned 要求所在行或者所在列没有对齐(e,f )not aligned 只要求(e,f )不对齐
4. 短语抽取:书上extract 伪代码第4行应该为return empty if e <e start or e >
e end and
f start ≤f ≤f end
Python 代码
采用中文版书90页图5.3所示例子验证正确性
def extract(align,f_align,e_align,e_start,e_end,f_start,f_end,es,fs):
forei,fi in align:
iff_start<=fi<=f_end:
ifei<e_start or ei>e_end:
return
phrases = set()
f_start_extend = f_start
while True:
f_end_extend = f_end
while True:
eng_phrase = ' '.join(es[i] for i in range(e_start,e_end+1))
for_phrase = ' '.join(fs[i] for i in range(f_start_extend,f_end_extend+1))
print(eng_phrase,for_phrase)
f_end_extend += 1
iff_end_extend in f_align or f_end_extend==len(fs): break
f_start_extend -=1
iff_start_extend in f_align or f_start_extend<0: break
defpharse_extract(align,es,fs):
e_align=set()
f_align=set()
forei,fi in align:
e_align.add(ei)
f_align.add(fi)
fore_start in range(0,len(es)):
fore_end in range(e_start,len(es)):
f_start,f_end=len(fs),0
alignnum=0
forei,fi in align:
ife_start<=ei<=e_end:
f_start=min(fi,f_start)
f_end=max(fi,f_end)
alignnum+=1
ifalignnum>0:
extract(align,f_align,e_align,e_start,e_end,f_start,f_end,es,fs)
srctext = "michael assumes that he will stay in the house".split()
trgtext = "michaelgehtdavonaus , dasserimhausbleibt".split()
alignment = [(0,0), (1,1), (1,2), (1,3), (2,5), (3,6), (4,9), (5,9), (6,7), (7,7), (8,8)]
pharse_extract(alignment,srctext,trgtext)
输出:
michaelmichael
michael assumes michaelgehtdavonaus
michael assumes michaelgehtdavonaus ,
michael assumes that michaelgehtdavonaus , dass
michael assumes that he michaelgehtdavonaus , dasser
michael assumes that he will stay in the house michaelgehtdavonaus , dasserimhausbleibt
assumesgehtdavonaus
assumesgehtdavonaus ,
assumes that gehtdavonaus , dass
assumes that he gehtdavonaus , dasser
assumes that he will stay in the house gehtdavonaus , dasserimhausb leibt
thatdass
that ,dass
that he dasser
that he , dasser
that he will stay in the house dasserimhausbleibt
that he will stay in the house , dasserimhausbleibt
heer
he will stay in the house erimhausbleibt
will stay bleibt
will stay in the house imhausbleibt
in the im
in the house imhaus
househaus
与书上示例一致。