当前位置: 首页 > 工具软件 > smallseg > 使用案例 >

Python3.5.2下的Smallseg分词工具修改

祝允晨
2023-12-01

smallseg是一款由python编写的开源分词工具包,使用起来也方便。

从下面的地址可以下载得到:  

"http://code.google.com/p/smallseg/downloads/detail?name=smallseg_0.6.tar.gz&can=2&q="  ,

但是,实际你可能不能成功地刷出网页,可能需要外网。

那么只能从CSDN上下一个0.5版本的。

下载后解压即可,其使用方法非常简单,对于像我这样的新手,按照下面的方法导入,注意这个没有pip安装方法:

1. 解压后将文件夹中的 smallseg.py 移到python安装目录下的 Lib\site-packages 下,比如"C:\Python26\Lib\site-packages"(根据你的安装路径自行更改) 

2. 其中 test_fenci.py 是一个测试文件,但是在测试使用之前需要更改一下他的smallseg.py文件。

更改方法其实较为简单,对于我这种新手来说,可能并没有深究其中的原理。

1)python3似乎已经取消了decode,或者在这一程序中decode可能起到不好的作用,反正就是报错,原理可以自己研究一下。

2)btw,python将xrange 更改为range。

这里也就两个问题,改好了就能用了,下面说一下怎么改:

文件中decode有2 处:1)word = (chr(11)+word).decode('utf-8')   直接把decode那一系列括号以及前面的点去掉就可以

                                 2)text = text.decode('utf-8','ignore')   和上面一样,剩下text=text,最后你会发现把这话删掉也可以

文件中xrange大概有4处,把x去掉就可以

2.测试,可以是建个工程文件夹,把你需要的测试程序,smallseg.py,以及main.dic放进去,然后可以开始试玩了!

可以试一下最近看到的一个句子叫------小龙女说:我也想过过过儿过过的生活

#encoding=utf-8
#import psyco
#psyco.full()
from smallseg import SEG

words = [x.rstrip() for x in open('main.dic', mode='r',encoding='utf-8')]

seg = SEG()
print('Load dict...')
seg.set(words)
print("Dict is OK.")

def cuttest(text):
    wlist = seg.cut(text)
    wlist.reverse()
    tmp = ' '.join(wlist)
    print(tmp)
    print("================================")
        
if __name__=="__main__":
    cuttest("这是一个伸手不见五指的黑夜。我叫孙悟空,我爱北京,我爱Python和C++。")
    cuttest("我不喜欢日本和服。")
    cuttest("雷猴回归人间。")
    cuttest("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作")
    cuttest("我需要廉租房")
    cuttest("小龙女说:我也想过过过儿过过的生活!")
小龙女 说 我也 想过 过过 儿 过过 的 生活


 类似资料: