CN111062206A - 一种子词单元的拆分方法、装置及计算机可读存储介质 - Google Patents
一种子词单元的拆分方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111062206A CN111062206A CN201811204152.8A CN201811204152A CN111062206A CN 111062206 A CN111062206 A CN 111062206A CN 201811204152 A CN201811204152 A CN 201811204152A CN 111062206 A CN111062206 A CN 111062206A
- Authority
- CN
- China
- Prior art keywords
- word
- splitting
- mapping
- matrix
- input sentence
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013507 mapping Methods 0.000 claims abstract description 141
- 230000011218 segmentation Effects 0.000 claims abstract description 62
- 239000012634 fragment Substances 0.000 claims abstract description 42
- 238000013519 translation Methods 0.000 claims abstract description 42
- 230000001537 neural effect Effects 0.000 claims abstract description 27
- 238000013528 artificial neural network Methods 0.000 claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 99
- 238000012545 processing Methods 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 238000003058 natural language processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Abstract
本发明实施例提供了一种子词单元的拆分方法、装置及计算机可读存储介质。本发明实施例提供的子词单元的拆分方法,可以在分词后的输入语句的基础上,利用卷积神经网络的不同长度的卷积滤波器,获得输入语句的特征映射,进而在所获得的多个特征映射间进行特征映射片段的组合,以获得输入语句对应的映射片段组合,然后根据特征的明显程度,从这些映射片段组合中进行最优分词的选择,从而可以提高获得最优分词结果的可能性,进而提升神经机器翻译的性能。
Description
技术领域
本发明涉及自然语言处理(NLP,Natural Language Processing)中的神经机器翻译技术领域,具体涉及一种子词单元的拆分方法、装置、神经机器翻译装置及计算机可读存储介质。
背景技术
分词技术作为神经机器翻译(NMT,Neural Machine Translation)的一个重要数据处理技术,可以解决超出词典词(OOV,Out of Vocabulary)和低频词(Rare word)不能准确翻译的问题。其中,超出词典词是指不在词典中的词,低频词是指某些词典中的词在训练集中出现次数过少的词,通常无法训练得到很好的词向量。
现有的分词技术包括基于词典和语法规则的分词方法和基于统计的分词方法。其中,基于词典和语法规则的分词方法,应用词典匹配和语法知识进行分词,其原理是将文档中的字符串与词典中的词条进行逐一匹配,如果词典中找到某个字符串,则匹配成功,可以切分,否则不予切分,具体包括如逐词遍历法、最大匹配法、最小子词单元的拆分方法等。基于统计的分词方法,如基于词频统计的分词方法,通过采用词频统计的方法,根据字符在文档中出现的统计频率决定其是否构成词。
发明人发现,在应用于神经机器翻译时,以上分词方法的分词结果与最优分词结果的差异较大。因此亟需一种子词单元的拆分方法,对现有的分词结果进一步处理,以提高获得最优分词结果的可能性。
发明内容
本发明实施例要解决的技术问题是提供一种子词单元的拆分方法、装置、神经机器翻译装置及计算机可读存储介质,能够提高获得最优分词结果的可能性。
本发明实施例提供了一种子词单元的拆分方法,应用于神经机器翻译,包括:
生成分词处理后的输入语句的词表示矩阵;
通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射;
对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合;
从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果。
优选的,所述生成分词处理后的输入语句的词表示矩阵的步骤,包括:
获得分词处理后的输入语句,所述输入语句包括词以及相邻词之间的空格或标点符号;
将分词处理后的输入语句分割成字符级别的字符表示,通过词到向量word2vec模型或随机初始化模型,训练得到所述字符表示的词表示矩阵,所述词表示矩阵为词嵌入矩阵,且所述词表示矩阵的长度等于所述输入语句中的字符与空格的数量。
优选的,所述至少一个卷积滤波器的长度的取值范围从2到所述输入语句中的最大词长度,所述卷积滤波器的宽度均与所述词嵌入矩阵的宽度相同,且所述卷积滤波器的滑动步长均为1。
优选的,所述对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合的步骤,包括:
通过遍历算法,对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的所有映射片段组合。
优选的,所述从所述至少一个映射片段组合中选择出特征最明显的目标组合的步骤,包括:
针对每个映射片段组合对应的矩阵,分别计算矩阵中元素的和值,并将和值最大的矩阵所对应的映射片段组合,作为特征最明显的目标组合。
优选的,在得到所述输入语句的子词单元的拆分结果之后,所述方法还包括:
将所述和值最大的矩阵输入至神经机器翻译装置中的序列到序列模型,得到所述输入语句的翻译结果。
本发明实施例还提供了一种神经机器翻译中的子词单元拆分装置,包括:
词表示生成单元,用于生成分词处理后的输入语句的词表示矩阵;
特征映射处理单元,用于通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射;
映射片段组合单元,用于对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合;
拆分结果获得单元,用于从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果。
优选的,所述至少一个卷积滤波器的长度的取值范围从2到所述输入语句中的最大词长度,所述卷积滤波器的宽度均与所述词嵌入矩阵的宽度相同,且所述卷积滤波器的滑动步长均为1。
优选的,所述拆分结果获得单元,具体用于针对每个映射片段组合对应的矩阵,分别计算矩阵中元素的和值,并将和值最大的矩阵所对应的映射片段组合,作为特征最明显的目标组合。
优选的,所述拆分结果获得单元,还用于将所述和值最大的矩阵输入至神经机器翻译装置中的序列到序列模型,得到所述输入语句的翻译结果。
本发明实施例还提供了一种神经机器翻译装置,包括序列到序列模型,还包括如上所述的子词单元拆分装置,其中:
所述序列到序列模型,用于接收所述拆分结果获得单元得到的所述输入语句的子词单元的拆分结果,并输出所述输入语句的翻译结果。
本发明实施例还提供了一种子词单元拆分装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的子词单元的拆分方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的子词单元的拆分方法的步骤。
与现有技术相比,本发明实施例提供的子词单元的拆分方法、装置及计算机可读存储介质,利用卷积神经网络的不同长度的卷积滤波器,获得输入语句的特征映射,进而在所获得的多个特征映射间进行特征映射片段的组合,以获得输入语句对应的映射片段组合,然后根据特征的明显程度,从这些映射片段组合中进行最优分词的选择,从而可以提高获得最优分词结果的可能性,进而提升神经机器翻译的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的子词单元的拆分方法的一种流程示意图;
图2为本发明实施例中的子词单元的拆分方法的一种应用示例图;
图3为本发明实施例的子词单元拆分装置的一种结构示意图;
图4为本发明实施例的神经机器翻译装置的一种结构示意图;
图5为本发明实施例的子词单元拆分装置的另一种结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
为了帮助理解本发明实施例,首先对本发明实施例可能涉及的相关概念进行简单说明。
1)词(word)、字符(character)以及子词(subword)
词是语言中能够独立运用的最小单位,是指词在句法结构中的地位和作用而言的。例如,在英文中,词通常是指单词(word),可以包括一个或多个英文字母。另外,英文的语句表示中,词与词之间通常有空格或标点符号。在中文中,词通常是指词语,可以包括一个或多个汉字。中文的语句表示中,词和词之间通常没有边界。
字符:本文中的字符通常是指英文中的字母,中文中的汉字,以及各种标点符号(如句号、逗号等)。
子词(subword),在本文中又被称为子词单元,是介于字符与词之间的一种文本表示单元。例如,对于英文单词“homework”来说,它包括有8个字符,可能被拆分为2个子词单元,分别为“home”和“work”,还可能被拆分为3个子词单元,分别为“ho”、“me”和“work”。对于中文词语“生命探测仪”,它包括有5个字符,可能被拆分为2个子词单元,分别为“生命”和“探测仪”,还可能被拆分为3个子词单元,分别为“生命”、“探测”和“仪”。
请参照图1,本发明实施例提供的子词单元的拆分方法,适用于神经机器翻译中,具体可以应用于对英文、日文、中文等源语言进行翻译,如图1所示,该方法包括:
S101,生成分词处理后的输入语句的词表示矩阵。
这里,所述输入语句可以是英文、中文或日文等语言的文本表示。在S101中,针对经过分词处理后的输入语句进行处理,生成该输入语句的词表示矩阵。具体的,所述分词处理可以采用基于词典和语法规则的分词方法和基于词频统计的分词方法,本发明实施例对此不做具体限定。
作为一种优选方式,词表示矩阵可以是词嵌入(word embedding)矩阵。在上述S101中,可以先获得分词处理后的输入语句,所述输入语句包括词以及相邻词之间的空格或标点符号。
对于英文语句来说,通常相邻词之间存在有空格或标点符号,因此可以直接作为分词处理后的输入语句进行处理。例如,假设分词处理前的输入语句为“I love NLP”,可以直接作为分词处理后的语句,其包括有3个词,分别为:“I”、“love”和“NLP”,相邻词之间有空格。对于中文语句来说,可以利用各种分词处理方式进行分词处理,如果分词处理后的输入语句中的相邻词之间没有标点符号,则可以加入空格,对两个词的边界进行划分。例如,假设分词处理前的输入语句为“我喜欢自然语言处理”,该输入语句在分词处理后的文本表示可以是“我喜欢自然语言处理”,其包括有3个词,分别为:“我”、“喜欢”和“自然语言处理”,相邻词之间添加了空格。
然后,将分词处理后的输入语句分割成字符级别(character-level)的字符表示,通过词到向量(word2vec)模型或随机初始化模型,训练得到所述字符表示的词表示矩阵。这里,所述词表示矩阵的长度(length)为所述输入语句中的字符与空格的数量。继续上面的“I love NLP”的示例,这里得到的词表示矩阵的长度为8个字符加上2个空格,即长度为10。
S102,通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射。
这里,本发明实施例利用了卷积神经网络的卷积滤波器(即卷积核),可以基于不同长度的卷积滤波器,获得输入语句的不同特征映射(feature map)。优选的,所述多个卷积滤波器的长度可以从2到最大词长度(即长度最长的词所包括的字符的数量),宽度可以与S101中得到的词嵌入矩阵的宽度相同,并且,所述卷积滤波器的滑动步长为1。卷积滤波器的维度是超参数,取决于后续神经机器翻译模型中的编码器(decoder)。继续上面的“Ilove NLP”的示例,这里得到的最大长度的词为“love”,包括有4个字符,因此多个卷积滤波器的长度可以从2到4。
在上述S102中,本发明实施例通过每个卷积滤波器,可以获得所述输入语句的一个特征映射,该特征映射反映了输入语句的文本特征。基于多个不同词长度的卷积滤波器,可以获得所述输入语句的多个特征映射。每个特征映射包括有多个特征映射片段,每个特征映射片段对应于所述输入语句中的部分文本(包括字符和空格)。
S103,对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合。
在S103中,具体可以通过动态规划(Dynamic Programming)或其他遍历算法,对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的所有映射片段组合,每个映射片段组合中可以包括一个或多个特征映射中的特征映射片段。如前文所述,每个特征映射片段均对应于所述输入语句中的部分文本。所述输入语句对应的映射片段组合,是指该映射片段组合中的所有特征映射片段所对应的部分文本,在所述输入语句中的位置均未发生重叠,并且,该映射片段组合中的所有特征映射片段所对应的部分文本的组合,与所述输入语句相同。
S104,从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果。
在获得所述输入语句对应的至少一个映射片段组合之后,可以从这些映射片段组合中选择一个特征最明显的映射片段组合,作为目标组合,该目标组合中的每个特征映射片段所对应的部分文本,就是所述输入语句的一种子词单元的拆分结果,该拆分结果相比于传统的分词结果,能够更加接近于最优的分词结果。
具体的,在S104中,选择特征最明显的映射片段组合时,可以针对每个映射片段组合对应的矩阵,分别计算矩阵中所有元素的和值,并将和值最大的矩阵所对应的映射片段组合,作为特征最明显的目标组合。
通过以上步骤,本发明实施例可以在分词后的输入语句的基础上,进一步利用卷积神经网络的卷积滤波器,获得不同词长度下的特征映射,进而通过特征映射片段的组合,得到各种可能的子词单元的拆分结果,最后从中选择出特征最为明显的拆分结果,作为后续神经机器翻译装置的输入,可以使得分词结果更加趋于最优分词结果,进而提升后续机器翻译的翻译性能。
优选的,本发明实施例中,在上述S104之后,还可以将所述和值最大的矩阵输入至神经机器翻译装置中的序列到序列(seq2seq)模型,得到所述输入语句的翻译结果。
为帮助理解以上内容,本发明实施例通过图2展示了前文的“I love NLP”的示例的拆分过程。图2中,词嵌入矩阵201表示分词处理后的输入语句“I love NLP”的词嵌入矩阵,词嵌入矩阵201中的长度为10,在图2中对应10个小方块,其中每个小方块表示输入语句经字符级分割所得到的每个字符或空格对应的词嵌入矩阵,为便于理解,在每个小方块中示出了该词嵌入矩阵所对应的字符或空格。
输入语句“I love NLP”中具有最大长度的词为love,包括有4个字符,因此,卷积滤波器的长度从2~4。图2中给出了长度从2~4的3种卷积滤波器。其中,卷积滤波器202为长度为2的卷积滤波器,卷积滤波器203为长度为3的卷积滤波器,卷积滤波器204为长度为4的卷积滤波器。上述卷积滤波器的宽度与词嵌入矩阵的宽度相同,卷积滤波器的维度是取决于编码器(encoder)的循环神经网络模型(RNN,Recurrent Neural Network),卷积滤波器的步长为1,即每次移动一个字符或空格。
在获得输入语句“I love NLP”的词嵌入矩阵201后,通过上述卷积滤波器202~204,分别对词嵌入矩阵201进行卷积处理,获得所述输入语句的3个特征映射,分别为特征映射205~207。
具体的,词嵌入矩阵201经卷积滤波器202的卷积处理后,得到输入语句的一个特征映射205,特征映射205长度为9,包括有9个特征映射片段,在图2中对应11~19共9个小方块,其中每个特征映射片段表示输入语句中的连续的2个字符(或1个字符与1个空格)对应的词嵌入矩阵与卷积滤波器202的卷积结果,例如,特征映射片段11表示“I+空格”所对应的词嵌入矩阵与卷积滤波器202的卷积结果,特征映射片段16表示“字符e+空格”所对应的词嵌入矩阵与卷积滤波器202的卷积结果。
类似的,词嵌入矩阵201经卷积滤波器203的卷积处理后,得到输入语句的一个特征映射206,特征映射206长度为8,包括有8个特征映射片段,在图2中对应21~28共8个小方块,其中每个特征映射片段表示输入语句中的连续的3个字符(或2个字符与1个空格)对应的词嵌入矩阵与卷积滤波器203的卷积结果,例如,特征映射片段23表示“lov”所对应的词嵌入矩阵与卷积滤波器203的卷积结果,特征映射片段28表示“NLP”所对应的词嵌入矩阵与卷积滤波器203的卷积结果。
词嵌入矩阵201经卷积滤波器204的卷积处理后,得到输入语句的一个特征映射207,特征映射207长度为7,包括有7个特征映射片段,在图2中对应31~37共7个小方块,其中每个特征映射片段表示输入语句中的4个字符(或3个字符与1个空格)对应的词嵌入矩阵与卷积滤波器204的卷积结果,例如,特征映射片段33表示“love”所对应的词嵌入矩阵与卷积滤波器204的卷积结果,特征映射片段37表示“空格+NLP”所对应的词嵌入矩阵与卷积滤波器204的卷积结果。
在获得输入语句“I love NLP”的3个特征映射后,可以对这些特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合。例如,由特征映射片段11、23、16和28组合的映射片段组合208,其包括的特征映射片段对应的文本刚好为输入语句“I love NLP”。又例如,由特征映射片段11、33和37组合的映射片段组合209,其包括的特征映射片段对应的文本也刚好为输入语句“I love NLP”。可以通过动态规划的方法,找到所述输入语句的所有的映射片段组合。然后,从这些映射片段组合中选择出特征最明显的映射片段组合,该映射片段组合本身就是一个矩阵,例如可以通过对矩阵的所有元素求和的方式,寻找和值最大的矩阵,作为目标组合,得到字词拆分的拆分结果。进一步的,还可以将上述目标组合输入至序列到序列(seq2seq)模型中的编码器,通过神经机器翻译模型对输入语句进行从源语言到目标语言的翻译,获得所述输入语句在目标语言中的翻译结果。
基于以上实施例所提供的子词单元的拆分方法,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的子词单元的拆分方法的方法中的步骤。
基于以上方法,本发明实施例还提供了实施上述方法的装置,请参考图3,本发明实施例提供的子词单元拆分装置302,可以应用于神经机器翻译中对分词处理后的输入语句进行进一步的子词拆分处理,如图3所示,该子词单元拆分装置302包括:
词表示生成单元3021,用于生成分词处理后的输入语句的词表示矩阵;
特征映射处理单元3022,用于通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射;
映射片段组合单元3023,用于对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合;
拆分结果获得单元3024,用于从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果。
优选的,所述词表示生成单元3021,具体用于获得分词处理后的输入语句,所述输入语句包括词以及相邻词之间的空格或标点符号;将分词处理后的输入语句分割成字符级别的字符表示,通过词到向量word2vec模型或随机初始化模型,训练得到所述字符表示的词表示矩阵,所述词表示矩阵为词嵌入矩阵,且所述词表示矩阵的长度等于所述输入语句中的字符与空格的数量。
这里,所述多个卷积滤波器的长度的取值范围从2到所述输入语句中的最大词长度,所述卷积滤波器的宽度与所述词嵌入矩阵的宽度相同,且所述卷积滤波器的滑动步长为1。
优选的,所述映射片段组合单元3023,具体用于通过动态规划算法,对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的所有映射片段组合。
优选的,所述拆分结果获得单元3024,具体用于针对每个映射片段组合对应的矩阵,分别计算矩阵中元素的和值,并将和值最大的矩阵所对应的映射片段组合,作为特征最明显的目标组合。
优选的,所述拆分结果获得单元3024,还可以用于将所述和值最大的矩阵输入至神经机器翻译装置中的序列到序列模型,得到所述输入语句的翻译结果。
基于上述子词单元拆分装置,本发明实施例还提供了一种神经机器翻译装置300,如图4所示,该神经机器翻译装置300包括分词装置301、子词单元拆分装置302以及序列到序列模型303,其中,子词单元拆分装置302的具体结构可以参考图3所示。序列到序列模型303又具体包括编码器3031和解码器3032。其中,
所述分词装置301,用于接收输入语句,对输入语句进行分词处理后输出至子词单元拆分装置302。
所述子词单元拆分装置302中的词表示生成单元,用于接收分词装置301发送的分词处理后的输入语句,生成分词处理后的输入语句的词表示矩阵。
所述子词单元拆分装置302中的特征映射处理单元,用于通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射;
所述子词单元拆分装置302中的映射片段组合单元,用于对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合;
所述子词单元拆分装置302中的拆分结果获得单元,用于从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果并输入至序列到序列模型303。
所述序列到序列模型303,用于接收所述拆分结果获得单元得到的所述输入语句的子词单元的拆分结果,并输出所述输入语句的翻译结果。
请参考图5,本发明实施例还提供了子词单元拆分装置的一种硬件结构框图,如图5所示,该子词单元拆分装置500包括:
处理器502;和
存储器504,在所述存储器504中存储有计算机程序指令,
其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器502执行以下步骤:
生成分词处理后的输入语句的词表示矩阵;
通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射;
对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合;
从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果。
进一步地,如图5所示,该子词单元拆分装置500还包括网络接口501、输入设备503、硬盘505、和显示设备506。
上述各个接口和设备之间可以通过总线架构互连。总线架构可以是可以包括任意数量的互联的总线和桥。具体由处理器502代表的一个或者多个中央处理器(CPU),以及由存储器504代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。
所述网络接口501,可以连接至网络(如因特网、局域网等),从网络中接收信息,并可以将接收到的信息保存在硬盘505中。
所述输入设备503,可以接收操作人员输入的各种指令,例如,针对卷积滤波器的维度的设置信息等,并发送给处理器502以供执行。所述输入设备503可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
所述显示设备506,可以将处理器502执行指令获得的结果进行显示,例如子词单元拆分结果等。
所述存储器504,用于存储操作系统运行所必须的程序和数据,以及处理器502计算过程中的中间结果等数据。
可以理解,本发明实施例中的存储器504可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。本文描述的装置和方法的存储器504旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器504存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5041和应用程序5042。
其中,操作系统5041,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5042,包含各种应用程序,例如浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序5042中。
本发明上述实施例揭示的方法可以应用于处理器502中,或者由处理器502实现。处理器502可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器502中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器502可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器504,处理器502读取存储器504中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
具体地,所述计算机程序被处理器502执行时还可实现如下步骤:
获得分词处理后的输入语句,所述输入语句包括词以及相邻词之间的空格或标点符号;
将分词处理后的输入语句分割成字符级别的字符表示,通过词到向量word2vec模型或随机初始化模型,训练得到所述字符表示的词表示矩阵,所述词表示矩阵为词嵌入矩阵,且所述词表示矩阵的长度等于所述输入语句中的字符与空格的数量。
这里,所述多个卷积滤波器的长度的取值范围从2到所述输入语句中的最大词长度,所述卷积滤波器的宽度与所述词嵌入矩阵的宽度相同,且所述卷积滤波器的滑动步长为1。
具体地,所述计算机程序被处理器502执行时还可实现如下步骤:
通过动态规划算法,对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的所有映射片段组合。
具体地,所述计算机程序被处理器502执行时还可实现如下步骤:
针对每个映射片段组合对应的矩阵,分别计算矩阵中元素的和值,并将和值最大的矩阵所对应的映射片段组合,作为特征最明显的目标组合。
具体地,所述计算机程序被处理器502执行时还可实现如下步骤:
将所述和值最大的矩阵输入至神经机器翻译装置中的序列到序列模型,得到所述输入语句的翻译结果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种子词单元的拆分方法,应用于神经机器翻译,其特征在于,包括:
生成分词处理后的输入语句的词表示矩阵;
通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射;
对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合;
从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果。
2.如权利要求1所述的拆分方法,其特征在于,所述生成分词处理后的输入语句的词表示矩阵的步骤,包括:
获得分词处理后的输入语句,所述输入语句包括词以及相邻词之间的空格或标点符号;
将分词处理后的输入语句分割成字符级别的字符表示,通过词到向量word2vec模型或随机初始化模型,训练得到所述字符表示的词表示矩阵,所述词表示矩阵为词嵌入矩阵,且所述词表示矩阵的长度等于所述输入语句中的字符与空格的数量。
3.如权利要求1所述的拆分方法,其特征在于,所述至少一个卷积滤波器的长度的取值范围从2到所述输入语句中的最大词长度,所述卷积滤波器的宽度均与所述词嵌入矩阵的宽度相同,且所述卷积滤波器的滑动步长均为1。
4.如权利要求1所述的拆分方法,其特征在于,所述对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合的步骤,包括:
通过遍历算法,对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的所有映射片段组合。
5.如权利要求1所述的拆分方法,其特征在于,所述从所述至少一个映射片段组合中选择出特征最明显的目标组合的步骤,包括:
针对每个映射片段组合对应的矩阵,分别计算矩阵中元素的和值,并将和值最大的矩阵所对应的映射片段组合,作为特征最明显的目标组合。
6.如权利要求5所述的拆分方法,其特征在于,在得到所述输入语句的子词单元的拆分结果之后,所述方法还包括:
将所述和值最大的矩阵输入至神经机器翻译装置中的序列到序列模型,得到所述输入语句的翻译结果。
7.一种神经机器翻译中的子词单元拆分装置,其特征在于,包括:
词表示生成单元,用于生成分词处理后的输入语句的词表示矩阵;
特征映射处理单元,用于通过卷积神经网络的至少一个卷积滤波器,对所述词表示矩阵进行卷积处理,获得所述输入语句的至少一个特征映射;
映射片段组合单元,用于对所述至少一个特征映射中的特征映射片段进行组合,得到所述输入语句对应的至少一个映射片段组合;
拆分结果获得单元,用于从所述至少一个映射片段组合中选择出特征最明显的目标组合,得到所述输入语句的子词单元的拆分结果。
8.如权利要求7所述的子词单元拆分装置,其特征在于,所述至少一个卷积滤波器的长度的取值范围从2到所述输入语句中的最大词长度,所述卷积滤波器的宽度均与所述词嵌入矩阵的宽度相同,且所述卷积滤波器的滑动步长均为1。
9.如权利要求7所述的子词单元拆分装置,其特征在于,
所述拆分结果获得单元,具体用于针对每个映射片段组合对应的矩阵,分别计算矩阵中元素的和值,并将和值最大的矩阵所对应的映射片段组合,作为特征最明显的目标组合。
10.如权利要求7所述的子词单元拆分装置,其特征在于,
所述拆分结果获得单元,还用于将所述和值最大的矩阵输入至神经机器翻译装置中的序列到序列模型,得到所述输入语句的翻译结果。
11.一种神经机器翻译装置,包括序列到序列模型,其特征在于,还包括如权利要求7至10中任一项所述的子词单元拆分装置,其中:
所述序列到序列模型,用于接收所述拆分结果获得单元得到的所述输入语句的子词单元的拆分结果,并输出所述输入语句的翻译结果。
12.一种子词单元拆分装置,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的子词单元的拆分方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的子词单元的拆分方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811204152.8A CN111062206B (zh) | 2018-10-16 | 2018-10-16 | 一种子词单元的拆分方法、装置及计算机可读存储介质 |
JP2019181892A JP2020064624A (ja) | 2018-10-16 | 2019-10-02 | サブワード単位の分割方法、装置及びコンピュータ読み取り可能な記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811204152.8A CN111062206B (zh) | 2018-10-16 | 2018-10-16 | 一种子词单元的拆分方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062206A true CN111062206A (zh) | 2020-04-24 |
CN111062206B CN111062206B (zh) | 2023-11-21 |
Family
ID=70296648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811204152.8A Active CN111062206B (zh) | 2018-10-16 | 2018-10-16 | 一种子词单元的拆分方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2020064624A (zh) |
CN (1) | CN111062206B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2789796C2 (ru) * | 2020-12-30 | 2023-02-10 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и сервер для обучения алгоритму машинного обучения для выполнения перевода |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069812B (zh) * | 2020-08-28 | 2024-05-03 | 喜大(上海)网络科技有限公司 | 一种分词方法、装置、设备及计算机存储介质 |
CN116052648B (zh) * | 2022-08-03 | 2023-10-20 | 荣耀终端有限公司 | 一种语音识别模型的训练方法、使用方法及训练系统 |
CN115130472B (zh) * | 2022-08-31 | 2023-02-21 | 北京澜舟科技有限公司 | 一种基于bpe的子词分割方法、系统及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145484A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于隐多粒度局部特征的中文分词方法 |
CN107145483A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于嵌入式表示的自适应中文分词方法 |
WO2017148265A1 (zh) * | 2016-02-29 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 一种单词的分割方法和装置 |
CN107506350A (zh) * | 2017-08-16 | 2017-12-22 | 京东方科技集团股份有限公司 | 一种识别信息的方法和设备 |
CN107918605A (zh) * | 2017-11-22 | 2018-04-17 | 北京百度网讯科技有限公司 | 分词处理方法、装置、移动终端及计算机可读存储介质 |
CN108268444A (zh) * | 2018-01-10 | 2018-07-10 | 南京邮电大学 | 一种基于双向lstm、cnn和crf的中文分词方法 |
CN108287858A (zh) * | 2017-03-02 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 自然语言的语义提取方法及装置 |
CN108461111A (zh) * | 2018-03-16 | 2018-08-28 | 重庆医科大学 | 中文医疗文本查重方法及装置、电子设备、计算机可读取存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102565275B1 (ko) * | 2016-08-10 | 2023-08-09 | 삼성전자주식회사 | 병렬 처리에 기초한 번역 방법 및 장치 |
-
2018
- 2018-10-16 CN CN201811204152.8A patent/CN111062206B/zh active Active
-
2019
- 2019-10-02 JP JP2019181892A patent/JP2020064624A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148265A1 (zh) * | 2016-02-29 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 一种单词的分割方法和装置 |
CN108287858A (zh) * | 2017-03-02 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 自然语言的语义提取方法及装置 |
CN107145484A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于隐多粒度局部特征的中文分词方法 |
CN107145483A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于嵌入式表示的自适应中文分词方法 |
CN107506350A (zh) * | 2017-08-16 | 2017-12-22 | 京东方科技集团股份有限公司 | 一种识别信息的方法和设备 |
CN107918605A (zh) * | 2017-11-22 | 2018-04-17 | 北京百度网讯科技有限公司 | 分词处理方法、装置、移动终端及计算机可读存储介质 |
CN108268444A (zh) * | 2018-01-10 | 2018-07-10 | 南京邮电大学 | 一种基于双向lstm、cnn和crf的中文分词方法 |
CN108461111A (zh) * | 2018-03-16 | 2018-08-28 | 重庆医科大学 | 中文医疗文本查重方法及装置、电子设备、计算机可读取存储介质 |
Non-Patent Citations (1)
Title |
---|
林颂凯 等: "基于卷积神经网络的缅甸语分词方法", vol. 32, no. 6, pages 62 - 70 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2789796C2 (ru) * | 2020-12-30 | 2023-02-10 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и сервер для обучения алгоритму машинного обучения для выполнения перевода |
Also Published As
Publication number | Publication date |
---|---|
JP2020064624A (ja) | 2020-04-23 |
CN111062206B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3767516A1 (en) | Named entity recognition method, apparatus, and computer-readable recording medium | |
CN108089974B (zh) | 利用定义的输入格式来测试应用 | |
KR102458244B1 (ko) | 기계 번역 방법 및 장치 | |
CN111626064B (zh) | 神经机器翻译模型的训练方法、装置及存储介质 | |
CN110175336B (zh) | 翻译方法、装置和电子设备 | |
CN112597753A (zh) | 文本纠错处理方法、装置、电子设备和存储介质 | |
CN111062206B (zh) | 一种子词单元的拆分方法、装置及计算机可读存储介质 | |
US11423237B2 (en) | Sequence transduction neural networks | |
CN108874765B (zh) | 词向量处理方法及装置 | |
CN111626065A (zh) | 神经机器翻译模型的训练方法、装置及存储介质 | |
US20210303777A1 (en) | Method and apparatus for fusing position information, and non-transitory computer-readable recording medium | |
CN110929514B (zh) | 文本校对方法、装置、计算机可读存储介质及电子设备 | |
KR20160070965A (ko) | 컴파일러 | |
CN111783435A (zh) | 共享词汇的选择方法、装置及存储介质 | |
JP2018067264A (ja) | データ検索プログラム、データ検索装置およびデータ検索方法 | |
CN106843520B (zh) | 用于输出整句的方法和装置 | |
CN113822044B (zh) | 语法纠错数据生成方法、装置、计算机设备及存储介质 | |
KR102427934B1 (ko) | 신경망 기반의 고유명사 기호화를 이용한 번역 방법 및 그 시스템 | |
US20160078013A1 (en) | Fault-tolerant input method editor | |
CN114722796A (zh) | 用于中文文本错误识别与校正的架构 | |
US20170031892A1 (en) | System and method for representing sequences of bits | |
CN112541062A (zh) | 平行语料对齐方法、装置、存储介质及电子设备 | |
CN115796167A (zh) | 机器阅读理解方法、装置及计算机可读存储介质 | |
JP6763527B2 (ja) | 認識結果補正装置、認識結果補正方法、およびプログラム | |
JP7243818B2 (ja) | 読み曖昧性解消装置、読み曖昧性解消方法、及び読み曖昧性解消プログラム |
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 |