Machine learning 理解用于词性标注的结构化感知器

Machine learning 理解用于词性标注的结构化感知器,machine-learning,nlp,perceptron,pos-tagger,Machine Learning,Nlp,Perceptron,Pos Tagger,我很难准确地理解如何实现用于词性标记的结构化感知器。请确认或纠正我的想法,并/或填补任何缺失的空白 因此,基本上结构化感知器是多类感知器的一个变体,除了如何实现收集最佳分数。提出了一阶马尔可夫假设,即当前序列指数只依赖于前一个指数。输入是一个完整的单词序列,而不是非结构化情况下的一个单词,以及所有可能标签(y)的向量。函数f(x,y)返回给定单词序列的猜测标签序列 在多类感知器中,由于我们只处理将一个标签分类到一个实例,因此通过迭代很容易获得最佳分数。对整个序列进行分类的问题是,它导致可能的标签

我很难准确地理解如何实现用于词性标记的结构化感知器。请确认或纠正我的想法,并/或填补任何缺失的空白

因此,基本上结构化感知器是多类感知器的一个变体,除了如何实现收集最佳分数。提出了一阶马尔可夫假设,即当前序列指数只依赖于前一个指数。输入是一个完整的单词序列,而不是非结构化情况下的一个单词,以及所有可能标签(y)的向量。函数f(x,y)返回给定单词序列的猜测标签序列

在多类感知器中,由于我们只处理将一个标签分类到一个实例,因此通过迭代很容易获得最佳分数。对整个序列进行分类的问题是,它导致可能的标签数量呈指数增长。这就是需要Viterbi算法的地方,该算法使用两个特征集递归地找到最佳路径;一个用于确定给定的POS标记与某个单词的可能性,另一个用于确定某个POS标记直接位于另一个POS标记之后的可能性。每个特征集的得分乘以每个状态的唯一权重。如果选择的路径错误,则错误路径状态下的每个权重都将受到惩罚,并授予正确路径中的权重

这是关于我(希望)理解的程度。我现在最大的问题是特征是如何构造的(之前的标记序列是特征的一部分吗?),以及如何实际实现维特比算法。另外,在我可以分析的任何地方(最好是Java),是否有使用结构化感知器的POS标记器的实现


如果你能给我一些提示,我将不胜感激

我想您已经阅读了,但是为了完整起见,将把链接留在这里

你的直觉基本上是正确的。关于特征,只要你坚持维特比算法,你就必须局限于局部特征。这些通常包括一个单词窗口(我相信上面的文章中有5个单词)、一个或多个前面的POS标签和/或它们的组合。维特比算法的实现在一定程度上取决于特征的选择。一般来说,后者在动态编程中是一个相对简单的练习,但您也可以在谷歌上搜索一些实现。例如,声称包含上述论文中所述算法的实现