中文分词方法简介
2012-06-07 13:53
267 查看
中文与西方文字不同,西方文字如英文的单词间有空格作为分隔,计算机很容易把一个个词分开。而中文句子里的之间没有分隔,要把中文句子拆分成词就需要使用中文分词技术。由于全文索引采用的是倒排索引技术,所以分词的效果直接决定了搜索的效果。
目前的中文分词技术主要有:n元切分、最长匹配、最大压缩、统计语言模型等方法。n元切分,即机械切分。就是把中文句子每n个字分成一个“词”。比如,“我是大学生”用一元切分的结果就是“我”、“是”、“大”、“学”、“生”。二元分词如果采用串分割,结果就是“我是”、“大学”、“生”,采用交叉分割结果就是“我是”、“是大”、“大学”、“学生”。通常,都采用交叉切分,以免在搜索“学生”时无法搜索到结果。同时,交叉分割可以保证查询和索引切分的一致性。但交叉分割的索引大小是串分割的n倍。机械切分并不是真正意义上的中文分词,因为它并没有把句子根据词法和语义分成有意义的词。这种方法实现简单,切分效率高,但会产生很多无用词。Lucene自带的StandardAnalyzer对中文的切分就是一元切分。Lucene
Sandbox中的CJKAnalyzer采用的是交叉二元分词。
最长匹配法是使用词典来切分的。比如,“我是大学生”根据词典通常会被拆分为“我”、“是”、“大学生”。最长匹配法又分正向最长匹配和反向最长匹配,即从句子的正方向或方向匹配单词。通常反向最长匹配的效果要好于正向最长匹配。也可以把两者结合起来,即双向最长匹配。最长匹配法实现也较简单,分词速度较快,但准确率比较低。采用词典的分词方法的效果很大程度上取决于词典的质量。同时,在遇到词典中没有的词往往就束手无策了。而且,基于词典的分词对于新词,还有人名、地名等往往不能很好地识别。Lucene
Sandbox中的ChineseAnalyzer就是采用的反向最长匹配。
统计语言模型方法简单的说,就是通过从文本库中统计出字与字之间结合和分开的概率来分词的。比如“我是大学生”,“是”和“大”结合的概率要小于“大”和“学”结合的概率。这种方法不依赖于词库和语法定义,可以适应新词以及人名地名等。但实现复杂,分词速度慢。在上下文信息较少的情况下效果不够好。
目前的中文分词技术主要有:n元切分、最长匹配、最大压缩、统计语言模型等方法。n元切分,即机械切分。就是把中文句子每n个字分成一个“词”。比如,“我是大学生”用一元切分的结果就是“我”、“是”、“大”、“学”、“生”。二元分词如果采用串分割,结果就是“我是”、“大学”、“生”,采用交叉分割结果就是“我是”、“是大”、“大学”、“学生”。通常,都采用交叉切分,以免在搜索“学生”时无法搜索到结果。同时,交叉分割可以保证查询和索引切分的一致性。但交叉分割的索引大小是串分割的n倍。机械切分并不是真正意义上的中文分词,因为它并没有把句子根据词法和语义分成有意义的词。这种方法实现简单,切分效率高,但会产生很多无用词。Lucene自带的StandardAnalyzer对中文的切分就是一元切分。Lucene
Sandbox中的CJKAnalyzer采用的是交叉二元分词。
最长匹配法是使用词典来切分的。比如,“我是大学生”根据词典通常会被拆分为“我”、“是”、“大学生”。最长匹配法又分正向最长匹配和反向最长匹配,即从句子的正方向或方向匹配单词。通常反向最长匹配的效果要好于正向最长匹配。也可以把两者结合起来,即双向最长匹配。最长匹配法实现也较简单,分词速度较快,但准确率比较低。采用词典的分词方法的效果很大程度上取决于词典的质量。同时,在遇到词典中没有的词往往就束手无策了。而且,基于词典的分词对于新词,还有人名、地名等往往不能很好地识别。Lucene
Sandbox中的ChineseAnalyzer就是采用的反向最长匹配。
统计语言模型方法简单的说,就是通过从文本库中统计出字与字之间结合和分开的概率来分词的。比如“我是大学生”,“是”和“大”结合的概率要小于“大”和“学”结合的概率。这种方法不依赖于词库和语法定义,可以适应新词以及人名地名等。但实现复杂,分词速度慢。在上下文信息较少的情况下效果不够好。
相关文章推荐
- 10大Java开源中文分词器的使用方法和分词效果对比
- Java通过JNI调用ICTCLAS中文分词包的方法
- Lucene中文分词实现方法:基于StopWord分割分词
- 自然语言处理-中文分词方法总结
- 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较
- python使用jieba实现中文分词去停用词方法示例
- [024] 11大Java开源中文分词器的使用方法和分词效果对比
- 中文分词 (机械传统方法 )正向最大匹配
- 【笔记】提高中文分词准确性和效率的方法
- Python结巴中文分词工具使用过程中遇到的问题及解决方法
- ANSJ中文分词使用方法
- Lucene下引入ICTCLAS进行中文分词的实现方法
- 中文分词方法
- 改写lucene的Analyzer,添加自己的中文分词系统的方法
- 搜索引擎之中文分词(Chinese Word Segmentation)简介
- 数据库分词查询的优缺点以及英文和中文各自的分词方法(一)
- 中文分词组件 KTDictSeg 1.2 版本发布及算法简介
- 搜索引擎之中文分词(Chinese Word Segmentation)简介
- amchart 使用方法简介及简单中文API
- 一种中文文本的快速分词方法(一)(未完待续)