• 对SharpICTCLAS 1.0的一点小小的修改记录


                 最近研究Lucene搜索这一块,经过慎重考虑,最后选用了吕震宇吕大侠的SharpICTCLAS分词组件.这真是天降神器,在这里再次谢过张华平博士和吕大侠.
                 测试分词的过程中,发现分词器对有些特殊的汉字或者日文会抛出一些异常,跳到中断的代码位置,却也暂时没有时间去研究ICTCLAS本身的算法,为了应急,更改了一小部 分的代码,这部分修改当然不会改变算法流程了,因为这只是弥补了先前可能被作者无意忽略的语法层面的问题,为了谨慎起见,我也对大量的文档进行了分词测试,目前来看不但分词质量很不错,也很稳定.
          1.在Tag/span.cs中719行中for循环的判断条件中加上了两个与判断: &&i<m_sWords.Length && i < m_nWordPosition.Length-1
          2.屏蔽了SharpICTCLAS\Utility\WordDictionary.GetMaxMatch方法中indexTable索引小于0的异常,加上了如果索引为0则返回false的处理.
          3.屏蔽了SharpICTCLAS\Utility\WordDictionary.FindInOriginalTable方法中indexTable索引小于0的异常,加上了如果索引为0则返回false的处理.
          4.屏蔽了SharpICTCLAS\Utility\WordDictionary.FindFirstMatchItemInOrgTbl方法中indexTable索引小于0的异常,加上了如果索引为0则返回false的处理.
          注:上述1的修改是语法层面的修改,而2,3,4处的修改目的在于屏蔽异常(至于有没有影响算法流程还待进一步研究,不过从目前测试结果来看,是没有影响的).

    今天很残酷,明天很残酷,后天很美好...行胜于言<来源于博客园:黄岛主>.... 个站:配置啦
  • 相关阅读:
    JDBC
    MySQL 事务
    MySQL 处理海量数据时一些优化查询速度方法
    MySQL 分支和循环结构
    MySQL 分页查询和存储过程
    Oracle PL/SQL异常、存储过程和触发器
    Oracle PL/SQL游标
    mysql主键问题
    spring-springmvc code-based
    AOP实现原理
  • 原文地址:https://www.cnblogs.com/taohuadaozhu/p/2703449.html
Copyright © 2020-2023  润新知