分词预处理java代码 java分词工具类( 二 )


lucene-analyzers-2.4.1.jar
lucene-core-2.4.1.jar
IKAnalyzer2.0.2OBF.jar
有没有利用斯坦福自然语言库处理英文信息的分词代码 java众所周知分词预处理java代码,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位 , 句子中所有的字连起来才能描述一个意思 。例如,英文句子I am a student,用中文则为分词预处理java代码:“分词预处理java代码我是一个学生” 。计算机可以很简单通过空格知道student是一个单词 , 但是不能很容易明白“学”、“生”两个字合起来才表示一个词 。把中文的汉字序列切分成有意义的词 , 就是中文分词 , 有些人也称为切词 。分词预处理java代码我是一个学生 , 分词的结果是分词预处理java代码:我 是 一个 学生 。
中文分词技术属于自然语言处理技术范畴 , 对于一句话 , 人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法 。
现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法 。
1、基于字符串匹配的分词方法
这种方法又叫做机械分词方法 , 它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词) 。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况 , 可以分为最大(最长)匹配和最?。ㄗ疃蹋┢ヅ洌话凑帐欠裼氪市员曜⒐滔嘟岷?nbsp;, 又可以分为单纯分词方法和分词与标注相结合的一体化方法 。常用的几种机械分词方法如下:
1)正向最大匹配法(由左到右的方向);
2)逆向最大匹配法(由右到左的方向);
3)最少切分(使每一句中切出的词数最?。?。
还可以将上述各种方法相互组合,例如 , 可以将正向最大匹法和逆向最大匹法结合起来构成双向匹配法 。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用 。一般说来 , 逆向匹配的切分精度略高于正向匹配 , 遇到的歧义现象也较少 。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245 。但这种精度还远远不能满足实际的需要 。实际使用的分词系统 , 都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率 。
一种方法是改进扫描方式,称为特征扫描或标志切分,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率 。另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率 。
对于机械分词方法,可以建立一个一般的模型,在这方面有专业的学术论文,这里不做详细论述 。
2、基于理解的分词方法
这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果 。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象 。它通常包括三个部分:分词子系统、句法语义子系统、总控部分 。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程 。这种分词方法需要使用大量的语言知识和信息 。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段 。

推荐阅读