一种基于医学神经机器翻译的解决产生未翻译单词的方法技术

技术编号:22308460 阅读:26 留言:0更新日期:2019-10-16 08:33
本发明专利技术公开了一种基于医学神经机器翻译的解决产生未翻译单词的方法,该方法的目的是将医学英文摘要翻译为中文摘要,便于研究学者阅读,包括以下步骤:输入医学英文摘要、文本预处理、调用医学翻译模型、判断是否含有

A method to generate untranslated words based on medical neural machine translation

【技术实现步骤摘要】
一种基于医学神经机器翻译的解决产生未翻译单词的方法
本专利技术属于医学翻译
,特别是涉及一种基于医学神经机器翻译的解决产生未翻译单词的方法。
技术介绍
通用机器翻译在大多数情况下不适应于医学领域,因为医学领域有很多医学专业词汇,像药物的名称,某些病毒、细菌的名称或者疾病的名称,可能是通用词而非通用含义,所以在进行翻译时,如果采用通用翻译可能会产生歧义。医学机器翻译不同于通用机器翻译,医学机器翻译有很强的专业性,所以需要使用医学语料来进行训练,这样使得翻译的结果更加专业化,使翻译医学相关的词汇的准确率更高。医学摘要在进行翻译时要将摘要进行分句处理,模型每次调用一句话进行翻译,在翻译结果中的<unk>处理结束后,处理下一句,以此类推,直至摘要中所有的英文语句都翻译结束,将翻译结果整合成为整段英文的翻译结果并返回给用户。医学词汇量比较大,进行机器翻译模型训练的语料中所包含的单词数有限,有时会产生未识别的单词,模型会默认返回<unk>(unknown),但是在翻译时译者不能理解<unk>是何含义,可能会误导译者从而产生歧义,因此,医学机器翻译还需要解决<unk>问题。
技术实现思路
本专利技术要解决的技术问题是避免翻译结果中出现<unk>(未识别单词),本专利技术通过解决<unk>问题,能够帮助用户更好的理解翻译结果,使得医学词汇的中文含义更加明确。本专利技术的内容为:翻译英文医学摘要并处理医学翻译得到的结果中包含<unk>的问题,包括解决单词含义歧义问题,其实施过程由输入英文语句,调用模型进行翻译,判断是否含有<unk>,处理<unk>,整合翻译结果,返回翻译结果。具体包括如下:1).接收英文医学摘要:计算机接收译者输入的医学英文摘要;2).文本预处理:对输入的英文医学摘要采用nltk包进行英文分句,通过nltk中的句子分割器来将英文段落分割成句子组;3).调用医学翻译模型:翻译程序调用训练好的医学翻译模型,将输入英文语句进行翻译;4).判断是否含有未识别单词:得到初步翻译结果后,判断翻译结果中是否含有未识别单词,如果含有,则进行未识别单词处理,否则直接返回翻译结果;未识别单词处理的方法包括:41).计算未识别单词位置:通过ATTENTION机制,计算未识别单词在源语言句子中的位置,返回给程序源单词;42).处理未识别单词:根据ATTENTION机制得到未识别单词的源语言单词位置,根据返回方法,返回结果来帮助翻译提高准确率;43).整合翻译结果:将未识别单词通过规则查找到的结果替换模型本身翻译的结果中未识别单词的位置作为最终的翻译结果;44).返回翻译结果:将最终的翻译结果返回给用户。进一步,方法3)中医学翻译模型的训练过程为:31).收集训练语料:运行爬虫程序将中华医学期刊网中的所有中英文论文摘要爬取到本地,然后使用nltk包进行中英摘要分句,判断摘要是否是中英文一一对应,如果中英文句子能够对应就作为训练翻译模型的语料;其中,爬虫程序运行过程为:3101).先使用python编程语言中的requests包将中华医学期刊网中包含论文id的网页获取到本地;3102).使用python编程语言中的BS4包将获取到的网页信息处理成python可处理格式,获取到每篇论文的id,将id存储到表格中以备后用;3103).从表格中获取id,将id与网站ip结合到一起,使用requests包爬取包含每篇论文摘要的网页;3104).使用BS4包处理含有论文摘要的网页,将中英文摘要分别存储到本地txt中以备后用;32).训练翻译模型:借助训练程序在收集到的医学语料的基础上进行翻译模型的训练;具体的训练过程为:3201).将语料分为训练集、测试集、验证集;3202).预先定义训练参数,包括学习率为0.1、梯度裁剪为0.1、随机失活为0.2、句子最大词数量为100,然后使用训练集进行训练;3203).一个阶段的训练结束后训练程序自动调用验证集来进行优化训练参数,使其更符合医学翻译模型的训练;3204).按照先验经验,步骤3202)、3203)迭代20次训练参数达到最优、得到的训练模型为最优训练模型;3205).训练程序自动调用测试集进行验证医学翻译模型的泛化能力;3206).训练结束,得到最终的医学翻译模型。进一步,方法42)中的返回方法包括方法一:如果单词为大写字母单词,则直接返回原单词。进一步,方法42)中的返回方法包括方法二:如果不满足方法一,则先进行meddra疾病词典的查询,后续还有加入更多医学专业词典,如果查找得到中文含义,则返回含义替换未识别的单词,meddra词典是自行整理的医学词汇词典,每个英文词汇只有一个中文含义,因为是医学专业词典,所以不需要进行语义消歧。进一步,方法42)中的返回方法包括方法三:如果不满足方法二,则将未识别单词进行通用词典查询,如果查询到结果而且结果只有一个,则返回中文含义,替换未识别单词;如果查询到的结果有多个中文含义,我们将进行语义消歧,通过整句话的语义来判断该单词在该环境下的含义,根据每个中文含义的概率来决定该未识别单词的含义,如果有多个中文含义的概率相同,则默认选择第一个中文含义为最佳含义;得到中文含义后返回结果。进一步,方法42)中的返回方法包括方法四:如果方法二和方法三均未查询到中文含义,判断是否含有连词符“-”,如果不含有连词符,则返回源单词作为翻译结果;如果含有连词符,去掉连词符将分开的单词单独进行方法二和方法三的查找,如果找到中文含义,则使用“-”拼接作为源单词的中文含义;如果未找到,则返回源单词作为翻译结果。附图说明图1是本专利技术的模型翻译过程流程图;图2是本专利技术的结构图。具体实施方式下面结合具体实施例和附图对本专利技术作进一步的说明。如图1至图2所示,一种基于医学神经机器翻译的解决产生未翻译单词(unk)的方法,其方法包含了最新的神经机器翻译训练方法,以及处理模型翻译所产生未翻译单词而采用的组合方法。所述的基于医学神经机器翻译模型采用医学语料进行训练,其翻译的结果更加偏向于医学领域。所述使用医学语料进行神经机器翻译的方法,再使用多规则的未翻译单词(unk)处理方法,提高了翻译的准确率,在翻译效果方面,更加贴近于医学专业人员翻译。其中,翻译模型的训练,采用LSTM+ATTENTION架构,附图中的每个原点代表一个单词,ATTENTION机制计算每个源语言单词的权重,权重最大的词的下标作为<unk>所指的源语言单词的位置,在得到翻译结果后,通过判断<unk>的位置得到<unk>在待翻译句子中的源语言单词,我们根据处理<unk>的规则将<unk>进行处理,最大程度的保证了<unk>也能翻译为中文,仅由大写字母组合的单词默认返回原单词,不进行翻译。本方法具体包括:输入英文医学摘要:译者将医学英文摘要输入到翻译程序中。文本预处理:将输入的英文医学摘要进行分句处理。采用的是斯坦福大学推出的nltk包来进行英文分句,使用nltk中的句子分割器来将英文段落分割成句子组。调用医学翻译模型:翻译程序调用使用自己爬取的医本文档来自技高网...

