- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分词系统研究完整版ICTCLAS
分词系统研究完整版
?ICTClAS分词系统是由中科院计算所的张华平、刘群所开发的一套获得广泛好评的分词系统,难能可贵的是该版的Free版开放了源代码,为我们很多初学者提供了宝贵的学习材料。
????? 但有一点不完美的是,该源代码没有配套的文档,阅读起来可能有一定的障碍,尤其是对C/C++不熟的人来说.本人就一直用Java/VB作为主要的开发语言,C/C++上大学时倒是学过,不过工作之后一直没有再使用过,语法什么的忘的几乎一干二净了.但语言这东西,基本的东西都相通的,况且Java也是在C/C++的基础上形成的,有一定的相似处.阅读一遍源代码,主要的语法都应该不成问题了.
????虽然在ICTCLAS的系统中没有完整的文档说明,但是我们可以通过查阅张华平和刘群发表的一些相关论文资料,还是可以窥探出主要的思路.
?? 该分词系统的主要是思想是先通过CHMM(层叠形马尔可夫模型)进行分词,通过分层,既增加了分词的准确性,又保证了分词的效率.共分五层,如下图一所示:
基本思路:先进行原子切分,然后在此基础上进行N-最短路径粗切分,找出前N个最符合的切分结果,生成二元分词表,然后生成分词结果,接着进行词性标注并完成主要分词步骤.
下面是对源代码的主要内容的研究:
1.首先,ICTCLAS分词程序首先调用CICTCLAS_WinDlg::OnBtnRun()开始程序的执行.并且可以从看出它的处理方法是把源字符串分段处理。并且在分词前,完成词典的加载过程,即生成m_ICTCLAS对象时调用构造函数完成词典库的加载。关于词典结构的分析,请参加分词系统研究(二)。
void CICTCLAS_WinDlg::OnBtnRun() {
?? ......
?//在此处进行分词和词性标记
? if(!m_ICTCLAS.ParagraphProcessing((char *)(LPCTSTR)m_sSource,sResult))??????? ?m_sResult.Format(错误:程序初始化异常!);???else?????? ?m_sResult.Format(%s,sResult);//输出最终分词结果
????......
}
2.在OnBtnRun()方法里面调用分段分词处理方法bool CResult::ParagraphProcessing(char *sParagraph,char *sResult)完成分词的整个处理过程,包括分词的词性标注.其中第一个参数为源字符串,第二个参数为分词后的字符串.在这两个方法中即完成了整个分词处理过程,下面需要了解的是在此方法中,如何调用其它方法一步步按照上图所示的分析框架完成分词过程.为了简单起见,我们先不做未登录词的分析。
//Paragraph Segment and POS Taggingbool CResult::ParagraphProcessing(char *sParagraph,char *sResult){
?? ........
?? Processing(sSentence,1); //Processing and output the result of current sentence.??Output(m_pResult[0],sSentenceResult,bFirstIgnore); //Output to the imediate result
? .......
}
3.主要的分词处理是在Processing()方法里面发生的,下面我们对它进行进一步的分析.
bool CResult::Processing(char *sSentence,unsigned int nCount){
......
?//进行二叉分词
m_Seg.BiSegment(sSentence, m_dSmoothingPara,m_dictCore,m_dictBigram,nCount);
......
?//在此处进行词性标注
m_POSTagger.POSTagging(m_Seg.m_pWordSeg[nIndex],m_dictCore,m_dictCore);
......
}
4.现在我们先不管词性标注,把注意力集中在二叉分词上,因为这个是分词的两大关键步骤的第一步.
参考文章:
1.基于层叠隐马模型的汉语词法分析,刘群 张华平等
2.基于N-最短路径的中文词语粗分模型,张华平 刘群===========================================================================
?ICTCLAS分词系统研究(二)--词典结构
ICTCLAS的词典结构是理解分词的重要依据,通过这么一个数据
您可能关注的文档
- 人教版小学语文三年级下第册四单元练习题.docx
- 出版专业职业资格登记注册的方法和步骤.doc
- 出国签证必备常识问.docx
- 人教版小学语文二年级上生册字表注音版.docx
- 人教版小学语文二年级上组册词.docx
- 出版物上数字用法的规定及常见错误.doc
- 出版物批发连锁企业设立从业.doc
- 出现连接不上的解决办法.doc
- 人教版小学语文优秀说课精稿选.docx
- 出生日期看你一生恋爱运.doc
- 国际标准 IEC 61158-5-17:2007 EN Industrial communication networks - Fieldbus specifications - Part 5-17: Application layer service definition - Type 17 elements 工业通信网络 - 现场总线规范 - 第5-17部分:应用层服务定义 - 类型17元素.pdf
- 国际标准 IEC 60939-2-2:2004 EN_D 完整抑制无线电干扰滤波器单元-第2-2部分:空白详细规范-用于抑制电磁干扰的被动滤波器单元-仅需进行安全测试的滤波器(安全测试) Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference .pdf
- 国际标准 IEC 60939-2-2:2004 EN_D Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference suppression - Filters for which safety tests are required (safety.pdf
- 国际标准 IEC 60670-23:2006 EN-FR Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求.pdf
- 国际标准 IEC 60670-23:2006 EN-FR 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求 Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures.pdf
- 2024版完整的货物运输合同书.doc
- 2024版无财产的离婚协议书书模板.doc
- 2024版委托融资租赁合同书书.doc
- 2024版汪怡的离婚协议书书.doc
- 2024版委托活动代理服务协议书书.doc
文档评论(0)