CN109783825B - 一种基于神经网络的古文翻译方法 - Google Patents

一种基于神经网络的古文翻译方法 Download PDF

Info

Publication number
CN109783825B
CN109783825B CN201910012805.0A CN201910012805A CN109783825B CN 109783825 B CN109783825 B CN 109783825B CN 201910012805 A CN201910012805 A CN 201910012805A CN 109783825 B CN109783825 B CN 109783825B
Authority
CN
China
Prior art keywords
ancient
clause
modern chinese
translation
sequence
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
Application number
CN201910012805.0A
Other languages
English (en)
Other versions
CN109783825A (zh
Inventor
吕建成
杨可心
屈茜
刘大一恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN201910012805.0A priority Critical patent/CN109783825B/zh
Publication of CN109783825A publication Critical patent/CN109783825A/zh
Application granted granted Critical
Publication of CN109783825B publication Critical patent/CN109783825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了一种基于神经网络的古文翻译方法,其包括以下步骤:S1、获取古文篇章及对应的翻译数据作为初始样本,S2、对初始样本依次进行子句对齐、数据分词和数据增广操作,得到古文翻译语料库;S3、将古文翻译语料库作为神经机器翻译模型的数据库,对序列到序列模型进行训练,得到训练好的神经网络;S4、将待翻译的古文作为训练好的神经网络的输入,完成对古文的翻译。本发明通过引入多种词典进行分词,能够给翻译模型提供准确的人名地名以及俗语信息,改善专有名词翻译效果,且本发明可以自动进行子句对齐,能够通过注意力机制完成字、词之间的隐式对齐,并通过神经网络对待翻译的古文子句进行翻译,有效提高翻译效率和准确度。

Description

一种基于神经网络的古文翻译方法
技术领域
本发明涉及古文翻译领域,具体涉及一种基于神经网络的古文翻译方法。
背景技术
古人在思想、科学、文艺上所达到的高度和取得的成就是中华民族智慧和血汗的结晶,作为民族瑰宝,是不可丢弃的。这些文化遗产大多以文献的形式所承载,然而古人所用的语言和现代所用的语言有很大的区别,是现代人很难理解的,无形中为古文化研究设立了很高的门槛。过去只能通过古文化学者逐字逐句进行翻译,耗时耗力,成本较高。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于神经网络的古文翻译方法解决了逐字逐句翻译效率低的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种基于神经网络的古文翻译方法,其包括以下步骤:
S1、获取古文篇章及对应的翻译数据作为初始样本,
S2、对初始样本依次进行子句对齐、数据分词和数据增广操作,得到古文翻译语料库;
S3、将古文翻译语料库作为神经机器翻译模型的数据库,对序列到序列模型进行训练,得到训练好的神经网络;
S4、将待翻译的古文作为训练好的神经网络的输入,完成对古文的翻译。
进一步地,步骤S1的具体方法为:
从互联网上爬取古文篇章及对应的翻译数据,并对爬取的数据进行数据清洗,将清洗后的数据作为初始样本。
进一步地,步骤S2中对初始样本进行子句对齐的方法包括以下子步骤:
S2-1-1、对初始样本中的现代汉语进行分词,并按照从左至右的顺序将古文与现代汉语进行匹配;
S2-1-2、将已经匹配的词语从原句中删除,对于没有与现代汉语相对应的古文,引进古文字典建立逆文档频率词典,并获取每个未匹配古文字符的逆文档频率分数;
S2-1-3、检索古文字典定义的每个不匹配的古文字符,并使用它与剩余的现代汉语词汇进行匹配;
S2-1-4、根据公式
Figure BDA0001937967400000021
获取词法匹配的匹配度L(s,t);其中t表示现代汉语子句;s表示古文子句;|s|表示古文子句的长度;
Figure BDA0001937967400000022
为指示函数,若s中的字符c能直接匹配上现代汉语子句t中的词语则
Figure BDA0001937967400000023
为1,否则
Figure BDA0001937967400000024
为0;
Figure BDA0001937967400000025
Figure BDA0001937967400000026
分别为s和t中剩余的尚未匹配的字符所组成的字符串;
Figure BDA0001937967400000027
为指示函数,若古文字符c的现代语解释中能有某个字符k匹配上现代汉语中剩余的现代文词汇,则从IDF词典中取出它的分数,记为idfk,否则为0;β为逆文档频率的标准化参数;
S2-1-5、建立古文子句与现代汉语子句的翻译对应模型;其中翻译对应模型的翻译对应方式包括1→0方式、0→1方式、1→1方式、1→2方式、2→1方式和2→2方式;→表示翻译对应,→的前端为古文子句对应数目,→的后端为现代汉语子句对应数目;
S2-1-6、对于每个古文子句,获取其翻译对应模型中每种翻译对应方式的概率Pr(a→b);0≤a,b≤2;
S2-1-7、获取每个古文自然段与对应的现代汉语自然段的长度比例,并获取所有长度比例的均值u和标准差σ;
S2-1-8、根据公式
Figure BDA0001937967400000031
获取统计信息S(s,t);其中
Figure BDA0001937967400000032
是正态分布概率密度函数;
S2-1-9、根据公式
Figure BDA0001937967400000033
获取编辑距离数值E(s,t);其中EditDis(s,t)为一句古文转译为现代汉语时的操作数,操作数包括***、删除和替换的总次数;
S2-1-10、根据公式
d(s,t)=L(s,t)+γS(s,t)+λE(s,t)
Figure BDA0001937967400000034
得到任一古文子句对应到每个现代汉语子句的分值D(i,j);其中D(i,j)具体为第i个古文子句对应到第j个现代汉语子句所得的分数;γ和λ均为权重参数;si为第i个古文子句;si-1为第i-1个古文子句;si-2为第i-2个古文子句;tj为第j个现代汉语子句;tj-1为第j-1个现代汉语子句;tj-2为第j-2个现代汉语子句;NULL表示句子为空,即无对应的子句。
S2-1-11、对于任一古文子句,选取其对应分值最大的现代汉语子句作为其对齐子句,完成子句对齐。
进一步地,步骤S2中数据分词的具体方法为:
分别构建人名词典、地名词典和俗语词典,并根据构建的人名词典、地名词典和俗语词典对古文子句中的人名、地名和俗语进行分词。
进一步地,步骤S2中数据增广的具体方法包括以下子步骤:
S2-2-1、采用word2vec构建近义词词典,对近义词词典中每一个词只选取和它相似度超过0.8的近义词,得到每一条数据由一个词以及和它最相近的两至三个词构成的清洗后近义词词典,完成近义词增广;
S2-2-2、将每条数据和其后面的数据进行拼接,直至句末标点为感叹号、问号或句号,或者拼接的子句数据达到四条,将拼接的子句作为新的子句数据,完成基于子句的增广;
S2-2-3、采用统计机器翻译模型的giza++对齐工具,得到每一句古文的所有词语和其对应现代汉语的所有词语的对位信息,并根据对位信息调整古文语序,得到古文翻译语料库。
进一步地,步骤S3的具体方法包括以下子步骤:
S3-1、将古文翻译语料库中的古文子句转换为向量形式得到古文向量,并将每一个古文子句对应的古文向量作为一个训练基础单元输入序列到序列模型;
S3-2、根据公式
forgetm=sigmoid(W1·[hiddenm-1,m]+b1)
inputm=sigmoid(W2·[hiddenm-1,m]+b2)
Figure BDA0001937967400000041
Figure BDA0001937967400000042
outputm=sigmoid(W4·[hiddenm-1,m]+b4)
hiddenm=outputm*tanh(Cm)
获取序列到序列模型的编码器中任一个神经元在输入训练基础单元中第m个古文向量元素后的隐藏层状态hiddenm;其中hiddenm-1为编码器中该神经元在输入第m-1个古文向量元素后的隐藏层状态;sigmoid(·)为sigmoid函数;tanh(·)为双曲正切函数;forgetm、inputm
Figure BDA0001937967400000051
Cm和outputm均为输入第m个古文向量元素后的中间参数;Cm-1为输入第m-1个古文向量元素后的中间参数;b1、b2、b3和b4均表示偏置;W1、W2、W3和W4均表示权重;编码器中的隐藏层初始状态采用随机初始化进行设置;
S3-3、将序列到序列模型的编码器中每个神经元在输入最后一个古文向量元素后的隐藏层状态组合成向量,得到序列到序列模型的编码器与当前训练基础单元相对应的隐藏层状态向量hiddenM
S3-4、将与编码器中输入的古文子句相对应的现代汉语子句作为基础校验单元输入解码器,并根据公式
forgetn=sigmoid(W5·[staten-1,n]+b5)
inputn=sigmoid(W6·[staten-1,n]+b6)
Figure BDA0001937967400000052
Figure BDA0001937967400000053
outputn=sigmoid(W8·[staten-1,n]+b8)
staten=outputn*tanh(Cn)
获取序列到序列模型的解码器中任一个神经元在输入第n个现代汉语词后相对应的隐藏层状态staten;staten-1为编码器中该神经元在输入第n-1个现代汉语后的隐藏层状态;sigmoid(·)为sigmoid函数;tanh(·)为双曲正切函数;forgetn、inputn
Figure BDA0001937967400000054
Cn和outputn均为输入第n个现代汉语后的中间参数;Cn-1为输入第n-1个现代汉语后的中间参数;b5、b6、b7和b8均表示偏置;W5、W6、W7和W8均表示权重;解码器中的隐藏层初始状态采用编码器的隐藏层状态的值进行设置;
S3-5、将序列到序列模型的解码器中每个神经元再输入第n个现代汉语词后相对应的隐藏层状态组合成向量,得到序列到序列模型的解码器中与第n个现代汉语词相对应的隐藏层状态向量stateY
S3-6、根据公式
Figure BDA0001937967400000061
enM=bmm(stateY,hiddenM)
enx=bmm(stateY,hiddenx)
获取最后一个古文向量元素与第n个现代汉语词共同对应的序列到序列模型的注意力anM;exp(·)为以自然常数e为底的指数函数;enM和enx为中间参数;bmm(·)表示点乘;M为古文向量中的元素个数;hiddenx为编码器输入第m个古文向量元素后的隐藏层状态,hiddenx∈(hidden1,hidden2,...,hiddenM);
S3-7、根据公式
Figure BDA0001937967400000062
获取输入古文子句对应至第n个现代汉语词的编码器输出的隐藏层状态的加权平均contextn,即对应至第n个现代汉语词的上下文向量;
S3-8、根据公式
Figure BDA0001937967400000063
将对应至第n个现代汉语词的上下文向量和解码器的隐藏层状态进行级联并送入全连接网络Wcontext,得到级联状态
Figure BDA0001937967400000065
S3-9、根据公式
Figure BDA0001937967400000064
获取序列到序列模型对应于第n个现代汉语词的输出
Figure BDA0001937967400000071
进而得到序列到序列模型对应于该句现代汉语的输出
Figure BDA0001937967400000072
其中
Figure BDA0001937967400000073
softmax(·)为softmax函数;Ws为网络权重;
S3-10、根据公式
Figure BDA0001937967400000074
获取序列到序列模型对应于该句现代汉语的输出
Figure BDA0001937967400000075
与真实答案y之间的差距
Figure BDA0001937967400000076
若差距
Figure BDA0001937967400000077
大于阈值,则更新序列到序列模型的参数,直至差距
Figure BDA0001937967400000078
小于等于阈值,得到训练好的神经网络;其中N为该句现代汉语中词的总数量;yn为第n个现代汉语词,yn∈y,真实答案y即为输入解码器的现代汉语。
本发明的有益效果为:本发明通过引入多种词典进行分词,能够给翻译模型提供准确的人名地名以及俗语信息,改善专有名词翻译效果,且本发明可以自动进行子句对齐,能够通过注意力机制完成字、词之间的隐式对齐,并通过神经网络对待翻译的古文子句进行翻译,有效提高翻译效率和准确度。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,该基于神经网络的古文翻译方法包括以下步骤:
S1、获取古文篇章及对应的翻译数据作为初始样本,
S2、对初始样本依次进行子句对齐、数据分词和数据增广操作,得到古文翻译语料库;
S3、将古文翻译语料库作为神经机器翻译模型的数据库,对序列到序列模型进行训练,得到训练好的神经网络;
S4、将待翻译的古文作为训练好的神经网络的输入,完成对古文的翻译。
步骤S1的具体方法为:
从互联网上爬取古文篇章及对应的翻译数据,并对爬取的数据进行数据清洗,将清洗后的数据作为初始样本。
步骤S2中对初始样本进行子句对齐的方法包括以下子步骤:
S2-1-1、对初始样本中的现代汉语进行分词,并按照从左至右的顺序将古文与现代汉语进行匹配;
S2-1-2、将已经匹配的词语从原句中删除,对于没有与现代汉语相对应的古文,引进古文字典建立逆文档频率词典,并获取每个未匹配古文字符的逆文档频率分数;
S2-1-3、检索古文字典定义的每个不匹配的古文字符,并使用它与剩余的现代汉语词汇进行匹配;
S2-1-4、根据公式
Figure BDA0001937967400000081
获取词法匹配的匹配度L(s,t);其中t表示现代汉语子句;s表示古文子句;|s|表示古文子句的长度;
Figure BDA0001937967400000082
为指示函数,若s中的字符c能直接匹配上现代汉语子句t中的词语则
Figure BDA0001937967400000083
为1,否则
Figure BDA0001937967400000084
为0;
Figure BDA0001937967400000085
Figure BDA0001937967400000086
分别为s和t中剩余的尚未匹配的字符所组成的字符串;
Figure BDA0001937967400000091
为指示函数,若古文字符c的现代语解释中能有某个字符k匹配上现代汉语中剩余的现代文词汇,则从逆文档频率词典中取出它的频率分数,记为idfk,否则为0;β为逆文档频率的标准化参数;
S2-1-5、建立古文子句与现代汉语子句的翻译对应模型;其中翻译对应模型的翻译对应方式包括1→0方式、0→1方式、1→1方式、1→2方式、2→1方式和2→2方式;→表示翻译对应,→的前端为古文子句对应数目,→的后端为现代汉语子句对应数目;
S2-1-6、对于每个古文子句,获取其翻译对应模型中每种翻译对应方式的概率Pr(a→b);0≤a,b≤2;
S2-1-7、获取每个古文自然段与对应的现代汉语自然段的长度比例,并获取所有长度比例的均值u和标准差σ;
S2-1-8、根据公式
Figure BDA0001937967400000092
获取统计信息S(s,t);其中
Figure BDA0001937967400000093
是正态分布概率密度函数;
S2-1-9、根据公式
Figure BDA0001937967400000094
获取编辑距离数值E(s,t);其中EditDis(s,t)为一句古文转译为现代汉语时的操作数,操作数包括***、删除和替换的总次数;
S2-1-10、根据公式
d(s,t)=L(s,t)+γS(s,t)+λE(s,t)
Figure BDA0001937967400000101
得到任一古文子句对应到每个现代汉语子句的分值D(i,j);其中D(i,j)具体为第i个古文子句对应到第j个现代汉语子句所得的分数;γ和λ均为权重参数;si为第i个古文子句;si-1为第i-1个古文子句;si-2为第i-2个古文子句;tj为第j个现代汉语子句;tj-1为第j-1个现代汉语子句;tj-2为第j-2个现代汉语子句;NULL表示句子为空,即无对应的子句。
S2-1-11、对于任一古文子句,选取其对应分值最大的现代汉语子句作为其对齐子句,完成子句对齐。
步骤S2中数据分词的具体方法为:
分别构建人名词典、地名词典和俗语词典,并根据构建的人名词典、地名词典和俗语词典对古文子句中的人名、地名和俗语进行分词。
步骤S2中数据增广的具体方法包括以下子步骤:
S2-2-1、采用word2vec构建近义词词典,对近义词词典中每一个词只选取和它相似度超过0.8的近义词,得到每一条数据由一个词以及和它最相近的两至三个词构成的清洗后近义词词典,完成近义词增广;在相似度计算的时候,计算两个词的word2vec向量的两个向量的夹角的余弦值作为相似度的值;
S2-2-2、将每条数据和其后面的数据进行拼接,直至句末标点为感叹号、问号或句号,或者拼接的子句数据达到四条,将拼接的子句作为新的子句数据,完成基于子句的增广;
S2-2-3、采用统计机器翻译模型的giza++对齐工具,得到每一句古文的所有词语和其对应现代汉语的所有词语的对位信息,并根据对位信息调整古文语序,得到古文翻译语料库。
步骤S3的具体方法包括以下子步骤:
S3-1、将古文翻译语料库中的古文子句转换为向量形式得到古文向量,并将每一个古文子句对应的古文向量作为一个训练基础单元输入序列到序列模型;
S3-2、根据公式
forgetm=sigmoid(W1·[hiddenm-1,m]+b1)
inputm=sigmoid(W2·[hiddenm-1,m]+b2)
Figure BDA0001937967400000111
Figure BDA0001937967400000112
outputm=sigmoid(W4·[hiddenm-1,m]+b4)
hiddenm=outputm*tanh(Cm)
获取序列到序列模型的编码器中任一个神经元在输入训练基础单元中第m个古文向量元素后的隐藏层状态hiddenm;其中hiddenm-1为编码器中该神经元在输入第m-1个古文向量元素后的隐藏层状态;sigmoid(·)为sigmoid函数;tanh(·)为双曲正切函数;forgetm、inputm
Figure BDA0001937967400000113
Cm和outputm均为输入第m个古文向量元素后的中间参数;Cm-1为输入第m-1个古文向量元素后的中间参数;b1、b2、b3和b4均表示偏置;W1、W2、W3和W4均表示权重;编码器中的隐藏层初始状态采用随机初始化进行设置;
S3-3、将序列到序列模型的编码器中每个神经元在输入最后一个古文向量元素后的隐藏层状态组合成向量,得到序列到序列模型的编码器与当前训练基础单元相对应的隐藏层状态向量hiddenM
S3-4、将与编码器中输入的古文子句相对应的现代汉语子句作为基础校验单元输入解码器,并根据公式
forgetn=sigmoid(W5·[staten-1,n]+b5)
inputn=sigmoid(W6·[staten-1,n]+b6)
Figure BDA0001937967400000121
Figure BDA0001937967400000122
outputn=sigmoid(W8·[staten-1,n]+b8)
staten=outputn*tanh(Cn)
获取序列到序列模型的解码器中任一个神经元在输入第n个现代汉语词后相对应的隐藏层状态staten;staten-1为编码器中该神经元在输入第n-1个现代汉语后的隐藏层状态;sigmoid(·)为sigmoid函数;tanh(·)为双曲正切函数;forgetn、inputn
Figure BDA0001937967400000123
Cn和outputn均为输入第n个现代汉语后的中间参数;Cn-1为输入第n-1个现代汉语后的中间参数;b5、b6、b7和b8均表示偏置;W5、W6、W7和W8均表示权重;解码器中的隐藏层初始状态采用编码器的隐藏层状态的值进行设置;
S3-5、将序列到序列模型的解码器中每个神经元再输入第n个现代汉语词后相对应的隐藏层状态组合成向量,得到序列到序列模型的解码器中与第n个现代汉语词相对应的隐藏层状态向量stateY
S3-6、根据公式
Figure BDA0001937967400000124
enM=bmm(stateY,hiddenM)
enx=bmm(stateY,hiddenx)
获取最后一个古文向量元素与第n个现代汉语词共同对应的序列到序列模型的注意力anM;exp(·)为以自然常数e为底的指数函数;enM和enx为中间参数;bmm(·)表示点乘;M为古文向量中的元素个数;hiddenx为编码器输入第m个古文向量元素后的隐藏层状态,hfddenx∈(hfdden1,hfdden2,...,hfddenM);
S3-7、根据公式
Figure BDA0001937967400000131
获取输入古文子句对应至第n个现代汉语词的编码器输出的隐藏层状态的加权平均contextn,即对应至第n个现代汉语词的上下文向量;
S3-8、根据公式
Figure BDA0001937967400000132
将对应至第n个现代汉语词的上下文向量和解码器的隐藏层状态进行级联并送入全连接网络Wcontext,得到级联状态
Figure BDA00019379674000001312
S3-9、根据公式
Figure BDA0001937967400000133
获取序列到序列模型对应于第n个现代汉语词的输出
Figure BDA0001937967400000134
进而得到序列到序列模型对应于该句现代汉语的输出
Figure BDA0001937967400000135
其中
Figure BDA0001937967400000136
softmax(·)为softmax函数;Ws为网络权重;
S3-10、根据公式
Figure BDA0001937967400000137
获取序列到序列模型对应于该句现代汉语的输出
Figure BDA0001937967400000138
与真实答案y之间的差距
Figure BDA0001937967400000139
若差距
Figure BDA00019379674000001310
大于阈值,则更新序列到序列模型的参数,直至差距
Figure BDA00019379674000001311
小于等于阈值,得到训练好的神经网络;其中N为该句现代汉语中词的总数量;yn为第n个现代汉语词,yn∈y,真实答案y即为输入解码器的现代汉语。
综上所述,本发明通过引入多种词典进行分词,能够给翻译模型提供准确的人名地名以及俗语信息,改善专有名词翻译效果,且本发明可以自动进行子句对齐,能够通过注意力机制完成字、词之间的隐式对齐,并通过神经网络对待翻译的古文子句进行翻译,有效提高翻译效率和准确度。

Claims (5)

1.一种基于神经网络的古文翻译方法,其特征在于,包括以下步骤:
S1、获取古文篇章及对应的翻译数据作为初始样本,
S2、对初始样本依次进行子句对齐、数据分词和数据增广操作,得到古文翻译语料库;
S3、将古文翻译语料库作为神经机器翻译模型的数据库,对序列到序列模型进行训练,得到训练好的神经网络;
S4、将待翻译的古文作为训练好的神经网络的输入,完成对古文的翻译;
所述步骤S2中对初始样本进行子句对齐的方法包括以下子步骤:
S2-1-1、对初始样本中的现代汉语进行分词,并按照从左至右的顺序将古文与现代汉语进行匹配;
S2-1-2、将已经匹配的词语从原句中删除,对于没有与现代汉语相对应的古文,引进古文字典建立逆文档频率词典,并获取每个未匹配古文字符的逆文档频率分数;
S2-1-3、检索古文字典定义的每个不匹配的古文字符,并使用它与剩余的现代汉语词汇进行匹配;
S2-1-4、根据公式
Figure FDA0002393250080000011
获取词法匹配的匹配度L(s,t);其中t表示现代汉语子句;s表示古文子句;|s|表示古文子句的长度;
Figure FDA0002393250080000012
为指示函数,若s中的字符c能直接匹配上现代汉语子句t中的词语则
Figure FDA0002393250080000013
为1,否则
Figure FDA0002393250080000014
为0;
Figure FDA0002393250080000015
Figure FDA0002393250080000016
分别为s和t中剩余的尚未匹配的字符所组成的字符串;
Figure FDA0002393250080000017
为指示函数,若古文字符c的现代语解释中能有某个字符k匹配上现代汉语中剩余的现代文词汇,则从逆文档频率词典中取出它的频率分数,记为idfk,否则为0;β为逆文档频率的标准化参数;
S2-1-5、建立古文子句与现代汉语子句的翻译对应模型;其中翻译对应模型的翻译对应方式包括1→0方式、0→1方式、1→1方式、1→2方式、2→1方式和2→2方式;→表示翻译对应,→的前端为古文子句对应数目,→的后端为现代汉语子句对应数目;
S2-1-6、对于每个古文子句,获取其翻译对应模型中每种翻译对应方式的概率Pr(a→b);0≤a,b≤2;
S2-1-7、获取每个古文自然段与对应的现代汉语自然段的长度比例,并获取所有长度比例的均值μ和标准差σ;
S2-1-8、根据公式
Figure FDA0002393250080000021
获取统计信息S(s,t);其中
Figure FDA0002393250080000022
是正态分布概率密度函数;
S2-1-9、根据公式
Figure FDA0002393250080000023
获取编辑距离数值E(s,t);其中EditDis(s,t)为一句古文转译为现代汉语时的操作数,操作数包括***、删除和替换的总次数;
S2-1-10、根据公式
d(s,t)=L(s,t)+γS(s,t)+λE(s,t)
Figure FDA0002393250080000024
得到任一古文子句对应到每个现代汉语子句的分值D(i,j);其中D(i,j)具体为第i个古文子句对应到第j个现代汉语子句所得的分数;γ和λ均为权重参数;si为第i个古文子句;si-1为第i-1个古文子句;si-2为第i-2个古文子句;tj为第j个现代汉语子句;tj-1为第j-1个现代汉语子句;tj-2为第j-2个现代汉语子句;NULL表示句子为空,即无对应的子句;
S2-1-11、对于任一古文子句,选取其对应分值最大的现代汉语子句作为其对齐子句,完成子句对齐。
2.根据权利要求1所述的基于神经网络的古文翻译方法,其特征在于,所述步骤S1的具体方法为:
从互联网上爬取古文篇章及对应的翻译数据,并对爬取的数据进行数据清洗,将清洗后的数据作为初始样本。
3.根据权利要求1所述的基于神经网络的古文翻译方法,其特征在于,所述步骤S2中数据分词的具体方法为:
分别构建人名词典、地名词典和俗语词典,并根据构建的人名词典、地名词典和俗语词典对古文子句中的人名、地名和俗语进行分词。
4.根据权利要求3所述的基于神经网络的古文翻译方法,其特征在于,所述步骤S2中数据增广的具体方法包括以下子步骤:
S2-2-1、采用word2vec构建近义词词典,对近义词词典中每一个词只选取和它相似度超过0.8的近义词,得到每一条数据由一个词以及和它最相近的两至三个词构成的清洗后近义词词典,完成近义词增广;
S2-2-2、将每条数据和其后面的数据进行拼接,直至句末标点为感叹号、问号或句号,或者拼接的子句数据达到四条,将拼接的子句作为新的子句数据,完成基于子句的增广;
S2-2-3、采用统计机器翻译模型的giza++对齐工具,得到每一句古文的所有词语和其对应现代汉语的所有词语的对位信息,并根据对位信息调整古文语序,得到古文翻译语料库。
5.根据权利要求4所述的基于神经网络的古文翻译方法,其特征在于,所述步骤S3的具体方法包括以下子步骤:
S3-1、将古文翻译语料库中的古文子句转换为向量形式得到古文向量,并将每一个古文子句对应的古文向量作为一个训练基础单元输入序列到序列模型;
S3-2、根据公式
forgetm=sigmoid(W1·[hiddenm-1,m]+b1)
inputm=sigmoid(W2·[hiddenm-1,m]+b2)
Figure FDA0002393250080000041
Figure FDA0002393250080000042
outputm=sigmoid(W4·[hiddenm-1,m]+b4)
hiddenm=outputm*tanh(Cm)
获取序列到序列模型的编码器中任一个神经元在输入训练基础单元中第m个古文向量元素后的隐藏层状态hiddenm;其中hiddenm-1为编码器中该神经元在输入第m-1个古文向量元素后的隐藏层状态;sigmoid(·)为sigmoid函数;tanh(·)为双曲正切函数;forgetm、inputm
Figure FDA0002393250080000043
Cm和outputm均为输入第m个古文向量元素后的中间参数;Cm-1为输入第m-1个古文向量元素后的中间参数;b1、b2、b3和b4均表示偏置;W1、W2、W3和W4均表示权重;编码器中的隐藏层初始状态采用随机初始化进行设置;
S3-3、将序列到序列模型的编码器中每个神经元在输入最后一个古文向量元素后的隐藏层状态组合成向量,得到序列到序列模型的编码器与当前训练基础单元相对应的隐藏层状态向量hiddenM
S3-4、将与编码器中输入的古文子句相对应的现代汉语子句作为基础校验单元输入解码器,并根据公式
forgetn=sigmoid(W5·[staten-1,n]+b5)
inputn=sigmoid(W6·[staten-1,n]+b6)
Figure FDA0002393250080000051
Figure FDA0002393250080000052
outputn=sigmoid(W8·[staten-1,n]+b8)
staten=outputn*tanh(Cn)
获取序列到序列模型的解码器中任一个神经元在输入第n个现代汉语词后相对应的隐藏层状态staten;staten-1为编码器中该神经元在输入第n-1个现代汉语后的隐藏层状态;sigmoid(·)为sigmoid函数;tanh(·)为双曲正切函数;forgetn、inputn
Figure FDA0002393250080000053
Cn和outputn均为输入第n个现代汉语后的中间参数;Cn-1为输入第n-1个现代汉语后的中间参数;b5、b6、b7和b8均表示偏置;W5、W6、W7和W8均表示权重;解码器中的隐藏层初始状态采用编码器的隐藏层状态的值进行设置;
S3-5、将序列到序列模型的解码器中每个神经元再输入第n个现代汉语词后相对应的隐藏层状态组合成向量,得到序列到序列模型的解码器中与第n个现代汉语词相对应的隐藏层状态向量stateY
S3-6、根据公式
Figure FDA0002393250080000054
enM=bmm(stateY,hiddenM)
enx=bmm(stateY,hiddenx)
获取最后一个古文向量元素与第n个现代汉语词共同对应的序列到序列模型的注意力anM;exp(·)为以自然常数e为底的指数函数;enM和enx为中间参数;bmm(·)表示点乘;M为古文向量中的元素个数;hiddenx为编码器输入第m个古文向量元素后的隐藏层状态,hiddenx∈(hidden1,hidden2,…,hiddenM);
S3-7、根据公式
Figure FDA0002393250080000061
获取输入古文子句对应至第n个现代汉语词的编码器输出的隐藏层状态的加权平均contextn,即对应至第n个现代汉语词的上下文向量;
S3-8、根据公式
Figure FDA0002393250080000062
将对应至第n个现代汉语词的上下文向量和解码器的隐藏层状态进行级联并送入全连接网络Wcontext,得到级联状态
Figure FDA0002393250080000063
S3-9、根据公式
Figure FDA0002393250080000064
获取序列到序列模型对应于第n个现代汉语词的输出
Figure FDA0002393250080000065
进而得到序列到序列模型对应于该句现代汉语的输出
Figure FDA0002393250080000066
其中
Figure FDA0002393250080000067
softmax(·)为softmax函数;Ws为网络权重;
S3-10、根据公式
Figure FDA0002393250080000068
获取序列到序列模型对应于该句现代汉语的输出
Figure FDA0002393250080000069
与真实答案y之间的差距
Figure FDA00023932500800000610
若差距
Figure FDA00023932500800000611
大于阈值,则更新序列到序列模型的参数,直至差距
Figure FDA0002393250080000071
小于等于阈值,得到训练好的神经网络;其中N为该句现代汉语中词的总数量;yn为第n个现代汉语词,yn∈y,真实答案y即为输入解码器的现代汉语。
CN201910012805.0A 2019-01-07 2019-01-07 一种基于神经网络的古文翻译方法 Active CN109783825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910012805.0A CN109783825B (zh) 2019-01-07 2019-01-07 一种基于神经网络的古文翻译方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910012805.0A CN109783825B (zh) 2019-01-07 2019-01-07 一种基于神经网络的古文翻译方法

Publications (2)

Publication Number Publication Date
CN109783825A CN109783825A (zh) 2019-05-21
CN109783825B true CN109783825B (zh) 2020-04-28

Family

ID=66499178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910012805.0A Active CN109783825B (zh) 2019-01-07 2019-01-07 一种基于神经网络的古文翻译方法

Country Status (1)

Country Link
CN (1) CN109783825B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110222349B (zh) * 2019-06-13 2020-05-19 成都信息工程大学 一种深度动态上下文词语表示的方法及计算机
CN110795552B (zh) * 2019-10-22 2024-01-23 腾讯科技(深圳)有限公司 一种训练样本生成方法、装置、电子设备及存储介质
CN112270190A (zh) * 2020-11-13 2021-01-26 浩鲸云计算科技股份有限公司 一种基于注意力机制的数据库字段翻译方法及***
CN116070643B (zh) * 2023-04-03 2023-08-15 武昌理工学院 一种古文到英文的固定风格翻译方法及***
CN116701961B (zh) * 2023-08-04 2023-10-20 北京语言大学 一种对文言文机器翻译结果自动评估的方法和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007068123A1 (en) * 2005-12-16 2007-06-21 National Research Council Of Canada Method and system for training and applying a distortion component to machine translation
CN103955454A (zh) * 2014-03-19 2014-07-30 北京百度网讯科技有限公司 一种在白话文与文言文之间进行文体转换的方法和设备
CN108090050A (zh) * 2017-11-08 2018-05-29 江苏名通信息科技有限公司 基于深度神经网络的游戏翻译***
CN109033094A (zh) * 2018-07-18 2018-12-18 五邑大学 一种基于序列到序列神经网络模型的文言文白话文互译方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007068123A1 (en) * 2005-12-16 2007-06-21 National Research Council Of Canada Method and system for training and applying a distortion component to machine translation
CN103955454A (zh) * 2014-03-19 2014-07-30 北京百度网讯科技有限公司 一种在白话文与文言文之间进行文体转换的方法和设备
CN108090050A (zh) * 2017-11-08 2018-05-29 江苏名通信息科技有限公司 基于深度神经网络的游戏翻译***
CN109033094A (zh) * 2018-07-18 2018-12-18 五邑大学 一种基于序列到序列神经网络模型的文言文白话文互译方法及***

Also Published As

Publication number Publication date
CN109783825A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN109783825B (zh) 一种基于神经网络的古文翻译方法
WO2019196314A1 (zh) 文本信息相似度匹配方法、装置、计算机设备及存储介质
CN109948165B (zh) 基于混合注意力网络的细粒度情感极性预测方法
CN108628823B (zh) 结合注意力机制和多任务协同训练的命名实体识别方法
Yao et al. An improved LSTM structure for natural language processing
CN108363743B (zh) 一种智能问题生成方法、装置和计算机可读存储介质
CN108399163B (zh) 结合词聚合与词组合语义特征的文本相似性度量方法
Cui et al. Attention-over-attention neural networks for reading comprehension
Cho et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation
CN109726389B (zh) 一种基于常识和推理的中文缺失代词补全方法
CN109992780B (zh) 一种基于深度神经网络特定目标情感分类方法
US8386234B2 (en) Method for generating a text sentence in a target language and text sentence generating apparatus
CN110737758A (zh) 用于生成模型的方法和装置
CN111444700A (zh) 一种基于语义文档表达的文本相似度量方法
CN107967318A (zh) 一种采用lstm神经网络的中文短文本主观题自动评分方法和***
CN109726745B (zh) 一种融入描述知识的基于目标的情感分类方法
CN108647191B (zh) 一种基于有监督情感文本和词向量的情感词典构建方法
CN110765769A (zh) 一种基于子句特征的实体属性依赖情感分析方法
CN114943230A (zh) 一种融合常识知识的中文特定领域实体链接方法
Sun et al. VCWE: visual character-enhanced word embeddings
Greenstein et al. Japanese-to-english machine translation using recurrent neural networks
Ye et al. Improving cross-domain Chinese word segmentation with word embeddings
Xu et al. Implicitly incorporating morphological information into word embedding
Rathi Deep learning apporach for image captioning in Hindi language
Göker et al. Neural text normalization for turkish social media

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