一种句子对齐方法及计算设备转让专利

申请号 : CN201911144378.8

文献号 : CN112825109A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张志博王捷

申请人 : 南京贝湾信息科技有限公司

摘要 :

本发明公开了一种句子对齐方法,包括步骤:对第一文本和第二文本分别进行分句处理,以对应生成多条关于第一文本和第二文本的第一句子和第二句子,其中第一文本和第二文本为分别采用第一语言和第二语言表述的同一文本;利用相似度评估模型处理所述第一句子和第二句子,以生成每条第一句子与第二句子的相似度值;以及通过为每个第一句子匹配与其相似度值最大的第二句子,来将多条第一句子和第二句子进行对齐。本发明一并公开了用于执行上述方法的计算设备。

权利要求 :

1.一种句子对齐方法,所述方法适于在计算设备中执行,所述方法包括步骤:对第一文本和第二文本分别进行分句处理,以对应生成多条关于第一文本和第二文本的第一句子和第二句子,其中所述第一文本和第二文本为分别采用第一语言和第二语言表述的同一文本;

利用相似度评估模型处理所述第一句子和第二句子,以生成每条第一句子与第二句子的相似度值;以及

通过为每个第一句子匹配与其相似度值最大的第二句子,来将多条第一句子和第二句子进行对齐。

2.如权利要求1所述的方法,其中,所述相似度评估模型通过已对齐的分别以第一语言和第二语言表述的句子为训练样本训练得出。

3.如权利要求2所述的方法,其中,训练生成相似度评估模型的步骤包括:采集多个以第一语言表述的第一训练句子和多个以第二语言表述的第二训练句子作为训练样本,且将已对齐的一个第一训练句子和一个第二训练句子作为一个句子对;

对各第一训练句子和各第二训练句子分别进行句嵌入学习,生成各自的句特征向量;

对属于一个句子对的第一训练句子和第二训练句子的句特征向量进行线性变换,直到满足预设条件时,生成相似度评估模型。

4.如权利要求3所述的方法,其中,所述对各第一训练句子和各第二训练句子分别进行句嵌入学习,生成各自的句特征向量的步骤包括:利用语言模型对各第一训练句子和各第二训练句子分别进行处理,以输出各句子对应的多个词向量;

对于各句子,利用所述多个词向量生成句特征向量。

5.如权利要求3或4所述的方法,其中,所述预设条件为属于一个句子对的第一训练句子和第二训练句子的句特征向量的距离最小或距离不再变化。

6.如权利要求3-5中任一项所述的方法,其中,所生成的句特征向量的长度是固定的。

7.如权利要求4所述的方法,其中,所述语言模型为通过构建预训练模型,对所述预训练模型进行训练得到。

8.如权利要求7所述的方法,其中,所述预训练模型为遮蔽语言模型。

9.一种计算设备,包括:

至少一个处理器;和

存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。

10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述的方法。

说明书 :

一种句子对齐方法及计算设备

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及句子对齐方法及计算设备。

背景技术

[0002] 生活中存在着大量的双语文本,比如双语报刊、书籍的不同语言翻译版本。大量译者将不同文本翻译成自己的母语,来帮助信息更好地传播。
[0003] 由于在文本翻译过程中,译者会根据语义和语境来调整句子顺序、组成甚至段落结构,以符合不同语言的地道表达习惯。故,在双语版书籍或一些软件应用中,通常是以章
节或篇章为单位,呈现翻译文本的双语对比,也就是,以章节或篇章为单位,将双语文本进
行对齐。
[0004] 但对于用户来说,更希望能够获取细粒度的双语对齐,如基于句子的对齐。在现有方案中,只能提供将一整篇文章自动拆分成句子的功能,双语句子的对齐,在实际执行时仍
然需要人工操作。因此,获取句对齐双语文本需要大量借助人工,耗时耗力。例如,某销售量
超过四百万的单词书,为了从考研真题中抽取句子以及对应的翻译作为例句,处理10万级
别的句子总计花费了10个人工共3个月的时间。
[0005] 综上,需要一种自动为双语文本进行句子对齐的方案。

