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
42a13bd3
Commit
42a13bd3
authored
Aug 30, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wording (hmms)
parent
e14945d1
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
45 行增加
和
22 行删除
+45
-22
Chapter3/chapter3.tex
+45
-22
没有找到文件。
Chapter3/chapter3.tex
查看文件 @
42a13bd3
...
...
@@ -119,7 +119,7 @@ Interests $\to$ \; Interest/s & selected $\to$ \; se/lect/ed & processed $\to$ \
\vspace
{
0.8em
}
\parinterval
词法分析的重要性在自然语言处理领域已经有共识。如果切分的颗粒度很大,获得的单词的歧义也很小,比如``中华人民共和国''整体作为一个单词不存在歧义,而如果单独的一个单词``国'',可能会代表``中国''、``美国''等不同的国家,存在歧义。但是随着切分颗粒度的增大,特定单词出现的频
度
也随之降低,低频词容易和噪音混淆,系统很难进行学习。因此,处理这些问题并开发适合翻译任务的分词系统是机器翻译的第一步。
\parinterval
词法分析的重要性在自然语言处理领域已经有共识。如果切分的颗粒度很大,获得的单词的歧义也很小,比如``中华人民共和国''整体作为一个单词不存在歧义,而如果单独的一个单词``国'',可能会代表``中国''、``美国''等不同的国家,存在歧义。但是随着切分颗粒度的增大,特定单词出现的频
次
也随之降低,低频词容易和噪音混淆,系统很难进行学习。因此,处理这些问题并开发适合翻译任务的分词系统是机器翻译的第一步。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
...
...
@@ -228,7 +228,7 @@ $计算这种切分的概率值。
\section
{
命名实体识别
}
\parinterval
在人类使用语言的过程中,单词往往不是独立出现的。很多时候,多个单词会组合成一个更大的单元
,来表达特定的意思。其中,最典型的代表是
{
\small\bfnew
{
命名实体
}}
\index
{
命名实体
}
(Named Entity)
\index
{
Named Entity
}
。通常,命名实体是指名词性的专用短语,例如公司名称、品牌名称、产品名称等专有名词和行业术语。准确地识别出这些命名实体,是提高机器翻译质量的关键。比如,在技术文献中
,往往需要对术语进行识别并进行准确翻译。因此引入
{
\small\bfnew
{
命名实体识别
}}
\index
{
命名实体识别
}
(Named Entity Recognition)
\index
{
Named Entity Recognition
}
可以帮助系统对特定术语进行更加细致的处理。
\parinterval
在人类使用语言的过程中,单词往往不是独立出现的。很多时候,多个单词会组合成一个更大的单元
来表达特定的意思。其中,最典型的代表是
{
\small\bfnew
{
命名实体
}}
\index
{
命名实体
}
(Named Entity)
\index
{
Named Entity
}
。通常,命名实体是指名词性的专用短语,例如公司名称、品牌名称、产品名称等专有名词和行业术语。准确地识别出这些命名实体,是提高机器翻译质量的关键。比如,在翻译技术文献时
,往往需要对术语进行识别并进行准确翻译。因此引入
{
\small\bfnew
{
命名实体识别
}}
\index
{
命名实体识别
}
(Named Entity Recognition)
\index
{
Named Entity Recognition
}
可以帮助系统对特定术语进行更加细致的处理。
\parinterval
从句法分析的角度来说,命名实体识别是一种浅层句法分析任务。它在分词的基础上,进一步对句子浅层结构进行识别。包括词性标注、组块识别在内的很多任务都可以被看作是浅层句法分析的内容。本节会以命名实体识别为例,对基于序列标注的浅层句法分析方法进行介绍。
...
...
@@ -238,7 +238,7 @@ $计算这种切分的概率值。
\subsection
{
序列标注任务
}
\parinterval
命名实体识别是一种典型的
序列标注任务。对于一个输入的序列,它会生成一个相同长度的输出序列。输入序列的每一个位置,都有一个与之对应的输出,输出的内容是这个位置所对应的标签(或者类别)。比如,对于命名实体识别,每个位置的标签可以被看作是一种命名实体``开始''和``结束''的标志,而命名实体识别的任务
就是得到这种``开始''和``结束''标注的序列。不仅如此,分词、词性标注、组块识别等也都可以被看作是序列标注任务。
\parinterval
命名实体识别是一种典型的
{
\small\bfnew
{
序列标注
}}
\index
{
序列标注
}
(Sequence Labeling
\index
{
Sequence Labeling
}
)任务。对于一个输入序列,它会生成一个相同长度的输出序列。输入序列的每一个位置,都有一个与之对应的输出,输出的内容是这个位置所对应的标签(或者类别)。比如,对于命名实体识别,每个位置的标签可以被看作是一种命名实体``开始''和``结束''的标志,而这里
就是得到这种``开始''和``结束''标注的序列。不仅如此,分词、词性标注、组块识别等也都可以被看作是序列标注任务。
\parinterval
通常来说,序列标注任务中首先需要定义标注策略,即使用什么样的格式来对序列进行标注。为了便于描述,这里假设输入序列为一个个单词
\footnote
{
广义上,序列标注任务并不限制输入序列的形式,比如,字符、单词、多个单词构成的词组都可以作为序列标注的输入单元。
}
。常用的标注策略有:
...
...
@@ -260,13 +260,13 @@ $计算这种切分的概率值。
\end{figure}
%-------------------------------------------
%
\parinterval
图
\ref
{
fig:3.3-1
}
给出了不同标注格式所对应的标注结果
\footnote
{
标注中的``GPE''在命名实体识别任务中被用于标注``地缘政治实体''。
}
,可以看出文本序列中的非命名实体直接被标注为``O'',而命名实体的标注则被分为了两部分:位置和命名实体类别,图中的``B''、``I''、``E''等标注出了位置信息,而``GPE''则标注出了命名实体类别。可以看到,命名实体的识别结果可以通过BIO、BIOES这类序列标注结果归纳出来:例如在BIOES格式中,标签``B-GPE''后面的标签只会是``I-GPE''或``E-GPE
'',而不会是其他的标签。同时,在命名实体识别任务中涉及到实体边界的确定,而``BIO''或``BIOES''的标注格式本身就暗含着边界问题:在``BIO''格式下,实体左边界只能在``B''的左边,右边界只能在``B''或``I''的右边;在``BIOES''格式下,实体左边界只能在``B''或``S''的左边,右边界只能在``E''和``S''的右边。
\parinterval
图
\ref
{
fig:3.3-1
}
给出了不同标注格式所对应的标注结果
。可以看出文本序列中的非命名实体直接被标注为``O'',而命名实体的标注则被分为了两部分:位置和命名实体类别,图中的``B''、``I''、``E''等标注出了位置信息,而``CIT''和``CNT''则标注出了命名实体类别(``CIT''表示城市,``CNT''表示国家)。可以看到,命名实体的识别结果可以通过BIO、BIOES这类序列标注结果归纳出来:例如在BIOES格式中,标签``B-CNT''后面的标签只会是``I-CNT''或``E-CNT
'',而不会是其他的标签。同时,在命名实体识别任务中涉及到实体边界的确定,而``BIO''或``BIOES''的标注格式本身就暗含着边界问题:在``BIO''格式下,实体左边界只能在``B''的左边,右边界只能在``B''或``I''的右边;在``BIOES''格式下,实体左边界只能在``B''或``S''的左边,右边界只能在``E''和``S''的右边。
\parinterval
图
\ref
{
fig:3.3-1
}
的例子中的命名实体识别以单词为基本标注单位,有时也会在输入的
字序列上进行命名实体识别。其方法与基于词序列的命名实体识别是一样的。因此,这里仍然以基于词序列的方法为例进行介绍。
\parinterval
主要注意的是,虽然图
\ref
{
fig:3.3-1
}
中的命名实体识别以单词为基本单位进行标注,但真实系统中也可以在
字序列上进行命名实体识别。其方法与基于词序列的命名实体识别是一样的。因此,这里仍然以基于词序列的方法为例进行介绍。
\parinterval
对于像命名实体识别这样的任务,早期的方法主要是基于词典和规则的方法。这些方法依赖于
手工构造的规则模板,通过字符串匹配的方式识别出文本中的命名实体
\upcite
{
rau1991extracting
}
\upcite
{
张小衡1997中文机构名称的识别与分析
}
。严格意义上来说,那时命名实体识别还并没有被看作是一种序列标注
。
\parinterval
对于像命名实体识别这样的任务,早期的方法主要是基于词典和规则的方法。这些方法依赖于
人工构造的识别规则,通过字符串匹配的方式识别出文本中的命名实体
\upcite
{
rau1991extracting,张小衡1997中文机构名称的识别与分析
}
。严格意义上来说,那时命名实体识别还并没有被看作是一种序列标注问题
。
\parinterval
序列标注这个概念更多的是出现在基于统计建模的方法中。许多统计机器学习方法都被成功应用用于命名实体识别任务,例如
{
\small\bfnew
{
隐马尔可夫模型
}}
\index
{
隐马尔可夫模型
}
(Hidden Markov Model,HMM)
\index
{
HMM
}
、
{
\small\bfnew
{
条件随机场
}}
\index
{
条件随机场
}
(Conditional Random Fields,CRFs)
\index
{
Conditional Random Fields
}
、
{
\small\bfnew
{
最大熵
}}
\index
{
最大熵
}
(Maximum Entropy,ME)
\index
{
ME
}
模型和
{
\small\bfnew
{
支持向量机
}}
\index
{
支持向量机
}
(Support Vector Machine,SVM)
\index
{
SVM
}
等。
而命名实体识别也成为了验证机器学习方法有效的代表性任务之一。本节将对几类基础统计方法进行介绍。其中会涉及概率图模型、统计分类器等方法。特别是统计分类的概念,在后续章节的学习
中也会被使用到。
\parinterval
序列标注这个概念更多的是出现在基于统计建模的方法中。许多统计机器学习方法都被成功应用用于命名实体识别任务,例如
{
\small\bfnew
{
隐马尔可夫模型
}}
\index
{
隐马尔可夫模型
}
(Hidden Markov Model,HMM)
\index
{
HMM
}
、
{
\small\bfnew
{
条件随机场
}}
\index
{
条件随机场
}
(Conditional Random Fields,CRFs)
\index
{
Conditional Random Fields
}
、
{
\small\bfnew
{
最大熵
}}
\index
{
最大熵
}
(Maximum Entropy,ME)
\index
{
ME
}
模型和
{
\small\bfnew
{
支持向量机
}}
\index
{
支持向量机
}
(Support Vector Machine,SVM)
\index
{
SVM
}
等。
此外,近些年深度学习的兴起也给命名实体识别带来了新的思路
{
\color
{
red
}
(参考文献!!!!)
}
。而命名实体识别也成为了验证机器学习方法有效性的重要任务之一。本节将对序列标注中几类基础的方法进行介绍。其中会涉及概率图模型、统计分类模型等方法。特别是统计分类的概念,在后续章节
中也会被使用到。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
...
...
@@ -284,7 +284,7 @@ $计算这种切分的概率值。
\parinterval
概率图模型中的一个基础概念是``特征''。简单来说,
{
\small\bfnew
{
特征
}}
\index
{
特征
}
(Feature)
\index
{
Feature
}
是指能够反映事物在某方面表现或行为的一种属性,如现实生活中小鸟的羽毛颜色、喙的形状、翼展长度等就是小鸟的特征;命名实体识别任务中的每个词的词根、词性和上下文组合也可以被看做是识别出命名实体可以采用的特征。
\parinterval
从统计建模的角度看,特征的形式可以非常灵活。比如,可以分为连续
性
特征和离散型特征,前者通常用于表示取值蕴含数值大小关系的信息,如人的身高和体重,后者通常用于表示取值不蕴含数值大小关系的信息,例如人的性别。正是由于这种灵活性,系统开发者可以通过定义多样的特征从多个不同的角度对目标问题进行建模。而这种设计特征的过程也被称作
{
\small\bfnew
{
特征工程
}}
\index
{
特征工程
}
(Feature Engineering)
\index
{
Feature Engineering
}
。
\parinterval
从统计建模的角度看,特征的形式可以非常灵活。比如,可以分为连续
型
特征和离散型特征,前者通常用于表示取值蕴含数值大小关系的信息,如人的身高和体重,后者通常用于表示取值不蕴含数值大小关系的信息,例如人的性别。正是由于这种灵活性,系统开发者可以通过定义多样的特征从多个不同的角度对目标问题进行建模。而这种设计特征的过程也被称作
{
\small\bfnew
{
特征工程
}}
\index
{
特征工程
}
(Feature Engineering)
\index
{
Feature Engineering
}
。
\parinterval
设计更好的特征也成为了很多机器学习方法的关键。通常有两个因素需要考虑:
...
...
@@ -316,7 +316,7 @@ $计算这种切分的概率值。
\end{center}
}
\end{table}
\parinterval
在相当长的一段时期内,基于特征工程的方法都是自然语言处理领域的主流
。虽然深度学习的逐渐兴起
使得系统研发人员可以逐步摆脱繁重的特征设计工作。但是很多传统的模型和方法在今天仍然被广泛使用。比如,在当今最先进的序列标注模型中
\upcite
{
lample2016neural
}
,本节即将介绍的条件随机场模型仍然是一个主要部件。
\parinterval
在相当长的一段时期内,基于特征工程的方法都是自然语言处理领域的主流
范式。虽然深度学习技术的进步
使得系统研发人员可以逐步摆脱繁重的特征设计工作。但是很多传统的模型和方法在今天仍然被广泛使用。比如,在当今最先进的序列标注模型中
\upcite
{
lample2016neural
}
,本节即将介绍的条件随机场模型仍然是一个主要部件。
%----------------------------------------------------------------------------------------
% NEW SUBSUB-SECTION
...
...
@@ -326,7 +326,7 @@ $计算这种切分的概率值。
\noindent
a)
{
\small\bfnew
{
隐马尔可夫模型
}}
\parinterval
隐马尔可夫模型是一种经典的序列模型
\upcite
{
Baum1966Statistical
}
\upcite
{
baum1970maximization
}
。它在语音识别、自然语言处理的很多领域得到了广泛的应用。隐马尔可夫模型的本质是一个概率模型,用来描述一个含有隐含参数的马尔可夫过程,这个过程隐含着状态的转移和可见状态
的概率。
\parinterval
隐马尔可夫模型是一种经典的序列模型
\upcite
{
Baum1966Statistical
,baum1970maximization
}
。它在语音识别、自然语言处理的很多领域得到了广泛的应用。隐马尔可夫模型的本质概率化的马尔可夫过程,这个过程隐含着状态间转移和可见状态生成
的概率。
\parinterval
这里用一个简单的``抛硬币''游戏来对这些概念进行说明:假设有三枚质地不同的硬币A、B、C,已知这三个硬币抛出正面的概率分别为0.3、0.5、0.7。在游戏中,游戏发起者在上述三枚硬币中选择一枚硬币上抛,每枚硬币被挑选到的概率可能会受上次被挑选的硬币的影响,且每枚硬币正面向上的概率都各不相同。不停的重复挑选硬币、上抛硬币的过程,会得到一串硬币的正反序列,例如:抛硬币6次,得到:正正反反正反。游戏挑战者通过观察6次后获得的硬币正反序列,猜测每次选择的究竟是哪一枚硬币。
...
...
@@ -342,9 +342,31 @@ $计算这种切分的概率值。
\label
{
fig:3.3-2
}
\end{figure}
%-------------------------------------------
%
\parinterval
由于隐含状态序列之间存在转移概率,并且隐马尔可夫模型中隐含状态和可见状态之间存在着发射概率,因此根据可见状态的转移猜测隐藏状态序列并非无迹可循。图
\ref
{
fig:3.3-3
}
描述了如何使用隐马尔可夫模型根据``抛硬币''结果推测挑选的硬币序列。可见,通过隐藏状态之间的联系(绿色方框及它们之间的连线)可以对有序的状态进行描述,进而得到隐藏状态序列所对应的可见状态序列(红色圆圈)。
\parinterval
从统计建模的角度看,上述过程本质上在描述隐含状态和可见状态出现的联合概率。这里,用
$
\mathbf
{
X
}
=
\{
x
_
1
,...,x
_
m
\}
$
表示可见状态序列,用
$
\mathbf
{
Y
}
=
\{
y
_
1
,...,y
_
m
\}
$
表示隐藏状态序列。(一阶)隐马尔可夫模型假设:
\begin{itemize}
\vspace
{
0.5em
}
\item
当前位置的隐含状态仅与前一个位置的隐含状态相关,即
$
y
_
i
$
仅与
$
y
_{
i
-
1
}$
相关;
\vspace
{
0.5em
}
\item
当前位置的可见状态仅与当前位置的隐含状态相关,即
$
x
_
i
$
仅与
$
y
_
i
$
相关。
\vspace
{
0.5em
}
\end{itemize}
于是,联合概率
$
\funp
{
P
}
(
\mathbf
{
X
}
,
\mathbf
{
Y
}
)
$
可以被定义为:
\begin{eqnarray}
\funp
{
P
}
(
\mathbf
{
X
}
,
\mathbf
{
Y
}
)
&
=
&
\funp
{
P
}
(
\mathbf
{
X
}
|
\mathbf
{
Y
}
)
\funp
{
P
}
(
\mathbf
{
Y
}
)
\nonumber
\\
&
=
&
\funp
{
P
}
(x
_
1,...,x
_
m|y
_
1,...,y
_
m)
\funp
{
P
}
(y
_
1,...,y
_
m)
\nonumber
\\
&
=
&
\prod
_{
i=1
}^{
m
}
\funp
{
P
}
(x
_
i|y
_
1,...,y
_
m)
\prod
_{
i=1
}^{
m
}
\funp
{
P
}
(y
_
i | y
_{
i-1
}
)
\nonumber
\\
&
=
&
\prod
_{
i=1
}^{
m
}
\funp
{
P
}
(x
_
i|y
_
i)
\prod
_{
i=1
}^{
m
}
\funp
{
P
}
(y
_
i | y
_{
i-1
}
)
\nonumber
\\
&
=
&
\prod
_{
i=1
}^{
m
}
\funp
{
P
}
(x
_
i|y
_
i)
\funp
{
P
}
(y
_
i | y
_{
i-1
}
)
\label
{
eq:joint-prob-xy
}
\end{eqnarray}
\noindent
这里,
$
y
_{
0
}$
表示一个虚拟的隐含状态。这样,可以定义
$
\funp
{
P
}
(
y
_
1
|y
_{
0
}
)
\equiv
\funp
{
P
}
(
y
_
1
)
$
,它表示起始隐含状态出现的概率。隐马尔可夫模型的假设也大大化简了问题,因此可以通过式
\ref
{
eq:joint-prob-xy
}
很容易地计算隐含状态序列和可见状态序列出现的概率。值得注意的是,发射概率和转移概率都可以被看作是描述序列生成过程的“特征”。但是,这些“特征”并不是随意定义的,而是符合问题的概率解释。而这种基于事件发生的逻辑所定义的概率生成模型,通常可以被看作是一种
{
\small\bfnew
{
生成式模型
}}
\index
{
生成式模型
}
(Generative Model
\index
{
Generative Model
}
)。
%----------------------------------------------
\begin{figure}
[htp]
\centering
...
...
@@ -361,7 +383,7 @@ $计算这种切分的概率值。
\vspace
{
0.5em
}
\item
参数学习:即给定硬币种类(隐含状态数量),根据多个可见状态序列(抛硬币的结果),估计模型的参数(转移概率),这个问题的求解需要用到EM算法
\upcite
{
1977Maximum
}
。
\vspace
{
0.5em
}
\item
解码:即给定模型(转移概率和发射概率)和可见状态序列(抛硬币的结果),计算在可见状态序列的情况下,最可能出现的对应的状态序列,这个问题的求解需要用到基于动态规划
方法,通常
被称作
{
\small\bfnew
{
维特比算法
}}
\index
{
维特比算法
}
(Viterbi Algorithm)
\index
{
Viterbi Algorithm
}
\upcite
{
1967Error
}
。
\item
解码:即给定模型(转移概率和发射概率)和可见状态序列(抛硬币的结果),计算在可见状态序列的情况下,最可能出现的对应的状态序列,这个问题的求解需要用到基于动态规划
的方法,通常也
被称作
{
\small\bfnew
{
维特比算法
}}
\index
{
维特比算法
}
(Viterbi Algorithm)
\index
{
Viterbi Algorithm
}
\upcite
{
1967Error
}
。
\vspace
{
0.5em
}
\end{itemize}
...
...
@@ -369,13 +391,13 @@ $计算这种切分的概率值。
\begin{itemize}
\vspace
{
0.5em
}
\item
[(1)]
根据可见状态序列(输入序列)和其对应的隐藏状态序列(标记序列)样本,估算模型的转移概率和发射概率;
\item
第一步:
根据可见状态序列(输入序列)和其对应的隐藏状态序列(标记序列)样本,估算模型的转移概率和发射概率;
\vspace
{
0.5em
}
\item
[(2)]
对于给定的可见状态序列,预测概率最大的隐藏状态序列,比如,根据输入的词序列预测最有可能的命名实体标记序列
\item
第二步:
对于给定的可见状态序列,预测概率最大的隐藏状态序列,比如,根据输入的词序列预测最有可能的命名实体标记序列
\vspace
{
0.5em
}
\end{itemize}
\parinterval
这里,用输入文本
$
\mathbf
{
X
}$
表示可见状态序列,待预测标签
$
\mathbf
{
Y
}$
表示隐藏状态序列。一种简单的办法是使用相对频度估计得到转移概率和发射概率估计值(公式
\ref
{
eq:3.3-1
}
和公式
\ref
{
eq:3.3-2
}
)。
\parinterval
一种简单的办法是使用相对频次估计得到转移概率和发射概率估计值。令
$
x
_
i
$
表示第
$
i
$
个位置的可见状态,
$
y
_
i
$
表示第
$
i
$
个位置的隐藏状态,
$
\funp
{
P
}
(
y
_
i|y
_{
i
-
1
}
)
$
表示第
$
i
-
1
$
个位置到第
$
i
$
个位置的状态转移概率,
$
\funp
{
P
}
(
x
_
i|y
_{
i
}
)
$
表示第
$
i
$
个位置的发射概率,于是有:
\begin{eqnarray}
\funp
{
P
}
(y
_
i|y
_{
i-1
}
) =
\frac
{{
\textrm
{
Count
}}
(y
_{
i-1
}
,y
_
i)
}{{
\textrm
{
Count
}}
(y
_{
i-1
}
)
}
\label
{
eq:3.3-1
}
...
...
@@ -386,27 +408,28 @@ $计算这种切分的概率值。
\label
{
eq:3.3-2
}
\end{eqnarray}
\
parinterval
其中
${
\rm
{
Count
}}
()
$
表示训练集中某种现象出现的次数。
$
i
$
表示序列的第
$
i
$
个位置。
$
x
_
i
$
是某可见状态,
$
y
_
i
$
是某隐藏状态。:
\
noindent
其中,
${
\rm
{
Count
}}
()
$
统计训练集中某种现象出现的次数。
\parinterval
在获得转移概率和发射概率的基础上,对于一个句子进行命名实体识别可以被描述为:在观测序列
$
\mathbf
{
X
}$
(可见状态,即输入的词序列)的条件下,最大化标签序列
$
\mathbf
{
Y
}$
(隐藏状态,即标记序列)的概率,即
\parinterval
在获得转移概率和发射概率的基础上,对于一个句子进行命名实体识别可以被描述为:在观测序列
$
\mathbf
{
X
}$
(可见状态,即输入的词序列)的条件下,最大化标签序列
$
\mathbf
{
Y
}$
(隐藏状态,即标记序列)的概率,即
:
\begin{eqnarray}
\hat
{
\mathbf
{
Y
}}
=
\arg\max
_{
\mathbf
{
Y
}}
\funp
{
P
}
(
\mathbf
{
Y
}
|
\mathbf
{
X
}
)
\label
{
eq:3.3-3
}
\end{eqnarray}
\parinterval
根据贝叶斯定理,该概率被分解为
$
\funp
{
P
}
(
\mathbf
{
Y
}
|
\mathbf
{
X
}
)=
\frac
{
\funp
{
P
}
(
\mathbf
{
Y
}
)
\funp
{
P
}
(
\mathbf
{
X
}
|
\mathbf
{
Y
}
)
}{
\funp
{
P
}
(
\mathbf
{
X
}
)
}$
,其中
$
\funp
{
P
}
(
\mathbf
{
X
}
)
$
是固定概率,因为
$
\mathbf
{
X
}$
在这个过程中可以被认为是不变的。因此只需考虑如何求解分子,则可将问题转换为求解公式
\ref
{
eq:3.3-4
}
:
\parinterval
根据贝叶斯定理,该概率被分解为
$
\funp
{
P
}
(
\mathbf
{
Y
}
|
\mathbf
{
X
}
)=
\frac
{
\funp
{
P
}
(
\mathbf
{
X
}
,
\mathbf
{
Y
}
)
}{
\funp
{
P
}
(
\mathbf
{
X
}
)
}$
,其中
$
\funp
{
P
}
(
\mathbf
{
X
}
)
$
是固定概率,因为
$
\mathbf
{
X
}$
在这个过程中是确定的不变量。因此只需考虑如何求解分子,即将求条件概率
$
\funp
{
P
}
(
\mathbf
{
Y
}
|
\mathbf
{
X
}
)
$
的问题转化为求联合概率
$
\funp
{
P
}
(
\mathbf
{
Y
}
,
\mathbf
{
X
}
)
$
的问题
:
\begin{eqnarray}
\hat
{
\mathbf
{
Y
}}
=
\arg\max
_{
\mathbf
{
Y
}}
\funp
{
P
}
(
\mathbf
{
Y
}
)
\funp
{
P
}
(
\mathbf
{
X
}
|
\mathbf
{
Y
}
)
\hat
{
\mathbf
{
Y
}}
=
\arg\max
_{
\mathbf
{
Y
}}
\funp
{
P
}
(
\mathbf
{
X
}
,
\mathbf
{
Y
}
)
\label
{
eq:3.3-4
}
\end{eqnarray}
\parinterval
在隐马尔可夫模型中隐含着这样的假设:某隐藏状态的概率仅由上一个隐藏状态决定(``抛硬币''游戏中,每枚硬币被挑选到的概率可能会受上次被挑选的硬币的影响)。这就意味着在隐马尔可夫模型中有:
\parinterval
将式
\ref
{
eq:joint-prob-xy
}
带入上式可以得到最终计算公式,如下:
\begin{eqnarray}
\hat
{
\mathbf
{
Y
}}
=
\arg\max
_{
\mathbf
{
Y
}}
\prod
_{
i=1
}^{
m
}
\funp
{
P
}
(x
_
i|y
_
i)
\funp
{
P
}
(y
_
i|y
_{
i-1
}
)
\label
{
eq:3.3-5
}
\end{eqnarray}
\parinterval
图
\ref
{
fig:3.3-4
}
展示了基于隐马尔可夫模型的命名实体识别模型。
值得注意的是
,这种描述序列生成的过程也可以被应用于机器翻译,在第五章还将看到隐马尔可夫模型在翻译建模中的应用。
\parinterval
图
\ref
{
fig:3.3-4
}
展示了基于隐马尔可夫模型的命名实体识别模型。
实际上
,这种描述序列生成的过程也可以被应用于机器翻译,在第五章还将看到隐马尔可夫模型在翻译建模中的应用。
%----------------------------------------------
\begin{figure}
[htp]
...
...
@@ -812,7 +835,7 @@ r_6: & & \textrm{VP} \to \textrm{VV}\ \textrm{NN} \nonumber
\label
{
eq:3.4-8
}
\end{eqnarray}
\parinterval
图
\ref
{
fig:3.4-7
}
展示了通过这种方法计算规则概率的过程。与词法分析类似,可以统计树库中规则左部和右部同时出现的次数,除以规则左部出现的全部次数,所得的结果就是所求规则的概率。这种方法也是典型的相对频
度
估计。但是如果规则左部和右部同时出现的次数为0时是否代表这个规则概率是0呢?遇到这种情况,可以使用平滑方法对概率进行平滑处理,具体思路可参考
{
\chaptertwo
}
内容。
\parinterval
图
\ref
{
fig:3.4-7
}
展示了通过这种方法计算规则概率的过程。与词法分析类似,可以统计树库中规则左部和右部同时出现的次数,除以规则左部出现的全部次数,所得的结果就是所求规则的概率。这种方法也是典型的相对频
次
估计。但是如果规则左部和右部同时出现的次数为0时是否代表这个规则概率是0呢?遇到这种情况,可以使用平滑方法对概率进行平滑处理,具体思路可参考
{
\chaptertwo
}
内容。
%-------------------------------------------
\begin{figure}
[htp]
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论