自然语言处理(第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.rhkb.cn/news/226610.html

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

相关文章

JavaScript之常用的事件

文章目录 前言为什么使用事件呢?常用的触发事件窗口事件onbluronfocusonresize窗口加载事件 表单事件onchangeoninput 键盘事件onkeydownonkeyup 鼠标事件onclickondblclickonmousemoveonmouseoutonscroll 总结窗口事件总结表单事件总结键盘事件总结鼠标事件总结 前言 在网页中…

UE4运用C++和框架开发坦克大战教程笔记(十二)(第37~39集)

UE4运用C和框架开发坦克大战教程笔记(十二)(第37~39集) 37. 延时事件系统38. 协程逻辑优化更新39. 普通按键绑定 37. 延时事件系统 由于梁迪老师是写 Unity 游戏出身的,所以即便 UE4 有自带的 TimeManager 这样的延时…

BUG-由浏览器缩放引起PC端显示手机端视图

文章目录 来源解决 来源 启动Vue项目,用浏览器打开显示手机端视图,从vscode直接ctrl链接打开正常显示。 检查-未开启仿真,但仍显示错误。 解决 浏览器缩放问题。 修改为100%

ArcGIS高程点生成等高线

基本步骤:数据清洗→创建TIN→TIN转栅格→等值线→平滑线。 1.(重要)数据清理:删除高程点中的高程异常值数据。 2.创建TIN:系统工具→3D Analyst Tools→数据管理→TIN→创建TIN(可直接搜索工具TIN)。 单击…

十二:爬虫-Scrapy框架(上)

一:Scrapy介绍 1.Scrapy是什么? Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架(异步爬虫框架) 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片 Scrapy使用了Twisted异步网…

LabVIEW的便携式车辆振动测试分析

随着计算机和软件技术的发展,虚拟仪器正逐渐成为机械工业测试领域的主流。在现代机械工程中,特别是车辆振动测试,传统的测试方法不仅设备繁杂、成本高昂,而且操作复杂。为解决这些问题,开发了一款基于美国国家仪器公司…

1. pytorch mnist 手写数字识别

文章目录 一、数据集介绍1.1、简介1.2 详细介绍1、数据量2、标注量3. 标注类别4.数据下载5.数据集解读 二、读取、加载数据集1、pytorch 自带库函数2、通过重构Dataset类读取特定的MNIST数据或者制作自己的MNIST数据集 三、模型构建四、 runtraintest评估模型的性能检查点的持续…

在Java中使用sort()方法进行排序

思想 采用Array类的sort()方法,sort()可以对数组进行排序,有很多重载格式,可以对任何数据类型进行不同数据类型的排序。 代码 import java.util.Arrays; import java.util.Random; public class SortSequence {public static void main(String[] arg…

C# ASP.NET 实验室 检验中心 医疗LIS源码

LIS系统能够自动处理大量的医学数据,包括样本采集、样本处理、检测分析、报告生成等。它能够快速、准确地进行化验检测,提高医院的运营效率。LIS系统还提供了丰富的数据分析功能,能够对医院化验室的业务流程进行全面、细致的监控。 LIS系统优…

【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)

文章目录 🍔Bean的获取🎄注入IOC容器对象⭐代码实现🛸根据bean的名称获取🛸根据bean的类型获取🛸根据bean的名称和类型获取 🎄Bean的作用域⭐代码实现🎈注意 🎄第三方Bean⭐代码实现…

iPortal内置Elasticsearch启动失败的几种情况——Linux

作者:yx 文章目录 前言一、端口占用二、ES启动过慢三、磁盘占用过高,导致ES变为只读模式 前言 在Linux环境启动iPortal后有时会出现搜索异常的情况,如下截图,这是因为Elasticsearch(以下简称“ES”)没启动…

【Midjourney】Midjourney根据prompt提示词生成人物图片

目录 🍇🍇Midjourney是什么? 🍉🍉Midjourney怎么用? 🔔🔔Midjourney提示词格式 Midjourney生成任务示例 例1——航空客舱与乘客 prompt prompt翻译 生成效果 大图展示 细节大…

K8s实战-init容器

概念: 初始化容器的概念 比如一个容器A依赖其他容器,可以为A设置多个 依赖容易A1,A2,A3 A1,A2,A3要按照顺序启动,A1没有启动启动起来的 话,A2,A3是不会启动的,直到所有的静态容器全 部启动完毕…

Python数据分析之Pandas的数据加载与预处理

一、数据分析 数据分析就是让看似杂乱无章的数据产生价值,通过数据的筛选、汇总等等操作将数据背后的信息集中和提炼出来,最终分析出一个结果或预测出事件的变化规律。 二、数据清洗 数据加载与预览 1、去除/填充有缺失的数据 2、去除/修改格式错误或…

ChatGPT4.0(中文版)国内无限制免费版(附网址)

ChatGPT,由OpenAI开发的人工智能语言模型。它是你的数字对话伙伴,无论你有何问题或需要什么帮助,它都能提供有用的信息。 经过不断的研发和更新,ChatGPT的性能和功能得到了显著提升。现在,我们将重点介绍ChatGPT的两个…

C#高级 08Json操作

1.概念 Json是存储和交换文本信息的语法。类似于XML。Json比XML更小、更快、更易解析。Json与XML一样是一种数据格式。Json是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。Json采取完全独立于语言的文本格式, 但是也使用了类似于C语言的习惯。这些特性使…

创建VLAN及VLAN间通信

任务1、任务2、任务3实验背景: 在一家微型企业中,企业的办公区域分为两个房间,一个小房间为老板办公室,一个大房间为开放办公室,财务部和销售部的员工共同使用这个办公空间。我们需要通过VLAN的划分,使老板…

3D视觉-激光三角测量法的分类

按照入射激光光束和被测物体表面法线的角度关系,一般分为直射式和斜射式两种方式。 1)直射式测量 如图所示,激光器发出的光线,经会聚透镜聚焦后垂直入射到被测物体表面上,物体移动或者其表面变化,导致入射…

elasticsearch系列四:集群常规运维

概述 在使用es中如果遇到了集群不可写入或者部分索引状态unassigned,明明写入了很多数据但是查不到等等系列问题该怎么办呢?咱们今天一起看下常用运维命令。 案例 起初我们es性能还跟得上,随着业务发展壮大,发现查询性能越来越不…

鸿蒙开发(二)- 鸿蒙DevEco3.X开发环境搭建

上篇说到,鸿蒙开发目前势头旺盛,头部大厂正在如火如荼地进行着,华为也对外宣称已经跟多个厂商达成合作。目前看来,对于前端或客户端开发人员来说,掌握下鸿蒙开发还是有些必要性的。如果你之前是从事Android开发的&…