分词介绍:算法
英文的单词是具备含义的最小单位,且以空格为界限。 中文的词语才是具备意义的最小单位,可是没有界限,须要咱们对一句话进行分词,再对词进行处理。
经常使用的分词手段为:匹配规则,几率统计。其余如语义句意则不够成熟。网络
基于匹配规则的有(主要匹配词典或者词表):架构
按照扫描方向的不一样:正向匹配和逆向匹配 按照长度的不一样:最大匹配和最小匹配 正向最大匹配思想MM 1从左向右取待切分汉语句的m个字符做为匹配字段,m为大机器词典中最长词条个数。 2查找大机器词典并进行匹配。 3若匹配成功,则将这个匹配字段做为一个词切分出来。 4若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串做为新的匹配字段,进行再次匹配, 5重复以上过程,直到切分出全部词为止。 逆向最大匹配算法RMM 是正向最大匹配的逆向,匹配不成功将匹配字段的最前一个字去掉,实验代表逆向最大匹配算法要优于正向最大匹配算法。 双向最大匹配法(Bi-directction Matching method,BM) 双向最大匹配法是将正向最大匹配法获得的分词结果和逆向最大匹配法的到的结果进行比较,从而决定正确的分词方法。 据SunM.S.和Benjamin K.T.(1995)的研究代表,中文中90.0%左右的句子,正向最大匹配法和逆向最大匹配法彻底重合 且正确,只有大概9.0%的句子两种切分方法获得的结果不同,但其中必有一个是正确的(歧义检测成功),只有不到1.0%的句子, 或者正向最大匹配法和逆向最大匹配法的切分虽重合倒是错的,或者正向最大匹配法和逆向最大匹配法切分不一样但两个都不对 (歧义检测失败)。这正是双向最大匹配法在实用中文信息处理系统中得以普遍使用的缘由所在。 设立切分标志法 收集切分标志,在自动分词前处理切分标志,再用MM、RMM进行细加工。 最少切分法(使每一句中切出的词数最小) 最佳匹配(OM,分正向和逆向) 对分词词典按词频大小顺序排列,并注明长度,下降时间复杂度。 优势:易于实现 缺点:匹配速度慢。对于未登陆词的补充较难实现。缺少自学习。 一般是多种算法合用,或者一种为主、多种为辅,同时还会加入词性、词频等属性来辅助处理(运用某些简单的数学模型)。 这类算法优势是速度块,时间复杂度较低,实现简单,如mmseg算法(不少分词工具基于mmseg)。 基于统计的分词(无字典分词) 主要思想:上下文中,相邻的字同时出现的次数越多,就越可能构成一个词。所以字与字相邻出现的几率或频率能较好的反映词的可信度。 主要统计模型为:N元文法模型(N-gram)、隐马尔科夫模型(Hidden Markov Model, HMM) 通常主要是运用几率统计、机器学习等方面的方法,目前常见的是CRF,HMM等。 这类分词事先对中文进行建模,根据观测到的数据(标注好的语料)对模型参数进行估计(训练)。 在分词阶段再经过模型计算各类分词出现的几率,将几率最大的分词结果做为最终结果.这类算法对未登陆词识别效果较好,可以根据使用领域达到较高的分词精度,可是实现比较复杂,一般须要大量的前期工做。 1N-gram模型思想(n-gram见其余博文) 模型基于这样一种假设,第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的几率就是各个词出现几率的乘积 . 可是这种方法:一个缺陷是参数空间过大;另一个缺陷是数据稀疏严重。 为了解决这个问题,引入了马尔科夫假设:一个词的出现仅仅依赖于它前面出现的有限的一个或者几个词。 隐马尔科夫模型思想 基于规则的分词(基于语义) 经过模拟人对句子的理解,达到识别词的效果,基本思想是语义分析,句法分析,利用句法信息和语义信息对文本进行分词。自动推理,并完成对未登陆词的补充是其优势。不成熟. 具体概念:有限状态机\语法约束矩阵\特征词库 基于字标注的中文分词方法 以往的分词方法,不管是基于规则的仍是基于统计的,通常都依赖于一个事先编制的词表(词典)。自动分词过程就是经过词表和相关信息来作出词语切分的决策。 与此相反,基于字标注的分词方法其实是构词方法。即把分词过程视为字在字串中的标注问题。 因为每一个字在构造一个特定的词语时都占据着一个肯定的构词位置(即词位),假如规定每一个字最多只有四个构词位置: 即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 首先须要说明,这里说到的字不仅限于汉字,也包括外文字母、阿拉伯数 字和标点符号等字符。全部这些字符都是构词的基本单元。 把分词过程视为字的标注问题的一个重要优点在于,它可以平衡地看待词表词和未登陆词的识别问题。 在这种分词技术中,文本中的词表词和未登陆词都是用统一的 字标注过程来实现的。在学习架构上,既能够没必要专门强调词表词信息, 也不用专门设计特定的未登陆词(如人名、地名、机构名)识别模块。这使得分词系统的设 计大大简化。 在字标注过程当中,全部的字根据预约义的特征进行词位特性的学习,得到一个几率模型。 而后,在待分字串上,根据字与字之间的结合紧密程度,获得 一个词位的标注结果。 最后,根据词位定义直接得到最终的分词结果。 总而言之,在这样一个分词过程当中,分词成为字重组的简单过程。然而这一简单处理带来的分词结果倒是使人满意的。
中文分词的难点机器学习
一、歧义消除,结合上下文语义 “表面的”->“表面 的”or“表 面的” “中将”->“一名中将”OR“在几年中将超越。。。” “乒乓球拍卖完了”->“乒乓 球拍 卖 完 了”OR“乒乓球 拍卖 完 了” 二、未登录词识别 新词,人名,地名,机构名,术语,网络新词