盘古分词是一个基于 .net framework 的中英文分词组件。主要功能
- 中文未登录词识别
- 盘古分词可以对一些不在字典中的未登录词自动识别
- 词频优先
- 盘古分词可以根据词频来解决分词的歧义问题
- 多元分词
- 盘古分词提供多重输出解决分词粒度和分词精度权衡的问题
- 中文人名识别
- 输入: “张三说的确实在理”
- 分词结果:张三/说/的/确实/在理/
- 输入 “李三买了一张三角桌子”
- 分词结果:李三/买/了/一张/三角/桌子/
- 强制一元分词
- 输入 “张三说的确实在理”
- 分词结果: 张(0,1)/张三(0,5)/三说的(1,1)/三(1,1)/说(2,5)/的(3,5)/确(4,1)/确实(4,5)/实(5,1)/在 (6,1)/在理(6,5)/理(7,1)/
- 繁体中文分词
- 输入"我的選擇"
- 分词结果: 我/的/選擇/
- 同时输出简体和繁体
- 输入"我的選擇"
- 分词结果:我(0,5)/的(1,5)/选择(2,1)/選擇(2,5)/
- 中文词性输出
- 盘古分词可以将以登录词的中文词性输出给用户,以方便用户做进一步处理。
- 全角字符支持
- 盘古分词可以识别全角的字母和数字
-
英文分词
- 英文分词
- 英文单词通常都是靠空格等符号分割,这个比较简单,盘古分词分英文自然也没有什么问题。
- 英文专用词识别
一些英文简写是字母符号混合,或者是字母数字混合,这个分词起来就不能按照空格符号这样分割了,对于字母符号混合的如 U.S.A ,
只要将这个 词录入到字典中,盘古分词就可以分出整词。对于字母和数字混合的,盘古分词会自动作为整词输出。- 英文原词输出
- 英文大小写同时输出
其他功能
- 停用词过滤
对于一些标点符号,连词,助词等有时候需要在分词时过滤掉,盘古分词提供一个 StopWord.txt 文件,用户只要将需要过滤的词加入到这个文件中,
并将停用词过滤开发打开,就可以过滤掉这些词。- 设置分词权值
盘古分词可以让用户对如下特性设置自定义权值
- 未登录词权值
- 最匹配词权值
- 次匹配词权值
- 再次匹配词权值
- 强行输出的单字的权值
- 数字的权值
- 英文词汇权值
- 符号的权值
- 强制同时输出简繁汉字时,非原来文本的汉字输出权值。
*用户自定义规则
- 字典管理
- 盘古分词提供一个字典管理工具 DictManage 通过这个工具,你可以增加,修改,和删除字典中的单词
- 动态加载字典
- 通过字典工具增加,修改,和删除字典中的单词后,保持字典,盘古分词会自动将新的字典文件加载进去,而不需要重新启动。
- 关键词高亮组件
Lucene 提供了一个关键词高亮组件,但这个组件对中文的支持不是特别好,特别是如果还有多元分词的情况,处理的就更不好。
盘古分词提供了一 个针对中文和英文的关键词高亮组件 PanGu.HighLight ,其对中文的支持要好于Lucene 那个高亮组件。- 同义词输出(后续版本提供)
- Lucene.net 接口及示例
在PanGu4Lucene 这个包里面有我做的一个盘古+Lucene 的简单新闻搜索Web示例程序,Release 包里面有使用说明。
性能指标
Core Duo 1.8 GHz 下单线程 分词速度为 390K 字符每秒,2线程分词速度为 690K 字符每秒。
- 英文分词