您现在的位置: 爱51代码网 >> 范文 >> 文章正文
NLP中文信息处理---正向最大匹配法分词
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] 下一页

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    中国工作流厂商形成战略联盟
    TIME_WAIT状态下对接收到的数
    The layout of PID & PORT i
    hadoop核心逻辑shuffle代码分
    The layout of PID & PORT i
    The layout of PID & PORT i
    The layout of PID & PORT i
    MapReduce错误任务失败处理 
    Oracle恢复内部原理(介质恢
    在 Oracle 中如何确定远程 s
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |