自然语言处理(第16课 机器翻译4、5/5)

一、学习目标

1.学习各种粒度的系统融合方法

2.学习两类译文评估标准

3.学习语音翻译和文本翻译的不同

4.学习语音翻译实现方法

二、系统融合

        以一个最简单的例子来说明系统融合,就是相当于用多个翻译引擎得到不同的翻译结果,然后选择其中最好的作为最终结果:

        不同于分类方法中的系统融合,因为分类方法中,各引擎的输出结果是类别,可以使用投票法(少数服从多数)、取均值等方法,机器翻译的结果是译文,是不能使用投票法、取均值法来得到结果的。

        于是在机器翻译中,针对不同粒度的系统融合方法,需要对输出们“加和”的操作中进行变动,包括:(1)句子级系统融合;(2)词语级系统融合;(3)词语级系统融合;(4)基于深度学习的系统融合。

        1.句子级系统融合

        其核心思想是计算一个输出与其它输出的相似度,加和取平均。然后每个输出都有一个对其他输出的相似度加和平均结果,最好的结果就是相似度最大的那个,例子如下:

        优点:只需要计算就能得到结果,方便。

        缺点:如果每个翻译引擎都翻译得不好,最终结果也不好。

        2.短语级系统融合

        如果能回想起前面讲过的短语级的机器翻译,就是像它那样使用对齐一致性的词语划分方法来对翻译结果进行划分,然后选取出其中出现次数多的短语组合形成新的结果。例子如下:

        优点:能找到比句子级系统融合更优的结果。

        缺点:需要足够多的翻译引擎才能有提升。

        3.词语级系统融合

        我们先看其一个例子:(其中null表示为空)

 

         显然,词语级系统融合的关键在于构建上面的有向图,从而可以找到得分最高的路径作为最优结果,而构建有向图的基础是对齐操作。所以对齐是其重中之重。其整体模型运行过程如下:

        4.基于深度学习的系统融合
 

        其重点在于使用了注意力机制,就相当于分类模型系统融合中的adaboost,给每个系统都分配权值,从而能汇聚所有翻译引擎的信息。整体结构如下:

三、译文评估方法

         不像分类任务,直接统计模型输出结果是否分类成功,从而得到正确率或者错误率去评判模型的好坏。机器翻译翻译的结果是文本,标签也是文本,无法直接进行比较,而且文本也有同意性,不同句子可以表达同种意思。于是机器翻译特别地设计了各种译文评估方法。

        1.主观评测

        主观评测就是让双语翻译专家来打分,考察标准分三类:流畅度、充分性、语义保持性。三个标准的评分表如下:

 

 

        以一个例子来说明:

 

         显然,主观评测的结果是十分准确且合理的。但确点也很明显,对于上百万条翻译语句,让人工去评判,消耗的时间和资源是不等价的。

        2.客观评测

        客观评测就是让程序自己根据模型输出结果和参考译文来计算正确率和错误率。几个常见的是:

        一个十分常用的评价法是BLEU评价法:

        我们用一个例子来理解它:

        如果n=1,则系统译文的词集合为{the},由于the在参考译文中出现,故得分为1/1=1;

        再取n=2,则系统译文的词集合为{'the the'},而'the the'未在参考译文中出现,故得分0/1=0;

        同理n=3、4,(一般n取到4)得分都为0,综合得分为1+0+0+0=1。(当然这里可以归一化一下,甚至给不同的n的得分分配不同权重)。

        于是我们可以有最后的计算公式:(w就是上面说的权重,p是各个得分,BP是惩罚项,用于惩罚过短的句子,原因可见红字部分)

        3.基于深度学习的客观评测

         其主要思想是通过注意力机制来计算得分。以例子来说明:

        网格左边是原文,下面是译文(这里是英译英,但理解其思想就行)。网格中就是左边词与下边词的注意力度,相当于联系性,所以取最大的得分,认为其联系性最大(可以互相翻译),网格之外还有一排数据,是说明句子各词的重要性(权重),网格红色得分乘上权重,最后就可以得到总分,继而可求召回率、准确率、F1。

四、语音翻译

        1.语音翻译的定义

        语音翻译的基本原理相比大家都能猜到:将源语言识别出源文本、源文本转目标文本、目标文本转目标语音:(但是,要注意的是,源语言和目标语言的转换应该是双向的)

        2.语音翻译与文本翻译的不同

        语音翻译是肯定比文本翻译难的,

        在语音识别上,有:(1)系统工作环境的多样、(2)复杂的口语习惯、(3)语音库收集难。(显然还有:杂音、集外词、缺少标点符号)

        在语言表示上,口语翻译还有的特点:

         在语言使用上,有省略、冗余等问题。

        在语音合成上,有自然、流畅、清楚、有情感、与说话人语音一致等要求。

        此外,手势和表情也会对语言的表达有辅助作用。

五、语音翻译实现

        1.重点问题

        现有的语音翻译基本都没做这些问题的解决方法。

        2.级联方法

        级联方法就是前面说的语音识别-机器翻译-语音合成三步结合的方法。过程如下:

        如上面所说,其有三个重要的问题:时间延迟、错误累计、参数冗余。于是提出端到端的方法。

        3.端到端方法

        端到端的思想是,直接将源语言语音输入到模型中,模型输出目标语言的文本,通过语音合成输出目标语音:

        二者比较,各有优缺点:

        

六、本章小结

1.机器翻译的系统融合方法,并由于问题不同引起的融合方法的不同和评估方法的不同

2.语音翻译与文本翻译的不同,语音翻译的两种实现方法。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络安全 | XCTF】2017_Dating_in_Singapore

正文 题目描述: 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-0203040310172431-0102030108152229151617-04050604111825181920-0108152229303124171003-261912052028211407-0405…

Linux开发工具——gdb篇

Linux下调试工具——gdb 文章目录 makefile自动化构建工具 gdb背景 gdb的使用 常用命令 总结 前言: 编写代码我们使用vim,编译代码我们使用gcc/g,但是我们,不能保证代码没问题,所以调试是必不可少的。与gcc/vim一样&…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C) Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率获取方式CameraExplorer如何查看相机帧率信息在NEOAPI SDK里通过函数获取相机帧率(C) …

从方程到预测:数学在深度学习中的作用

图片来源 一、说明 深度学习通常被认为是人工智能的巅峰之作,它的成功很大程度上归功于数学,尤其是线性代数和微积分。本文将探讨深度学习与数学之间的深刻联系,阐明为什么数学概念是该领域的核心。 二、数学框架 从本质上讲,深度…

水经微图IOS版即将发布!

我们从上周开始,已经在着手提交产品到苹果商店等相关工作,但又恰逢“圣诞节”,据说这会导致延长审核周期。 正所谓行百里者半九十,我们现在只需要耐心等待审核通过,到时大家就可以在苹果商店中下载安装了。 IOS版功能…

echarts半圆进度条半圆饼图

