CN109325242B - 基于词对和翻译判断句子是否对齐的方法、装置及设备 - Google Patents
基于词对和翻译判断句子是否对齐的方法、装置及设备 Download PDFInfo
- Publication number
- CN109325242B CN109325242B CN201811094517.6A CN201811094517A CN109325242B CN 109325242 B CN109325242 B CN 109325242B CN 201811094517 A CN201811094517 A CN 201811094517A CN 109325242 B CN109325242 B CN 109325242B
- Authority
- CN
- China
- Prior art keywords
- word
- text
- source
- sentence
- source text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于词典和翻译判断句子是否对齐的方法,在对源文本句进行分词得到源文本词之后,还确定了与源文本词对应的翻译文本词,并据此更新了源文本词序列,最后根据源文本句以及目标文本句对应的隐藏状态序列,判断源文本句与目标文本句是否对齐。可见,该方法不依赖于源文本句与目标文本句本身去判断二者是否对齐,而是结合源文本句中各个词的翻译,将该翻译的信息融入到了源文本句的抽象表示中,进而根据源文本句与目标文本句的抽象表示来判断二者是否对齐,极大的提高了判断的精准性。此外,本发明还提供了一种基于词典和翻译判断句子是否对齐的装置、设备及计算机可读存储介质,其作用与上述方法相对应。
Description
技术领域
本发明涉及深度学习和自然语言处理领域,特别涉及一种基于词对和翻译判断句子是否对齐的方法、装置、设备及计算机可读存储介质。
背景技术
随着自然语言处理技术的发展,双语语料库引起了广泛的关注和深入研究。双语语料库包含两种不同语言的语料,且该语料以句子为单位互译对照,它是多语言自然语言处理任务极其重要的资源,自然语言处理中的许多任务,如机器翻译、跨语言信息检索和双语词典的构建等都需要大规模双语语料的支持。
双语语料库中的语料一般可以从双语网站或者多语言版本的文献资料中获得,但是,从这些途径获得的文本一般不是以句子为单位对齐的,因此,需要对这些文本整理成句子对齐的格式。
句子对齐就是指从两篇不同语言的文档中提取出互为翻译的平行句对的过程,句子对齐的主要思想是分别确定双语句子(以下分别称为源文本句与目标文本句)的抽象表示,再通过计算两个抽象表示之间的相似度,来判断源文本句与目标文本句是否对齐。
常用的句子对齐方法大致可以分为以下三种:
基于句子长度的句子对齐方法,该方法主要关注的是双语句子之间的表面信息,即根据两个句子长度的概率分布来判断句子是否对齐,然而这种方法只适用于同语系的语言对,如印欧语言上对齐效果较好,但是在不同语系的语言对上,如中英语言对上对齐性能急剧下降。
基于词典的句子对齐方法,该方法通过句子中词对分布和外部资源(如双语词典等)中的词汇匹配信息来获取句对的匹配程度信息。由于自然语言翻译的灵活性,且双语词典的覆盖率有限,仅根据词对间浅层词义信息进行机械匹配不一定总能达到较好的效果。
基于句子长度和词典的句子对齐方法,该方法虽然中和了以上两种方法的优缺点,但是,计算复杂度非常高,耗时较长,对齐效率较低。
可见,传统的句子对齐方法,在判断句子是否对齐的过程中,或不能适用于多种语言,或过度依赖于词典的覆盖范围,导致判断是否对齐的精准性较低。
发明内容
本发明的目的是提供一种基于词对和翻译判断句子是否对齐的方法、装置、设备及计算机可读存储介质,用以解决传统的句子对齐方法,在判断句子是否对齐的过程中,精准性较低的问题。
为解决上述技术问题,本发明提供了一种基于词对和翻译判断句子是否对齐的方法,包括:
确定待判断的源文本句s与目标文本句t;
对源文本句s进行分词,得到包括多个源文本词的源文本词序列 (s1,s2,…,sm),并对目标文本句t进行分词,得到包括多个目标文本词的目标文本词序列(t1,t2,…,tn),其中,m为所述源文本句中所述源文本词的数量,n为所述目标文本句中所述目标文本词的数量;
分别确定与各个所述源文本词对应的翻译文本词,得到翻译文本词序列(d1,d2,…,dm),所述翻译文本词与所述目标文本句为同一语种;
根据所述翻译文本词序列更新所述源文本词序列,得到源文本词序列(s1,d1,s2,d2,…,sm,dm);
计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列(hs1,hs2,…,hsm),并计算所述目标文本词序列中各个目标文本词的隐藏状态,得到目标隐藏状态序列(ht1,ht2,…,htn);
根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐。
其中,所述根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐包括:
根据所述源隐藏状态序列与所述目标隐藏状态序列,计算源文本词si与目标文本词tj之间的相关性,得到所述源文本句与所述目标文本句的相关性矩阵,其中,i为1到m之间的正整数,j为1到n之间的正整数;
对所述相关性矩阵进行池化层计算,得到一维向量v;
利用预设多层感知器,根据所述一维向量v,判断所述源文本句与所述目标文本句是否对齐。
其中,所述根据所述源隐藏状态序列与所述目标隐藏状态序列,计算源文本词si与目标文本词tj之间的相关性包括:
从多个角度分别计算源文本词si与目标文本词tj之间的相关性。
其中,所述从多个角度分别计算源文本词si与目标文本词tj之间的相关性包括:
基于余弦相似度,计算源文本词si与目标文本词tj之间的夹角余弦值;
基于双线性模型,计算源文本词si与目标文本词tj之间的强线性关系;
基于单层神经网络,计算源文本词si与目标文本词tj之间的非线性关系。
其中,所述计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列(hs1,hs2,…,hsm)包括:
利用门控循环单元分别更新所述前向隐藏状态序列和所述后向隐藏状态序列;
根据更新后的所述前向隐藏状态序列和所述后向隐藏状态序列,确定源隐藏状态序列(hs1,hs2,…,hsm)。
其中,所述对源文本句s进行分词,得到包括多个源文本词的源文本词序列(s1,s2,…,sm)包括:
根据预先训练得到的词库,对所述源文本句进行分词,得到多个源文本词;
预先确定所述词库中各个词的词嵌入,确定词嵌入库;
根据所述词嵌入库,分别确定各个所述源文本词的词嵌入;
根据所述源文本词的词嵌入,确定所述源文本词序列 (s1,s2,…,sm)。
其中,所述分别确定与各个所述源文本词对应的翻译文本词包括:
预先利用Giza++确定所述词库中各个词的翻译,得到双语词典;
根据所述双语词典,分别确定与各个所述源文本词对应的翻译文本词。
相应的,本发明还提供了一种基于词对和翻译判断句子是否对齐的装置,包括:
文本句确定模块:用于确定待判断的源文本句s与目标文本句t;
分词模块:用于对源文本句s进行分词,得到包括多个源文本词的源文本词序列(s1,s2,…,sm),并对目标文本句t进行分词,得到包括多个目标文本词的目标文本词序列(t1,t2,…,tn),其中,m为所述源文本句中所述源文本词的数量,n为所述目标文本句中所述目标文本词的数量;
翻译文本词确定模块:用于分别确定与各个所述源文本词对应的翻译文本词,得到翻译文本词序列(d1,d2,…,dm),所述翻译文本词与所述目标文本句为同一语种;
源文本词序列更新模块:用于根据所述翻译文本词序列更新所述源文本词序列,得到源文本词序列(s1,d1,s2,d2,…,sm,dm);
隐藏状态计算模块:用于利用双向循环卷积神经网络,计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列 (hs1,hs2,…,hsm),并计算所述目标文本词序列中各个目标文本词的隐藏状态,得到目标隐藏状态序列(ht1,ht2,…,htn);
判断模块:用于根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐。
此外,本发明还提供了一种基于词对和翻译判断句子是否对齐的设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的一种基于词对和翻译判断句子是否对齐的方法的步骤。
最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种基于词对和翻译判断句子是否对齐的方法的步骤。
本发明所提供的一种基于词典和翻译判断句子是否对齐的方法,在对源文本句进行分词,得到源文本词之后,还确定了与源文本词对应的翻译文本词,并根据翻译文本词更新了源文本词序列,计算更新后的源文本词序列的隐藏状态序列,最后根据源文本句对应的隐藏状态序列、以及目标文本句对应的隐藏状态序列,判断源文本句与目标文本句是否对齐。可见,该方法不依赖于源文本句与目标文本句本身去判断二者是否对齐,而是结合源文本句中各个词的翻译,将该翻译的信息融入到了源文本句的抽象表示中,进而根据源文本句与目标文本句的抽象表示来判断二者是否对齐,极大的提高了判断的精准性。
此外,本发明还提供了一种基于词典和翻译判断句子是否对齐的装置、设备及计算机可读存储介质,其作用与上述方法相对应,这里不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于词典和翻译判断句子是否对齐的方法实施例一的实现流程图;
图2为本发明提供的一种基于词典和翻译判断句子是否对齐的方法实施例二的实现流程图;
图3为本发明提供的一种基于词典和翻译判断句子是否对齐的方法实施例二中双向循环卷积神经网络结构图;
图4为本发明提供的一种基于词典和翻译判断句子是否对齐的方法实施例二中池化过程示意图;
图5为本发明提供的一种基于词典和翻译判断句子是否对齐的方法实施例三的实现流程图;
图6为本发明提供的一种基于词典和翻译判断句子是否对齐的方法实施例三中单调、非单调对齐文本的示意图;
图7为本发明提供的一种基于词典和翻译判断句子是否对齐的装置实施例的结构框图。
具体实施方式
本发明的核心是提供一种基于词对和翻译判断句子是否对齐的方法、装置、设备及计算机可读存储介质,极大的提供了句子对齐方法中判断句子是否对齐的精准性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明提供的一种基于词对和翻译判断句子是否对齐的方法实施例一进行介绍,参见图1,实施例一包括:
步骤S101:确定待判断的源文本句s与目标文本句t。
本发明中,源文本句与目标文本句指的是两种不同语言的文本句,这里对对二者的语言种类不做具体限定。
步骤S102:对源文本句s进行分词,得到包括多个源文本词的源文本词序列(s1,s2,…,sm),并对目标文本句t进行分词,得到包括多个目标文本词的目标文本词序列(t1,t2,…,tn),其中,m为所述源文本句中所述源文本词的数量,n为所述目标文本句中所述目标文本词的数量。
步骤S103:分别确定与各个所述源文本词对应的翻译文本词,得到翻译文本词序列(d1,d2,…,dm),所述翻译文本词与所述目标文本句为同一语种。
步骤S104:根据所述翻译文本词序列更新所述源文本词序列,得到源文本词序列(s1,d1,s2,d2,…,sm,dm)。
步骤S105:计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列(hs1,hs2,…,hsm),并计算所述目标文本词序列中各个目标文本词的隐藏状态,得到目标隐藏状态序列 (ht1,ht2,…,htn)。
本发明中,隐藏状态指的是文本词的一种抽象表示。
步骤S106:根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐。
本实施例所提供的一种基于词典和翻译判断句子是否对齐的方法,在对源文本句进行分词,得到源文本词之后,还确定了与源文本词对应的翻译文本词,并根据翻译文本词更新了源文本词序列,计算更新后的源文本词序列的隐藏状态序列,最后根据源文本句对应的隐藏状态序列、以及目标文本句对应的隐藏状态序列,判断源文本句与目标文本句是否对齐。可见,该方法不依赖于源文本句与目标文本句本身去判断二者是否对齐,而是结合源文本句中各个词的翻译,将该翻译的信息融入到了源文本句的抽象表示中,进而根据源文本句与目标文本句的抽象表示来判断二者是否对齐,提高了判断的精准性。
本发明提供的本发明还提供了一种基于词对和翻译判断句子是否对齐的方法实施例二,实施例二在实施例一的基础上进行了一定程度上的扩充和部分实现方式上的限定。
下面开始详细介绍实施例二,参见图2,实施例二具体包括:
步骤S201:文本句准备阶段,即确定待判断的源文本句s与目标文本句t。
本实施例可以选用中文文本句作为源文本句,英文文本句作为目标文本句,其中,对英文文本需要全部转化成英文小写。
步骤S202:分词阶段,分别对源文本句s与目标文本句t进行分词操作,得到对应的源文本词序列和目标文本词序列。
在本实施例中,可以根据预先建立的词库对上述文本句进行分词,通过这种方式能够保证分词操作得到的文本词是具有研究意义的。对于词库的建立,具体的,可以在语料预处理阶段,将训练语料中的单词按词频从大到小进行排序,选出词频最高的前三万个单词,生成词库。上述词库仅作为分词操作的依据,对于分词操作具体采用何种算法实现,并非本发明的关键点,在此不再多做描述。
在此基础之上,可以根据词库建立词嵌入库。词嵌入(word embedding),是将词汇映射到实数向量的方法总称,也就是说,将文本词表示成实数向量,具有相似意义的词具有相似的表示。具体的,在预先训练的过程中,可以分别确定所述词库中各个词的词嵌入,从而建立词嵌入库,那么,在后续过程中,根据词嵌入库即可轻松实现将文本次表示为实数向量。
综上,对源文本句进行分词操作,得到源文本词序列的过程可以细分为以下步骤:
步骤S2021:根据预先训练得到的词库,对所述源文本句s进行分词,得到多个源文本词。
步骤S2022:预先确定所述词库中各个词的词嵌入,确定双语词嵌入库。
步骤S2023:根据所述双语词嵌入库,分别确定各个所述源文本词的词嵌入,相当于对源文本词进行初始化,得到源文本词的向量表示。
步骤S2024:根据所述源文本词的词嵌入,确定所述源文本词序列(s1,s2,…,sm),其中,m为所述源文本句中所述源文本词的数量。
步骤S203:翻译阶段,即根据中英词典,确定源文本词序列中各个源文本词的翻译文本词,得到翻译文本词序列(d1,d2,…,dm),所述翻译文本词与所述目标文本句为同一语种。
具体的,为了获得中英词典,可以通过运行Giza++来获得文本词对齐概率。对于源文本词si,本实施例只需要从Giza++的输出结果中查找到最高概率,进而确定与最高概率对应的翻译文本词di即可。
步骤S204:源文本词序列更新阶段,即根据所述翻译文本词序列更新所述源文本词序列,得到源文本词序列(s1,d1,s2,d2,…,sm,dm)。
步骤S205:双向循环神经网络阶段,即利用双向循环神经网络分别确定源文本词序列对应的源隐藏状态序列(hs1,hs2,…,hsm),以及目标文本词对应的目标隐藏状态序列(ht1,ht2,…,htn)。
下面对源文本词序列进行双向循环神经网络编码,得到源隐藏状态序列的过程进行详细描述,目标文本词序列的编码过程与其相同,不再赘述。参见图3,图3为双向循环神经网络结构图,相应的,源文本词序列的编码过程具体可以分为以下几步:
步骤S2053:利用门控循环单元分别更新所述前向隐藏状态序列和所述后向隐藏状态序列;
步骤S2054:根据更新后的所述前向隐藏状态序列和所述后向隐藏状态序列,确定源隐藏状态序列(hs1,hs2,…,hsm)。
步骤S206:词对关系网络层阶段,即根据所述源隐藏状态序列与所述目标隐藏状态序列,计算源文本词si与目标文本词tj之间的相关性,得到所述源文本句与所述目标文本句的相关性矩阵,其中,i为1 到m之间的正整数,j为1到n之间的正整数。
根据相互对齐的句子中存在大量互为翻译的单词对的特点,可以发现单词对的关系特征对句子对齐的性能的提升有着至关重要的作用,因此,本实施例根据步骤S205得到的源隐藏状态序列 (hs1,hs2,…,hsm)与目标隐藏状态序列(ht1,ht2,…,htm),计算各个源文本词与目标文本词之间的相关性。
具体的,本实施例定义了词对关系网络层,如图4所示,通过源文本词si与目标文本词tj的隐藏状态对(hsi,htj),从多个角度捕获每个词对(si,tj)间的语义关系,计算它们的相关性分数。
本实施例对捕捉相关性的出发角度的数量不做限定,对出发角度的具体选取也不做限定,下面给出本实施例选用的一种实现方式,具体的,采用以下三种方法来计算词对(si,tj)之间的相关性分数:
基于余弦相似度,计算词对(si,tj)的隐藏状态对(hsi,htj)之间的夹角余弦值,计算公式具体如下:
基于双线性模型,计算源文本词si与目标文本词tj的隐藏状态对 (hsi,htj)之间的强线性关系,计算公式具体如下:
强线性关系b(hsi,htj)=hsiTMhtj, (6)
其中,M∈Rdh*dh表示权重矩阵,dh是隐藏状态的大小。
基于单层神经网络,计算源文本词si与目标文本词tj隐藏状态对 (hsi,htj)之间的非线性关系,计算公式具体如下:
非线性关系s(hsi,htj)=uTf(V[hsi,htj]+b), (7)
其中,u∈Rk,V∈Rk*2dh,b∈Rk表示权重矩阵,k是可以任意设置的超参,dh是隐藏状态大小,f()表示非线性激活函数。
通过以上三种方法计算,可以得到一个3*m*n的矩阵,该矩阵在本实施例称为源文本句s与目标文本句t的相关性矩阵。
步骤S207:池化阶段,即对相关性矩阵进行池化,得到一个一维向量。
两个句子之间的关系往往是由一些强烈的语义相互作用决定的,本实施例采用最大池(Max pooling)策略来划分由上述词对关系网络生成的相关性矩阵。具体的,可以对步骤S206提到的每种计算相关性分数的方法得到的矩阵执行一次最大池化,池化参数记为(p1,p2),那么,经过池化之后,就会得到一个3*(m/p1)*(n/p2)的、最具信息量的相关性矩阵。然后,将其平铺成一个3*(mn/p1p2)的二维矩阵,再执行一次最大池化操作,最终得到一个一维向量,记为向量v。该操作是用来选择词对间的哪种关系表现更强,从而突出句对之间的关系。
步骤S208:多层感知器阶段,即计算源文本句与目标文本句之间对齐概率,从而判断二者是否对齐。
本实施例中,多层感知器为预先训练得到的,它由两个隐藏层和一个输出层组成。词对关系网络层的输出经过池化层后,被重塑为一维向量v,然后被输入到两个全连接隐藏层来获得更加抽象的表示,并最终连接到输出层。
最后,多层感知器的输出可以通过sigmoid函数来计算句子对齐的概率,具体的,预先设置预设阈值,得到句子对齐概率之后,比较句子对齐概率与预设阈值的大小关系,根据二者大小关系,判断源文本句与目标文本句是否对齐。
综上所述,句子对齐是将源文本中的句子映射到目标文本中对应翻译的过程,本实施例提供的基于词对和翻译判断句子是否对齐的方法,使用预先训练得到的词库对源文本句进行分词,并根据预先确定的双语词嵌入来对源文本词进行初始化,还利用双语词典确定了源文本词的翻译文本词,并采用双向循环神经网络编码使得源文本句中每个源文本词不仅包含它的上下文信息,同时也包含它的翻译信息,进而根据对齐的句子的特点,使用词对关系网络从多个角度探索计算源文本句与目标文本句之间的相关性。
可见,本实施例不同于传统基于词典的方法,本实施例引入了源文本词的翻译信息,不仅考虑了浅层信息,同时也考虑其深层语义信息,相对于机械地词对匹配,通过双向循环神经网络编码能够使单词获得更深层的语义信息,且利用词对关系网络来建模词对信息,计算词对间的相关性分数。词对关系网络使用余弦相似度、双线性模型和单层神经网络三种方法来计算词对间的相似度,从距离、线性关系和非线性关系三个角度来捕获词对间的相关性。并且,通过两次最大池化操作来获得句对间最具信息量的部分。因而极大提高了句子对齐的精准性。
以上分别对实施例一和实施例二进行了介绍,上述两个实施例只是描述了判断句子是否对齐的方法的实现过程,下面开始介绍上述实施例的应用,即实施例三。
句子对齐指的是,两段不同语言的文本以句子为单位互为译文。具体的,假设现有两个文本段,分别为源文本段S和目标文本段T,而上述实施例中提到的源文本句s为源文本段S中的一个文本句,目标文本句t为目标文本段T中的一个文本句。
那么,如图5所示,概括的来说,针对源文本段S和目标文本段 T,实现句子对齐的主要步骤包括:
步骤S501:利用上述实施例分别计算源文本段S和目标文本段T 中各个文本句对之间的对齐概率。
对于步骤S501,具体的计算过程可以参见上述两个实施例,这里不再展开介绍。
步骤S502:根据对齐概率,确定与源文本段S中各个源文本句对应的目标文本句的排列顺序。
对于步骤S502,值得一提的是,对齐文本按照相互对齐句子的排列规律可以分为以下两种:单调对齐文本,非单调对齐文本。如图6 所示,单调对齐文本中两种语言文本中互为翻译,即对齐的两个句子以相似的顺序出现在文本相似的位置,一般不会出现交叉对齐的情况。而非单调对齐文本,在两种语言文本中允许存在任意交叉对齐的情况。
图6的(a)中显示了没有交叉对齐句对的单调对齐文本,(b)中则显示了具有任意交叉对齐句对的非单调对齐文本。
在对齐过程中,需要区分以上两种类型来选择不同的对齐算法生成最终对齐结果,具体如下:
对于单调对齐文本,可以采用动态规划算法来找到最优对齐。算法描述如下,其中,I表示源文本段的第I个句子,J表示目标文本段的第J个句子:
其中,A(I,J)表示源文本第1个句子到第I个句子与目标文本中第1个句子到第J个句子的最优对齐概率值;sim()表示两个句子对齐的概率值;φ表示空,如sim(I,φ)表示第I个句子不与任何句子对齐的概率值。
对于非单调对齐文本,可以采用启发式搜索算法来找到最终对齐。首先,求出两个文本中两两对齐的概率矩阵;然后,找到其中最大值所在的行和列,生成一个对齐句子,并将该行和列的所有值置为 0;重复以上步骤,直到概率矩阵全为0。
以上对文本段的句子对齐过程进行了概括性的描述,现有的大多数句子对齐方法都遵循单调性假设,这使得句子对齐方法可以通过动态规划等启发式算法获得较高的对齐性能。然而,在进行句子对齐的过程中,文本的单调性并不能够得到保证。通过现有工具来对齐非单调文本,对齐性能较差,而本实施例对单调文本的句子对其性能较强,就此本实施例进行了实验以证明本发明的对其性能优于现有的句子对齐方法或工具,参见表1和表2,下面是具体的实验结果:
实验结果1:双向循环神经网络(RNN):
表1给出了RNN(avgRNN)和structRNN模型在非单调文本上的对齐性能,整体的F1值(All)分别是57.18、77.40。avgRNN是根据双向循环神经网络的输出结果直接对句对进行分类,structRNN是在双向循环神经网络中加入注意力机制,从它们的测试性能上可以看出,简单的神经网络有能力捕获句对的语义信息,从而抽取出双语语料中的对齐句对。
实验结果:2:词对关系网络(WPRN):
表1同时给出了词对关系网络(WPRN)在非单调文本上的对齐性能,整体的F1值达到93.33,并且一对一对齐的性能达到96.18,远高于双向循环神经网络的性能。这表明了本发明提出的词对关系网络能够有效地计算词对间相关性分数,并且能够很好地抽取出句对间具有强烈语义信息的部分,为判断句子对齐提供有力证据。同时也说明了词对关系是判断句子是否对齐的至关重要的部分。
实验结果3:词典(*Dict):
表1给出了使用词典(*Dict)和不使用词典的模型在非单调文本上的对齐性能。从表中可以看出avgRNN、structRNN和WPRN在使用词典的情况下,整体的F1值分别提高了10.54、3.53和3.18。结果表明,将词典信息融入到编码过程中,使原始句子中的每个单词获得包含其翻译信息的表示,能够有效地提高句子对齐的性能。
表1
同时,表2给出了使用词典的模型在单调文本上的对齐性能,可以看出这三种模型都获得了非常高的性能,都获得了99.0左右的性能,进一步说明了词典信息的有效性。
表2
4)与现有句子对齐工具比较:
Moore、Gargantua和Champollion是与本发明对比的三个现有句子对齐工具,表1和表2分别给出了它们在非单调文本和单调文本上的对齐性能。结果表明,现有的句子对齐工具不适用于处理非单调对齐文本,获得的F1值最高仅有21.3,而本发明的F1值可达到96.51。同时,在单调文本上,本发明也取得了最高的性能(此处,采用与现有工具相同的动态规划算法)。这说明了本发明提出的基于词对及其翻译建模的句子对齐方法能够提高句子对齐的性能,并且在对齐非单调文本上有着突出的表现。
下面对本发明实施例提供的一种基于词对和翻译判断句子是否对齐的装置进行介绍,下文描述的一种基于词对和翻译判断句子是否对齐的装置与上文描述的一种基于词对和翻译判断句子是否对齐的方法可相互对应参照。
参见图7,该装置实施例具体包括:
文本句确定模块701:用于确定待判断的源文本句s与目标文本句t。
分词模块702:用于对源文本句s进行分词,得到包括多个源文本词的源文本词序列(s1,s2,…,sm),并对目标文本句t进行分词,得到包括多个目标文本词的目标文本词序列(t1,t2,…,tn),其中,m为所述源文本句中所述源文本词的数量,n为所述目标文本句中所述目标文本词的数量。
翻译文本词确定模块703:用于分别确定与各个所述源文本词对应的翻译文本词,得到翻译文本词序列(d1,d2,…,dm),所述翻译文本词与所述目标文本句为同一语种。
源文本词序列更新模块704:用于根据所述翻译文本词序列更新所述源文本词序列,得到源文本词序列(s1,d1,s2,d2,…,sm,dm)。
隐藏状态计算模块705:用于利用双向循环卷积神经网络,计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列 (hs1,hs2,…,hsm),并计算所述目标文本词序列中各个目标文本词的隐藏状态,得到目标隐藏状态序列(ht1,ht2,…,htn)。
判断模块706:用于根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐。
本实施例的一种基于词对和翻译判断句子是否对齐的装置用于实现前述的一种基于词对和翻译判断句子是否对齐的方法,因此该装置中的具体实施方式可见前文中的一种基于词对和翻译判断句子是否对齐的方法的实施例部分,例如,文本句确定模块701、分词模块702、翻译文本词确定模块703、源文本词序列更新模块704、隐藏状态计算模块705、判断模块706,分别用于实现上述一种基于词对和翻译判断句子是否对齐的方法中步骤S101,S102,S103,S104,S105,S106。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的一种基于词对和翻译判断句子是否对齐的装置用于实现前述的一种基于词对和翻译判断句子是否对齐的方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本发明还提供了一种基于词对和翻译判断句子是否对齐的设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的一种基于词对和翻译判断句子是否对齐的方法的步骤。
最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种基于词对和翻译判断句子是否对齐的方法的步骤。
本发明提供的一种基于词对和翻译判断句子是否对齐的设备、以及计算机可读存储介质用于实现前述的一种基于词对和翻译判断句子是否对齐的方法,因此该设备及计算机可读存储介质的具体实施方式可见前文中的一种基于词对和翻译判断句子是否对齐的方法的实施例部分,这里不再展开介绍。
另外,基于相同的原因,本发明提供的一种基于词对和翻译判断句子是否对齐的设备、以及计算机可读存储介质与前述方法实施例的作用相同,这里也不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程 ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种基于词对和翻译判断句子是否对齐的方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种基于词对和翻译判断句子是否对齐的方法,其特征在于,包括:
确定待判断的源文本句s与目标文本句t;
对源文本句s进行分词,得到包括多个源文本词的源文本词序列(s1,s2,…,sm),并对目标文本句t进行分词,得到包括多个目标文本词的目标文本词序列(t1,t2,…,tn),其中,m为所述源文本句中所述源文本词的数量,n为所述目标文本句中所述目标文本词的数量;
分别确定与各个所述源文本词对应的翻译文本词,得到翻译文本词序列(d1,d2,…,dm),所述翻译文本词与所述目标文本句为同一语种;
根据所述翻译文本词序列更新所述源文本词序列,得到源文本词序列(s1,d1,s2,d2,…,sm,dm);
计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列(hs1,hs2,…,hsm),并计算所述目标文本词序列中各个目标文本词的隐藏状态,得到目标隐藏状态序列(ht1,ht2,…,htn);
根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐;
其中,所述根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐包括:根据所述源隐藏状态序列与所述目标隐藏状态序列,计算源文本词si与目标文本词tj之间的相关性,得到所述源文本句与所述目标文本句的相关性矩阵,其中,i为1到m之间的正整数,j为1到n之间的正整数;对所述相关性矩阵进行池化层计算,得到一维向量v;利用预设多层感知器,根据所述一维向量v,判断所述源文本句与所述目标文本句是否对齐;
所述根据所述源隐藏状态序列与所述目标隐藏状态序列,计算源文本词si与目标文本词tj之间的相关性包括:从多个角度分别计算源文本词si与目标文本词tj之间的相关性;
所述对所述相关性矩阵进行池化层计算,得到一维向量v包括:分别对每种角度计算得到的所述源文本句与所述目标文本句的相关性矩阵执行一次最大池化,得到相应的最具信息量的相关性矩阵;将所有所述最具信息量的相关性矩阵平铺成一个二维矩阵,并执行一次最大池化操作,得到一维向量v。
2.如权利要求1所述的方法,其特征在于,所述从多个角度分别计算源文本词si与目标文本词tj之间的相关性包括:
基于余弦相似度,计算源文本词si与目标文本词tj之间的夹角余弦值;
基于双线性模型,计算源文本词si与目标文本词tj之间的强线性关系;
基于单层神经网络,计算源文本词si与目标文本词tj之间的非线性关系。
3.如权利要求1所述的方法,其特征在于,所述计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列(hs1,hs2,…,hsm)包括:
利用前向循环神经网络从左到右读取所述源文本词序列,计算所述源文本词序列中各个源文本词的前向隐藏状态,得到前向隐藏状态序列;
利用后向卷积神经网络从右到左读取所述源文本词序列,计算所述源文本词序列中各个源文本词的后向隐藏状态,得到后向隐藏状态序列;
利用门控循环单元分别更新所述前向隐藏状态序列和所述后向隐藏状态序列;
根据更新后的所述前向隐藏状态序列和所述后向隐藏状态序列,确定源隐藏状态序列(hs1,hs2,…,hsm)。
4.如权利要求1-3任意一项所述的方法,其特征在于,所述对源文本句s进行分词,得到包括多个源文本词的源文本词序列(s1,s2,…,sm)包括:
根据预先训练得到的词库,对所述源文本句进行分词,得到多个源文本词;
预先确定所述词库中各个词的词嵌入,确定词嵌入库;
根据所述词嵌入库,分别确定各个所述源文本词的词嵌入;
根据所述源文本词的词嵌入,确定所述源文本词序列(s1,s2,…,sm)。
5.如权利要求4所述的方法,其特征在于,所述分别确定与各个所述源文本词对应的翻译文本词包括:
预先利用Giza++确定所述词库中各个词的翻译,得到双语词典;
根据所述双语词典,分别确定与各个所述源文本词对应的翻译文本词。
6.一种基于词对和翻译判断句子是否对齐的装置,其特征在于,包括:
文本句确定模块:用于确定待判断的源文本句s与目标文本句t;
分词模块:用于对源文本句s进行分词,得到包括多个源文本词的源文本词序列(s1,s2,…,sm),并对目标文本句t进行分词,得到包括多个目标文本词的目标文本词序列(t1,t2,…,tn),其中,m为所述源文本句中所述源文本词的数量,n为所述目标文本句中所述目标文本词的数量;
翻译文本词确定模块:用于分别确定与各个所述源文本词对应的翻译文本词,得到翻译文本词序列(d1,d2,…,dm),所述翻译文本词与所述目标文本句为同一语种;
源文本词序列更新模块:用于根据所述翻译文本词序列更新所述源文本词序列,得到源文本词序列(s1,d1,s2,d2,…,sm,dm);
隐藏状态计算模块:用于利用双向循环卷积神经网络,计算所述源文本词序列中各个源文本词的隐藏状态,得到源隐藏状态序列(hs1,hs2,…,hsm),并计算所述目标文本词序列中各个目标文本词的隐藏状态,得到目标隐藏状态序列(ht1,ht2,…,htn);
判断模块:用于根据所述源隐藏状态序列与所述目标隐藏状态序列,判断所述源文本句与所述目标文本句是否对齐;
其中,所述判断模块,还用于根据所述源隐藏状态序列与所述目标隐藏状态序列,计算源文本词si与目标文本词tj之间的相关性,得到所述源文本句与所述目标文本句的相关性矩阵,其中,i为1到m之间的正整数,j为1到n之间的正整数;对所述相关性矩阵进行池化层计算,得到一维向量v;利用预设多层感知器,根据所述一维向量v,判断所述源文本句与所述目标文本句是否对齐;
所述装置,还用于从多个角度分别计算源文本词si与目标文本词tj之间的相关性;
所述装置,还用于分别对每种角度计算得到的所述源文本句与所述目标文本句的相关性矩阵执行一次最大池化,得到相应的最具信息量的相关性矩阵;将所有所述最具信息量的相关性矩阵平铺成一个二维矩阵,并执行一次最大池化操作,得到一维向量v。
7.一种基于词对和翻译判断句子是否对齐的设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-5任意一项所述的一种基于词对和翻译判断句子是否对齐的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任意一项所述的一种基于词对和翻译判断句子是否对齐的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811094517.6A CN109325242B (zh) | 2018-09-19 | 2018-09-19 | 基于词对和翻译判断句子是否对齐的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811094517.6A CN109325242B (zh) | 2018-09-19 | 2018-09-19 | 基于词对和翻译判断句子是否对齐的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109325242A CN109325242A (zh) | 2019-02-12 |
CN109325242B true CN109325242B (zh) | 2023-06-13 |
Family
ID=65265300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811094517.6A Active CN109325242B (zh) | 2018-09-19 | 2018-09-19 | 基于词对和翻译判断句子是否对齐的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109325242B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069787A (zh) * | 2019-03-07 | 2019-07-30 | 永德利硅橡胶科技(深圳)有限公司 | 基于语音的全语通的实现方法及相关产品 |
CN111797631B (zh) * | 2019-04-04 | 2024-06-21 | 北京猎户星空科技有限公司 | 信息处理方法、装置及电子设备 |
CN110362820B (zh) * | 2019-06-17 | 2022-11-01 | 昆明理工大学 | 一种基于Bi-LSTM算法的老汉双语平行句子抽取方法 |
CN111553174A (zh) * | 2020-04-02 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 基于人工智能的句子翻译方法、装置 |
CN111597826B (zh) * | 2020-05-15 | 2021-10-01 | 苏州七星天专利运营管理有限责任公司 | 一种辅助翻译中处理术语的方法 |
CN112257472B (zh) * | 2020-11-13 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种文本翻译模型的训练方法、文本翻译的方法及装置 |
CN112766002A (zh) * | 2021-01-14 | 2021-05-07 | 语联网(武汉)信息技术有限公司 | 基于动态规划的文本对齐方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855263A (zh) * | 2011-06-30 | 2013-01-02 | 富士通株式会社 | 一种对双语语料库进行句子对齐的方法及装置 |
-
2018
- 2018-09-19 CN CN201811094517.6A patent/CN109325242B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855263A (zh) * | 2011-06-30 | 2013-01-02 | 富士通株式会社 | 一种对双语语料库进行句子对齐的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于词对建模的句子对齐研究;丁颖等;《计算机工程》;20190630;第45卷(第6期);第211页-217页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109325242A (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325242B (zh) | 基于词对和翻译判断句子是否对齐的方法、装置及设备 | |
CN108804530B (zh) | 对图像的区域加字幕 | |
CN106202010B (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN111783462A (zh) | 基于双神经网络融合的中文命名实体识别模型及方法 | |
WO2020062770A1 (zh) | 一种领域词典的构建方法、装置、设备及存储介质 | |
CN111914097A (zh) | 基于注意力机制和多层级特征融合的实体抽取方法与装置 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN111985228B (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
JP2005158010A (ja) | 分類評価装置・方法及びプログラム | |
CN111881292B (zh) | 一种文本分类方法及装置 | |
CN113536795B (zh) | 实体关系抽取的方法、***、电子装置和存储介质 | |
CN114936287A (zh) | 预训练语言模型的知识注入方法和相应的交互*** | |
RU2712101C2 (ru) | Предсказание вероятности появления строки с использованием последовательности векторов | |
CN111597815A (zh) | 一种多嵌入命名实体识别方法、装置、设备及存储介质 | |
Sun et al. | Study on medical image report generation based on improved encoding-decoding method | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
Yu et al. | Knowledge base relation detection via multi-view matching | |
Guan et al. | Repeated review based image captioning for image evidence review | |
Mi et al. | Knowledge-aware cross-modal text-image retrieval for remote sensing images | |
Caglayan | Multimodal machine translation | |
CN113761124A (zh) | 文本编码模型的训练方法、信息检索方法及设备 | |
CN111523312A (zh) | 一种基于释义消歧的查词显示方法、装置和计算设备 | |
Pourkeshavarz et al. | Stacked cross-modal feature consolidation attention networks for image captioning | |
CN116414988A (zh) | 基于依赖关系增强的图卷积方面级情感分类方法及*** | |
CN113591493B (zh) | 翻译模型的训练方法及翻译模型的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |