`

ICTCLAS50中文分词之配置

阅读更多
2014/6/5

首先中文分词这个事真的很难搞。

其实在整个项目中每次配置中文分词都会出现很多错误,一开始是在自己的机器小批量测试,等移植到服务器上时,发现会出现很多错误,以至于错误一样,解决方法不同。有点崩溃啊。。。

中文分词使用的地方:

输入查询框,生成分词的topics。

Configure.xml:配置管理文件

ICTCLAS50.dll:ICTCLAS5.0动态链接库

ICTCLAS50.h: ICTCLAS5.0头文件

ICTCLAS50.lib: ICTCLAS5.0 Library

libICTCLAS50.so: ICTCLAS5.0 Library

user.lic 用户License文件,表明用户身份,必不可少,不得更改。



配置:

ICTCLAS文件夹拷贝到src目录下,其它的文件夹和文件全部拷贝到工程目录下,包括:Data、Configure.xml、ICTCLAS_I3C_AC_ICTCLAS50.h、ICTCLAS50.dll、ICTCLAS.h、 ICTCLAS50.lib、libICTCLAS50.so、user.lic

参考:http://blog.csdn.net/heyu158/article/details/12680183 中科院分词ICTCLAS5.0_JNI 使用方法

http://blog.csdn.net/caimo/article/details/7686872ICTCLAS2011中文分词在java的web项目中的使用



将分词的配置文件都放在galagosearch-core目录下

handleSearch()函数为列表显示,q为查询框内容

SplitWord splitword=new SplitWord();

String displayQuery0=scrub(request.getParameter("q"));//分词前

String displayQuery = splitword.testICTCLAS_ParagraphProcess(displayQuery0);//分词后

SearchResult()为查询结果
配置错误:

1、Init Fail!

没有找到分词库,将Data放在根目录下

2、如果换个workspace的话,中文分词经常会出现错误,基本上都是路径的问题no ICTCLAS50 in java.library.path。即加载库文件和Data文件夹、用户授权文件user.lic的错误。

按照网上的方法更改ICTCLAS.I3S.AC.ICTCLAS50.java,把System.loadLibrary("ICTCLAS50")改为

System.load("E:/douban/workspaces/SocialBook2/ICTCLAS50.dll");

然后再修改测试类中的testICTCLAS_ParagraphProcess()方法的argus的值,告诉ICTCLAS,你改变了工程目录。

System.load("E:/douban/workspaces/SocialBook2/ICTCLAS50.dll");


如果再不成功,在根目录下新建文件夹config,将Data、Configure.xml等文件放在config中
System.load("E:/douban/workspaces/SocialBook2/ICTCLAS50.dll");
System.load("E:/douban/workspaces/SocialBook2/ICTCLAS50.dll");

参考:http://summerbell.iteye.com/blog/1258509Ubuntu下ICTCLAS JNI的使用

有时候,确实是还不成功,今天往服务器上测试的时候,提示这样的错误。

然后我就又重新配置了一下tomcat

Windows-preferences-tomcat把路径添加上去。发现tomcat没有temp文件,就手动新建了一个。

whereis tomcat7

/etc/tomcat7  /usr/share/tomcat7两个目录

接着又把分词需要的文件,除了ICTCLAS的其他七个全部都拷贝到tomcat/bin目录下。

又出错:libstdc++.so.6:connot open shared object file: No such file or directory。。。。ELF class之类的错误

apt-get install libstdc++5

然后运行成功。

3、Init Fail!

Cannot Open Configure file .\Configure.xml

是由于找不到.\Configure.xml文件,需要将配置文件根目录设置为new File("").getAbsolutePath()+"\\ICTCLASConf";。在初始化ICTCLAS_Init时,将new File("").getAbsolutePath()+"\\ICTCLASConf".getBytes("GB2312")作为参数传递就可以正确运行了。

在SplitWord类中初始化时

String argu=new File("").getAbsolutePath();还是提示错误Cannot Open Configure file

String argu = "/home/zzj/Workspaces/SocialBook2";(Configure.xml的目录)成功。

参考:http://gdhapple.blog.163.com/blog/static/12685791720122832029133/ 中科院分词ICTCLAS5.0 配置错误处理

4、调用galago显示结果到网页上时,就是一个完整的web项目,发现输入一次查询可出结果,等再输入查询时,分词就出错,分词内容为空。

调用的分词函数:testICTCLAS_ParagraphProcess(String sInput)

一开始因为有越界情况,所以把初始化放在了函数外面,但是这样会出现第二次以后的查询没有结果,就需要初始化,所以再把初始化移到函数内。

ICTCLAS50 testICTCLAS50 = new ICTCLAS50();

String argu = ".";

//初始化

if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false)

{

System.out.println("Init Fail!");

return;

}
分享到:
评论

相关推荐

    ICTCLAS中文分词系统

    ICTCLAS中文分词系统是基于信息技术(ICT)和自然语言处理(NLP)的工具,主要用于处理中文文本。这个系统由中关村的科研团队开发,代表着国内在中文分词技术领域的先进水平。分词是中文信息处理的重要步骤,因为...

    ICTCLAS的Java分词系统

    ICTCLAS(Chinese Word Segmentation for Information Content Extraction and Linguistic Analysis System)是由北京师范大学的陈天教授基于ICTCLAS(信息内容提取与语言分析系统)进一步开发的一个Java分词系统。...

    ICTCLAS分词器

    ICTCLAS分词器是一款广泛应用于中文文本处理的开源工具,尤其在自然语言处理(NLP)领域中占据重要地位。它的全称是“信息技术——中文词语切分系统”,主要功能是对输入的中文文本进行词汇划分,将连续的汉字序列...

    ICTCLAS50_Windows_64_C(2).rar

    ICTCLAS50_Windows_64_C(2).rar 是一个针对中文处理的重要工具,主要功能是中文分词。中文分词是自然语言处理(NLP)中的基础任务,对于理解和分析中文文本至关重要。这个软件包适用于Windows 64位系统,并且是C语言...

    NLPIR ICTCLAS2013 .net下实例

    NLPIR ICTCLAS2013是一款由国家语言资源与研究中心(NLPR)开发的中文分词系统,专门用于处理大规模中文文本的分词任务。这个实例是针对.NET平台的,意味着它允许.NET开发者在他们的应用程序中集成中文分词功能。在...

    NLPIR-ICTCLAS2014分词系统开发手册1

    总的来说,NLPIR/ICTCLAS2014分词系统是一个强大且成熟的工具,对于从事中文自然语言处理的开发者来说,它是一个不可或缺的资源。其提供的高效分词能力以及易于扩展的特性,使得它广泛应用于信息检索、文本挖掘、...

    ICTCLAS Java版

    ICTCLAS(Chinese Information Processing and Communication Laboratory of Tsinghua University, 清华大学信息科学技术学院中文处理与通信实验室)是一款著名的中文分词工具,尤其在自然语言处理领域有着广泛的...

    常用中文分词器及地址链接

    中文分词器及地址链接 中文分词器是一种非常重要的自然语言...* 易用性:中文分词器需要易于使用、配置和维护,以便于开发者快速上手。 选择合适的中文分词器非常重要,对于中文文本处理的结果和效率有着重要的影响。

    ICTCLAS50_Linux_RHAS_64_C.rar

    开发者可以参考这些例子来理解如何在自己的项目中集成ICTCLAS50的功能,比如进行中文分词、词性标注或情感分析等。通过阅读和运行这些示例,新手可以快速上手,而经验丰富的开发者则能了解API的用法和性能特性。 ...

    ICTCLAS_api及使用方法

    ICTCLAS(信息技术-中文自动分词系统)是北京大学计算语言研究所开发的一款高效、准确的中文分词工具,它在自然语言处理领域广泛应用,尤其是在文本预处理中,如信息检索、情感分析、机器翻译等场景。本教程将详细...

    Java调用ICTCLAS2013

    Java调用ICTCLAS2013涉及到的是在Java程序中使用ICTCLAS(中文语言分析系统)2013版进行中文处理的任务,主要包括中文分词、词性标注、命名实体识别和新词识别。ICTCLAS是一个高效、实用的中文自然语言处理工具,...

    ICTCLAS5.0 Delphi 2010、DelphiXE演示程序

    ICTCLAS5.0是基于汉语言处理技术的开源分词库,主要应用于中文文本的自动分词。这个演示程序是专为两个流行的Delphi版本——Delphi 2010和Delphi XE设计的,它展示了如何将ICTCLAS5.0集成到Delphi开发环境中,并利用...

    ICTCLAS2010

    ICTCLAS2010是基于信息与计算技术的汉语词法分析系统,它在中文自然语言处理领域具有重要地位。这个系统由北京大学计算机科学技术研究所开发,主要用于中文文本的分词、词性标注以及新词发现等任务。"ICTCLAS"是...

    一个不错的中文分词java程序

    中文分词是自然语言处理(NLP)中的关键步骤,它涉及到将连续的汉字序列切分成有意义的词语,这对于理解中文文本的含义至关重要。在Java中实现分词,开发者通常会利用特定的库或算法,如结巴分词、ICTCLAS等。 描述...

    主题模型尝试_r_中文分词_主题模型_

    通过分词,我们可以将连续的汉字序列拆分成有意义的词语,为后续的文本分析做好准备。 接下来,我们将讨论“主题模型”。主题模型是一种统计建模方法,用于发现隐藏在大量文本数据背后的潜在主题结构。在R语言中,...

    日语分词 C++语言

    ICTCLAS是一个高效的中文和日文分词工具,支持多种语言模型,可以处理复杂的语言现象。 3. `WinCExample.dsp`、`WinCExample.ncb`、`WinCExample.plg`、`WinCExample.sln`、`WinCExample.suo`:这些文件是Visual ...

    软件工程大作业java文本自动分类源码.zip

    - `ICTCLAS50.dll` 和 `ICTCLAS50.lib`:这些可能是ICTCLAS分词库的动态链接库和静态库文件,用于中文分词。ICTCLAS是一个流行的中文信息处理工具包。 - `ICTCLAS50.h` 和 `ICTCLAS_I3S_AC_ICTCLAS50.h`:头文件,...

    分词器NLPIR

    目前NLPIR汉语分词系统(又名ICTCLAS2013),主要功能包括中文分词;词性标注;命名实体识别;用户词典功能;支持GBK编码、UTF8编码、BIG5编码。新增微博分词、新词发现与关键词提取;张华平博士先后倾力打造十余年,...

    FreeICTCLAS

    1. **中文分词技术**:为了进行有效的文本分析,首先需要将连续的汉字序列切分成有意义的词语。FreeICTCLAS可能内置了高效的分词算法,如基于词典的精确分词、统计模型(如HMM、CRF)或者深度学习方法(如LSTM、BERT...

Global site tag (gtag.js) - Google Analytics