新浪分词中文分词服务怎么用

经检测你所在的网络可能存在爬虫,因资源限制,我们只能拒绝你的请求。
如果你是推酷的用户,可以以继续访问使用。
如有疑问,可将IP信息发送到
请求解封。中文分词的功能流程
===============================================================================
如有需要可以转载,但转载请注明出处,并保留这一块信息,谢谢合作!
部分内容参考互联网,如有异议,请跟我联系!
作者:刀剑笑(Blog:http://blog.csdn.net/jyz3051)
Email:jyz3051 at yahoo dot com dot
cn('at'请替换成'@','dot'请替换成'.' )
===============================================================================
关键词:中文分词,功能流程,分词步骤
中文分词方法变传统的"分词"过程为"(堆)砌词"的过程,首先将输入的中文文档打散为一系列的短句,将短句打散为原子系列,然后将原子系列"(堆)砌"成词,一般步骤如下图(图)所示,主要包括以下四个步骤:
1 句子切分:
对输入的中文文档进行预处理,得到单个中文短句的集合。
这一步主要是通过标点符号(如逗号、句号、感叹号、问号等),将中文文档进行切分,缩小中文分词的句子长度,降低复杂度,提高准确性。
2 原子切分:
对输入的中文短句进行原子切分,并根据所得的原子系列建立初始的切分词图。
这一步主要是将中文短句变成不可再分的字(或字符)系列,作为中文分词的(堆)砌成词过程的基本单元。原子的类型主要包括:单个汉字、英文单词(或缩写)、由连字符连接的不同单元、由斜线连接的不同单元等,如:
"他购买了一盒Esselte品牌的SHA-PA型号24/6的订书钉",进行原子切分,得到的原子系列为:他、购、买、了、一、盒、Esselte、品、牌、的、SHA-PA、型、号、24/6、的、订、书、钉。
3 堆砌词语:
基于原子系列,从不同视角分别进行中文词语识别,并将各自的堆砌结果添加到切分图中。
这一步完成词语的堆砌过程:将打散的原子系列,从不同的视角分别进行中文词语的识别,为后续的优化选词过程提供基础。在这一步,需要提供两项结果:一项是可能的词语堆砌路径,第二项是这些路径的概率,以代表按照该路径分词的可能性。
在这一步可以融合各种各样的分词思想,如基于字符串的中文分词思想、基于理解的中文分词思想、基于统计的中文分词思想,常常可以经过的操作包括:
(1)词典词识别:将待堆砌的原子系列,按照全切分的方法(将字典中出现过的词语全部切分出来),识别出所有的堆砌路径。对于这个过程的概率分配,可采用两种方法:一种是按照最少分词的思想分配路径的概率,即将该中文短句堆砌成最小数量的中文词语;第二种是按照隐马尔科夫模型(HMM)分配路径的概率;当然,正向(反向)最大匹配字符串方法也可以作为路径概率分配的手段。
(2)未登录词识别:词典未收录的词统称为未登录词。人名、地名、机构名、时间等,常常是未登录词的主要来源,当然网络上出现的新词、缩写、俚语等也是重要的组成部分。下面一一进行介绍:
人名识别:姓氏常常是人名的重要识别标志,可以根据姓氏启动人名识别;
地名、机构名等实体名称的识别:根据常带的后缀、前缀启动这些实体名称的识别是常常采用的手段;
时间识别:根据时间的数值及常用的格式可以很好的识别时间、日期等;
网络新词的识别:只能通过统计手段,不断补充词典来进行了。
(3)统计方法分词:通过对大规模预料的统计训练,将同时出现频率比较高的字组合作为一个可能的词。可以采用局部统计或全局统计;
(4)基于理解的分词:可以根据一些语法、句法等规则,进行分词,给出分词路径;
(5)词性标注:根据词性同现的概率,进行堆砌过程的路径概率修正。
当然,还可以随时容纳其它的分词思想,只要能给出堆砌路径、并给出发生概率就可以在这一步进行融合。
4 分词选优:
基于上一阶段的堆砌路径和各路径的概率,计算得出最可能的堆砌路径,作为最后的分词结果,并输出最终结果。
在这一步,可以将分词选优看作是一个寻找最短路径的问题(采用最少分词数的方法)、概率乘积等方法给出。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。新浪sae提供中文分词服务
新浪sae提供中文分词服务
发布时间: 22:59:50
编辑:www.fx114.net
本篇文章主要介绍了"[置顶]
新浪sae提供中文分词服务",主要涉及到[置顶]
新浪sae提供中文分词服务方面的内容,对于[置顶]
新浪sae提供中文分词服务感兴趣的同学可以参考一下。
& & & 今天登录sae,发现应用菜单底部赫然出现了&中文分词服务&功能,真是让人意外的惊喜.以往我都是自己在本地分词.然后再传到服务器上的.不然只能够用模糊匹配的方式来搜索,或者单字分词,这样性能很难保证. 分词也是目前手头上的一个人工智能项目的基础.真是太感谢新浪了~~希望sae以后能分享更多的服务.gae就小气多了只有英文的分词.几乎不用分的.希望Google或者百度公布自己的分词系统,要不提供api什么的.
& & 介绍一下sae的分词服务功能:
目前还处于alpha状态.但是是可以使用的.你到后台点击一下启用分词服务功能就行.
saeSegment是由新浪爱问提供的分词服务,是扩展服务。
该服务分词准确率高,而且可以返回给每个词的词性,详细使用方法请看&。
&&&&&&&$str&=&&明天星期天&;
&&&&&&&$seg&=&new&SaeSegment();
&&&&&&&$ret&=&$seg-&segment($str,&1);
&&&&&&&print_r($ret);&&&&//输出
&&&&&&&//&失败时输出错误码和错误信息
&&&&&&&if&($ret&===&false)
&&&&&&&&&&&&&&&var_dump($seg-&errno(),&$seg-&errmsg());
目前还是免费,邀请注册链接:&
版权声明:本文为博主原创文章,未经博主允许不得转载。
本文标题:
本页链接:一、&&&&&&&为什么要进行中文分词?
词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键。
Lucene中对中文的处理是基于自动切分的单字切分,或者二元切分。除此之外,还有最大切分(包括向前、向后、以及前后相结合)、最少切分、全切分等等。
二、&&&&&&&中文分词技术的分类
我们讨论的分词算法可分为三大类:基于字典、词库匹配的分词方法;基于词频度统计的分词方法和基于知识理解的分词方法。
第一类方法应用词典匹配、汉语词法或其它汉语语言知识进行分词,如:最大匹配法、最小分词方法等。这类方法简单、分词效率较高,但汉语语言现象复杂丰富,词典的完备性、规则的一致性等问题使其难以适应开放的大规模文本的分词处理。第二类基于统计的分词方法则基于字和词的统计信息,如把相邻字间的信息、词频及相应的共现信息等应用于分词,由于这些信息是通过调查真实语料而取得的,因而基于统计的分词方法具有较好的实用性。
下面简要介绍几种常用方法:
1).逐词遍历法。
逐词遍历法将词典中的所有词按由长到短的顺序在文章中逐字搜索,直至文章结束。也就是说,不管文章有多短,词典有多大,都要将词典遍历一遍。这种方法效率比较低,大一点的系统一般都不使用。
2).基于字典、词库匹配的分词方法(机械分词法)
这种方法按照一定策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。识别出一个词,根据扫描方向的不同分为正向匹配和逆向匹配。根据不同长度优先匹配的情况,分为最大(最长)匹配和最小(最短)匹配。根据与词性标注过程是否相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的方法如下:
(一)最大正向匹配法&(MaximumMatchingMethod)通常简称为MM法。其基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理……&&如此进行下去,直到匹配成功,即切分出一个词或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个i字字串进行匹配处理,直到文档被扫描完为止。
其算法描述如下:
(1)初始化当前位置计数器,置为0;
(2)从当前计数器开始,取前2i个字符作为匹配字段,直到文档结束;
(3)如果匹配字段长度不为0,则查找词典中与之等长的作匹配处理。
如果匹配成功,
a)把这个匹配字段作为一个词切分出来,放入分词统计表中;
b)把当前位置计数器的值加上匹配字段的长度;
c)跳转到步骤2);
a)&如果匹配字段的最后一个字符为汉字字符,
①把匹配字段的最后一个字去掉;
②匹配字段长度减2;
①把匹配字段的最后一个字节去掉;
②匹配字段长度减1;
b)跳转至步骤3);
a)如果匹配字段的最后一个字符为汉字字符,
则&&&当前位置计数器的值加2;
否则当前位置计数器的值加1;
b)跳转到步骤2)。
(二)逆向最大匹配法&(ReverseMaximumMatcingMethod)通常简称为RMM法。RMM法的基本原理与MM法相同&,不同的是分词切分的方向与MM法相反,而且使用的分词辞典也不同。逆向最大匹配法从被处理文档的末端开始匹配扫描,每次取最末端的2i个字符(i字字串)作为匹配字段,若匹配失败,则去掉匹配字段最前面的一个字,继续匹配。相应地,它使用的分词词典是逆序词典,其中的每个词条都将按逆序方式存放。在实际处理时,先将文档进行倒排处理,生成逆序文档。然后,根据逆序词典,对逆序文档用正向最大匹配法处理即可。
由于汉语中偏正结构较多,若从后向前匹配,可以适当提高精确度。所以,逆向最大匹配法比正向最大匹配法的误差要小。统计结果表明&,单纯使用正向最大匹配的错误率为&1/16
9,单纯使用逆向最大匹配的错误率为&1/245。例如切分字段“硕士研究生产”,正向最大匹配法的结果会是“硕士研究生&/&产”,而逆向最大匹配法利用逆向扫描,可得到正确的分词结果“硕士&/&研究&/&生产”。
当然,最大匹配算法是一种基于分词词典的机械分词法,不能根据文档上下文的语义特征来切分词语,对词典的依赖性较大,所以在实际使用时,难免会造成一些分词错误,为了提高系统分词的准确度,可以采用正向最大匹配法和逆向最大匹配法相结合的分词方案(即双向匹配法,见(四)。)
(三)最少切分法:使每一句中切出的词数最小。
(四)双向匹配法:将正向最大匹配法与逆向最大匹配法组合。先根据标点对文档进行粗切分,把文档分解成若干个句子,然后再对这些句子用正向最大匹配法和逆向最大匹配法进行扫描切分。如果两种分词方法得到的匹配结果相同,则认为分词正确,否则,按最小集处理。
3).&全切分和基于词的频度统计的分词方法
基于词的频度统计的分词方法是一种全切分方法。在讨论这个方法之前我们先要明白有关全切分的相关内容。
全切分要求获得输入序列的所有可接受的切分形式,而部分切分只取得一种或几种可接受的切分形式,由于部分切分忽略了可能的其他切分形式,所以建立在部分切分基础上的分词方法不管采取何种歧义纠正策略,都可能会遗漏正确的切分,造成分词错误或失败。而建立在全切分基础上的分词方法,由于全切分取得了所有可能的切分形式,因而从根本上避免了可能切分形式的遗漏,克服了部分切分方法的缺陷。
全切分算法能取得所有可能的切分形式,它的句子覆盖率和分词覆盖率均为100%,但全切分分词并没有在文本处理中广泛地采用,原因有以下几点:
1)全切分算法只是能获得正确分词的前提,因为全切分不具有歧义检测功能,最终分词结果的正确性和完全性依赖于独立的歧义处理方法,如果评测有误,也会造成错误的结果。
2)全切分的切分结果个数随句子长度的增长呈指数增长,一方面将导致庞大的无用数据充斥于存储数据库;另一方面当句长达到一定长度后,由于切分形式过多,造成分词效率严重下降。
基于词的频度统计的分词方法:
这是一种全切分方法。它不依靠词典,而是将文章中任意两个字同时出现的频率进行统计,次数越高的就可能是一个词。它首先切分出与词表匹配的所有可能的词,运用统计语言模型和决策算法决定最优的切分结果。它的优点在于可以发现所有的切分歧义并且容易将新词提取出来。
4).基于知识理解的分词方法。
该方法主要基于句法、语法分析,并结合语义分析,通过对上下文内容所提供信息的分析对词进行定界,它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断。这类方法试图让机器具有人类的理解能力,需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式。因此目前基于知识的分词系统还处在试验阶段。
5).一种新的分词方法
并行分词方法:这种分词方法借助于一个含有分词词库的管道进行&,比较匹配过程是分步进行的&,每一步可以对进入管道中的词同时与词库中相应的词进行比较&,由于同时有多个词进行比较匹配&,因而分词速度可以大幅度提高。这种方法涉及到多级内码理论和管道的词典数据结构。(详细算法可以参考吴胜远的《并行分词方法的研究》。)
常用中文分词包
1.&庖丁解牛分词包,适用于与Lucene整合。http://www.oschina.net/p/paoding
&&&&庖丁中文分词库是一个使用Java开发的,可结合到Lucene应用中的,为互联网、企业内部网使用的中文搜索引擎分词组件。
&&&&Paoding填补了国内中文分词方面开源组件的空白,致力于此并希翼成为互联网网站首选的中文分词开源组件。&Paoding中文分词追求分词的高效率和用户良好体验。
&&&&Paoding's
Knives&中文分词具有极
高效率 和 高扩展性。引入隐喻,采用完全的面向对象设计,构思先进。
&&&&高效率:在PIII
1G内存个人机器上,1秒可准确分词&100万汉字。
&&&&采用基于不限制个数的词典文件对文章进行有效切分,使能够将对词汇分类定义。
&&&&能够对未知的词汇进行合理解析
2. LingPipe,开源自然语言处理的Java开源工具包。http://lingpipe/
&&&&功能非常强大,最重要的是文档超级详细,每个模型甚至连参考论文都列出来了,不仅使用方便,也非常适合模型的学习。
&&&&主题分类(Top
Classification)、命名实体识别(Named
Entity Recognition)、词性标注(Part-of
Speech Tagging)、句题检测(Sentence
Detection)、查询拼写检查(Query
Spell Checking)、兴趣短语检测(Interseting
Phrase Detection)、聚类(Clustering)、字符语言建模(Character
Language Modeling)、医学文献下载/解析/索引(MEDLINE
Download, Parsing and Indexing)、数据库文本挖掘(Database
Text Mining)、中文分词(Chinese
Word Segmentation)、情感分析(Sentiment
Analysis)、语言辨别(Language
Identification)等
3. JE分词包
4. LibMMSeg http://www.oschina.net/p/libmmseg
开发,同时支持Linux平台和Windows平台,切分速度大约在300K/s(PM-1.2G),截至当前版本(0.7.1)。
&&&&LibMMSeg没有为速度仔细优化过,进一步的提升切分速度应仍有空间。
5. IKAnalyzer http://www.oschina.net/p/ikanalyzer
&&&&IKAnalyzer基于lucene2.0版本API开发,实现了以词典分词为基础的正反向全切分算法,是LuceneAnalyzer接口的实现。
&&&&该算法适合与互联网用户的搜索习惯和企业知识库检索,用户可以用句子中涵盖的中文词汇搜索,如用"人民"搜索含"人民币"的文章,这是大部分用户的搜索思维;
&&&&不适合用于知识挖掘和网络爬虫技术,全切分法容易造成知识歧义,因为在语义学上"人民"和"人民币"是完全搭不上关系的。
6. PHPCWS http://www.oschina.net/p/phpcws
&&&&PHPCWS&是一款开源的PHP中文分词扩展,目前仅支持Linux/Unix系统。
&&&&PHPCWS&先使用“ICTCLAS
3.0&共享版中文分词算法”的API进行初次分词处理,再使用自行编写的“逆向最大匹配算法”对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。
&&&&ICTCLAS(Institute
of Computing Technology, Chinese Lexical Analysis
System)是中国科学院计算技术研究所在多年研究工作积累的基础上,基于多层隐马模型研制出的汉语词法分析系统,主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。ICTCLAS经过五年精心打造,内核升级6次,目前已经升级到了ICTCLAS3.0,分词精度&98.45%,各种词典数据压缩后不到3M。ICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构SigHan&组织的评测中都获得了多项第一名,是当前世界上最好的汉语词法分析器。
&&&&ICTCLAS
3.0&商业版是收费的,而免费提供的&ICTCLAS
3.0&共享版不开源,词库是根据人民日报一个月的语料得出的,很多词语不存在。所以本人对ICTCLAS分词后的结果,再采用逆向最大匹配算法,根据自己补充的一个9万条词语的自定义词库(与ICTCLAS词库中的词语不重复),对ICTCLAS分词结果进行合并处理,输出最终分词结果。
&&&&由于&ICTCLAS
3.0&共享版只支持GBK编码,因此,如果是UTF-8编码的字符串,可以先用PHP的iconv函数转换成GBK编码,再用phpcws_split函数进行分词处理,最后转换回UTF-8编码。
7、KTDictSeg 一个C#.net做的简单快速准确的开源中文分词组件(这个分词算法效果也不错)
代码下载:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。更多公众号:gh_a9d9c3cb1ca5市面上的教材太水?学了半天还是不知道如何处理工作中的数据?大猫的R语言课堂每期都和你分享一个工作研究中的实际问题,期期干货,就是这么实在!最新文章相关推荐搜狗:感谢您阅读如何用R进行中文分词?,本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:

我要回帖

更多关于 中文分词工具 的文章

 

随机推荐