zoukankan      html  css  js  c++  java
  • 盘古分词小测

        今天在博客园看了 一个开源的分词 软件 “盘古分词”。下载下来后,发现是vs 2008 版本的,花了点时间转换成 2005格式的版本。
    编译了以后,跟踪了一下代码,代码应该是高手写的,非常的清晰。只是因为没有文档,时间有限,不能深入研究它的算法。基本的算法是这样的:
    比如句子:“盘古分词 简介: 盘古分词 是由eaglet 开发的一款基于字典的中英文分词组件”
    先根据 非中文符号,对句子进行切分,如下:
    盘古分词/ /简介/: /盘古分词/ /是由/eaglet/ 开发的一款基于字典的中英文分词组件
    然后,对上面的每个部分进行 切分,切分的算法没有仔细看,估计是最大正向匹配,应该不是统计分词的算法。
    在这个过程中,还对人名进行识别。人名识别,用的不是统计方法,具体的没有仔细看。

        现在分词中,准确率最高的是 统计分词,google 的分词 按照其员工 吴军 的说法就是统计方法。所以我估计盘古分词的准确率不会很高。

    比如下面的句子:邓颖超生于1916年
    我用中科院的分词 分出的结果是 邓颖超/生于/1986年/,是对的。
    用盘古分词的结果是 邓/颖/超生/于/1916/年/ 不是很准确。

     盘古分词的字典算法是用汉字的第一个字做索引,字典大起来的话,可能效率不是很高,这里可能要改进一下。

     机械分词最好的(我测试过的,个人感觉) 
     http://www.ftphp.com/scws/demo/v4.php  这个项目也是开源的,字典非常大,估计用了40万字,它的字典算法非常的好,用的是 平衡二叉树。

    盘古分词如果要精度更高,个人认为提高字典的速度和质量是一个方法,添加一本30万字以上的字典。一般来说,机械分词的准确性,主要决定于字典。
        
       
  • 相关阅读:
    改Android手机定位位置
    设计模式-行为型模式
    设计模式-结构型模式
    设计模式-创建型模式
    LoadRunner改脚本
    交互设计流程
    java正则过滤特殊字符
    js正则表达式判断非法字符 .(转)
    <BEA-141281> <unable to get file lock, will retry ...> (转)
    JAVA调用打印机打印指定文件
  • 原文地址:https://www.cnblogs.com/niniwzw/p/1567182.html
Copyright © 2011-2022 走看看