【技术保护点】
1.一种基于医学神经机器翻译的解决产生未翻译单词的方法,其特征在于,包括的方法有:1).接收英文医学摘要:计算机接收译者输入的医学英文摘要;2).文本预处理:对输入的英文医学摘要采用nltk包进行英文分句,通过nltk中的句子分割器来将英文段落分割成句子组;3).调用医学翻译模型:翻译程序调用训练好的医学翻译模型,将输入英文语句进行翻译;4).判断是否含有未识别单词:得到初步翻译结果后,判断翻译结果中是否含有未识别单词,如果含有,则进行未识别单词处理,否则直接返回翻译结果;未识别单词处理的方法包括:41).计算未识别单词位置:通过ATTENTION机制,计算未识别单词在源语言句子中的位置,返回给程序源单词;42).处理未识别单词:根据ATTENTION机制得到未识别单词的源语言单词位置,根据返回方法,返回结果来帮助翻译提高准确率;43).整合翻译结果:将未识别单词通过规则查找到的结果替换模型本身翻译的结果中未识别单词的位置作为最终的翻译结果;44).返回翻译结果:将最终的翻译结果返回给用户。

【技术特征摘要】
1.一种基于医学神经机器翻译的解决产生未翻译单词的方法,其特征在于,包括的方法有:1).接收英文医学摘要:计算机接收译者输入的医学英文摘要;2).文本预处理:对输入的英文医学摘要采用nltk包进行英文分句,通过nltk中的句子分割器来将英文段落分割成句子组;3).调用医学翻译模型:翻译程序调用训练好的医学翻译模型,将输入英文语句进行翻译;4).判断是否含有未识别单词:得到初步翻译结果后,判断翻译结果中是否含有未识别单词,如果含有,则进行未识别单词处理,否则直接返回翻译结果;未识别单词处理的方法包括:41).计算未识别单词位置:通过ATTENTION机制,计算未识别单词在源语言句子中的位置,返回给程序源单词;42).处理未识别单词:根据ATTENTION机制得到未识别单词的源语言单词位置,根据返回方法,返回结果来帮助翻译提高准确率;43).整合翻译结果:将未识别单词通过规则查找到的结果替换模型本身翻译的结果中未识别单词的位置作为最终的翻译结果;44).返回翻译结果:将最终的翻译结果返回给用户。2.根据权利要求1所述的基于医学神经机器翻译的解决产生未翻译单词的方法,其特征在于,方法3)中医学翻译模型的训练过程为:31).收集训练语料:运行爬虫程序将中华医学期刊网中的所有中英文论文摘要爬取到本地,然后使用nltk包进行中英摘要分句,判断摘要是否是中英文一一对应,如果中英文句子能够对应就作为训练翻译模型的语料;其中,爬虫程序运行过程为:3101).先使用python编程语言中的requests包将中华医学期刊网中包含论文id的网页获取到本地;3102).使用python编程语言中的BS4包将获取到的网页信息处理成python可处理格式,获取到每篇论文的id,将id存储到表格中以备后用;3103).从表格中获取id,将id与网站ip结合到一起,使用requests包爬取包含每篇论文摘要的网页;3104).使用BS4包处理含有论文摘要的网页,将中英文摘要分别存储到本地txt中以备后用;32).训练翻译模型:借助训练程序在收集到的医学语料的基础上进行翻译模型的训练;具体的训练过程为:3201).将语料分为训练集、测试集、验证集...

【专利技术属性】
技术研发人员:管仁初温晓静王连臣陈碧乾周丰丰
申请(专利权)人:北京百奥知信息科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1