赞
踩
本文属于贪心NLP训练营学习笔记。
因为本节课需要用到numpy,所以前面老师插了几节Python,讲解下Python的基础语法与numpy的使用。
s就是一句话,拆成的单词都做了词性标注。
今天的主题主要有两部分,先从数学角度把这个公式推导出来,
A: 因为一个单词可能有多个词性,比如study既可以当做动词又可以做名词。
所以假设有N个词性,M个单词,是一个N*M的矩阵。(列就是词库)
思路:就是从训练集按照词性去筛选单词,计算概率
B:(状态转移) 从bygram模型来看,就是每个词性之后出现词性的概率(名词之后是动词的概率)。 是个词性N*N的矩阵。
先画出图矩阵:列是词性N=54,行是句子W1,W2....W t.
从中找出动态规划的状态转移过程:dp[i,j]=max() 截图右侧
要根据动态规划求解最大概率,也就是假设知道最后一个单词的词性,以此反推,看上一个单词是哪个词性最有可能。
因此,需要先填充一个N*T的数组(截图最下面)。
填充的过程是从头到尾,就是W1列,再算W2,...Wt.
时间复杂度:T*N*N
算法实现:
总体的模型:
核心内容,是维特比算法的动态规划的转移方程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。