基于中文子字单元的BPE编码方法及系统、机器翻译系统与流程

文档序号:16328644发布日期:2018-12-19 06:04阅读:2649来源:国知局
基于中文子字单元的BPE编码方法及系统、机器翻译系统与流程

本发明属于计算机软件技术领域,尤其涉及一种基于中文子字单元的bpe编码方法及系统、机器翻译系统。

背景技术

目前,业内常用的现有技术是这样的:机器翻译是利用计算机算法自动地将一种源语言句子翻译成为另一种目标语言句子的过程。机器翻译是人工智能的一个研究方向,具有十分重要的科研价值和实用价值。伴随着全球化进程的不断深化和互联网的迅速发展,机器翻译技术在国内外政治、经济、社会、文化交流等方面发挥着越来越重要的作用。随着计算机计算能力的提高以及大数据的应用,深度学习取得进一步的应用。基于深度学习的neuralmachinetranslation越来越受到人们的关注。在nmt领域中,最常用的一种翻译模型是带有注意力机制(attention-based)的encoder-decoder模型。其主要思想是将待翻译的语句(在下文中统称为‘源语句’)经过编码器(encoder)将输入的源语言句子转换成为一个词向量序列作为循环神经网络的输入,编码器会输出一个固定长度的密集向量,称为上下文向量。然后利用解码器(decoder)以输入端输出的上下文向量作为输入,利用另外一个循环神经网络结合一个softmax分类器,输出目标语言的词向量序列。最后,利用词典把词向量映射成为目标语言词,完成整体翻译过程。encoder-decoder框架是深度学习的核心思想,同样的,encoder-decoder框架也是nmt系统常用的一个基本架构。目前主流的nmt系统,encoder和decoder都利用rnn(recurrentneuralnetworks),rnn在处理时序信息时有着得天独厚的优势,能够处理任意长度的输入并将其转换成为一个固定维度的向量。这种encoder-decoder框架最主要的缺陷是对未登录的中文词汇的翻译效果不好,在构建翻译模型时,会首先根据训练语料来形成源端和目标端词表。由于计算能力限制,词表大小会进行限制(例如源语言词表中含有30000个单词),不在词表中的单词,统一用特殊符号“unk”代替。这导致nmt的译文会出现一个严重的问题:当待翻译的语句中含有不在词表中的单词时,在译文中会生成unk,造成译文可读性不高,虽然后来又人提出用bpe编码方式来解决未登录词问题,但是,事实证明,该方法在中文单词上效果并不明显,甚至反而会使翻译质量下降。因此本发明提出一种方法以期能够显著解决上述问题。

综上所述,现有技术存在的问题是:encoder-decoder框架当待翻译的语句中含有不在词表中的单词时,在译文中会生成unk,造成译文可读性不高,使翻译质量下降。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于中文子字单元的bpe编码方法及系统、机器翻译系统。

本发明是这样实现的,一种基于中文子字单元的bpe编码方法,所述基于中文子字单元的bpe编码方法对中文汉字按五笔字根输入汉字的方式进行中文汉字的拆分。

进一步,所述中文汉字按五笔字根输入汉字的方式进行中文汉字的拆分包括:语料清洗等预处理;对语料中的每一句话,进行中文分词;对每个单词或汉字对应五笔字根对应字符。

进一步,所述中文汉字按五笔字根输入汉字的方式进行中文汉字的拆分之后需要:对于句子中的单词,先将单词拆解为更小更常见的子字单元;通过翻译子字部分从而将未登录词进行翻译。

本发明的另一目的在于提供一种实现所述基于中文子字单元的bpe编码方法的基于中文子字单元的bpe编码系统,所述基于中文子字单元的bpe编码系统包括:

拆分模块,用于对中文汉字按五笔字根输入汉字的方式进行中文汉字的拆分;

拆解模块,用于对于句子中的单词,先将单词拆解为更小更常见的子字单元;

翻译模块,用于通过翻译子字部分从而将未登录词进行翻译。

本发明的另一目的在于提供一种实现所述基于中文子字单元的bpe编码方法的计算机程序。

本发明的另一目的在于提供一种实现所述基于中文子字单元的bpe编码方法的信息数据处理终端。

本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于中文子字单元的bpe编码方法。

综上所述,本发明的优点及积极效果为:本发明在进行bpe编码步骤之前,对中文汉字作额外处理。因此,在实际应用中本发明中参数规模和运算时间与目前bpe相当,不会过多增加实用时的复杂度。

附图说明

图1是本发明实施例提供的基于中文子字单元的bpe编码方法流程图。

图2是本发明实施例提供的基于中文子字单元的bpe编码系统结构示意图;

图中:1、拆分模块;2、拆解模块;3、翻译模块。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明对现有的bpe编码方式作出了改进。提供了一种更好更有理论意义的生成中文bpe编码的方法,使中文的bpe编码方式能够解决中文未登录词问题。在充分利用中文单词信息的同时,避免传统bpe编码方式带来的不足。中文汉字由于五笔打字构造汉字的存在而极易转换为汉字字根对应五笔打字的英文字母形式,从而解决中文拆分问题,有效降低中文未登录词的出现。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的基于中文子字单元的bpe编码方法包括以下步骤:

s101:对中文汉字按五笔字根输入汉字的方式进行中文汉字的拆分;

s102:对于句子中的单词,先将单词拆解为更小更常见的子字单元;

s103:通过翻译子字部分从而将未登录词进行翻译。

在本发明的优选实施例中:步骤s101具体包括:语料清洗等预处理;对语料中的每一句话,进行中文分词;对每个单词(或汉字)对应五笔字根对应字符。

下面结合具体实施例对本发明的应用原理作详细描述。

对于例句:我爱中国。

首先进行中文分词操作,得到:我爱中国。

然后,将每个单词(或汉字)按照五笔打字中字根对应的字母进行转换得:

trntepdckhklgyi。

接下来,按照传统的bpe编码方式对上式进行编码。

而传统bpe编码实施例如下表所示:

从而,可以将beijing通过bpe编码转换为bei@@jing,nanjing变为nan@@jing。

本发明实施例提供的基于中文子字单元的bpe编码方法通过对中文按照五笔打字中字根对应的英文字母进行拆分,从而将中文汉字转变为英文单词构成的格式。通过这种改进的中文bpe编码机制,使中文未登录词的数量下降。从而,以期能够有效提高翻译质量。

如图2所示,本发明实施例提供的基于中文子字单元的bpe编码系统包括:

拆分模块1,用于对中文汉字按五笔字根输入汉字的方式进行中文汉字的拆分;

拆解模块2,用于对于句子中的单词,先将单词拆解为更小更常见的子字单元;

翻译模块3,用于通过翻译子字部分从而将未登录词进行翻译。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1