计算所汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)

简介

作者:中国科学院计算技术研究所副研究员张华平博士

PyIctclas是通过简单修改ICTCLAS后,在windows和linux下编译成python的扩展模块。使用boost_python。

使用示例

#coding=utf-8
source="PyIctclas是通过简单修改ICTCLAS后,在windows和linux下编译成python的扩展模块。"
import PyIctclas
ictclas=PyIctclas.CIctclas("./")
#词典文件必须都放在data文件夹下,初始化CIctclas必须传递一个路径
#CIctclas里组合路径的时候是简单的连接两个字符串,所以这个参数必須是"/"结尾.
#例如参数值是"./",连接后就是"./data/coreDict.dct"
source=unicode(source,'utf-8').encode('gb2312')
#ICTCLAS只能处理gb2312的字符串,所以必须先转换为gb2312后才能处理
if ictclas.IsOK(): #如果返回False,说明在设置的路径内没有找到词典文件
    result=ictclas.Process(source)
    result=unicode(result,'gb2312').encode('utf-8')
    print result
else:
    print '找不到data文件'
输出结果:
PyIctclas  是  通过  简单  修改  ICTCLAS  后  ,  在  windows  和  linux  下  编  译  成  python  的  扩展  模块  。
每个词之间用两个半角空格分隔。

下载

文件比较多,今天网速不好,上传不了。先给个地址大家下载吧。 是放在公司的电脑上,公司要求下班后关电脑,所以有时会无法下载。白天开机.

http://torry.letme.cn/mediafiles/PyIctclas_All/data.rar

http://torry.letme.cn/mediafiles/PyIctclas_All/data.zip

http://torry.letme.cn/mediafiles/PyIctclas_All/data.tar.bz2

说明:程序所必需的文件,解压后,所有词典文件,要放在一个“data"文件夹下,这个文件夹名字是固定的。

Windows

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas_win32.zip

在python2.4下测试通过,其它环境可能不行,其它环境请下载源码自行编译

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas25.zip

对应python2.5的编译版本. 由beyking([email protected])修改编译的..

linux

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas_boostpython.tar.bz2

在Ubuntu/py2.4/boost-1.33.1环境下编译,连接时附加了libboost_python.a,不需要libboost_python.so就可以运行,需要libpython2.4.so和libstdc++.so

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas_boostpython_python24.tar.bz2

在Ubuntu/py2.4/boost-1.33.1环境下编译,连接时附加了libboost_python.a和libpython2.4.a, 运行时还需要libstdc++.so

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas_boostpython_python24_stdc++.tar.bz2

在Ubuntu/py2.4/boost-1.33.1环境下编译,连接时附加了libboost_python.a和libpython2.4.a和libstdc++.a,在debian + py2.3 环境下测试正常

源代码

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas_src.rar

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas_src.zip

http://torry.letme.cn/mediafiles/PyIctclas_All/PyIctclas_src.tar.bz2

编译说明

windows

win_libs文件夹里放着boost_python.dll boost_python.lib python24.lib 也许能用得上。boost_python最好还是用自己编译的 PyIctclas文件夹下有一个vs2005项目,稍修改引用路径后就可以编译

linux

linux_libs文件夹下放着libboost_python.a libpython2.4.a libstdc++.a 也许能帮上忙,如果这些文件不正常,请自己安装相应的包.

linux_objs文件夹,默认的Makefile生成的.o文件都生成到这个文件夹里

linux_release文件夹,默认的Makefile生成的PyIctclas.so就生成到这个文件夹里 src 文件夹里是cpp代码

Makefile 文件,我不太会写Makefile,编译的时候需修改里面的BOOST_ROOT和PYTHON_INCLUDE两个路径

其它

src目录下是C++的代码,自己组织编译吧。

反馈

测试的并不多,大家发现什么问题请多在这里交流。。。 wiki我也不太会用,大家有时间的话,多多编辑此页吧。 头太晕 [email protected]

PyIctclas (last edited 2009-12-25 07:16:18 by localhost)