盘古分词

℡╲_俬逩灬. 提交于 2019-12-16 20:18:24

盘古分词是一个基于 .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 文件,用户只要将需要过滤的词加入到这个文件中,
      并将停用词过滤开发打开,就可以过滤掉这些词。

      • 设置分词权值

      盘古分词可以让用户对如下特性设置自定义权值

      1. 未登录词权值
      2. 最匹配词权值
      3. 次匹配词权值
      4. 再次匹配词权值
      5. 强行输出的单字的权值
      6. 数字的权值
      7. 英文词汇权值
      8. 符号的权值
      9. 强制同时输出简繁汉字时,非原来文本的汉字输出权值。

      *用户自定义规则

      • 字典管理
        • 盘古分词提供一个字典管理工具 DictManage 通过这个工具,你可以增加,修改,和删除字典中的单词
      • 动态加载字典
        • 通过字典工具增加,修改,和删除字典中的单词后,保持字典,盘古分词会自动将新的字典文件加载进去,而不需要重新启动。
      • 关键词高亮组件

      Lucene 提供了一个关键词高亮组件,但这个组件对中文的支持不是特别好,特别是如果还有多元分词的情况,处理的就更不好。
      盘古分词提供了一 个针对中文和英文的关键词高亮组件 PanGu.HighLight ,其对中文的支持要好于Lucene 那个高亮组件。

      • 同义词输出(后续版本提供)
      • Lucene.net 接口及示例

      在PanGu4Lucene 这个包里面有我做的一个盘古+Lucene 的简单新闻搜索Web示例程序,Release 包里面有使用说明。

      性能指标

      Core Duo 1.8 GHz 下单线程 分词速度为 390K 字符每秒,2线程分词速度为 690K 字符每秒。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!