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
484276b0
Commit
484276b0
authored
4 years ago
by
孟霞
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'mengxia' 到 'caorunzhe'
序列表示统一 查看合并请求
!775
parents
dc4cb935
7ac66219
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
2 行增加
和
2 行删除
+2
-2
Chapter14/chapter14.tex
+2
-2
没有找到文件。
Chapter14/chapter14.tex
查看文件 @
484276b0
...
...
@@ -105,7 +105,7 @@
\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}
\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 @@
\label
{
eq:14-2
}
\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}
\vspace
{
0.5em
}
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论