Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
Toy-MT-Introduction
概览
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
Toy-MT-Introduction
Commits
f4521667
Commit
f4521667
authored
May 20, 2020
by
zhoutao
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'zhoutao' 到 'caorunzhe'
修订第二章排版问题 查看合并请求
!233
parents
0ebce62b
c5d3a3ab
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
6 行增加
和
1 行删除
+6
-1
Book/Chapter2/chapter2.tex
+6
-1
没有找到文件。
Book/Chapter2/chapter2.tex
查看文件 @
f4521667
...
...
@@ -379,6 +379,7 @@ F(x)=\int_{-\infty}^x f(x)dx
\parinterval
对于机器翻译系统而言,输入的是已经切分好的单词序列,而不是原始的字符串(图
\ref
{
fig:2-7
}
)。比如,对于一个中文句子,单词之间是没有间隔的,因此需要把一个个的单词切分出来,这样机器翻译系统可以区分不同的翻译单元。甚至,可以对语言学上的单词进行进一步切分,得到词片段序列(比如:中国人
$
\to
$
中国/人)。可以把上述过程看作是一种
{
\small\sffamily\bfseries
{
分词
}}
\index
{
分词
}
(Segmentation)
\index
{
Segmentation
}
过程,即:将一个输入的自然语言字符串切割成单元序列(token序列),每个单元都对应可以处理的最小单位。
\vspace
{
0.5em
}
%----------------------------------------------
\begin{figure}
[htp]
\centering
...
...
@@ -397,6 +398,7 @@ F(x)=\int_{-\infty}^x f(x)dx
\vspace
{
0.5em
}
\begin{definition}
词
\vspace
{
0.5em
}
语言里最小的可以独立运用的单位。
\begin{flushright}
——《新华字典》
\end{flushright}
...
...
@@ -410,8 +412,9 @@ F(x)=\int_{-\infty}^x f(x)dx
\parinterval
从语言学的角度来看,人们普遍认为词是可以单独运用的、包含意义的基本单位。这样可以使用有限的词组合出无限的句子,这也正体现出自然语言的奇妙之处。
\parinterval
不过,机器翻译并不仅仅局限在语言学定义的单词。比如,神经机器翻译中广泛使用的BPE子词切分方法(见第七章),可以被理解为将词的一部分也进行切开,也就是得到词片段送给机器翻译系统使用。比如,对如下英文字符串,可以得到如下切分结果
\parinterval
不过,机器翻译并不仅仅局限在语言学定义的单词。比如,神经机器翻译中广泛使用的BPE子词切分方法(见第七章),可以被理解为将词的一部分也进行切开,也就是得到词片段送给机器翻译系统使用。比如,对如下英文字符串,可以得到如下切分结果
:
\newpage
\parinterval
Interesting
\;
$
\to
$
\;
Interest/ing selection
\hspace
{
0.08em
}
$
\to
$
\;
se/lect/ion procession
\hspace
{
0.43em
}
$
\to
$
\;
pro/cess/ion
\parinterval
Interested
\hspace
{
0.62em
}
$
\to
$
\;
Interest/ed selecting
\hspace
{
0.34em
}
$
\to
$
\;
se/lect/ing processing
\hspace
{
0.22em
}
$
\to
$
\;
pro/cess/ing
...
...
@@ -713,6 +716,7 @@ F(x)=\int_{-\infty}^x f(x)dx
}
\end{center}
\vspace
{
-0.8em
}
\parinterval
可以看到,1-gram语言模型只是
$
n
$
-gram语言模型的一种特殊形式。
$
n
$
-gram的优点在于,它所使用的历史信息是有限的,即
$
n
-
1
$
个单词。这种性质也反映了经典的马尔可夫链的思想
\cite
{
liuke-markov-2004
}
\cite
{
resnick1992adventures
}
,有时也被称作马尔可夫假设或者马尔可夫属性。因此
$
n
$
-gram也可以被看作是变长序列上的一种马尔可夫模型,比如,2-gram语言模型对应着1阶马尔可夫模型,3-gram语言模型对应着2阶马尔可夫模型,以此类推。
\parinterval
那么,如何计算
$
\textrm
{
P
}
(
w
_
m|w
_{
m
-
n
+
1
}
... w
_{
m
-
1
}
)
$
呢?有很多种选择,比如:
...
...
@@ -736,6 +740,7 @@ F(x)=\int_{-\infty}^x f(x)dx
\parinterval
极大似然估计方法和前面介绍的统计分词中的方法是一致的,它的核心是使用
$
n
$
-gram出现的频度进行参数估计,因此也是自然语言处理中一类经典的
$
n
$
-gram方法。基于人工神经网络的方法在近些年也非常受关注,它直接利用多层神经网络对问题的输入
$
(
w
_{
m
-
n
+
1
}
...w
_{
m
-
1
}
)
$
和输出
$
\textrm
{
P
}
(
w
_
m|w
_{
m
-
n
+
1
}
... w
_{
m
-
1
}
)
$
进行建模,而模型的参数通过网络中神经元之间连接的权重进行体现。严格意义上了来说,基于人工神经网络的方法并不算基于
$
n
$
-gram的方法,或者说它并没有显性记录
$
n
$
-gram的生成概率,也不依赖
$
n
$
-gram的频度进行参数估计。为了保证内容的连贯性,本章将仍以传统
$
n
$
-gram语言模型为基础进行讨论,基于人工神经网络的方法将会在第五章和第六章进行详细介绍。
\parinterval
$
n
$
-gram语言模型的使用非常简单。可以像
\ref
{
sec2:statistical-seg
}
节中一样,直接用它来对词序列出现的概率进行计算。比如,可以使用一个2-gram语言模型计算一个分词序列的概率:
\begin{eqnarray}
&
&
\textrm
{
P
}_{
2-gram
}{
(
\textrm
{
``确实
}
/
\textrm
{
现在
}
/
\textrm
{
数据
}
/
\textrm
{
很
}
/
\textrm
{
多''
}
)
}
\nonumber
\\
&
=
&
\textrm
{
P
}
(
\textrm
{
``确实''
}
)
\times\textrm
{
P
}
(
\textrm
{
``现在''
}
|
\textrm
{
``确实''
}
)
\times\textrm
{
P
}
(
\textrm
{
``数据''
}
|
\textrm
{
``现在''
}
)
\times
\nonumber
\\
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论