Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mtbookv2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
NiuTrans
mtbookv2
Commits
7ac66219
Commit
7ac66219
authored
Jan 04, 2021
by
孟霞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
序列表示统一
parent
2bf7ee9b
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
2 行增加
和
2 行删除
+2
-2
Chapter14/chapter14.tex
+2
-2
没有找到文件。
Chapter14/chapter14.tex
查看文件 @
7ac66219
...
@@ -105,7 +105,7 @@
...
@@ -105,7 +105,7 @@
\parinterval
机器翻译有两种常用的推断方式
\ \dash
\
自左向右推断和自右向左推断。自左向右推断符合现实世界中人类的语言使用规律,因为人在翻译一个句子时,总是习惯从句子开始的部分往后生成
\footnote
{
有些语言中,文字是自右向左书写,这时自右向左推断更符合人类使用这种语言的习惯。
}
。不过,有时候人也会使用当前单词后面的译文信息。也就是说,翻译也需要“未来” 的文字信息。于是很容易想到使用自右向左的方法对译文进行生成。
\parinterval
机器翻译有两种常用的推断方式
\ \dash
\
自左向右推断和自右向左推断。自左向右推断符合现实世界中人类的语言使用规律,因为人在翻译一个句子时,总是习惯从句子开始的部分往后生成
\footnote
{
有些语言中,文字是自右向左书写,这时自右向左推断更符合人类使用这种语言的习惯。
}
。不过,有时候人也会使用当前单词后面的译文信息。也就是说,翻译也需要“未来” 的文字信息。于是很容易想到使用自右向左的方法对译文进行生成。
\parinterval
以上两种推断方式在神经机器翻译中都有应用,对于源语言句子
$
\seq
{
x
}
=
\{
x
_
1
,
x
_
2
,
\dots
,x
_
m
\}
$
和目标语言句子
$
\seq
{
y
}
=
\{
y
_
1
,y
_
2
,
\dots
,y
_
n
\}
$
,自左向右的翻译可以被描述为公式
\eqref
{
eq:14-1
}
:
\parinterval
以上两种推断方式在神经机器翻译中都有应用,对于源语言句子
$
\seq
{
x
}
=
\{
x
_
1
,
\dots
,x
_
m
\}
$
和目标语言句子
$
\seq
{
y
}
=
\{
y
_
1
,
\dots
,y
_
n
\}
$
,自左向右的翻译可以被描述为公式
\eqref
{
eq:14-1
}
:
\begin{eqnarray}
\begin{eqnarray}
\funp
{
P
}
(
\seq
{
y
}
\vert\seq
{
x
}
)
&
=
&
\prod
_{
j=1
}^
n
\funp
{
P
}
(y
_
j
\vert\seq
{
y
}_{
<j
}
,
\seq
{
x
}
)
\funp
{
P
}
(
\seq
{
y
}
\vert\seq
{
x
}
)
&
=
&
\prod
_{
j=1
}^
n
\funp
{
P
}
(y
_
j
\vert\seq
{
y
}_{
<j
}
,
\seq
{
x
}
)
...
@@ -118,7 +118,7 @@
...
@@ -118,7 +118,7 @@
\label
{
eq:14-2
}
\label
{
eq:14-2
}
\end{eqnarray}
\end{eqnarray}
\noindent
其中,
$
\seq
{
y
}_{
<j
}
=
\{
y
_
1
,
y
_
2
,
\dots
,y
_{
j
-
1
}
\}
$
,
$
\seq
{
y
}_{
>j
}
=
\{
y
_{
j
+
1
}
,y
_{
j
+
2
}
,
\dots
,y
_
n
\}
$
。可以看到,自左向右推断和自右向左推断本质上是一样的。
{
\chapterten
}
到
{
\chaptertwelve
}
均使用了自左向右的推断方法。自右向左推断比较简单的实现方式是:在训练过程中直接将双语数据中的目标语言句子进行反转,之后仍然使用原始的模型进行训练即可。在推断的时候,生成的目标语言词串也需要进行反转得到最终的译文。有时候,使用自右向左的推断方式会取得更好的效果
\upcite
{
DBLP:conf/wmt/SennrichHB16
}
。不过更多情况下需要同时使用词串左端(历史)和右端(未来)的信息。有多种思路可以融合左右两端信息:
\noindent
其中,
$
\seq
{
y
}_{
<j
}
=
\{
y
_
1
,
\dots
,y
_{
j
-
1
}
\}
$
,
$
\seq
{
y
}_{
>j
}
=
\{
y
_{
j
+
1
}
,
\dots
,y
_
n
\}
$
。可以看到,自左向右推断和自右向左推断本质上是一样的。
{
\chapterten
}
到
{
\chaptertwelve
}
均使用了自左向右的推断方法。自右向左推断比较简单的实现方式是:在训练过程中直接将双语数据中的目标语言句子进行反转,之后仍然使用原始的模型进行训练即可。在推断的时候,生成的目标语言词串也需要进行反转得到最终的译文。有时候,使用自右向左的推断方式会取得更好的效果
\upcite
{
DBLP:conf/wmt/SennrichHB16
}
。不过更多情况下需要同时使用词串左端(历史)和右端(未来)的信息。有多种思路可以融合左右两端信息:
\begin{itemize}
\begin{itemize}
\vspace
{
0.5em
}
\vspace
{
0.5em
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论