基于隐马尔可夫模型的切词系统

基于隐马尔可夫模型的切词系统

ID:40811424

大小:84.00 KB

页数:7页

时间:2019-08-08

基于隐马尔可夫模型的切词系统_第1页
基于隐马尔可夫模型的切词系统_第2页
基于隐马尔可夫模型的切词系统_第3页
基于隐马尔可夫模型的切词系统_第4页
基于隐马尔可夫模型的切词系统_第5页
资源描述:

《基于隐马尔可夫模型的切词系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于隐马尔可夫模型的切词系统1,概论本系统使用隐马尔可夫模型和序列标记法实现切词1.1,模型参数状态S={B,M,E,S}代表了序列标记法的四个标记B:词首,M:词中,E:词尾,S:单独的字成词观察值集合V为所有可能出现的汉字p(ti

2、ti-1)标记转移概率p(wi

3、ti)标记ti生成词wi的概率p(t)标记t出现在句首的概率1.2,模型学习使用90%的语料信息,采用有指导的学习方法,最大似然估计法P(ti

4、ti-1)=c(ti-1,ti)/c(ti-1)P(wi

5、ti)=c(ti,wi)/c(ti)2,语料信息预处理2.1思路分析语料库后发现:语料库

6、每一行都是一个汉语语法意义上的句子。但切词不需要参考语法意义上的句子,只要是有标点符号,我们就视标点符号两侧为不同词,因此我们可以以/w为分割符。例如:迈向/v充满/v希望/n的/u新/a世纪/n——/w一九九八年/t新年/t讲话/n(/w附/v图片/n1/m张/q)/w我们把它当作三个句子,“迈向”,“一九九八”和“附”将作为句首词,而“世纪”,“讲话”和“张”将作为据尾词。两个/w之间定义为一个句子。还要切掉”[“,”]”,否则后面的建模过程会出现麻烦例如:[中央/n人民/n广播/vn电台/n]nt2.2过程读取语料库中每个词语,去掉”/”和”/”

7、后的字符,去掉最前面的版面序号,去掉标点符号,为每个词语添加序列标记(/B,/M,/E,/S),然后保存到一个中间文件中,以备后用。中间文件格式形如:1/B2/M月/E3/B1/M日/E中/B共/M中/M央/E总/B书/M记/E国/B家/E主/B席/E江/S泽/B民/E发/B表/E1/B9/M9/M8/M年/E新/B年/E讲/B话/E迈/B向/E充/B满/E希/B望/E的/S新/S世/B纪/E3,建模3.1,数据结构设计3.1.1计算p(ti

8、ti-1)的表BMES句首总和BMESti-1行ti列表是c(ti-1,ti)。总和不

9、包括后来句首,句尾。单独出现表示这个字单独作为一句话出现。计算c(ti)方法:c(ti)=ti出现在句首的次数+ti出现在其他状态后的次数(及ti所在列的和)3.1.2计算p(wi

10、ti)的数据结构Typedefstruct_word{//表示这个词以B,M,E,S为标记出现的次数即为c(ti,wi),p开头的表示p(wi

11、ti)//因为需要平滑,所以次数表示成double类型DoubleBDoubleMDoubleEDoubleSDoublepBDoublepMDoublepEDoublepS}Word4,切词将预料信息剩下的10%还原成句子,让程序

12、进行切词。切词就是求隐马尔可夫环的一个能最好解释观察序列的状态转换序列。用韦特比算法。4.1数据结构:typedefstruct_wtb{doubledeta;//表示δdoublebo;表示bintfi;表示ψ}WTB;doublem_pi[4];表示πiWTB(*m_db)[4];一个二维数组,里面装的是算法所需要的数据doublea[4][4];表示a4.2算法韦特比算法在本程序中的表示初始化M_db[0][].fi全部初始化为0M_db[0][].bo初始化为map中对应的那些项迭代m_db[t][j].fi=k;m_db[t][j].deta

13、=max*m_db[t][j].bo;max为m_db[t-1][i].deta*a[i][j]的最大值k为使m_db[t-1][i].deta*a[i][j]为max的i终止求m_db[t][i].deta最大值和使其为最大值的k=i求最佳路径迭代表达式k=m_db[t][k].fi;求出所有的k就可得到最佳路径。4.3平滑当出现未登录词Ox时,假设其在不同的状态下都出现ADD_DELTA(大于0小于1)次,然后算出概率。5,自动评价从中间文件中读取后1/10的句子,读取每个句子,把句子的标注去掉,调用切分算法,然后将切分结果与中间结果比较,求出准确

14、率,召回率和F-评价然后与原预料库进行比较,求出准确率,召回率和F值6,分析6.1delta选择对平滑的影响我选了选了4个delta:1,0.5,0.1,0.000001,发现无论delta选择多少,基本上不会对结果产生太大的影响准确率:67%-68%召回率:69%-70%F-评价:68%-69%6.2模型分析BMES句首总和B068518444333091488512851M029766685180098284E247523001532850512851S173840009706553312303662看这个状态转换表,我终于知道了为什么我的切分结果

15、基本上都是二字成词,概率最大的E->S和B->E居然比其他概率至少大一个数量级,这也许是汉语的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。