admin管理员组

文章数量:1604899

最近刚好在学习搜索引擎分词,有了解一些分词插件,在这里给各位猿友分享一下。

本文主要介绍四个分词插件(ICTCLAS、IKAnalyzer、Ansj、Jcseg)和一种自己写算法实现的方式,以及一些词库的推荐。

一、ICTCLAS

1.1、介绍

中文词法分析是中文信息处理的基础与关键。中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)。

它的主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。

先后精心打造五年,内核升级6次,目前已经升级到了ICTCLAS3.0。ICTCLAS3.0分词速度单机996KB/s,分词精度98.45%,API不超过200KB,各种词典数据压缩后不到3M,分词正确率高达97.58%(最近的973专家组评测结果),基于角色标注的未登录词识别能取得高于90%召回率,其中中国人名的识别召回率接近98%,分词和词性标注处理速度为31.5KB/s。ICTCLAS 和计算所其他14项免费发布的成果被中外媒体广泛地报道,国内很多免费的中文分词模块都或多或少的参考过ICTCLAS的代码。是一个很不错的汉语词法分析器。

1.2、实例

博主windows64位的,如果32位系统的可参照如下文章:http://blog.sina/s/blog_64ecfc2f0102v1jp.html,该文章ICTCLAS的windows32位下载url和实例详解。

如果是windows64位系统,可按照博主的步骤实现实例。

(1)ICTCLAS50-Windows-64下载:http://download.csdn/detail/u013142781/9494942

(2)eclipse创建普通的java项目。

(3)ICTCLAS50_Windows_64_JNI解压后,将API目录ICTCLAS文件夹和ICTCLAS_I3S_AC_ICTCLAS50.h复制到java项目的src下。

(4)将API目录除了刚刚的ICTCLAS文件夹和ICTCLAS_I3S_AC_ICTCLAS50.h以外的文件和文件夹都复制到java项目的根目录下。

(5)创建测试类,代码如下:

package com.luo.test;

import java.io.UnsupportedEncodingException;

import ICTCLAS.I3S.AC.ICTCLAS50;

public class Test {

    public static void main(String[] args) {
         ICTCLAS50 testICTCLAS50 = new ICTCLAS50();

           String argu = ".";//file Configure.xml and Data directory stored.
           //初始化
           try {
               if(testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false)
               {
                  System.out.println("Init Fail!");
                  throw new Exception("初始化错误");
               }
           } catch (UnsupportedEncodingException e1) {
               // TODOAuto-generated catch block
               e1.printStackTrace();
           } catch (Exception e1) {
               // TODOAuto-generated catch block
               e1.printStackTrace();
           }

           String s="中文词法分析是中文信息处理的基础与关键";

           //导入用户词典前分词
           byte nativeBytes[];
           try {
               n

本文标签: 分词插件实例入门搜索引擎