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
30db2c09
Commit
30db2c09
authored
Aug 21, 2020
by
单韦乔
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
第一章、第二章参考文献
parent
29939616
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
55 行增加
和
28 行删除
+55
-28
Chapter1/chapter1.tex
+1
-1
Chapter2/Figures/figure-example-of-beam-search.tex
+4
-4
Chapter2/Figures/figure-example-of-greedy-search.tex
+4
-4
Chapter2/chapter2.tex
+3
-3
bibliography-old.bib
+43
-16
bibliography.bib
+0
-0
没有找到文件。
Chapter1/chapter1.tex
查看文件 @
30db2c09
...
...
@@ -111,7 +111,7 @@
\parinterval
人工翻译已经存在了上千年,而机器翻译又起源于什么时候呢?机器翻译跌宕起伏的发展史可以分为萌芽期、受挫期、快速成长期和爆发期四个阶段。
\parinterval
早在17世纪,如Descartes就提出使用世界语言,即使用统一符号表示不同语言、相同含义的词汇,来克服语言障碍的想法
\upcite
{
knowlson1975universal
}
,这种想法在当时是很超前的。随着语言学、计算机科学等学科的发展,在19世纪30年代使用计算模型进行自动翻译的思想开始萌芽,如当时法国科学家Georges Artsrouni就提出用机器来进行翻译的想法。只是那时依然没有合适的实现手段,所以这种想法的合理性无法被证实。
\parinterval
17世纪,Descartes提出世界语言的概念
\upcite
{
knowlson1975universal
}
,他希望使用统一符号表示不同语言、相同含义的词汇,以此来克服语言障碍
,这种想法在当时是很超前的。随着语言学、计算机科学等学科的发展,在19世纪30年代使用计算模型进行自动翻译的思想开始萌芽,如当时法国科学家Georges Artsrouni就提出用机器来进行翻译的想法。只是那时依然没有合适的实现手段,所以这种想法的合理性无法被证实。
\parinterval
随着第二次世界大战爆发, 对文字进行加密和解密成为重要的军事需求,这也使得数学和密码学变得相当发达。在战争结束一年后,世界上第一台通用电子数字计算机于1946年研制成功(图
\ref
{
fig:1-4
}
),至此使用机器进行翻译有了真正实现的可能。
...
...
Chapter2/Figures/figure-example-of-beam-search.tex
查看文件 @
30db2c09
...
...
@@ -9,10 +9,10 @@
% \node[anchor=north,minimum width=1.8em,minimum height=1em,fill=blue!10] (l1) at ([yshift=-1em]eos.south){};
% \node[anchor=north,minimum width=1.8em,minimum height=1em,fill=red!10] (l2) at ([yshift=-0.5em]l1.south){};
\node
[anchor=
west,unit]
(w1) at ([xshift=1.5em,yshift=7em]eos.east
)
{$
w
_
1
$}
;
\node
[anchor=
north,unit]
(w1) at ([xshift=0em,yshift=-1.8em]eos.south
)
{$
w
_
1
$}
;
\node
[anchor=north,unit,fill=blue!10]
(n11) at ([yshift=-0.5em]w1.south)
{$
<
$
sos
$
>
$}
;
\node
[anchor=west,unit,fill=red!20,opacity=0.3]
(n24) at ([xshift=
4.5
em]n11.east)
{
an
}
;
\node
[anchor=west,unit,fill=red!20,opacity=0.3]
(n24) at ([xshift=
6.5em,yshift=4.3
em]n11.east)
{
an
}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black,opacity=0.3] (pt24) at (n24.east)
{
\small
{{
\color
{
white
}
\textbf
{
-1.4
}}}}
;
\node
[anchor=south,unit,fill=red!20]
(n23) at ([yshift=0.1em]n24.north)
{
one
}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black] (pt23) at (n23.east)
{
\small
{{
\color
{
white
}
\textbf
{
-0.6
}}}}
;
...
...
@@ -30,7 +30,7 @@
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black,opacity=0.3] (pt27) at (n27.east)
{
\small
{{
\color
{
white
}
\textbf
{
-7.2
}}}}
;
\node
[anchor=south,unit]
(w2) at ([yshift=0.5em]n21.north)
{$
w
_
2
$}
;
\node
[anchor=west,unit,fill=red!20]
(n31) at ([yshift=
3em,xshift=6
em]n21.east)
{
is
}
;
\node
[anchor=west,unit,fill=red!20]
(n31) at ([yshift=
4.7em,xshift=8
em]n21.east)
{
is
}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black] (pt31) at (n31.east)
{
\small
{{
\color
{
white
}
\textbf
{
-0.1
}}}}
;
\node
[anchor=north,unit,fill=blue!10]
(n32) at ([yshift=-0.1em]n31.south)
{$
<
$
eos
$
>
$}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black] (pt32) at (n32.east)
{
\small
{{
\color
{
white
}
\textbf
{
-0.6
}}}}
;
...
...
@@ -49,7 +49,7 @@
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black] (pt41) at (n41.east)
{
\small
{{
\color
{
white
}
\textbf
{
-0.1
}}}}
;
\node
[anchor=north,unit,fill=red!20,opacity=0.3,minimum width=3.5em,minimum height=2.5em]
(n51) at ([yshift=-0.1em]n41.south)
{
…
}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2.5em,fill=black,opacity=0.3] (pt51) at (n51.east)
{
\small
{{
\color
{
white
}
\textbf
{$
<
$
-0.7
}}}}
;
\node
[anchor=south,unit]
(w3) at ([yshift=0.5em]n31.north)
{$
w
_
2
$}
;
\node
[anchor=south,unit]
(w3) at ([yshift=0.5em]n31.north)
{$
w
_
3
$}
;
\draw
[->,ublue,very thick]
(n11.east) -- (n21.west);
\draw
[->,ublue,very thick]
(n11.east) -- (n22.west);
...
...
Chapter2/Figures/figure-example-of-greedy-search.tex
查看文件 @
30db2c09
...
...
@@ -6,17 +6,17 @@
\node
[fill=blue!40,anchor=north,align=left,inner sep=2pt,minimum width=5em]
(spe)at(words.south)
{
\color
{
white
}{
\small\bfnew
{
特殊符号
}}}
;
\node
[fill=blue!10,anchor=north,align=left,inner sep=3pt,minimum width=5em]
(eos)at(spe.south)
{$
<
$
sos
$
>
$
\\
[-0.5ex]
$
<
$
eos
$
>
$}
;
\node
[anchor=
west,unit]
(w1) at ([xshift=2em,yshift=4.5em]eos.east
)
{$
w
_
1
$}
;
\node
[anchor=
north,unit]
(w1) at ([xshift=2.5em,yshift=-1em]eos.south
)
{$
w
_
1
$}
;
\node
[anchor=north,unit,fill=blue!10]
(n11) at ([yshift=-0.5em]w1.south)
{$
<
$
sos
$
>
$}
;
\node
[anchor=north] (wtranslabel) at ([xshift=
0em,yshift=-1
em]n11.south)
{
\small
{
生成顺序:
}}
;
\node
[anchor=north] (wtranslabel) at ([xshift=
-2.5em,yshift=-3
em]n11.south)
{
\small
{
生成顺序:
}}
;
\draw
[->,ultra thick,red,line width=1.5pt,opacity=0.7] (wtranslabel.east) -- ([xshift=1.5em]wtranslabel.east);
\node
[anchor=west,unit,fill=red!20]
(n22) at ([xshift=5em]n11.east)
{
agree
}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black] (pt22) at (n22.east)
{
\small
{{
\color
{
white
}
\textbf
{
-0.4
}}}}
;
\node
[anchor=south,unit,fill=red!20]
(n21) at ([yshift=
0.3
em]n22.north)
{
I
}
;
\node
[anchor=south,unit,fill=red!20]
(n21) at ([yshift=
5.5
em]n22.north)
{
I
}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black] (pt21) at (n21.east)
{
\small
{{
\color
{
white
}
\textbf
{
-0.5
}}}}
;
\node
[anchor=north,unit,fill=blue!10]
(n23) at ([yshift=-
0.
3em]n22.south)
{$
<
$
eos
$
>
$}
;
\node
[anchor=north,unit,fill=blue!10]
(n23) at ([yshift=-3em]n22.south)
{$
<
$
eos
$
>
$}
;
\node
[anchor=north,rotate=90,inner sep=1pt,minimum width=2em,fill=black] (pt23) at (n23.east)
{
\small
{{
\color
{
white
}
\textbf
{
-2.2
}}}}
;
\node
[anchor=south,unit]
(w2) at ([yshift=0.5em]n21.north)
{$
w
_
2
$}
;
...
...
Chapter2/chapter2.tex
查看文件 @
30db2c09
...
...
@@ -686,7 +686,7 @@ N & = & \sum_{r=0}^{\infty}{r^{*}n_r} \nonumber \\
\subsubsection
{
3.Kneser-Ney平滑方法
}
\parinterval
Kneser-Ney平滑方法是由Reinhard Kneser和Hermann Ney于1995年提出的用于计算
$
n
$
元语法概率分布的方法
\upcite
{
kneser1995improved,chen1999empirical
}
,并被广泛认为是最有效的平滑方法之一。这种平滑方法改进了Absolute Discounting
\upcite
{
ney1994on,ney1991
on
}
中与高阶分布相结合的低阶分布的计算方法,使不同阶分布得到充分的利用。这种算法也综合利用了其他多种平滑算法的思想。
\parinterval
Kneser-Ney平滑方法是由Reinhard Kneser和Hermann Ney于1995年提出的用于计算
$
n
$
元语法概率分布的方法
\upcite
{
kneser1995improved,chen1999empirical
}
,并被广泛认为是最有效的平滑方法之一。这种平滑方法改进了Absolute Discounting
\upcite
{
ney1994on,ney1991
smoothing
}
中与高阶分布相结合的低阶分布的计算方法,使不同阶分布得到充分的利用。这种算法也综合利用了其他多种平滑算法的思想。
\parinterval
首先介绍一下Absolute Discounting平滑算法,公式如下所示:
\begin{eqnarray}
...
...
@@ -823,7 +823,7 @@ c_{\textrm{KN}}(\cdot) = \left\{\begin{array}{ll}
\label
{
eq:2-40
}
\end{eqnarray}
\noindent
这里
$
\arg
$
即argument(参数),
$
\argmax
_
x f
(
x
)
$
表示返回使
$
f
(
x
)
$
达到最大的
$
x
$
。
$
\argmax
_{
w
\in
\chi
}
\funp
{
P
}
(
w
)
$
表示找到使语言模型得分
$
\funp
{
P
}
(
w
)
$
达到最大的单词序列
$
w
$
。
$
\chi
$
是搜索问题的解空间,它是所有可能的单词序列
$
w
$
的集合。
$
\hat
{
w
}$
可以被看做该搜索问题中的“最优解”,即概率最大的单词序列。
\noindent
这里
$
\arg
$
即argument(参数),
$
\argmax
_
x f
(
x
)
$
表示返回使
$
f
(
x
)
$
达到最大的
$
x
$
。
$
\argmax
_{
w
\in
\chi
}
$
\\
$
\funp
{
P
}
(
w
)
$
表示找到使语言模型得分
$
\funp
{
P
}
(
w
)
$
达到最大的单词序列
$
w
$
。
$
\chi
$
是搜索问题的解空间,它是所有可能的单词序列
$
w
$
的集合。
$
\hat
{
w
}$
可以被看做该搜索问题中的“最优解”,即概率最大的单词序列。
\parinterval
在序列生成任务中,最简单的策略就是对词表中的词汇进行任意组合,通过这种枚举的方式得到全部可能的序列。但是,很多时候并生成序列的长度是无法预先知道的。比如,机器翻译中目标语序列的长度是任意的。那么怎样判断一个序列何时完成了生成过程呢?这里借用人类书写中文和英文的过程:句子的生成首先从一片空白开始,然后从左到右逐词生成,除了第一个单词,所有单词的生成都依赖于前面已经生成的单词。为了方便计算机实现,通常定义单词序列从一个特殊的符号<sos>后开始生成。同样地,一个单词序列的结束也用一个特殊的符号<eos>来表示。
...
...
@@ -925,7 +925,7 @@ c_{\textrm{KN}}(\cdot) = \left\{\begin{array}{ll}
\end{figure}
%-------------------------------------------
\parinterval
这样,语言模型的打分与解空间树的遍历就融合了在一起。于是,序列生成的问题可以被重新描述为:寻找所有单词序列组成的解空间树中权重总和最大的一条路径。在这个定义下,前面提到的两种枚举词序列的方法就是经典的
{
\small\bfnew
{
深度优先搜索
}}
\index
{
深度优先搜索
}
(Depth-first Search)
\
index
{
Depth-first Search
}
和
{
\small\bfnew
{
宽度优先搜索
}}
\index
{
宽度优先搜索
}
(Breadth-first Search)
\index
{
Breadth-first Search
}
的雏形。在后面的内容中可以看到,从遍历解空间树的角度出发,可以对原始这些搜索策略的效率进行优化。
\parinterval
这样,语言模型的打分与解空间树的遍历就融合了在一起。于是,序列生成的问题可以被重新描述为:寻找所有单词序列组成的解空间树中权重总和最大的一条路径。在这个定义下,前面提到的两种枚举词序列的方法就是经典的
{
\small\bfnew
{
深度优先搜索
}}
\index
{
深度优先搜索
}
(Depth-first Search)
\
upcite
{
even2011graph
}
\index
{
Depth-first Search
}
和
{
\small\bfnew
{
宽度优先搜索
}}
\index
{
宽度优先搜索
}
(Breadth-first Search)
\upcite
{
lee1961an
}
\index
{
Breadth-first Search
}
的雏形。在后面的内容中可以看到,从遍历解空间树的角度出发,可以对原始这些搜索策略的效率进行优化。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
...
...
bibliography-old.bib
查看文件 @
30db2c09
...
...
@@ -1174,12 +1174,22 @@
biburl = {https://dblp.org/rec/books/mg/CormenLR89.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
%没有出版社
@book{russell2003artificial,
title={Artificial Intelligence : A Modern Approach},
author={Stuart J. {Russell} and Peter {Norvig}},
//notes="Sourced from Microsoft Academic - https://academic.microsoft.com/paper/2122410182",
year={2003}
@article{DBLP:journals/ai/SabharwalS11,
author = {Ashish Sabharwal and
Bart Selman},
title = {S. Russell, P. Norvig, Artificial Intelligence: {A} Modern Approach,
Third Edition},
journal = {Artif. Intell.},
volume = {175},
number = {5-6},
pages = {935--937},
year = {2011},
url = {https://doi.org/10.1016/j.artint.2011.01.005},
doi = {10.1016/j.artint.2011.01.005},
timestamp = {Sat, 27 May 2017 14:24:41 +0200},
biburl = {https://dblp.org/rec/journals/ai/SabharwalS11.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@book{sahni1978fundamentals,
...
...
@@ -1370,11 +1380,12 @@
number={3},
year={1957},
}
%没有出版社
@book{lowerre1976the,
title={The HARPY speech recognition system},
author={Bruce T. {Lowerre}},
//notes="Sourced from Microsoft Academic - https://academic.microsoft.com/paper/2137095888",
publisher={Carnegie Mellon University},
year={1976}
}
...
...
@@ -1419,13 +1430,13 @@
year={1994}
}
@inproceedings{ney1991
on
,
title={On smoothing techniques for bigram-based natural language modelling},
author={H. {Ney} and U. {Essen}
},
booktitle={[Proceedings] ICASSP 91: 1991 International Conference on Acoustics, Speech, and Signal Processing
},
pages={825--828},
//notes={Sourced from Microsoft Academic - https://academic.microsoft.com/paper/2020749563
},
year={1991
}
@inproceedings{ney1991
smoothing
,
title={On smoothing techniques for bigram-based natural language modelling},
author={Ney, Hermann and Essen, Ute
},
booktitle={Acoustics, Speech, and Signal Processing, IEEE International Conference on
},
pages={825--828},
year={1991
},
organization={IEEE Computer Society
}
}
@article{chen1999an,
...
...
@@ -1438,13 +1449,13 @@
//notes={Sourced from Microsoft Academic - https://academic.microsoft.com/paper/2158195707},
year={1999}
}
%需要确认
@book{bell1990text,
title={Text compression},
author={Timothy C. {Bell} and John G. {Cleary} and Ian H. {Witten}},
//notes={Sourced from Microsoft Academic - https://academic.microsoft.com/paper/2611071497},
year={1990},
publisher={Prentice
-Hall, Inc.
}
publisher={Prentice
Hall
}
}
@article{katz1987estimation,
...
...
@@ -1686,6 +1697,22 @@
year={2000}
}
@article{lee1961an,
title="An Algorithm for Path Connections and Its Applications",
author="C. Y. {Lee}",
journal="Ire Transactions on Electronic Computers",
volume="10",
number="3",
pages="346--365",
year="1961"
}
@book{even2011graph,
title={Graph algorithms},
author={Even, Shimon},
year={2011},
publisher={Cambridge University Press}
}
%%%%% chapter 2------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...
...
bibliography.bib
查看文件 @
30db2c09
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论