自然语言的分词方法之N-gram语言模型

⾃然语⾔的分词⽅法之N-gram 语⾔模型
⽬录
基于理解的分词⽅法
其基本思想是在分词的同时进⾏句法、语义的分析,以此来处理歧义问题。
⽬前这种⽅法还处于实验状态
传动装置>刻字笔
基于统计的分词⽅法
塑料薄膜连续封口机
基本思路
构建语⾔模型,对句⼦进⾏单词划分,划分结果运⽤统计⽅法计算概率,获取概率最⼤的分词⽅式
N 元语⾔模型(N-gram
语⾔模型)
设z 为字串,w 为划分的词串,s 是⼀种划分。该分词⽅法是以p (s )最⼤的分词结果作为结果。
由于每个词的概率都⼗分⼩,对于较长的字串,得到的每个结果的概率可能⼗分接近于0,计算机精度不够,会影响概率的⽐较,可通过⽐较概率的负对数来⽐较⼤⼩。
这种⽅法可发现所有的切分歧义,它的成功率很⼤程度取决于统计语⾔模型的精度和决策算法。
氮气冷却系统
概率怎么得到,肯定是要有样本的,如果可以的话,以⼈类有史以来所有说过的话作为样本肯定是最好的,但这不可能实现。
对于p (s ),根据条件概率公式,有p (s )=p (w 1)p (w 2|w 1)⋯p (w n |w n −1,w n −2,⋯w 1)
马蹄清洗机这种计算⽅法对算⼒要求太⾼,对训练数据要求⼗分⼤,不太可能实现,因此考虑建⽴模型。俄国数学家马尔可夫提出假设:任意⼀个词w i 出现的概率只同它前⾯的⼀个词w i −1有关,这种假设称为马尔可夫假设。
即p (s )=p (w 1)p (w 2|w 1)⋯p (w n |w n −1)
这样求的⽅法就简单多了。
⽽当我们假设w i 出现的概率和它前⾯的n 个词有关,就被称为n
元语⾔模型代码思路
⽤DFS 不难实现,⾸先到⼀个可⾏的划分,再计算概率,保存最⼤概率的结果,DFS 途中可适当剪枝。//代码框架
void _find (int cur)//划分,cur 表⽰当前为第⼏个词
{
if (cur==n+1) calc();//对当前结果计算概率并保存z w s p (s )p (s )p (s )=p ()p (|)⋯p (|,,⋯)w 1w 2w 1w n w n −1w n −2w 1w i w i −1p (s )=p ()p (|)⋯p (|)w 1w 2w 1w n w n −1w i n n DFS DFS
for (int i=cur;i<=n;++i)
if (check(cur,i)){//如果从cur到i形成⼀个词
add(cur,i);//将该词添加到当前划分
_find(i+1);
del();//删掉这个词
}
}
ic编带与词性标注结合
这种⽅法的基本思想是在考虑分词结果的概率的同时,还要考虑词性,⾃然语⾔的词性搭配是有规律的,将分词结果的词性搭配的概率也进⾏⽐较,从⽽反过来调整分词,可极⼤的提⾼结果的准确性。

本文发布于:2024-09-21 14:29:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/276247.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:概率   结果   分词   模型   划分   假设
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议