drawmonthproduce(){this.monthproduce echarts.init(document.getElementById(monthproduce));var data 60; //数值大小var max 100; //满刻度大小this.monthproduce.setOption({title: [{text: data %, left: 50%,top: 70%,textAlign: center,textStyle: {// fontWeight…

C语言rand函数,srand函数,time函数实现随机数,及猜数字小游戏

怀心之所爱,奔赴山河 前言 最近在复习c的知识,想起之前写过一个猜数字小游戏,所以今天就把自己关于随机数的使用经验分享一下,希望对大家有帮助。 一.rand函数 1.函数的声明如下 可以看到,返回值是int类型&#xff…

人工智能的基础-深度学习

什么是深度学习? 深度学习是机器学习领域中一个新的研究方向,它被引入机器学习使其更接近于人工智能。 深度学习是机器学习领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。 深度学习是学习样本数据的内在规律和表示层次&…

优维携手深职大共建“中国高校‘双碳’技能仿真操作系统”!

优维“双碳”战略合作高校 优维科技与深圳职业技术大学碳中和技术研究院(深职碳研院)签署战略合作协议,深化产学研,聚力创新“双碳”发展。在“双碳”目标大背景下,优维科技和深职碳研院将携手共同开发中国高校“双碳…

主动红外探测器,预计到2026年将达到16 亿美元

主动红外探测器,也称为运动传感器,是一种通过发射红外辐射并检测反射来检测移动物体存在的电子设备。它们广泛用于安全系统、自动门、照明控制和其他需要运动检测的应用。近年来,由于对安全系统的需求不断增加以及智能家居和建筑的发展&#…

C++标准模板库(STL)

标准模板库(STL)是一组C模板类,提供常见的编程数据结构和函数,如列表、堆栈、数组等。它是一个容器类、算法和迭代器的库。它是一个通用库,因此,它的组件是参数化的。模板类的相关知识是使用STL的先决条件。…

使用Jenkins和单个模板部署多个Kubernetes组件

前言 在持续集成和部署中,我们通常需要部署多个实例或组件到Kubernetes集群中。通过Jenkins的管道脚本,我们可以自动化这个过程。在本文中,我将演示如何使用Jenkins Pipeline及单个YAML模板文件(.tpl)来部署多个类似的…

【Mars3d】官网示例与项目仓库的历史版本下载

【Mars3d】官网示例与项目仓库的历史版本下载 1.进入官网仓库&#xff1a; mars3d-vue-example: mars3d功能示例&#xff0c;Vue版本 2.以下载3.4.26版本的历史示例为例 <一>建议先 git clone https://gitee.com/marsgis/mars3d-vue-example.git <二>使用vsco…

Unity | 快速修复Animation missing错误

目录 一、背景 二、效果 三、解决办法 一、背景 最近在做2D 骨骼动画相关的Demo&#xff0c;我自己使用Unity引擎进行骨骼绑定并创建了anim后&#xff0c;一切正常&#xff0c;anim也能播放。但是昨天我修改Obj及子物体的名称&#xff08;由中文改为英文&#xff0c;如&…

svg学习

概念 svg 可缩放矢量图形 svg 使用xml格式定义图像 svg 形状 矩形 <rect> <?xml version"1.0" standalone"no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&q…

OpenCV入门01:图像处理简介/图像的基础操作

项目开源&#xff0c;地址&#xff1a;https://gitee.com/zccbbg/opencv_study 文章目录 图像处理简介灰度图像二值图像彩色图 opencv 介绍图像基础操作图像读取与显示绘制几何图形图像的属性其他操作算数操作加法混合 图像色彩空间转换 图像处理简介 灰度图像 ● 灰度图像是…

VIOOVI干货分享:生产标准工时的计算与观测次数确认

在制造业中&#xff0c;生产标准工时是一个关键指标&#xff0c;它可以帮助企业确定生产效率、评估员工绩效以及优化生产流程。本文将介绍生产标准工时的计算方法&#xff0c;并探讨如何确认观测次数&#xff0c;以充分利用ECRS工时分析软件。 一、生产标准工时的计算 生产标准…

售后客服日常回复必备的话术

致歉安抚通用 1.非常抱歉耽误您宝贵的时间了&#xff0c;这边给您查询一下&#xff0c;请稍等。 2.非常抱歉&#xff0c;给您添麻烦了。这边为您转接售后专员给您处理&#xff0c;请亲稍等。 3.影响到您的购物体验万分抱歉。 4.这边都会给您尽心解决的呢。 5.我非常理解您…

深度解析高防产品---游戏盾

游戏盾是针对游戏行业所推出的高度可定制的网络安全解决方案&#xff0c;游戏盾是高防产品系列中针对游戏行业的安全解决方案。游戏盾专为游戏行业定制&#xff0c;针对性解决游戏行业中复杂的DDoS攻击、游戏CC攻击等问题。游戏盾通过分布式的抗D节点&#xff0c;可以防御TB级大…

@PersistenceContext和@Autowired在EntityManager上应用的不同

首先PersistenceContext是jpa专有的注解&#xff0c;而Autowired是spring自带的注释 上方图片的意思就是EntityManager不是线程安全的&#xff0c;当多个请求进来的时候&#xff0c;spring会创建多个线程&#xff0c;而PersistenceContext就是用来为每个线程创建一个EntityMana…