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
6aacd2eb
Commit
6aacd2eb
authored
Feb 26, 2021
by
单韦乔
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、2、15语法修正
parent
79e6a07e
全部展开
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
36 行增加
和
35 行删除
+36
-35
Chapter1/Figures/figure-zh-sentences-into-en-sentences.tex
+29
-28
Chapter1/chapter1.tex
+0
-0
Chapter15/chapter15.tex
+2
-2
Chapter2/chapter2.tex
+5
-5
没有找到文件。
Chapter1/Figures/figure-zh-sentences-into-en-sentences.tex
查看文件 @
6aacd2eb
...
@@ -12,10 +12,11 @@
...
@@ -12,10 +12,11 @@
{
\footnotesize
{
\footnotesize
\node
[anchor=north west] (example1) at (0,0)
{
\textbf
{
1:
}
源=什么
\
时候
\
开始
}
;
\node
[anchor=north west] (example1) at (0,0)
{
\textbf
{
1:
}
源=什么
\
时候
\
开始
}
;
\node
[anchor=north west] (example1part2) at ([yshift=0.5em]example1.south west)
{
\hspace
{
1em
}
译=
\
When will it start
}
;
\node
[anchor=north west] (example1part2) at ([yshift=0.5em]example1.south west)
{
\hspace
{
1em
}
译=
\
When will it start
}
;
\node
[anchor=north west] (example2) at ([yshift=0.1em]example1part2.south west)
{
\textbf
{
2:
}
源=我
\
对
\
他
\
感到
\
高兴
}
;
\node
[anchor=north west] (example2) at ([yshift=0.1em]example1part2.south west)
{
\textbf
{
2:
}
源=我
\
对
\
他
\
感到
\
失望
}
;
\node
[anchor=north west] (example2part2) at ([yshift=0.5em]example2.south west)
{
\hspace
{
1em
}
译=
\
I am
happy
with him
}
;
\node
[anchor=north west] (example2part2) at ([yshift=0.5em]example2.south west)
{
\hspace
{
1em
}
译=
\
I am
disappointed
with him
}
;
\node
[anchor=north west] (example3) at ([yshift=0.1em]example2part2.south west)
{
\hspace
{
1em
}
...
}
;
\node
[anchor=north west] (example3) at ([yshift=0.1em]example2part2.south west)
{
\hspace
{
1em
}
...
}
;
\node
[anchor=south west] (examplebaselabel) at (example1.north west)
{{
\color
{
ublue
}
资源1:翻译实例库
}}
;
\node
[anchor=south west] (examplebaselabel) at (example1.north west)
{{
\color
{
ublue
}
资源1:翻译实例库
}}
;
\node
[anchor=north east,opacity=0] (empty) at ([yshift=-5em]example2part2.south east)
{
examplebaselab
}
;
}
}
}
}
...
@@ -40,7 +41,7 @@
...
@@ -40,7 +41,7 @@
\begin{pgfonlayer}
{
background
}
\begin{pgfonlayer}
{
background
}
{
{
\node
[rectangle,draw=ublue, thick,inner sep=0mm]
[fit = (entry1) (entry2) (entry3) (entry4) (dictionarylabel)]
{}
;
\node
[rectangle,draw=ublue, thick,inner sep=0mm]
[fit = (entry1) (entry2) (entry3) (entry4) (dictionarylabel)
(empty)
]
{}
;
}
}
\end{pgfonlayer}
\end{pgfonlayer}
...
@@ -49,20 +50,20 @@
...
@@ -49,20 +50,20 @@
\begin{scope}
[xshift=2.3in]
\begin{scope}
[xshift=2.3in]
{
\footnotesize
{
\footnotesize
\node
[anchor=north west,inner sep=1mm] (w1) at (0,1.7em)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (w1) at (0,1.7em)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (w2) at ([xshift=
0.3
em]w1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (w2) at ([xshift=
1.05
em]w1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (w3) at ([xshift=
0.3
em]w2.north east)
{
你
}
;
\node
[anchor=north west,inner sep=1mm] (w3) at ([xshift=
1.05
em]w2.north east)
{
你
}
;
\node
[anchor=north west,inner sep=1mm] (w4) at ([xshift=
0.3
em]w3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (w4) at ([xshift=
1.05
em]w3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (w5) at ([xshift=
0.3
em]w4.north east)
{
满意
}
;
\node
[anchor=north west,inner sep=1mm] (w5) at ([xshift=
1.05
em]w4.north east)
{
满意
}
;
}
}
\end{scope}
\end{scope}
\begin{scope}
[xshift=2.3in,yshift=-0.2in]
\begin{scope}
[xshift=2.3in,yshift=-0.2in]
{
\footnotesize
{
\footnotesize
\node
[anchor=north west,inner sep=1mm] (c1) at (0,0)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (c1) at (0,0)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (c2) at ([xshift=
0.3
em]c1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (c2) at ([xshift=
1.05
em]c1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (c3) at ([xshift=
0.3
em]c2.north east)
{
他
}
;
\node
[anchor=north west,inner sep=1mm] (c3) at ([xshift=
1.05
em]c2.north east)
{
他
}
;
\node
[anchor=north west,inner sep=1mm] (c4) at ([xshift=
0.3
em]c3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (c4) at ([xshift=
1.05
em]c3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (c5) at ([xshift=
0.3em]c4.north east)
{
高兴
}
;
\node
[anchor=north west,inner sep=1mm] (c5) at ([xshift=
1.05em]c4.north east)
{
失望
}
;
}
}
\end{scope}
\end{scope}
...
@@ -70,7 +71,7 @@
...
@@ -70,7 +71,7 @@
{
\footnotesize
{
\footnotesize
\node
[anchor=west,inner sep=1mm] (e1) at (0,0)
{
I
}
;
\node
[anchor=west,inner sep=1mm] (e1) at (0,0)
{
I
}
;
\node
[anchor=west,inner sep=1mm] (e2) at ([xshift=0.3em]e1.east)
{
am
}
;
\node
[anchor=west,inner sep=1mm] (e2) at ([xshift=0.3em]e1.east)
{
am
}
;
\node
[anchor=west,inner sep=1mm] (e3) at ([xshift=0.3em]e2.east)
{
happy
}
;
\node
[anchor=west,inner sep=1mm] (e3) at ([xshift=0.3em]e2.east)
{
disappointed
}
;
\node
[anchor=west,inner sep=1mm] (e4) at ([xshift=0.3em]e3.east)
{
with
}
;
\node
[anchor=west,inner sep=1mm] (e4) at ([xshift=0.3em]e3.east)
{
with
}
;
\node
[anchor=west,inner sep=1mm] (e5) at ([xshift=0.3em]e4.east)
{
him
}
;
\node
[anchor=west,inner sep=1mm] (e5) at ([xshift=0.3em]e4.east)
{
him
}
;
}
}
...
@@ -94,16 +95,16 @@
...
@@ -94,16 +95,16 @@
{
{
\draw
[double,->,thick,ublue]
(e3.south)--([yshift=-1.2em]e3.south) node[pos=0.5,right,xshift=0.2em,yshift=0.2em] (step1)
{
\color
{
red
}{
\tiny
{
用“你”替换“他”
}}}
;
\draw
[double,->,thick,ublue]
(e3.south)--([yshift=-1.2em]e3.south) node[pos=0.5,right,xshift=0.2em,yshift=0.2em] (step1)
{
\color
{
red
}{
\tiny
{
用“你”替换“他”
}}}
;
\draw
[->,dotted,thick,red]
([xshift=
-0.1
em]entry2.east)..controls +(east:4) and +(west:4)..([yshift=-0.6em,xshift=-0.5em]e3.south) ;
\draw
[->,dotted,thick,red]
([xshift=
0.2
em]entry2.east)..controls +(east:4) and +(west:4)..([yshift=-0.6em,xshift=-0.5em]e3.south) ;
}
}
\begin{scope}
[xshift=2.3in,yshift=-0.9in]
\begin{scope}
[xshift=2.3in,yshift=-0.9in]
{
\footnotesize
{
\footnotesize
\node
[anchor=north west,inner sep=1mm] (c1) at (0,0)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (c1) at (0,0)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (c2) at ([xshift=
0.3
em]c1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (c2) at ([xshift=
1.05
em]c1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (c3) at ([xshift=
0.3
em]c2.north east)
{
\footnotesize
{{
\color
{
ublue
}
你
}}}
;
\node
[anchor=north west,inner sep=1mm] (c3) at ([xshift=
1.05
em]c2.north east)
{
\footnotesize
{{
\color
{
ublue
}
你
}}}
;
\node
[anchor=north west,inner sep=1mm] (c4) at ([xshift=
0.3
em]c3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (c4) at ([xshift=
1.05
em]c3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (c5) at ([xshift=
0.3em]c4.north east)
{
高兴
}
;
\node
[anchor=north west,inner sep=1mm] (c5) at ([xshift=
1.05em]c4.north east)
{
失望
}
;
}
}
\end{scope}
\end{scope}
...
@@ -111,7 +112,7 @@
...
@@ -111,7 +112,7 @@
{
\footnotesize
{
\footnotesize
\node
[anchor=west,inner sep=1mm] (e1) at (0,0)
{
I
}
;
\node
[anchor=west,inner sep=1mm] (e1) at (0,0)
{
I
}
;
\node
[anchor=west,inner sep=1mm] (e2) at ([xshift=0.3em]e1.east)
{
am
}
;
\node
[anchor=west,inner sep=1mm] (e2) at ([xshift=0.3em]e1.east)
{
am
}
;
\node
[anchor=west,inner sep=1mm] (e3) at ([xshift=0.3em]e2.east)
{
happy
}
;
\node
[anchor=west,inner sep=1mm] (e3) at ([xshift=0.3em]e2.east)
{
disappointed
}
;
\node
[anchor=west,inner sep=1mm] (e4) at ([xshift=0.3em]e3.east)
{
with
}
;
\node
[anchor=west,inner sep=1mm] (e4) at ([xshift=0.3em]e3.east)
{
with
}
;
\node
[anchor=west,inner sep=1mm] (e5) at ([xshift=0.3em,yshift=-0.2em]e4.east)
{
\textbf
{{
\color
{
ublue
}
you
}}}
;
\node
[anchor=west,inner sep=1mm] (e5) at ([xshift=0.3em,yshift=-0.2em]e4.east)
{
\textbf
{{
\color
{
ublue
}
you
}}}
;
}
}
...
@@ -122,28 +123,28 @@
...
@@ -122,28 +123,28 @@
}
}
{
{
\draw
[double,->,thick,ublue]
(e3.south)--([yshift=-1.2em]e3.south) node[pos=0.5,right,xshift=0.2em,yshift=0.2em] (step1)
{
\color
{
red
}{
\tiny
{
用“满意”替换“
高兴
”
}}}
;
\draw
[double,->,thick,ublue]
(e3.south)--([yshift=-1.2em]e3.south) node[pos=0.5,right,xshift=0.2em,yshift=0.2em] (step1)
{
\color
{
red
}{
\tiny
{
用“满意”替换“
失望
”
}}}
;
\draw
[->,dotted,thick,red]
([xshift=
-1.2em,yshift=-0.6em]entry3.north
east)..controls +(east:2) and +(west:3)..([yshift=-0.6em,xshift=-0.5em]e3.south) ;
\draw
[->,dotted,thick,red]
([xshift=
0.2em,yshift=-0em]entry3.
east)..controls +(east:2) and +(west:3)..([yshift=-0.6em,xshift=-0.5em]e3.south) ;
}
}
\begin{scope}
[xshift=2.3in,yshift=-1.6in]
\begin{scope}
[xshift=2.3in,yshift=-1.6in]
{
\footnotesize
{
\footnotesize
\node
[anchor=north west,inner sep=1mm] (c1) at (0,0)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (c1) at (0,0)
{
我
}
;
\node
[anchor=north west,inner sep=1mm] (c2) at ([xshift=
0.3
em]c1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (c2) at ([xshift=
1.05
em]c1.north east)
{
对
}
;
\node
[anchor=north west,inner sep=1mm] (c3) at ([xshift=
0.3
em]c2.north east)
{
你
}
;
\node
[anchor=north west,inner sep=1mm] (c3) at ([xshift=
1.05
em]c2.north east)
{
你
}
;
\node
[anchor=north west,inner sep=1mm] (c4) at ([xshift=
0.3
em]c3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (c4) at ([xshift=
1.05
em]c3.north east)
{
感到
}
;
\node
[anchor=north west,inner sep=1mm] (c5) at ([xshift=
0.3
em]c4.north east)
{
\footnotesize
{{
\color
{
ublue
}
满意
}}}
;
\node
[anchor=north west,inner sep=1mm] (c5) at ([xshift=
1.05
em]c4.north east)
{
\footnotesize
{{
\color
{
ublue
}
满意
}}}
;
}
}
\end{scope}
\end{scope}
\begin{scope}
[xshift=2.3in,yshift=-2.0in]
\begin{scope}
[xshift=2.3in,yshift=-2.0in]
{
\footnotesize
{
\footnotesize
\node
[anchor=west,inner sep=1mm] (e1) at (0,0)
{
I
}
;
\node
[anchor=west,inner sep=1mm] (e1) at (0,0)
{
I
}
;
\node
[anchor=west,inner sep=1mm] (e2) at ([xshift=0.
3
em]e1.east)
{
am
}
;
\node
[anchor=west,inner sep=1mm] (e2) at ([xshift=0.
7
em]e1.east)
{
am
}
;
\node
[anchor=west,inner sep=1mm] (e3) at ([xshift=0.
3
em]e2.east)
{
\textbf
{{
\color
{
ublue
}
satisfied
}}}
;
\node
[anchor=west,inner sep=1mm] (e3) at ([xshift=0.
7
em]e2.east)
{
\textbf
{{
\color
{
ublue
}
satisfied
}}}
;
\node
[anchor=west,inner sep=1mm] (e4) at ([xshift=0.
3
em]e3.east)
{
with
}
;
\node
[anchor=west,inner sep=1mm] (e4) at ([xshift=0.
7
em]e3.east)
{
with
}
;
\node
[anchor=west,inner sep=1mm] (e5) at ([xshift=0.
3
em,yshift=-0.2em]e4.east)
{
you
}
;
\node
[anchor=west,inner sep=1mm] (e5) at ([xshift=0.
7
em,yshift=-0.2em]e4.east)
{
you
}
;
}
}
\end{scope}
\end{scope}
...
...
Chapter1/chapter1.tex
查看文件 @
6aacd2eb
差异被折叠。
点击展开。
Chapter15/chapter15.tex
查看文件 @
6aacd2eb
...
@@ -688,9 +688,9 @@ v_i &=& \mathbi{I}_d^{\textrm{T}}\textrm{Tanh}(\mathbi{W}_d\mathbi{Q}_i)
...
@@ -688,9 +688,9 @@ v_i &=& \mathbi{I}_d^{\textrm{T}}\textrm{Tanh}(\mathbi{W}_d\mathbi{Q}_i)
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
类似于标准的Transformer初始化方式,使用Xavier初始化方式来初始化除了词嵌入以外的所有参数矩阵。词嵌入矩阵服从
$
\mathbb
{
N
}
(
0
,d
^{
-
\frac
{
1
}{
2
}}
)
$
的高斯分布,其中
$
d
$
代表词嵌入的维度。
\item
类似于标准的Transformer初始化方式,使用Xavier初始化方式来初始化除了词嵌入以外的所有参数矩阵。词嵌入矩阵服从
$
\mathbb
{
N
}
(
0
,d
^{
-
\frac
{
1
}{
2
}}
)
$
的高斯分布,其中
$
d
$
代表词嵌入的维度。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
对编码器中
自注意力机制的参数矩阵以及前馈神经网络中所有
参数矩阵进行缩放因子为
$
0
.
67
{
L
}^{
-
\frac
{
1
}{
4
}}$
的缩放,
$
L
$
为编码器层数。
\item
对编码器中
部分自注意力机制的参数矩阵以及前馈神经网络的
参数矩阵进行缩放因子为
$
0
.
67
{
L
}^{
-
\frac
{
1
}{
4
}}$
的缩放,
$
L
$
为编码器层数。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
对解码器中
全部注意力机制的参数矩阵以及前馈神经网络中所有参数矩阵
进行缩放因子为
$
(
9
{
M
}
)
^{
-
\frac
{
1
}{
4
}}$
的缩放,其中
$
M
$
为解码器层数。
\item
对解码器中
部分注意力机制的参数矩阵、前馈神经网络的参数矩阵以及前馈前馈神经网络的嵌入式输入
进行缩放因子为
$
(
9
{
M
}
)
^{
-
\frac
{
1
}{
4
}}$
的缩放,其中
$
M
$
为解码器层数。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\end{itemize}
\end{itemize}
...
...
Chapter2/chapter2.tex
查看文件 @
6aacd2eb
...
@@ -579,7 +579,7 @@ F(x)=\int_{-\infty}^x f(x)\textrm{d}x
...
@@ -579,7 +579,7 @@ F(x)=\int_{-\infty}^x f(x)\textrm{d}x
\label
{
eq:2-27
}
\label
{
eq:2-27
}
\end{eqnarray}
\end{eqnarray}
\noindent
其中,
$
V
$
表示词表,
$
|V|
$
为词表中单词的个数,
$
w
$
为词表中的一个词,c表示统计单词或短语出现的次数。有时候,加法平滑方法会将
$
\theta
$
取1,这时称之为加一平滑或是拉普拉斯平滑。这种方法比较容易理解,也比较简单,因此
也往往被用于对系统的快速原型中
。
\noindent
其中,
$
V
$
表示词表,
$
|V|
$
为词表中单词的个数,
$
w
$
为词表中的一个词,c表示统计单词或短语出现的次数。有时候,加法平滑方法会将
$
\theta
$
取1,这时称之为加一平滑或是拉普拉斯平滑。这种方法比较容易理解,也比较简单,因此
常被用于对系统的快速实现上
。
\parinterval
举一个例子。假设在一个英语文档中随机采样一些单词(词表大小
$
|V|
=
20
$
),各个单词出现的次数为:“look”出现4次,“people”出现3次,“am”出现2次,“what”出现1次,“want”出现1次,“do”出现1次。图
\ref
{
fig:2-11
}
给出了在平滑之前和平滑之后的概率分布。
\parinterval
举一个例子。假设在一个英语文档中随机采样一些单词(词表大小
$
|V|
=
20
$
),各个单词出现的次数为:“look”出现4次,“people”出现3次,“am”出现2次,“what”出现1次,“want”出现1次,“do”出现1次。图
\ref
{
fig:2-11
}
给出了在平滑之前和平滑之后的概率分布。
...
@@ -803,7 +803,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
...
@@ -803,7 +803,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
\parinterval
从词序列建模的角度看,这两类预测问题本质上是一样的。因为,它们都在使用语言模型对词序列进行概率评估。但是,从实现上看,词序列的生成问题更难。因为,它不仅要对所有可能的词序列进行打分,同时要“找到”最好的词序列。由于潜在的词序列不计其数,因此这个“找”最优词序列的过程并不简单。
\parinterval
从词序列建模的角度看,这两类预测问题本质上是一样的。因为,它们都在使用语言模型对词序列进行概率评估。但是,从实现上看,词序列的生成问题更难。因为,它不仅要对所有可能的词序列进行打分,同时要“找到”最好的词序列。由于潜在的词序列不计其数,因此这个“找”最优词序列的过程并不简单。
\parinterval
实际上,生成最优词序列的问题也是自然语言处理中的一大类问题
\ \dash\
{
\small\bfnew
{
序列生成
}}
\index
{
序列生成
}
(Sequence Generation)
\index
{
Sequence Generation
}
。机器翻译就是一个非常典型的序列生成
问题:在机器翻译任务中,需要根据源语言词序列生成与之相对应的目标语言词序列。但是语言模型本身并不能“制造”单词序列的。因此,严格地说,序列生成问题的本质并非让语言模型凭空“生成”序列,而是使用语言模型在所有候选的单词序列中“找出”最佳序列。这个过程对应着经典的
{
\small\bfnew
{
搜索问题
}}
\index
{
搜索问题
}
(Search Problem)
\index
{
Search Problem
}
。下面将着重介绍序列生成背后的建模方法,以及在序列生成
里常用的搜索技术。
\parinterval
实际上,生成最优词序列的问题也是自然语言处理中的一大类问题
\ \dash\
{
\small\bfnew
{
序列生成
}}
\index
{
序列生成
}
(Sequence Generation)
\index
{
Sequence Generation
}
。机器翻译就是一个非常典型的序列生成
任务:在机器翻译任务中,需要根据源语言词序列生成与之相对应的目标语言词序列。但是语言模型本身并不能“制造”单词序列的。因此,严格地说,序列生成任务的本质并非让语言模型凭空“生成”序列,而是使用语言模型在所有候选的单词序列中“找出”最佳序列。这个过程对应着经典的
{
\small\bfnew
{
搜索问题
}}
\index
{
搜索问题
}
(Search Problem)
\index
{
Search Problem
}
。下面将着重介绍序列生成任务背后的建模方法,以及在序列生成任务
里常用的搜索技术。
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
% NEW SUB-SECTION
...
@@ -811,7 +811,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
...
@@ -811,7 +811,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
\subsection
{
搜索问题的建模
}
\subsection
{
搜索问题的建模
}
\parinterval
基于语言模型的序列生成
问题
可以被定义为:在无数任意排列的单词序列中找到概率最高的序列。这里单词序列
$
w
=
w
_
1
w
_
2
\ldots
w
_
m
$
的语言模型得分
$
\funp
{
P
}
(
w
)
$
度量了这个序列的合理性和流畅性。在序列生成任务中,基于语言模型的搜索问题可以被描述为:
\parinterval
基于语言模型的序列生成
任务
可以被定义为:在无数任意排列的单词序列中找到概率最高的序列。这里单词序列
$
w
=
w
_
1
w
_
2
\ldots
w
_
m
$
的语言模型得分
$
\funp
{
P
}
(
w
)
$
度量了这个序列的合理性和流畅性。在序列生成任务中,基于语言模型的搜索问题可以被描述为:
\begin{eqnarray}
\begin{eqnarray}
\hat
{
w
}
=
\argmax
_{
w
\in
\chi
}
\funp
{
P
}
(w)
\hat
{
w
}
=
\argmax
_{
w
\in
\chi
}
\funp
{
P
}
(w)
\label
{
eq:2-42
}
\label
{
eq:2-42
}
...
@@ -832,7 +832,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
...
@@ -832,7 +832,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
\end{figure}
\end{figure}
%-------------------------------------------
%-------------------------------------------
\parinterval
在这种序列生成
方式的基础上,实现搜索通常有两种方法
\ \dash\
深度优先遍历和宽度优先遍历
\upcite
{
DBLP:books/mg/CormenLR89
}
。在深度优先遍历中,每次从词表中可重复地选择一个单词
,然后从左至右地生成序列,直到<eos>被选择,此时一个完整的单词序列被生成出来。然后从<eos>回退到上一个单词,选择之前词表中未被选择到的候选单词代替<eos>,并继续挑选下一个单词直到<eos>被选到,如果上一个单词的所有可能都被枚举过,那么回退到上上一个单词继续枚举,直到回退到<sos>,这时候枚举结束。在宽度优先遍历中,每次不是只选择一个单词,而是枚举所有单词。
\parinterval
在这种序列生成
策略的基础上,实现搜索通常有两种方法
\ \dash\
深度优先遍历和宽度优先遍历
\upcite
{
DBLP:books/mg/CormenLR89
}
。在深度优先遍历中,每次从词表中选择一个单词(可重复)
,然后从左至右地生成序列,直到<eos>被选择,此时一个完整的单词序列被生成出来。然后从<eos>回退到上一个单词,选择之前词表中未被选择到的候选单词代替<eos>,并继续挑选下一个单词直到<eos>被选到,如果上一个单词的所有可能都被枚举过,那么回退到上上一个单词继续枚举,直到回退到<sos>,这时候枚举结束。在宽度优先遍历中,每次不是只选择一个单词,而是枚举所有单词。
\parinterval
有一个简单的例子。假设词表只含两个单词
$
\{
a, b
\}
$
,从<sos>开始枚举所有候选,有三种可能:
\parinterval
有一个简单的例子。假设词表只含两个单词
$
\{
a, b
\}
$
,从<sos>开始枚举所有候选,有三种可能:
\begin{eqnarray}
\begin{eqnarray}
...
@@ -916,7 +916,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
...
@@ -916,7 +916,7 @@ c(\cdot) & \textrm{当计算最高阶模型时} \\
\end{figure}
\end{figure}
%-------------------------------------------
%-------------------------------------------
\parinterval
这样,语言模型的打分与解空间树的遍历就融合在一起了。于是,序列生成
的问题
可以被重新描述为:寻找所有单词序列组成的解空间树中权重总和最大的一条路径。在这个定义下,前面提到的两种枚举词序列的方法就是经典的
{
\small\bfnew
{
深度优先搜索
}}
\index
{
深度优先搜索
}
(Depth-first Search)
\index
{
Depth-first Search
}
和
{
\small\bfnew
{
宽度优先搜索
}}
\index
{
宽度优先搜索
}
(Breadth-first Search)
\index
{
Breadth-first Search
}
的雏形
\upcite
{
even2011graph,tarjan1972depth
}
。在后面的内容中,从遍历解空间树的角度出发,可以对这些原始的搜索策略的效率进行优化。
\parinterval
这样,语言模型的打分与解空间树的遍历就融合在一起了。于是,序列生成
任务
可以被重新描述为:寻找所有单词序列组成的解空间树中权重总和最大的一条路径。在这个定义下,前面提到的两种枚举词序列的方法就是经典的
{
\small\bfnew
{
深度优先搜索
}}
\index
{
深度优先搜索
}
(Depth-first Search)
\index
{
Depth-first Search
}
和
{
\small\bfnew
{
宽度优先搜索
}}
\index
{
宽度优先搜索
}
(Breadth-first Search)
\index
{
Breadth-first Search
}
的雏形
\upcite
{
even2011graph,tarjan1972depth
}
。在后面的内容中,从遍历解空间树的角度出发,可以对这些原始的搜索策略的效率进行优化。
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
% NEW SUB-SECTION
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论