首页 > 编程知识 正文

hmm分词算法,在线中文分词工具

时间:2023-05-03 16:35:14 阅读:107019 作者:2706

中文分词基本算法主要分类

基于词典的方法、基于统计的方法、基于规则的方法、(传说中也有基于理解的-神经网络-专家系统,但按下不表露) )。

1、基于词典的方法(字符串匹配,机械分词方法)

定义:根据某个策略将要分析的汉字串与“大型机器词典”的词条进行匹配,如果找到词典中的字符串,则匹配成功。

根据扫描方向,正向匹配和反向匹配

取决于长度:最大匹配和最小匹配

1.1正向最大匹配思想MM

1 )取从左到右分割的中文句子的m个字符作为匹配字段,m是大型机器词典的最长词条数。

2 )寻找大机器词典进行匹配。 如果匹配成功,则将此匹配字段剪切为一个单词。

如果匹配失败,则删除此匹配字段中的最后一个单词,将剩下的字符串作为新的匹配字段重新匹配,并重复上述过程直到提取出所有单词。

1.2逆向最大匹配算法RMM

该算法是前向最大匹配的逆向思维,匹配失败,删除匹配字段中的第一个单词。 实验表明,反向最大匹配算法优于前向最大匹配算法。

1.3 双向最大匹配法(Bi-directction Matching method,BM)

双向最大匹配法是将正向最大匹配法得到的分词结果与反向最大匹配法得到的结果进行比较,确定正确的分词方法。 SunM.S .和Benjamink.t.(1995 )的研究表明,中文90.0%左右的句子,正向最大匹配法和反向最大匹配法完全重叠准确,约9.0%的句子两种分割方法得到的结果不同

1.3设立切分标志法

收集剪切标记,在自动分词前处理剪切标记,用MM、RMM进行精细加工。

1.4最佳匹配(OM,分正向和逆向)

按语序排列分词词典,注明长度,降低时间复杂度。

优点:容易实现

缺点:匹配速度慢。 未注册词很难增补。 缺乏自我学习。

1.2基于统计的分词(无字典分词)

主要思想:语境中,相邻字同时出现的次数越多,组成一个词的可能性就越大。 因此,单词和单词相邻出现的概率和频率很好地反映了单词的可靠性。

主要统计模型是n元语法模型(N-gram )、隐马尔可夫模型(Hidden Markov Model,HMM )

1.2.1N-gram模型思想

基于这样的假设,第n个单词的出现仅与前面的N-1个单词相关,与其他任何单词都无关,句子整体的概率是各单词出现概率的乘积。

我们给一个词,推测下一个词是什么。 当我说“淫秽照片泄露丑闻”这个词时,你觉得下一个词是什么? 我想大家很可能会想到“幸福的咖啡豆”,但几乎没有人会想到“bldxtd”吧。 N-gram模型的主要思想就是这样。

对于一个句子t,如何计算它出现的概率? 假设t由单词串W1、W2、W3、…Wn组成,则p(t )=p (p ) W1w2w3…wn )=p ) W1 ) P(W2|W1 ) P(W3|W1W2)…p (wn|wn )

但是,这种方法有两个致命的缺陷。 一个缺陷是参数空间太大,无法实际应用;另一个缺点是数据稀疏性严重。

为了解决这个问题,我们引入了马尔可夫假说,即一个单词的出现只依赖于它前面出现的有限的一个或几个单词。

如果单词的出现只依赖于在它之前出现的单词,我们就把它称为bigram。 也就是说

p(t ) (p ) p ) w1w2w3…wn ) ) p ) w1 ) p ) w2|w1w2)…p ) wn|w1w2…wn-1 ) ) ) ) ) )

(p (w1 ) P(W2|W1 ) P(W3|W2 )P(W3|W2 ) (…p(wn|wn-1 ) ) ) ) ) ) ) ) ) 65

如果一个词的出现只依赖于它前面出现的两个词,我们就把它称为trigram。

在实践中使用最多的是bigram和trigram。 而且有效果。 超过四元的东西很少用。 因为训练它需要更庞大的资料,而且数据稀疏,时间复杂度高,精度提高的不多。

设w1,w2,w3,wn为长度为n的字符串,规定任意词wi只与其前两个相关,得到三元概率模型

这样,n元模型是指假设当前词的出现概率只与之前的N-1词相关。

zddbl模型思想

1.3基

于规则的分词(基于语义)

通过模拟人对句子的理解,达到识别词的效果,基本思想是语义分析,句法分析,利用句法信息和语义信息对文本进行分词。自动推理,并完成对未登录词的补充是其优点。不成熟.

具体概念:有限状态机语法约束矩阵特征词库

1.4基于字标注的中文分词方法

以往的分词方法,无论是基于规则的还是基于统计的,一般都依赖于一个事先编制的词表(词典)。自动分词过程就是通过词表和相关信息来做出词语切分的决策。与此相反,基于字标注的分词方法实际上是构词方法。即把分词过程视为字在字串中的标注问题。由于每个字在构造一个特定的词语时都占据着一个确定的构词位置(即词位),假如规定每个字最多只有四个构词位置:即B(词首),M (词中),E(词尾)和S(单独成词),那么下面句子(甲)的分词结果就可以直接表示成如(乙)所示的逐字标注形式:

(甲)分词结果:/上海/计划/N/本/世纪/末/实现/人均/国内/生产/总值/五千美元/
(乙)字标注形式:上/B海/E计/B划/E N/S 本/s世/B 纪/E 末/S 实/B 现/E 人/B 均/E 国/B 内/E生/B产/E总/B值/E 五/B千/M 美/M 元/E 。/S

    首先需要说明,这里说到的“字”不只限于汉字。考虑到中文真实文本中不可避免地会包含一定数量的非汉字字符,本文所说的“字”,也包括外文字母、阿拉伯数字和标点符号等字符。所有这些字符都是构词的基本单元。当然,汉字依然是这个单元集合中数量最多的一类字符。
把分词过程视为字的标注问题的一个重要优势在于,它能够平衡地看待词表词和未登录词的识别问题。在这种分词技术中,文本中的词表词和未登录词都是用统一的字标注过程来实现的。在学习架构上,既可以不必专门强调词表词信息,也不用专门设计特定的未登录词(如人名、地名、机构名)识别模块。这使得分词系统的设计大大简化。在字标注过程中,所有的字根据预定义的特征进行词位特性的学习,获得一个概率模型。然后,在待分字串上,根据字与字之间的结合紧密程度,得到一个词位的标注结果。最后,根据词位定义直接获得最终的分词结果。总而言之,在这样一个分词过程中,分词成为字重组的简单过程。然而这一简单处理带来的分词结果却是令人满意的。

2.1中文分词的难点

1歧义问题

最困难最核心的问题:只用机械匹配进行分词,其精度不可能高,不能满足高标准要求.

交集型歧义组合型歧义真歧义

依靠上下文语义来解决.

2未登录词识别

By lvpei.cnblogs.com

转载于:https://www.cnblogs.com/lvpei/archive/2010/08/04/1792409.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。