使用隐马尔可夫模型进行标注
迈克尔·科林斯
1标注问题
在许多自然语言处理问题中,我们希望对序列进行建模。词性标注(POS)是这
种类型问题中最早、最著名的例子。在词性标注中,我们的目标是构建一个模型
,其输入是一个句子,例如
thedogsawacat
,输出是一个标签序列,例如
DNVDN(1)
(在这里,我们使用D表示冠词N表示名词V表示动词)。标签序列与输入
句子的长度相同,因此为句子中的每个单词指定一个标签(在这个例子中the
对应Ddog对应Nsaw对应V,等等)。
我们将使用x,x,...,x表示标注模型的输入:我们经常将其称为一个句子。
12n
在上面的例子中,句子的长度为n=5x1=thex2=dogx3=sawx4=the
x=cat。我们将使用y,y,...,y表示标注模型的输出:我们经常将其称为状态序
512n
列或标签序列。在上面的例子中y1=Dy2=Ny3=V,等等。这种类型的问
题,将句子x,x,...,x映射到标签序列y,y,...,y,通常被称为序列标注问题
12n12n
或标注问题。将句子x,x,...,x映射到标签序列y,y,...,y的这种类型问题
12n12n
,通常被称为序列标注问题或标注问题。将句子x,x,...,x映射到标签序列y,y
12n1
,...,y的这种类型问题,通常被称为序列标注问题或标注问题。
2n
我们假设我们有一组训练样本,(x(i),y(i))对于i=
1...m,其中每个x(i)是一个句子x(i)...x(i),每个y(i)是一个标签序列
1ni
y(i)...y(i)(我们假设第i个示例的长度为n).因此x(i)是第i个训练示例中的第j
1niij
个单词,而y(i)是该单词的标签。我们的任务是从这些训练示例中学习一个将句
j
子映射到标签序列的函数。
1
2生成模型和噪声信道模型
机器学习中的监督问题定义如下。我们假设训练示例(x(1),y(1))...(x(m),y(
m)),其中每个示例由一个输入x(i)和一个标签y(i)组成。我们用X表示可能
的输入集合,用Y表示可能的标签集合。我们的任务是学习一个函数f:X
(
→Y,将任何输入x映射到一个标签fx)。
自然语言处理中的许多问题都是有监督学习问题。例如,在标注问题中
,每个x(i)都是一个单词序列。
x(i)...x(i)而每个y(i)都是一个标签序列y(i)...y(i)(我们用