p; print("去重复前的词数为:",len(tmp)) 21. set_data = set(tmp) #去重复 22. lalst_data = list(set_data) #set转换成list, 否则不能索引 23. print("去除重复后总词数为:",len(lalst_data)) 24. 25. open('dict.txt','w').writelines(lalst_data) 26. print("最终词表文件建立完成! (dict.txt)") 27. 28. 29.#运行 30.if __name__ == '__main__': 31. create_dict('dict_tmp.txt') 32.## create_dict('testdict1.txt') 33.## create_dict('testdict2.txt') # -*- coding: cp936 -*- #修正词表文件. #author 徐能 #date 2013/3/24 import string import re
#输入:dict_tmp.txt文件; 输出:dict.txt(已经去重复, 去特殊符号) def create_dict(filename): print("读取文件......") src_data = open(filename,'r').read() data = src_data.split()#分割
print("正在建立词表文件......") tmp = [] for i in range(0,len(data)): ok_data = re.compile(r'\]..').sub('',data[i]) #将类似的词']..埃特纳'前面的东西去掉 tmp.append(ok_data+'\n')
print("去重复前的词数为:",len(tmp)) set_data = set(tmp) #去重复 lalst_data = list(set_data) #set转换成list, 否则不能索引 print("去除重复后总词数为:",len(lalst_data))
open('dict.txt','w').writelines(lalst_data) print("最终词表文件建立完成! (dict.txt)")
#运行 if __name__ == '__main__': create_dict('dict_tmp.txt') ## create_dict('testdict1.txt') ## create_dict('testdict2.txt')
3. 分词算法实现 ( MaxWordSegmentation.py )
[python] view plaincopyprint? 01.# -*- coding: cp936 -*- 02.#最大匹配法进行分词, 测试文件为MaxWordSegmentationTest.py 03.#author 徐能 04.#date 2013/3/25 05.import string 06.import re 07. 08.#读入词表文件到内存list 09.#输入:词典文件名, 输出:词典中所有词的list表,其中最大词长 10.def load_dict(filename): 11. f = open(filename,'r').read() 12. maxLen = 1 13. strList=f.split("\n") 14. 15. #寻找最大词长 16. for i in strList: 17. if len(i)>maxLen: 18. maxLen=len(i) 19. 20. return strList,maxLen; 21. 22.#分词方法. 23.#输入:词表中所有词的列表与其中的最大词长, 输出:分词后的列表 24.def segmentation(strList,maxLen,sentence): 25. wordList=[] #用于输出的词列表 26. 27. while(len(sentence)>0): 28. &n
上一页 [1] [2] [3] [4] [5] [6] 下一页
|