CN112507734A - 一种基于罗马化维吾尔语的神经机器翻译系统 - Google Patents
一种基于罗马化维吾尔语的神经机器翻译系统 Download PDFInfo
- Publication number
- CN112507734A CN112507734A CN202011298243.XA CN202011298243A CN112507734A CN 112507734 A CN112507734 A CN 112507734A CN 202011298243 A CN202011298243 A CN 202011298243A CN 112507734 A CN112507734 A CN 112507734A
- Authority
- CN
- China
- Prior art keywords
- uyghur
- corpus
- chinese
- layer
- characters
- 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
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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
-
- 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)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于罗马化维吾尔语的神经机器翻译系统,在构建翻译系统前,对汉维双,为后续例如词对齐处理提供分好词且格式恰当的双语数据;本系统的预处理根据语料不同的特性,对语料进行不同的预处理过程,即对中文语料使用Jieba分词,并使用BPE编码继续切割单词,而对维吾尔语语料首先进行“词根+词缀”形态分词,接着对分词后的维吾尔语进行罗马化处理,最后使用BPE编码进行处理;使用Tansformer翻译模型进行翻译模型训练,得到最终翻译模型;对于翻译过程,首先同样对维吾尔语进行预处理,即“词根+词缀”分词和罗马化处理,接着使用训练好的模型翻译处理好的语料,最终将得到翻译好的汉语。
Description
技术领域
本发明涉及机器翻译技术领域,主要涉及一种基于罗马化维吾尔语的神经机器翻译系统。
背景技术
机器翻译是利用计算机将源语言自动转换为目标语言的技术。目前常用的翻译方法为统计机器翻译和神经机器翻译。神经机器翻译(Neural Machine Translation,NMT)在前几年取得了令人印象深刻的结果,它的翻译效果优于传统的基于短语的统计机器翻译(Phrase-Based Statistical Machine Translation,PBSMT)方法。最先进的NMT系统依赖于编码器解码器架构,并引入注意机制来模拟字对齐;模型随后将源句编码为固定长度的矢量,然后逐字解码,以从矢量表示输出目标字符串。
NMT和统计机器翻译(Statistical Machine Translation,SMT)模型对训练数据的噪音敏感,尤其是快速记住不良示例的NMT。许多研究都建议在平行语料中过滤掉噪声。数据过滤可以减少数据大小和噪声,因此,可以提高培训时间和质量的有效性。但是,找到筛选数据的最佳标准具有挑战性,尤其是在资源不足的语言(如维吾尔语)中。原因是缺乏已知的高质量数据集,这是大多数已知的筛选和选择方法所需的。
NMT通常使用有限词汇来组成输入和输出序列的固定词汇表,但翻译是一个处理开放词汇的过程。因此,错误翻译的稀有词或用未知单词(Unknown Words,UNK)符号用于表示每个可能的未登录单词(Out-Of-Vocabulary,OOV)。除了国家文字系统无法翻译稀有词语外,使用UNK符号表示OOV单词也增加了句子的模糊性,因为符号打破了这些句子的结构。因此,词汇中的翻译和重新排序受到负面影响。
Sennrich等人建议使用字节对编码(Byte Pair Encoder,BPE)算法,在数据压缩的基础上将单词分割成子词单位。BPE切分表明,在缓解有限的词汇和UNK方面,情况有望有改善。BPE尽管具有优势,但仍存在某些限制。例如,当词根以各种形态形式出现时,BPE通常会进行不同的分段,从而增加数据歧义并导致翻译错误。此外,BPE可能会将一个罕见或未知的单词拆分为没有意义的子词单位或语义上不同的已知单位,这些子词可以输出语义上不正确的翻译。
目前的机器翻译主要针对英语、汉语、俄语、法语等常见语种,而对小语种(如维吾尔语)的研究较少,目前针对汉维的机器翻译专利多是针对翻译的算法、词语对齐方法、词干提取方法、网站开发等,缺少与预处理相关的专利发明。
现有的翻译模型构建方法多是使用分词、清理长短句、BPE处理、模型训练、模型测试等步骤构建一个完整的翻译系统。这种方法对于汉语、英语这类词形变化较小的语种来说是十分有效的,但是对于形态丰富的语种(如维吾尔语,维吾尔由8个元音和24个辅音组成,共32个字母。维吾尔字母不同于汉语、英语等常用语言的书写规则。维吾尔字母不是单一形式的,而是每个字母可能有几种不同的形式。在无法连接的单词后,前链接出现在连接的字母之前,中间链接出现在两个可以连接的字母的中间,并且后连接出现在连接的字母之后。维吾尔语可以通过在词干后附加词缀来形成新词。有丰富的形态变化和特定的词缀规则,同时还遵循语音和谐规律,生成过程中还会出现弱化、增音、脱落等音变现象),这种模型构建方法会带来一些问题,主要是缺少针对特定语法和词汇形态的分词方法;以及BPE现有的局限性。
目前基于神经网络的汉维翻译存在的问题是:
1)由于存在大量稀有单词,翻译在结构上丰富而复杂的语言时(如维吾尔语)会产生大量未登录单词(OOV);
2)对于具有高度变形和形态变化的语言(如维吾尔语),BPE不能对句子进行正确切分,从而降低翻译质量;
3)针对汉语-维吾尔语神经机器翻译的研究较少。
发明内容
发明目的:本发明提供了一种基于罗马化维吾尔语的神经机器翻译系统,使用罗马化处理后的维吾尔语料进行翻译模型训练,以提高BPE的处理效率,防止切分过程中出现误导性问题,缓解OOV对翻译质量产生的影响,最终提高针对汉维神经机器翻译的效果。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于罗马化维吾尔语的神经机器翻译系统,包括以下处理步骤:
步骤S1、维吾尔语料预处理;
步骤S1.1、“词根+词缀”形态分词;
采用有限状态自动机FSM对维吾尔语料进行切分;通过以下步骤生成后缀集:
步骤S1.1.1、构造后缀集并创建根驱动的有限状态自动机FSA;
步骤S1.1.2、反转FSA并获得非确定性有限状态自动机NFA;
步骤S1.1.3、将NFA转换为确定性有限自动机DFA;
步骤S1.2、对切分后的维吾尔语料进行罗马化处理;
步骤S2、将预处理完成的维吾尔语料输入至Transformer翻译模型中,进行翻译;
步骤S3、输出翻译结果。
进一步地,所述步骤S2中Transformer翻译模型构建方法如下:
步骤S2.1、将获取的汉维双语平行语料分为中文预处理阶段和维吾尔语预处理阶段,分别进行预处理;具体地,
步骤S2.2、中文语料预处理;首先对输入的中文语料进行Jieba分词如下;
步骤S2.2.1、对句子进行清理,将特殊字符标注为未知词性;使用基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图DAG;
步骤S2.2.2、采用了动态规划查找最大概率路径,找出基于词频的最大切分组合;
步骤S2.2.3、对已登录词按字典标注标识;对于未登录词,对其中的汉字采用基于汉字成词能力的隐马尔可夫模型,并使用维特比算法取得分词和标注;对其中的英文、数字给予相应标注;
步骤S2.3、对进行Jieba分词后的中文语料进行字节对编码;具体地,
步骤S2.3.1、准备输入的训练语料;
步骤S2.3.2、确定期望的subword词表大小;
步骤S2.3.3、将单词拆分为字节序列,并在末尾添加后缀“</w>”,统计单词频率;所述subword的粒度是字节;
步骤S2.3.4、统计每一个连续字节对的出现频率,选择最高频者合并成新的subword;
步骤S2.3.5、当合并后的subword词表大小满足步骤S2.3.2期望或下一个最高频字节出现频率为1时,结束合并过程,完成字节对编码;
步骤S2.4、维吾尔语料预处理;
根据步骤S1.1-S1.2,获取罗马化后的维吾尔语料;将获取的维吾尔语料采用步骤S2.3所述字节对编码方法进行编码,完成预处理;
步骤S2.5、采用Transformer模型对预处理后的汉维语料进行模型构建及训练;
所述Transformer模型包括编码器和解码器;在编码器的主层中,每一个层包括两个子层,其中第一子层是含有自注意机制的层,第二子层是全连接的前馈神经网络层;每一个子层的输出都进行残差连接和归一化操作;
Fc(X)=max(0,XW[1]+b[1])W2+b[2]
其中Q、K、V是Transformer模型需要学习的三个参数向量;dk、α和β为预设参数;μ代表输入向量X的均值,σ代表输入向量X的标准差;W和b是需要训练的权重和偏置参数,在实验开始阶段随机初始化;ε是指定小数;
进一步地,所述步骤S1.2中采用开元罗马化工具uroman对切分后的维吾尔语进行处理,具体包括:
(1)采用启发式方法对Unicode数据进行罗马化;给定Unicode描述的语音标记,uroman使用第二组探针来预测这些语音标记的罗马化表示;
(2)采用更正表法对非组合罗马化字符的序列进行罗马化处理;手动创建更正表,将一个或多个字符的序列映射到所需的罗马化字符;
(3)针对无Unicode描述的字符进行罗马化表示;针对汉字,通过汉语拼音表进行罗马化处理;针对朝鲜语,采用标准韩文进行罗马化处理;针对埃及象形文字,在uroman的其他表格中添加单音语音字符和数字进行罗马化处理;
(4)数字的罗马化处理;通过创建特殊数字模块,将不同语言中的数字字符一一映射到西方阿拉伯数字0-9;
(5)拉丁文字的罗马化处理;采用替代的罗马化形式,uroman保留原始的拉丁语拼写,减去任何变音符号,作为最大的罗马化替代方案。
有益效果:本系统以"词根+词缀"的形式对维吾尔语料进行切分,可以有效降低由于维吾尔语形态多变带来的稀疏性问题。而罗马化维吾尔语可以增加词汇的重复出现率,从而产生许多常见的子词,并在提取BPE规则时为BPE切分提供良好的灵活性。本发明可以防止出现BPE切分问题,从而提高翻译质量。与使用原始维吾尔形式相比,优点在于易于读取和可以对实体进行适当的切分。BPE编码可以进一步减少数据的稀疏性问题。通过以上三种方法对维吾尔语进行预处理可以有效提高Transformer模型对语料的识别度,进而提高汉维翻译的质量。
附图说明
图1是本发明提供的汉维翻译模型构建流程图;
图2是本发明提供的字节对编码流程图;
图3是本发明提供的Jieba处理流程图;
图4是本发明提供的罗马化处理流程图;
图5是本发明提供的Transformer模型示意图;
图6是本发明提供的维吾尔语罗马化过程示意图;
图7是本发明提供的中文字节对编码处理示例图;
图8是本发明提供的维吾尔语预处理示例图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1所示的汉维翻译模型构建流程图。汉维翻译系统包括模型构建过程和翻译过程。本翻译系统对汉语语料和维吾尔语语料分别进行不同的预处理。在得到双语平行语料之后,构建双语统计翻译系统之前,都会有一个双语数据预处理的过程,为后续例如词对齐处理提供分好词且格式恰当的双语数据。本系统的预处理根据语料不同的特性,对语料进行不同的预处理过程,即对中文语料使用Jieba分词,并使用BPE编码继续切割单词,而对维吾尔语语料首先进行“词根+词缀”形态分词,接着对分词后的维吾尔语进行罗马化处理,最后使用BPE编码进行处理。对于预处理好的语料,使用Tansformer模型进行翻译模型训练,以得到最后的翻译模型。对于翻译过程,首先同样对维吾尔语进行预处理,即“词根+词缀”分词和罗马化处理,接着使用训练好的模型翻译处理好的语料,最终将得到翻译好的汉语。具体步骤如下:
步骤S1、维吾尔语料预处理。
步骤S1.1、“词根+词缀”形态分词;
采用有限状态自动机FSM对维吾尔语料进行切分;通过以下步骤生成后缀集:
步骤S1.1.1、构造后缀集并创建根驱动的有限状态自动机FSA;
步骤S1.1.2、反转FSA并获得非确定性有限状态自动机NFA;
步骤S1.1.3、将NFA转换为确定性有限自动机DFA。
维吾尔语中"词根+词缀"的词语构成导致大多数词汇是一个罕见的词,在自然语言处理任务中很容易面对数据不足的问题。在NMT中,由于词汇稀疏性问题的限制,OOV更有可能发生。为了缓解这一现象,本发明尝试对原始数据目标词汇,即维吾尔语词汇,以"词根+词缀"的形式进行切分,示例如下表1所示。
表1维吾尔语分词方法
步骤S1.2、对切分后的维吾尔语料进行罗马化处理。本发明采用开源的的罗马化工具uroman对切分后的维吾尔语进行处理,如图4所示,包括以下几个处理部分:
1)Unicode数据
uroman使用Unicode表的字符描述作为基础。对于大多数脚本的字符,Unicode表包含诸如CYRILLIC SMALL LETTER SHORT U or CYRILLIC CAPITAL LETTER TE WITHMIDDLE HOOK的描述。uroman使用一些启发式方法来识别该描述中的语音标记,即上述示例中的U和TE。启发式方法使用一系列锚定关键字(例如字母和音节)以及许多可以丢弃的修饰词模式。给定Unicode描述的语音标记,然后uroman使用第二组探针来预测这些语音标记的罗马化表示,即u和t。如果语音标记是多个辅音之一,随后是一个或多个元音,则预测的罗马化字符是辅音的前导序列,例如SHA→sh。
2)附加表
启发式方法有时会失败。现实存在非组合罗马化字符的序列。例如,希腊语序列omikron+upsilon(ου)的标准罗马化字符是拉丁字母ou而不是逐个字符的罗马化字符oy。作为补救措施,此方法手动创建了其他更正表,这些表将一个或多个字符的序列映射到所需的罗马化字符,当前有1,088个条目。这些表中的条目可能会受到条件(例如,特定语言或单词开头)的限制,并且可以表示替代的罗马化形式。该数据表是该工具的核心贡献。uroman还包括一些用代码强制转换的特殊试探法,例如用于多种印度语言和藏语的元音化,与变音符号的交替,特定语言的特殊性,例如日语sokuon和泰国辅音-元音的互换。
3)没有Unicode描述的字符
Unicode表不包括所有脚本的字符描述。对于汉字,该方法使用汉语拼音表进行罗马化。对于朝鲜语,使用简短的标准韩文罗马化算法。对于埃及象形文字,在uroman的其他表格中添加了单音语音字符和数字。
4)数字
uroman还以数字形式罗马化数字。对于某些脚本,数字字符一对一映射到西方阿拉伯数字0-9,例如孟加拉语,东部阿拉伯语和北印度语。对于其他文字,例如阿姆哈拉文,中文和埃及象形文字,其书写数字在结构上是不同的,例如Amharic数字字符序列10·9·100·90·8=1998,而中文数字字符序列2·10·5·10000·6·1000=256000。uroman包括一个特殊的数字模块来完成后一种映射。
5)拉丁文字的罗马化
一些基于拉丁文字的语言剃须词,其拼写和发音差异很大,例如英文名称Knight(IPA:/naIt/)和法属波尔多(/bOK.do/),如果非拉丁语脚本中单词的相应拼写基于发音,则会使字符串相似性匹配变得复杂。因此,uroman为诸如Knight和Bordeaux之类的单词提供了替代的罗马化形式,但是作为一项策略,uroman始终保留原始的拉丁语拼写,减去任何变音符号,作为最大的罗马化替代方案。
本发明使用uroman对维吾尔语进行罗马化处理,该工具依赖于Unicode数据和其他一些表,并能处理几乎所有字符集,包括一些非常晦涩的字符集。此转化过程使用音译也被认为是一种罗马化方法。这是根据近似的拼音或拼写等价物,将给定的源语言文本转换为另一种语言的过程。这种技术已被许多领域所利用,如MT和信息检索(IR)中。
这种方法可以增加词汇的重复出现率,从而产生许多常见的子词,并在提取BPE规则时为BPE切分提供良好的灵活性。这种方法可以防止之前阐明的BPE切分问题,从而提高翻译质量。与使用原始维吾尔形式相比,本发明的其他优点是易于读取和可以对实体进行适当的切分。
具体使用方法为:uroman.pl[-l<lang-code>][--chart][--no-cache]<STDIN。
步骤S2、将预处理完成的维吾尔语料输入至Transformer翻译模型中,进行翻译;具体地,
步骤S2.1、将获取的汉维双语平行语料分为中文预处理阶段和维吾尔语预处理阶段,分别进行预处理;
步骤S2.2、中文语料预处理;首先对输入的中文语料进行Jieba分词,如图2所示。
步骤S2.2.1、对句子进行清理,将特殊字符标注为未知词性;使用基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图DAG;
步骤S2.2.2、采用了动态规划查找最大概率路径,找出基于词频的最大切分组合;
步骤S2.2.3、对已登录词按字典标注标识;对于未登录词,对其中的汉字采用基于汉字成词能力的隐马尔可夫模型,并使用维特比算法取得分词和标注;对其中的英文、数字给予相应标注。
其中隐马尔可夫模型是用来描述一个含有隐含未知参数的马尔可夫过程的统计模型。维特比算法涉及多步骤每步多选择模型的最优选择问题。在每一步的所有选择都保存了前续所有步骤到当前步骤当前选择的最小总代价(或者最大价值)以及当前代价的情况下前继步骤的选择。依次计算完所有步骤后,通过回溯的方法找到最优选择路径。可以用来解决隐马尔可夫模型的解码问题。
Jieba分词算法使用了基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能生成词情况所构成的有向无环图,再采用了动态规划查找最大概率路径,找出基于词频的最大切分组合,对于未登录词,采用了基于汉字成词能力的HMM模型,使用了维特比算法。本发明使用Jieba对中文语料进行切分处理,具体命令行语句为:
python-m jieba-d<inputfile>outputfile
下表2给出了中文状态下Jieba分词结果:
表2Jieba分词结果
步骤S2.3、对进行Jieba分词后的中文语料进行字节对编码,如图3所示。
步骤S2.3.1、准备输入的训练语料;
步骤S2.3.2、确定期望的subword词表大小;
步骤S2.3.3、将单词拆分为字节序列,并在末尾添加后缀“</w>”,统计单词频率;所述subword的粒度是字节;
步骤S2.3.4、统计每一个连续字节对的出现频率,选择最高频者合并成新的subword;
步骤S2.3.5、当合并后的subword词表大小满足步骤S2.3.2期望或下一个最高频字节出现频率为1时,结束合并过程,完成字节对编码。
步骤S2.4、维吾尔语料预处理;
根据步骤S1.1-S1.2,获取罗马化后的维吾尔语料;将获取的维吾尔语料采用步骤S2.3所述字节对编码方法进行编码,完成预处理。
字节对编码总是将出现频率较高的字符合并起来,它通常将词根与其词缀分开。因此,NMT的词汇仅具有词素,从而为不包含在词汇中的不常用单词留出了空间。但是,字节对编码分割仅对词汇的前缀和后缀有效,而不考虑词汇的形态,特别是在诸如维吾尔语之类的形态变化较多的语言上。因此,字节对编码没有对句子进行正确切分,从而导致翻译的错误性。
罗马化可以将字符串相似性度量标准应用于来自不同脚本的文本,而无需中间语音表示形式的需求和复杂性。本发明将罗马化定义为根据原文的近似发音将字符映射到拉丁文脚本(ASCII)的过程。同时,严格使用拉丁语ASCII字符的音译系统代表源语言的发音,具体转化过程如图6所示。
字节对编码是NMT研究和生产中用于分词的常见标准方法。它是一种数据压缩算法,它根据字符对的出现频率合并字符序列,并将单词分割成较小的单元。因此,在BPE分割时,每个单词都被视为一个字符序列。然后,将最常见的字符组合为一个由这些字符组成的对。当达到预定义的操作数或没有令牌对出现一次以上时,算法将停止,处理结果如图7所示。
通过拆分稀有单词并保留不频繁使用的单词,可以证明该技术是解决稀有单词和UNK问题的有效解决方案。因为NMT通常使用固定大小的词汇表,所以这种方式可以满足NMT分段的要求。
在本发明中,我们通过使用BPE作为预处理步骤来训练子词级NMT系统,以克服数据稀疏性问题并进一步消除UNK,总体的预处理流程图如图8所示。
步骤S2.5、采用Transformer模型对预处理后的汉维语料进行模型构建及训练;
本发明选择使用Transformer模型对预处理后的汉维语料进行模型构建及训练。Transformer模型是Google团队在2017年提出的一种NLP经典模型。它使用了自注意力(Self-Attention)机制,而不采用RNN的顺序结构,使得模型可以并行化训练,而且能够拥有全局信息。模型主要由编码器和解码器组成,如图5所示。
所述Transformer模型包括编码器和解码器;在编码器的主层中,每一个层包括两个子层,其中第一子层是含有自注意机制的层,第二子层是全连接的前馈神经网络层;每一个子层的输出都进行残差连接和归一化操作;
FC(X)=max(0,XW[1]+b[1])W2+b[2]
其中Q、K、V是Transformer模型需要学习的三个参数向量;dk、α和β为预设参数;μ代表输入向量X的均值,σ代表输入向量X的标准差;W和b是需要训练的权重和偏置参数,在实验开始阶段随机初始化;ε是一个很小的小数,防止在计算中除数为0。
模型训练时使用Pytorch深度学习框架库和Fairseq开源序列建模工具包。使用的命令是fairseq-train,在参数中需要指定训练数据、模型、优化器等参数。fairseq-train提供了大量的训练参数,从而进行定制化的训练过程,其中主要的参数可以分为数据(data)、模型(model)、优化(optimizing)、训练(分布式和多GPU等)、日志(log)和模型保存(checkpointing)等。
(1)数据部分
数据部分的常用参数主要有训练数据的位置(路径),训练时的batch-size等。其中,batch-size可以通过两种方法指定,--max-tokens是按照词的数量来分的batch,比如“--max-tokens 4096”指每个batch中包含4096个词;另外还可以通过句子来指定,如“--max-sentences 128”指每个batch中包含128个句子。
(2)模型部分
模型部分的参数主要有--arch,用指定所使用的网络模型结构,有大量预设的可以选择。其命名一般为“model_setting”,如“transformer_iwslt_de_en”就是使用Transformer模型和预设的iwslt_de_en超参数。在大数据上进行训练的时候,可以选择“transformer_wmt_en_de”、“transformer_wmt_en_de_big”等设置。除了Transformer之外,还有LSTM、FConv等模型及对应的预设超参数可以选择。
在使用预设模型的同时,还可以通过额外的命令行参数来覆盖已有的参数,如“transformer_wmt_en_de”中预设的编码器层数是6,可以通过“--encoder-layers 12”将编码器改为12层。
(3)优化部分
通过--criterion可以指定使用的损失函数,如cross_entropy等。和arch参数一样,也可以通过命令行参数来覆盖特定损失的默认参数,比如通过--label-smoothing0.1,可以将label_smoothed_cross_entropy损失中默认为0的label-smoothing值改为0.1。通过--optimizer可以指定所使用的优化器,如adam、sgd等;通过--lr-scheduler可以指定学习率缩减的方式。
通常来说,参数优化紧跟梯度计算,即每计算一次梯度,就会进行一次参数更新。在某些时候,我们希望在多次梯度计算之后进行一次更新,来模拟多GPU训练,可以通过--update-freq来指定,比如在单个GPU上指定“--update-freq 4”来训练,结果和4个GPU训练是基本等价的。
(4)训练部分
Fairseq支持单GPU/多GPU/多机器等多种训练方式,在默认情况下,会根据当前机器的GPU数量来确定训练方式。在绝大多数情况下,通过系统环境变量的方式,即CUDA_VISIBLE_DEVICES=0,1,来指定单卡/多卡训练。
如果所使用的GPU支持半精度,那么可以通过参数--fp16来进行混合精度训练,可以极大提高模型训练的速度。通过torch.cuda.get_device_capability可以确定GPU是否支持半精度,如果该值小于7则不支持,大于等于7则支持。
(5)日志和模型保存
在默认情况下,fairseq使用tqdm和进度条来展示训练过程,但是这种方法不适合长时间在后台进行模型训练。通过--no-progress-bar参数可以改为逐行打印日志,方便保存。默认情况下,每训练100步之后会打印一次,通过--log-interval参数可以进行修改。
Fairseq在训练过程中会保存中间模型,保存的位置可以通过--save-dir指定,其默认为checkpoints。中间模型保存的频率有两种指定方式,--save-interval指定了每N个epoch(遍历训练数据N次)保存一次;--save-interval-updates指定了每N步保存一次,这种通过step来保存模型的方法目前更为常用。
步骤S2、将预处理完成的维吾尔语料输入至Transformer翻译模型中,进行翻译;
步骤S3、输出翻译结果。
在实际进行翻译测试时使用“词根+词缀”方法对维吾尔语进行分词,然后使用uroman对维吾尔语进行罗马化处理,处理后的语料用训练好的模型进行翻译,即可得到汉语。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (3)
1.一种基于罗马化维吾尔语的神经机器翻译系统,其特征在于,包括以下处理步骤:
步骤S1、维吾尔语料预处理;
步骤S1.1、“词根+词缀”形态分词;
采用有限状态自动机FSM对维吾尔语料进行切分;通过以下步骤生成后缀集:
步骤S1.1.1、构造后缀集并创建根驱动的有限状态自动机FSA;
步骤S1.1.2、反转FSA并获得非确定性有限状态自动机NFA;
步骤S1.1.3、将NFA转换为确定性有限自动机DFA;
步骤S1.2、对切分后的维吾尔语料进行罗马化处理;
步骤S2、将预处理完成的维吾尔语料输入至Transformer翻译模型中,进行翻译;
步骤S3、输出翻译结果。
2.根据权利要求1所述的一种基于罗马化维吾尔语的神经机器翻译系统,其特征在于,所述步骤S2中Transformer翻译模型构建方法如下:
步骤S2.1、将获取的汉维双语平行语料分为中文预处理阶段和维吾尔语预处理阶段,分别进行预处理;具体地,
步骤S2.2、中文语料预处理;首先对输入的中文语料进行Jieba分词如下;
步骤S2.2.1、对句子进行清理,将特殊字符标注为未知词性;使用基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图DAG;
步骤S2.2.2、采用了动态规划查找最大概率路径,找出基于词频的最大切分组合;
步骤S2.2.3、对已登录词按字典标注标识;对于未登录词,对其中的汉字采用基于汉字成词能力的隐马尔可夫模型,并使用维特比算法取得分词和标注;对其中的英文、数字给予相应标注;
步骤S2.3、对进行Jieba分词后的中文语料进行字节对编码;具体地,
步骤S2.3.1、准备输入的训练语料;
步骤S2.3.2、确定期望的subword词表大小;
步骤S2.3.3、将单词拆分为字节序列,并在末尾添加后缀“</w>”,统计单词频率;所述subword的粒度是字节;
步骤S2.3.4、统计每一个连续字节对的出现频率,选择最高频者合并成新的subword;
步骤S2.3.5、当合并后的subword词表大小满足步骤S2.3.2期望或下一个最高频字节出现频率为1时,结束合并过程,完成字节对编码;
步骤S2.4、维吾尔语料预处理;
根据步骤S1.1-S1.2,获取罗马化后的维吾尔语料;将获取的维吾尔语料采用步骤S2.3所述字节对编码方法进行编码,完成预处理;
步骤S2.5、采用Transformer模型对预处理后的汉维语料进行模型构建及训练;
所述Transformer模型包括编码器和解码器;在编码器的主层中,每一个层包括两个子层,其中第一子层是含有自注意机制的层,第二子层是全连接的前馈神经网络层;每一个子层的输出都进行残差连接和归一化操作;
FC(X)=max(0,XW[1]+b[1])W2+b[2]
其中Q、K、V是Transformer模型需要学习的三个参数向量;dk、α和β为预设参数;μ代表输入向量X的均值,J代表输入向量X的标准差;W和b是需要训练的权重和偏置参数,在实验开始阶段随机初始化;ε是指定小数;
3.根据权利要求1所述的一种基于罗马化维吾尔语的神经机器翻译系统,其特征在于,所述步骤S1.2中采用开元罗马化工具uroman对切分后的维吾尔语进行处理,具体包括:
(1)采用启发式方法对Unicode数据进行罗马化;给定Unicode描述的语音标记,uroman使用第二组探针来预测这些语音标记的罗马化表示;
(2)采用更正表法对非组合罗马化字符的序列进行罗马化处理;手动创建更正表,将一个或多个字符的序列映射到所需的罗马化字符;
(3)针对无Unicode描述的字符进行罗马化表示;针对汉字,通过汉语拼音表进行罗马化处理;针对朝鲜语,采用标准韩文进行罗马化处理;针对埃及象形文字,在uroman的其他表格中添加单音语音字符和数字进行罗马化处理;
(4)数字的罗马化处理;通过创建特殊数字模块,将不同语言中的数字字符一一映射到西方阿拉伯数字0-9;
(5)拉丁文字的罗马化处理;采用替代的罗马化形式,uroman保留原始的拉丁语拼写,减去任何变音符号,作为最大的罗马化替代方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298243.XA CN112507734B (zh) | 2020-11-19 | 2020-11-19 | 一种基于罗马化维吾尔语的神经机器翻译系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298243.XA CN112507734B (zh) | 2020-11-19 | 2020-11-19 | 一种基于罗马化维吾尔语的神经机器翻译系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112507734A true CN112507734A (zh) | 2021-03-16 |
CN112507734B CN112507734B (zh) | 2024-03-19 |
Family
ID=74957021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011298243.XA Active CN112507734B (zh) | 2020-11-19 | 2020-11-19 | 一种基于罗马化维吾尔语的神经机器翻译系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112507734B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033188A (zh) * | 2021-03-19 | 2021-06-25 | 华果才让 | 一种基于神经网络的藏文语法纠错方法 |
CN113553866A (zh) * | 2021-07-14 | 2021-10-26 | 沈阳雅译网络技术有限公司 | 一种用单一网络模型实现多个语种之间互译的方法 |
CN114580445A (zh) * | 2022-03-10 | 2022-06-03 | 昆明理工大学 | 基于领域感知的掩码子结构的多领域自适应神经机器翻译方法 |
CN114676708A (zh) * | 2022-03-24 | 2022-06-28 | 昆明理工大学 | 基于多策略原型生成的低资源神经机器翻译方法 |
CN114707467A (zh) * | 2022-03-18 | 2022-07-05 | 浙江大学 | 一种基于自注意力机制的自动化拼音转汉字方法 |
CN114881005A (zh) * | 2022-04-20 | 2022-08-09 | 四川语言桥信息技术有限公司 | 一种机器翻译的语料分词预处理方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010094121A1 (en) * | 2009-02-20 | 2010-08-26 | Mohamed Madi Mohsen | Keyboard for languages based on the arabic script |
CN103902528A (zh) * | 2012-12-28 | 2014-07-02 | 新疆电力信息通信有限责任公司 | 维吾尔语词语对齐方法 |
CN108363704A (zh) * | 2018-03-02 | 2018-08-03 | 北京理工大学 | 一种基于统计短语表的神经网络机器翻译语料扩展方法 |
CN109117483A (zh) * | 2018-07-27 | 2019-01-01 | 清华大学 | 神经网络机器翻译模型的训练方法及装置 |
CN111368035A (zh) * | 2020-03-03 | 2020-07-03 | 新疆大学 | 一种基于神经网络的汉维-维汉机构名词典的挖掘系统 |
CN111368563A (zh) * | 2020-03-03 | 2020-07-03 | 新疆大学 | 一种融合聚类算法的维汉机器翻译系统 |
CN111382583A (zh) * | 2020-03-03 | 2020-07-07 | 新疆大学 | 一种混合多种策略的汉语-维吾尔人名翻译系统 |
CN111444730A (zh) * | 2020-03-27 | 2020-07-24 | 新疆大学 | 基于Transformer模型的数据增强维汉机器翻译系统训练方法和装置 |
-
2020
- 2020-11-19 CN CN202011298243.XA patent/CN112507734B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010094121A1 (en) * | 2009-02-20 | 2010-08-26 | Mohamed Madi Mohsen | Keyboard for languages based on the arabic script |
CN103902528A (zh) * | 2012-12-28 | 2014-07-02 | 新疆电力信息通信有限责任公司 | 维吾尔语词语对齐方法 |
CN108363704A (zh) * | 2018-03-02 | 2018-08-03 | 北京理工大学 | 一种基于统计短语表的神经网络机器翻译语料扩展方法 |
CN109117483A (zh) * | 2018-07-27 | 2019-01-01 | 清华大学 | 神经网络机器翻译模型的训练方法及装置 |
CN111368035A (zh) * | 2020-03-03 | 2020-07-03 | 新疆大学 | 一种基于神经网络的汉维-维汉机构名词典的挖掘系统 |
CN111368563A (zh) * | 2020-03-03 | 2020-07-03 | 新疆大学 | 一种融合聚类算法的维汉机器翻译系统 |
CN111382583A (zh) * | 2020-03-03 | 2020-07-07 | 新疆大学 | 一种混合多种策略的汉语-维吾尔人名翻译系统 |
CN111444730A (zh) * | 2020-03-27 | 2020-07-24 | 新疆大学 | 基于Transformer模型的数据增强维汉机器翻译系统训练方法和装置 |
Non-Patent Citations (5)
Title |
---|
AISHAN WUMAINER ET AL: "A Neural-Network-Based Approach to Chinese–Uyghur Organization Name T ranslation", Retrieved from the Internet <URL:https://www.mdpi.com/2078-2489/11/10/492> * |
JINYING KONG ET AL: "Research for Uyghur-Chinese Neural Machine Translation", Retrieved from the Internet <URL:https://link_springer.com/chapter/10.1007/978-3-319-50496-4_12> * |
张新路 等: "面向维汉神经机器翻译的双向重排序模型分析", 北京大学学报(自然科学版), vol. 56, no. 1, 31 January 2020 (2020-01-31), pages 31 - 38 * |
张胜刚 等: "基于神经网络的维汉翻译系统实现", 现代电子技术, vol. 41, no. 24, 15 December 2018 (2018-12-15), pages 157 - 161 * |
朱相荣 等: "基于非自回归方法的维汉神经机器翻译", 计算机应用, vol. 40, no. 7, 10 July 2020 (2020-07-10), pages 1891 - 1895 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033188A (zh) * | 2021-03-19 | 2021-06-25 | 华果才让 | 一种基于神经网络的藏文语法纠错方法 |
CN113553866A (zh) * | 2021-07-14 | 2021-10-26 | 沈阳雅译网络技术有限公司 | 一种用单一网络模型实现多个语种之间互译的方法 |
CN114580445A (zh) * | 2022-03-10 | 2022-06-03 | 昆明理工大学 | 基于领域感知的掩码子结构的多领域自适应神经机器翻译方法 |
CN114580445B (zh) * | 2022-03-10 | 2023-03-10 | 昆明理工大学 | 基于领域感知的掩码子结构的多领域自适应神经机器翻译方法 |
CN114707467A (zh) * | 2022-03-18 | 2022-07-05 | 浙江大学 | 一种基于自注意力机制的自动化拼音转汉字方法 |
CN114676708A (zh) * | 2022-03-24 | 2022-06-28 | 昆明理工大学 | 基于多策略原型生成的低资源神经机器翻译方法 |
CN114676708B (zh) * | 2022-03-24 | 2024-04-23 | 昆明理工大学 | 基于多策略原型生成的低资源神经机器翻译方法 |
CN114881005A (zh) * | 2022-04-20 | 2022-08-09 | 四川语言桥信息技术有限公司 | 一种机器翻译的语料分词预处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112507734B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112507734A (zh) | 一种基于罗马化维吾尔语的神经机器翻译系统 | |
CN108492820B (zh) | 基于循环神经网络语言模型和深度神经网络声学模型的中文语音识别方法 | |
CN112597753A (zh) | 文本纠错处理方法、装置、电子设备和存储介质 | |
CN105404621B (zh) | 一种用于盲人读取汉字的方法及系统 | |
Kaur et al. | Review of machine transliteration techniques | |
CN104239289B (zh) | 音节划分方法和音节划分设备 | |
CN103810161B (zh) | 西里尔蒙古文到传统蒙古文转换方法 | |
CN109255120A (zh) | 一种老挝语分词方法 | |
CN114169346A (zh) | 一种运用词性信息的机器翻译方法 | |
Tennage et al. | Transliteration and byte pair encoding to improve tamil to sinhala neural machine translation | |
CN104331400B (zh) | 一种蒙古文编码转换方法和装置 | |
Hifny | Open vocabulary Arabic diacritics restoration | |
CN111581991B (zh) | 一种基于端到端神经机器翻译的汉盲翻译方法及系统 | |
CN112380882B (zh) | 一种具有误差修正功能的蒙汉神经机器翻译方法 | |
CN111428509A (zh) | 一种基于拉丁字母的维吾尔语处理方法和系统 | |
Li et al. | Named entity transliteration with sequence-to-sequence neural network | |
Singh et al. | Neural machine transliteration of indian languages | |
CN108197122B (zh) | 基于音节嵌入的藏汉人名音译方法 | |
Lehal et al. | Conversion between scripts of Punjabi: Beyond simple transliteration | |
Joshi et al. | Input Scheme for Hindi Using Phonetic Mapping | |
Li et al. | The study of comparison and conversion about traditional Mongolian and Cyrillic Mongolian | |
Jansche et al. | Named entity transcription with pair n-gram models | |
Okuno et al. | An ensemble model of word-based and character-based models for Japanese and Chinese input method | |
Wang et al. | Accurate Braille-Chinese translation towards efficient Chinese input method for blind people | |
Wang et al. | The Research on Mongolian Pronunciation Input Method |
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 |