发明内容

[0006] 为此,本发明提供了一种句子对齐的方案,以力图解决或至少缓解上面存在的至少一个问题。
[0007] 根据本发明的一个方面,提供了一种句子对齐方法,适于在计算设备中执行,且包括步骤:对第一文本和第二文本分别进行分句处理,以对应生成多条关于第一文本和第二
文本的第一句子和第二句子,其中第一文本和第二文本为分别采用第一语言和第二语言表
述的同一文本;利用相似度评估模型处理所述第一句子和第二句子,以生成每条第一句子
与第二句子的相似度值;以及通过为每个第一句子匹配与其相似度值最大的第二句子,来
将多条第一句子和第二句子进行对齐。
[0008] 可选地,在根据本发明的方法中,相似度评估模型通过已对齐的分别以第一语言和第二语言表述的句子为训练样本训练得出。
[0009] 可选地,在根据本发明的方法中,训练生成相似度评估模型的步骤包括:采集多个以第一语言表述的第一训练句子和多个以第二语言表述的第二训练句子作为训练样本,且
将已对齐的一个第一训练句子和一个第二训练句子作为一个句子对;对各第一训练句子和
各第二训练句子分别进行句嵌入学习,生成各自的句特征向量;对属于一个句子对的第一
训练句子和第二训练句子的句特征向量进行线性变换,直到满足预设条件时,生成相似度
评估模型。
[0010] 可选地,在根据本发明的方法中,对各第一训练句子和各第二训练句子分别进行句嵌入学习,生成各自的句特征向量的步骤包括:利用语言模型对各第一训练句子和各第
二训练句子分别进行处理,以输出各句子对应的多个词向量;对于各句子,利用多个词向量
生成句特征向量。
[0011] 可选地,在根据本发明的方法中,预设条件为属于一个句子对的第一训练句子和第二训练句子的句特征向量的距离最小或距离不再变化。
[0012] 可选地,根据本发明的方法中,所生成的句特征向量的长度是固定的。
[0013] 可选地,根据本发明的方法中,语言模型为通过构建预训练模型,对预训练模型进行训练得到。
[0014] 可选地,根据本发明的方法中,预训练模型为遮蔽语言模型。
[0015] 根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于
执行如上所述任一方法的指令。
[0016] 根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上所述的任一方法。
[0017] 根据本发明的句对齐方案,对于给定的双语文本(即,第一文本和第二文本),通过相似度评估模型来计算其中单句的相似情况,并基于相似情况自动生成句对齐的结果。根
据本发明的方案能够有效降低机器翻译中的人工成本。

附图说明

[0018] 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面
旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述
以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的
部件或元素。
[0019] 图1示出了根据本发明一个实施例的计算设备100的示意图;
[0020] 图2示出了根据本发明一个实施例的句子对齐方法200的流程示意图;以及
[0021] 图3示出了根据本发明实施例的一个文章显示界面的示意图。

具体实施方式

