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
0a9f6054
Commit
0a9f6054
authored
Sep 04, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of 47.105.50.196:NiuTrans/mtbookv2
parents
7f72d109
dedf67b1
全部展开
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
3 行增加
和
3 行删除
+3
-3
Chapter2/chapter2.tex
+2
-2
Chapter5/chapter5.tex
+1
-1
bibliography.bib
+0
-0
没有找到文件。
Chapter2/chapter2.tex
查看文件 @
0a9f6054
...
...
@@ -555,7 +555,7 @@ F(x)=\int_{-\infty}^x f(x)\textrm{d}x
\subsection
{
参数估计和平滑算法
}
对于
$
n
$
-gram语言模型,每个
$
\funp
{
P
}
(
w
_
m|w
_{
m
-
n
+
1
}
\ldots
w
_{
m
-
1
}
)
$
都可以被看作是模型的
{
\small\bfnew
{
参数
}}
\index
{
参数
}
(Parameter
\index
{
参数
}
)。而
$
n
$
-gram语言模型的一个核心任务是估计这些参数的值,即
{
\small\bfnew
{
参数估计
}}
\index
{
参数估计
}
(Parameter Estimation
\index
{
Parameter Estimation
}
)
。通常,参数估计可以通过在数据上的统计得到。一种简单的方法是:给定一定数量的句子,统计每个
$
n
$
-gram 出现的频次,并利用公式
\ref
{
eq:2-24
}
得到每个参数
$
\funp
{
P
}
(
w
_
m|w
_{
m
-
n
+
1
}
\ldots
w
_{
m
-
1
}
)
$
的值。这个过程也被称作模型的
{
\small\bfnew
{
训练
}}
\index
{
训练
}
(Training
\index
{
训练
}
)。对于自然语言处理任务来说,统计模型的训练是至关重要的。在本书后面的内容中也会看到,不同的问题可能需要不同的模型以及不同的模型训练方法。而很多研究工作也都集中在优化模型训练的效果上。
对于
$
n
$
-gram语言模型,每个
$
\funp
{
P
}
(
w
_
m|w
_{
m
-
n
+
1
}
\ldots
w
_{
m
-
1
}
)
$
都可以被看作是模型的
{
\small\bfnew
{
参数
}}
\index
{
参数
}
(Parameter
\index
{
Parameter
}
)。而
$
n
$
-gram语言模型的一个核心任务是估计这些参数的值,即参数估计
。通常,参数估计可以通过在数据上的统计得到。一种简单的方法是:给定一定数量的句子,统计每个
$
n
$
-gram 出现的频次,并利用公式
\ref
{
eq:2-24
}
得到每个参数
$
\funp
{
P
}
(
w
_
m|w
_{
m
-
n
+
1
}
\ldots
w
_{
m
-
1
}
)
$
的值。这个过程也被称作模型的
{
\small\bfnew
{
训练
}}
\index
{
训练
}
(Training
\index
{
训练
}
)。对于自然语言处理任务来说,统计模型的训练是至关重要的。在本书后面的内容中也会看到,不同的问题可能需要不同的模型以及不同的模型训练方法。而很多研究工作也都集中在优化模型训练的效果上。
\parinterval
回到
$
n
$
-gram语言模型上。前面所使用的参数估计方法并不完美,因为它无法很好的处理低频或者未见现象。比如,在式
\ref
{
eq:2-25
}
所示的例子中,如果语料中从没有“确实”和“现在”两个词连续出现的情况,即
$
\textrm
{
count
}
(
\textrm
{
确实
}
\ \textrm
{
现在
}
)=
0
$
。 那么使用2-gram 计算句子“确实/现在/数据/很多”的概率时,会出现如下情况
\begin{eqnarray}
...
...
@@ -1051,7 +1051,7 @@ c_{\textrm{KN}}(\cdot) = \left\{\begin{array}{ll}
\vspace
{
0.5em
}
\item
本章更多地关注了语言模型的基本问题和求解思路,但是基于
$
n
$
-gram的方法并不是语言建模的唯一方法。从现在自然语言处理的前沿看,端到端的深度学习方法在很多任务中都取得了领先的性能。语言模型同样可以使用这些方法
\upcite
{
jing2019a
}
,而且在近些年取得了巨大成功。例如,最早提出的前馈神经语言模型
\upcite
{
bengio2003a
}
和后来的基于循环单元的语言模型
\upcite
{
mikolov2010recurrent
}
、基于长短期记忆单元的语言模型
\upcite
{
sundermeyer2012lstm
}
以及现在非常流行的Transformer
\upcite
{
vaswani2017attention
}
。 关于神经语言模型的内容,会在
{
\chapternine
}
进行进一步介绍。
\vspace
{
0.5em
}
\item
最后,本章结合语言模型的序列生成任务对搜索技术进行了介绍。类似地,机器翻译任务也需要从大量的翻译后选中快速寻找最优译文。因此在机器翻译任务中也使用了搜索方法,这个过程通常被称作
{
\small\bfnew
{
解码
}}
\index
{
解码
}
(Decoding)
\index
{
Decoding
}
。例如,有研究者在基于词的翻译模型中尝试使用启发式搜索
\upcite
{
DBLP:conf/acl/OchUN01,DBLP:conf/acl/WangW97,tillmann1997a
}
以及贪婪搜索方法
\upcite
{
germann2001fast
}
\upcite
{
germann2003greedy
}
,也有研究者研究基于短语的栈解码方法
\upcite
{
Koehn2007Moses,DBLP:conf/amta/Koehn04
}
。此外,解码方法还包括有限状态机解码
\upcite
{
bangalore2001a
}
\upcite
{
bangalore2000stochastic
}
以及基于语言学约束的解码
\upcite
{
venugopal2007an,zollmann2007the,liu2006tree,galley2006scalable,chiang2005a
}
。相关内容将在
{
\chaptereight
}
和
{
\chapterfourteen
}
进行介绍。
\item
最后,本章结合语言模型的序列生成任务对搜索技术进行了介绍。类似地,机器翻译任务也需要从大量的翻译后选中快速寻找最优译文。因此在机器翻译任务中也使用了搜索方法,这个过程通常被称作
{
\small\bfnew
{
解码
}}
\index
{
解码
}
(Decoding)
\index
{
Decoding
}
。例如,有研究者在基于词的翻译模型中尝试使用启发式搜索
\upcite
{
DBLP:conf/acl/OchUN01,DBLP:conf/acl/WangW97,tillmann1997a
}
以及贪婪搜索方法
\upcite
{
germann2001fast
}
\upcite
{
germann2003greedy
}
,也有研究者研究基于短语的栈解码方法
\upcite
{
Koehn2007Moses,DBLP:conf/amta/Koehn04
}
。此外,解码方法还包括有限状态机解码
\upcite
{
bangalore2001a
}
\upcite
{
DBLP:journals/mt/BangaloreR02
}
以及基于语言学约束的解码
\upcite
{
venugopal2007an,zollmann2007the,liu2006tree,galley2006scalable,chiang2005a
}
。相关内容将在
{
\chaptereight
}
和
{
\chapterfourteen
}
进行介绍。
\vspace
{
0.5em
}
\end{itemize}
\end{adjustwidth}
Chapter5/chapter5.tex
查看文件 @
0a9f6054
...
...
@@ -50,7 +50,7 @@ IBM模型由Peter F. Brown等人于上世纪九十年代初提出\cite{DBLP:jour
\end{figure}
%----------------------------------------------
\parinterval
上面的例子反映了人在做翻译时所使用的一些知识:首先,两种语言单词的顺序可能不一致,而且译文需要符合目标语的习惯,这也就是常说的翻译的
{
\small\sffamily\bfseries
{
流畅度
}}
\index
{
流畅度
}
问题(Fluency)
\index
{
Fluency
}
;其次,源语言单词需要准确的被翻译出来,也就是常说的翻译的
{
\small\sffamily\bfseries
{
准确性
}}
\index
{
准确性
}
(Accuracy)
\index
{
Accuracy
}
问题和
{
\small\sffamily\bfseries
{
充分性
}}
\index
{
充分性
}
(Adequacy)
\index
{
Adequacy
}
问题。为了达到以上目的,传统观点认为翻译过程需要包含三个步骤
\cite
{
jurafsky2000
speech
}
:
\parinterval
上面的例子反映了人在做翻译时所使用的一些知识:首先,两种语言单词的顺序可能不一致,而且译文需要符合目标语的习惯,这也就是常说的翻译的
{
\small\sffamily\bfseries
{
流畅度
}}
\index
{
流畅度
}
问题(Fluency)
\index
{
Fluency
}
;其次,源语言单词需要准确的被翻译出来,也就是常说的翻译的
{
\small\sffamily\bfseries
{
准确性
}}
\index
{
准确性
}
(Accuracy)
\index
{
Accuracy
}
问题和
{
\small\sffamily\bfseries
{
充分性
}}
\index
{
充分性
}
(Adequacy)
\index
{
Adequacy
}
问题。为了达到以上目的,传统观点认为翻译过程需要包含三个步骤
\cite
{
parsing2009
speech
}
:
\begin{itemize}
\vspace
{
0.5em
}
...
...
bibliography.bib
查看文件 @
0a9f6054
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论