Lucene.net中文分词探究
2007-03-07 00:03
288 查看
一、中文分词方式:
中文分词几种常用的方式:
A. 单字分词
单字分词,顾名思义,就是按照中文一个字一个字地进行分词。如:我们是中国人,效果:我\们\是\中\国\人。
B. 二分法
二分法,就是按两个字进行切分。如:我们是中国人,效果:我们\们是\是中\中国\国人。
C. 词库分词
词库分词,就是按某种算法构造词然后去匹配已建好的词库集合,如果匹配到就切分出来成为词语。通常词库分词被认为是最理想的中文分词算法如:我们是中国人,通成效果为:我们\是\中国\中国人。
二、Lucene.net中五种中文分词效果探究
在Lucene.net中有很多种分词器,不同分词器使用了不同的分词算法,有不同的分词效果,满足不同的需求!在这里主要是看看其中五中分词器用来对中文切词的效果。五中分词器分别为:StandardTokenizer,CJKTokenizer,ChinessTokenizer,LowerCaseTokenizer,WhitespaceTokenizer;
下面就来测试一下它们切词的效果:
测试目标:是否支持中文词语,英文单词,邮件,IP地址,标点符号,数字,数学表达式的切割。
测试文字:“我们是中国人; 我们 是 人;we are chiness; 172.16.34.172;youpeizun@126.com;#$*;85*34;58 69”
测试代码:
using System;
using System.Collections.Generic;
using System.Text;
using Lucene.Net.Analysis.Standard;
using Lucene.Net.Analysis;
using Lucene.Net.Index;
using Lucene.Net.Documents;
using System.IO;
using Lucene.Net.Analysis.Cn;
using Lucene.Net.Analysis.CJK;
//date:11-02-2007
//home page:http://www.cnblogs.com/xuanfeng
//author:peizunyou
namespace TokenizerTest
测试代代码下载
三、 五中分词器代码设计探究
从下面分词器代码设计中的静态结构图可以清晰的看出其继承关系。无论是哪个分词器,其分词最终实现的算法都是在Next()方法,想深入了解,请看其相关源码。
中文分词几种常用的方式:
A. 单字分词
单字分词,顾名思义,就是按照中文一个字一个字地进行分词。如:我们是中国人,效果:我\们\是\中\国\人。
B. 二分法
二分法,就是按两个字进行切分。如:我们是中国人,效果:我们\们是\是中\中国\国人。
C. 词库分词
词库分词,就是按某种算法构造词然后去匹配已建好的词库集合,如果匹配到就切分出来成为词语。通常词库分词被认为是最理想的中文分词算法如:我们是中国人,通成效果为:我们\是\中国\中国人。
二、Lucene.net中五种中文分词效果探究
在Lucene.net中有很多种分词器,不同分词器使用了不同的分词算法,有不同的分词效果,满足不同的需求!在这里主要是看看其中五中分词器用来对中文切词的效果。五中分词器分别为:StandardTokenizer,CJKTokenizer,ChinessTokenizer,LowerCaseTokenizer,WhitespaceTokenizer;
下面就来测试一下它们切词的效果:
测试目标:是否支持中文词语,英文单词,邮件,IP地址,标点符号,数字,数学表达式的切割。
测试文字:“我们是中国人; 我们 是 人;we are chiness; 172.16.34.172;youpeizun@126.com;#$*;85*34;58 69”
测试StandardTokenizer的分词情况如下: 我/ 们/ 是/ 中/ 国/ 人/ 我/ 们/ 是/ 人/ we/ are/ chiness/ 172.16.34.172/ youpeizun@126.com/ 85/ 34/ 58/ 69/ 测试CJKTokenizer的分词情况如下: 我们/ 们是/ 是中/ 中国/ 国人/ 我们/ 是/ 人/ we/ chiness/ 172/ 16/ 34/ 172/ youpe izun/ 126/ com/ #/ 85/ 34/ 58/ 69/ 测试ChinessTokenizer的分词情况如下: 我/ 们/ 是/ 中/ 国/ 人/ 我/ 们/ 是/ 人/ we/ are/ chiness/ 172/ 16/ 34/ 172/ youp eizun/ 126/ com/ 85/ 34/ 58/ 69/ 测试LowerCaseTokenizer的分词情况如下: 我们是中国人/我们/是/人/we/are/chiness/youpeizun/com/ 测试WhitespaceTokenizer的分词情况如下: 我们是中国人;/我们/是/人;we/are/chiness;/172.16.34.172;youpeizun@126.com;#$*;85* 34;58/69/ |
using System;
using System.Collections.Generic;
using System.Text;
using Lucene.Net.Analysis.Standard;
using Lucene.Net.Analysis;
using Lucene.Net.Index;
using Lucene.Net.Documents;
using System.IO;
using Lucene.Net.Analysis.Cn;
using Lucene.Net.Analysis.CJK;
//date:11-02-2007
//home page:http://www.cnblogs.com/xuanfeng
//author:peizunyou
namespace TokenizerTest
测试代代码下载
三、 五中分词器代码设计探究
从下面分词器代码设计中的静态结构图可以清晰的看出其继承关系。无论是哪个分词器,其分词最终实现的算法都是在Next()方法,想深入了解,请看其相关源码。
相关文章推荐
- Lucene.net中文分词探究
- Lucene.net中文分词探究
- Lucene.net中文分词探究
- Lucene.net中文分词探究
- 关于Lucene.net中文分词后的结果着色问题
- 【分享】Lucene.Net的中文分词组件AdvancedChineseAnalyzer
- lucene.net 2.0 中文分词后语法高亮问题
- Lucene.net 搜索引擎中中文词组分词的实现
- 【分享】Lucene.Net的中文分词组件AdvancedChineseAnalyzer
- Beta笔记——搜索引擎的设计与实现(1):使用Lucene.Net建立索引与中文分词
- 基于.Net Framework 3.5的Lucene.Net 中文词组匹配分词器
- .Net下的中文分词IKAnalyzerNet(基于Lucene.Net)
- 给lucene.net增加SCWS中文分词功能
- [更新中]Lucene.net,中文分词技术 ICTCLAS研究
- Lucene.Net 及 中文分词 资料列表
- [转]lucene.net 2.0 中文分词后语法高亮问题
- Lucene.net 2.0 中文分词后语法高亮问题
- 【分享】Lucene.Net的中文分词组件AdvancedChineseAnalyzer
- Lucene.Net的中文分词组件AdvancedChineseAnalyzer
- lucene.net 2.0 中文分词后语法高亮问题