用python调用ICTCLAS50进行中文分词

直接上源码吧

tokenizer类:

#_*_encoding:utf-8_*_

from ctypes import *

class tokenizer:
   
        def __init__(self):
            self._stext=['、','“','”',',','。','《','》',':',';','!','‘','’','?','?','!','·',' ',''] #枚举标点符号包括空格
            self._stopword_list=[line for line in file('stopword.txt')]
            self._stopword_list=map(lambda x: x.strip(),self._stopword_list) # 去掉行尾的空格


        def parse(self,text):       
            atext_list=[]#存放要分词的文档
            rtext=[]#存放去标点符号和分词后的词
            participle = cdll.LoadLibrary('X:\\API\\ICTCLAS50.dll')
            participle.ICTCLAS_Init(c_char_p('X:\\API'))
            strlen = len(c_char_p(text).value)
            t = c_buffer(strlen*6)
            a =participle.ICTCLAS_ParagraphProcess(c_char_p(text),c_int(strlen),t,c_int(3),0)
            atext_list=t.value.split(' ')
            participle.ICTCLAS_Exit()
            rtext=[item for item in atext_list if item not in self._stext]
            result_list=[iword for iword in rtext if iword not in self._stopword_list]

            return result_list

调用tokenizer类,test_tokenizer类:

#_*_encoding:utf-8_*_
import tokenizer

text="文本的分类和聚类是一个比较有意思的话题,我以前也写过一篇blog《基于K-Means的文本聚类算法》,加上最近读了几本数据挖掘和机器学习的书籍,因此很想写点东西来记录下学习的所得。"
list=tokenizer.tokenizer().parse(text)

for item in list:
    print item

转载于:https://www.cnblogs.com/appler/archive/2012/01/07/2315615.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值