[0022] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例
所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
[0023] 本发明的句子对齐方案适于在一个或一组计算设备中执行,即,在一个或一组计算设备中完成利用已对齐的大量双语句子来训练生成相似度评估模型的过程、以及利用训
练好的相似度评估模型将双语文本中的所有句子都进行对齐的过程等。计算设备例如可以
是服务器(例如Web服务器、应用服务器等),桌面计算机和笔记本计算机等个人计算机,手
机、平板电脑、智能可穿戴设备等便携式移动设备等,但不限于此。根据一种优选的实施例,
本发明的句子对齐方案在计算设备中执行,例如,计算设备可以实现为Parameter Server
架构的分布式系统。
[0024] 图1示出了根据本发明一个实施例的计算设备100的示意图。如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总
线108可以用于在处理器104和系统存储器106之间的通信。
[0025] 取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如
一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心
114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、
数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器
104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
[0026] 取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储
器106可以包括操作系统120、一个或者多个应用122以及程序124。在一些实施方式中,应用
122可以布置为在操作系统上由一个或多个处理器104利用程序124执行指令。
[0027] 计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例
的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由
一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外
设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于
经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸
输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设
备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一
个或者多个其他计算设备162通过网络通信链路的通信。
[0028] 网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可
以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者
多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可
以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外
(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存
储介质和通信介质二者。
[0029] 在根据本发明的计算设备100中,应用122包括执行句子对齐方法200的多条程序指令,程序124还可以包括训练样本、预训练模型参数等数据。
[0030] 图2示出了根据本发明一些实施例的句子对齐方法200的流程示意图。方法200对双语文本在句子级别上进行对齐。双语文本可以是针对由若干个段落组成的文本(如,一篇
文章、一本书等)的两种不同语言的翻译版本。如,将文章A的中文文本作为第一文本,其英
文翻译文本作为第二文本,当然,语言并不限于中英文。
[0031] 方法200始于步骤S210。在步骤S210中,对第一文本和第二文本分别进行分句处理,以对应生成多条关于第一文本和第二文本的第一句子和第二句子。如前文所述,第一文
本和第二文本为分别采用第一语言和第二语言表述的同一文本。
[0032] 根据本发明的一些实施例,可采用现有的一些自然语言处理的工具库来对第一文本(或第二文本)进行分句处理,得到第一文本(或第二文本)的所有单句,将每个单句作为
一个第一句子(或第二句子)。应当指出,对第一文本和第二文本的分句处理,采用同样的工
具库,例如NLTK(Natural Language Toolkit,自然语言处理工具包)、spaCy(Python和
Cython中的高级自然语言处理库)等。应当指出,任何已知或未来可知的分句算法均可以与
本发明的实施例相结合,以实现根据本发明实施例的方法200,本发明实施例对此不做限
制。
[0033] 随后在步骤S220中,利用相似度评估模型处理第一句子和第二句子,以生成每条第一句子与第二句子的相似度值。具体来说,利用相似度评估模型,计算第一文本中的每个
第一句子和第二文本中的每个第二句子的相似度值。
[0034] 在根据本发明的实施例中,该相似度评估模型通过已对齐的分别以第一语言和第二语言表述的句子为训练样本训练得出。故,方法200还包括训练生成相似度评估模型的步
骤。以下示出训练生成相似度评估模型的过程。
[0035] 首先,采集大量的已进行句对齐的双语语料,即,采集多个以第一语言表述的第一训练句子和多个以第二语言表述的第二训练句子作为训练样本,且将已对齐的一个第一训
练句子和一个第二训练句子作为一个句子对。如句子“I have an apple.”和“我有一个苹
果。”就是一个句子对。
[0036] 接着,对各第一训练句子和各第二训练句子分别进行句嵌入学习,生成各自的句特征向量。
[0037] 根据一种实施例,使用contextualized sentence embedding(基于上下文的句嵌入方法)来进行句嵌入学习。通过构建预训练模型,对该预训练模型进行训练得到语言模
型。在根据本发明的实施例中,针对每一种语言,均可以训练生成一个对应的语言模型。这
样,利用各自的语言模型,对各第一训练句子和各第二训练句子分别进行处理,以输出各句
子对应的多个词向量。然后,对于各句子,利用其对应的多个词向量,分别生成各句子的句
特征向量。
[0038] 在一种实施例中,预训练模型为遮蔽语言模型(Masked Language Model)。其与BERT类似,模型的构建均是基于Transformer架构。在训练过程中,对第一训练句子,随机遮
蔽一定比例的词,由遮蔽语言模型仅基于被遮蔽词的语境来预测出被遮蔽词。同样,对第二
训练句子,随机遮蔽一定比例的词,由遮蔽语言模型仅基于被遮蔽词的语境来预测出被遮
蔽词。
[0039] 在训练出关于第一语言的语言模型和关于第二语言的语言模型后,将一个待处理的句子(如第一训练句子或第二训练句子)输入对应的语言模型中,就得到每个词的词向
量。将各词的词向量相连接,得到关于该待处理句子的句特征向量。
[0040] 特别地,句特征向量的长度是固定的。因此,还会对所生成的句特征向量进行处理,以使其达到固定长度。一般地,若句特征向量没有达到固定长度,则通过补0的方式使其
达到固定长度;若句特征向量的长度超过固定长度,则将超出部分截断。
[0041] 最后,对属于一个句子对的第一训练句子和第二训练句子的句特征向量进行线性变换,直到满足预设条件时,生成相似度评估模型。
[0042] 在根据本发明的实施例中,预设条件为属于一个句子对的第一训练句子和第二训练句子的句特征向量的距离最小或距离不再变化。也就是说,通过对属于一个句子对的两
个句特征向量的多次线性变换,使变换后的两个句特征向量在高维向量空间中尽可能接
近,从而训练出相似度评估模型。
[0043] 应当指出,此处采用线性变换的方式来对句特征向量进行调整,是基于作为训练样本的双语语料足够多,即训练样本足够大,能够覆盖足够丰富的语义。在语料足够大的情
况下,经句嵌入学习后生成的句特征向量,在向量空间上两种语言的词间的相对位置是相
似的,只需要做简单的线性变换,两个语言模型输出的词嵌入结果就接近对齐。
[0044] 随后在步骤S230中,通过为每个第一句子匹配与其相似度值最大的第二句子,来将多条第一句子和第二句子进行对齐。
[0045] 在一种实施例中,针对每个第一句子,根据其与每个第二句子的相似度值,选取相似度值最大的第二句子,作为与该第一句子相对齐的第二句子。当然,也可以针对每个第二
句子,根据其与每个第一句子的相似度值,选取相似度值最大的第一句子,作为与该第二句
子相对齐的第一句子。本发明的实施例对此不做过多限制,只要基于相似度值,确定出每个
相对齐的第一句子与第二句子即可。
[0046] 在另一些实施例中,在将第一句子和第二句子对齐后,还可以利用人工来对对齐的句子进行复审,以修正可能给出的错误结果。
[0047] 在再一些实施例中,经步骤S230输出的句对齐结果又可以作为训练样本,来再次训练相似度评估模型,以实现对模型的更新。
[0048] 根据本发明的句对齐方案,对于给定的双语文本(即,第一文本和第二文本),通过相似度评估模型来计算其中单句的相似情况,并基于相似情况自动生成句对齐的结果。根
据本发明的方案能够有效降低机器翻译中的人工成本。
[0049] 基于本发明的方案能够应用于大量机器翻译的场景中。如图3示出了一个文章显示界面的示意图。该显示界面可以是来自于用于阅读的客户端应用,不限于此。该客户端应
用中预存有基于方法200所生成的英文原著与对应中文翻译的句对齐结果。当用户阅读该
英文文章时,可以通过选中某个句子或某几个句子,来显示其对应的中文翻译,极大地提高
了用户体验。
[0050] 这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可
移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的
形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践
本发明的设备。
[0051] 在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至
少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器
中存储的所述程序代码中的指令,执行本发明的方法。
[0052] 以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载
波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它
数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0053] 在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类
系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可
以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为
了披露本发明的最佳实施方式。
[0054] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结
构和技术,以便不模糊对本说明书的理解。
[0055] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施
例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保
护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的
权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵
循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都
作为本发明的单独实施例。
[0056] 本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备
不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个
子模块。
[0057] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单
元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或
子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何
组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任
何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权
利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代
替。
[0058] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的
范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任
意之一都可以以任意的组合方式来使用。
[0059] 此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法
元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在
此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行
的功能。
[0060] 如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必
须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0061] 尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,
本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限
定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本
技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本
发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。