目录
1 资源:
Sekine and Nobata (2004) defined a named entity hierarchy which includes many fine grained subcategories
2 解码算法:
1. Hidden Markov Models (HMM)
隐马尔科夫模型——观测状态、动作序列、奖励函数组成——随机过程
2. Decision Trees (S. Sekine 1998)——决策树
,好像还衍生出了决策森林,好像是南京大学的周志华老师研究的比较好。
3. Maximum Entropy Models (ME)
——你可能会问,熵越少越好,对吗?不,对于许多优化问题,或者一般来说,在处理不完整的信息时,不是这样。考虑一个问题,如特征-期望匹配,它有多个解决方案来满足我们的约束。在这个问题上,我们给求解器的唯一信息是我们想要复制的特征-期望。我们的求解器提供的所有解决方案都包含这一信息。但它们肯定有不同的熵值。这肯定意味着(至少)有些解决方案有我们没有提供的额外信息,也就是说,它们有一个偏见。通过选择具有最大熵值的解决方案,我们选择了具有最小信息的解决方案。请注意,所有的解决方案都已经满足了我们的约束条件,因此我们实际上选择的是符合我们信息的、偏差最小的解决方案。——我们最大化熵的同时,也最小化了模型的偏见。
————————————————
版权声明:本文为CSDN博主「lan_12138」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lan_12138/article/details/119329447
4. Support Vector Machines (SVM)
——决策面分开两个区域,两个不同类别的区域之间距离尽可能的大——运筹学——对偶理论那块吧
5. Conditional Random Fields (CRF)
隐马尔科夫模型(hidden Markov model,HMM)于1986年由Rabiner提出后,广泛应用于序列标注问题。2001年Lafferty等人提出了条件随机场(Conditional random field,CRF),放松了HMM中的强假设,在序列标注领域取得了较好的成果,渐渐取代HMM,成为序列标注问题的一项通用技术。
隐马和CRF的区别?
隐马是有向图,其某一时刻的状态只依赖于前一时刻的状态(齐次马尔科夫性),某一时刻的观测只依赖于当前时刻的状态(观测独立性)
。这两个假设是两个比较严格的假设,可以简化计算,但也切断了变量之间的依赖关系
CRF,它是个无向图模型
,那么在计算某个变量的分布时候,会考虑到与之相连的变量,这就相比HMM的假设宽松了很多,也不会像HMM学习过程那样只注重于局部
CRF的计算公式:
等式左边:给定x序列,预测为y序列的概率
等式右边:给定x条件下,模型预测为标签序列y的得分 除以 模型预测为所有可能的序列的得分的和。有的时候这个得分可能是负的,所以加了指数变化。
这个定义其实非常符合直觉:分子就是尽量预测为训练集里的路径,分母就是尽量不预测出其他乱七八糟的路径,参数估计方法也就是极大似然估计,加个负号就是CRF的损失函数。
6. Vertabi算法——动态规划的思想
因为时刻t=1没有发生状态转移,所以此时的累计得分为{0.8, 0.1, 0.1}。第一个数字0.8代表时刻t=1选择状态1的累计分数,其他同理。
来到时刻t=2,上一个时刻即t=1,状态1-3都可以转移到状态1,那么就要寻找转移到状态1的最优选择,比如状态1转移状态1的分数为:0.8(时刻t=1选择状态1的分数) + 0.5(状态1转移到状态1的转移分数) + 0.1(时刻t=2即当前选择状态1的分数)= 1.4。
状态2和3的计算方法同理,然后得到更新后的累计得分为(1.4, 1.5, 1.5)
时刻t=3也是一样的。最后的累计分数为{2.1, 2.6, 2.2}。分别对应的路径就是上图中加粗的部分,那全局最优的路径当然就是累计分数最高的2.6对应的路径了**( s 1 − − − > s 2 − − − > s 2 ) (s_1—>s_2—>s_2)(s 1 −−−>s 2 −−−>s 2 )**。
至此,Viterbi算法执行完毕。
————————————————
版权声明:本文为CSDN博主「我就算饿死也不做程序员」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sgyuanshi/article/details/105646668
7. beam search
beam search有一个超参数beam size(束宽),设为 。第一个时间步长,选取当前条件概率最大的 个词,当做候选输出序列的第一个词。之后的每个时间步长,基于上个步长的输出序列,挑选出所有组合中条件概率最大的 个,作为该时间步长下的候选输出序列。始终保持 个候选。最后从 个候选中挑出最优的。(k=2的例子)
8. greedy search(贪心搜索)
贪心算法在翻译每个字的时候,直接选择条件概率最大的候选值作为当前最优。如下图所以,
第1个时间步长:首先翻译"我",发现候选"I"的条件概率最大为0.6,所以第一个步长直接翻译成了"I"。
第2个时间步长:翻译"我恨",发现II概率0.2,IH概率0.7,IU概率0.1,所以选择IH作为当前步长最优翻译结果。
第3个时间步长:翻译"我恨你",发现IHI概率0.05,IHH概率0.05,IHU概率0.9,所以选择IHU作为最终的翻译结果。
3 编码算法:
1. GloVe——静态词向量
2 word2vec——静态词向量
——CBOW和skip gram两种范式吧。
3 bert
——文本挖掘讲过吧,mask形式,关键在于transformer结构。