zoukankan      html  css  js  c++  java
  • Lucene.Net的中文分词组件AdvancedChineseAnalyzer

    库名称:AdvancedChineseAnalyzer 高级中文文本分析器
    描述:A Chinese Analyzer that utilizes HMM. 基于隐马尔科夫模型的中文分析器。
    运行环境:Microsoft .Net Framework 2.0
    依存软件:Lucene.Net
    作者:Kelvin ZHANG (kelvin.cn{@t}56.com)
    授权:Free for noncommercial use 对非盈利使用免费
    下载:
    https://files.cnblogs.com/KelvinZhang/AdvancedChineseAnalyzer.part1.rar
    https://files.cnblogs.com/KelvinZhang/AdvancedChineseAnalyzer.part2.rar
    https://files.cnblogs.com/KelvinZhang/AdvancedChineseAnalyzer.part3.rar
    【1】为什么要分词?
    减小索引大小,减少搜索开销,提高响应速度,改善搜索结果的相关性。
    【2】与以往Lucene.Net的NLS包中提供的ChineseAnalyzer有什么不同?
    NLS中的ChineseAnalyzer只简单地将连续字串两两组合,例如,对“文本分析器”进行分析,将得到“文本”、“本分”、“分析”和“析器”。而使用AdvancedChineseAnalyzer分析,将得到“文本”、“分析器”两个Tokens。AdvancedChineseAnalyzer的分词算法有两种,一种基于“上下文无关的词频优选”,第二种则是基于“一阶隐马尔科夫模型(HMM)”。
    【3】这两种算法的分词正确率和速度各如何?
    排除人名,地面等专有未登录词不算,HMM模式下切分正确率达到98%,非HMM模式下达到94%左右。HMM模式每秒可以处理75kbps文本,非HMM模式速度在100kbps左右。两种模式可以自由切换。
    【4】怎样才能将AdvancedChineseAnalyzer结合Lucene.Net使用?

    1 Lucene.Net.Analysis.Analyzer objCA = new Lucene.Net.Analysis.China.ChineseAnalyzer();

    然后把objCA传递给IndexWriter的构造函数就可以了。
    【5】AdvancedChineseAnalyzer是免费的吗?
    是的,个人以非盈利目的的使用是免费的。但作者不提供技术支持,也不保证AdvancedChineseAnalyzer没有问题。Use it at your own risk.
    【6】如何开启HMM模式?

    1 Lucene.Net.Analysis.China.ConfigParameter.UseHmm = true;

    【7】为何输入文本和输出的不一样,少了很多(见图)?

    已经过滤了停用词。常见的无意义虚词、标点符号、英文停用词等都已经过滤掉了。

    原文:http://www.cnblogs.com/KelvinZhang/archive/2007/03/03/advancedchineseanalyzer.html

  • 相关阅读:
    PyQt4 调用串口API pySerial API说明
    树的计算
    数据结构单链表实现
    虚函数和抽象函数
    静态内存和堆栈
    二叉树学习图片---郝斌
    汉诺塔
    循环队列的实现
    队列的实现
    栈的应用
  • 原文地址:https://www.cnblogs.com/HeroBeast/p/1752684.html
Copyright © 2011-2022 走看看