您现在的位置: 爱51代码网 >> 范文 >> 文章正文
NLP中文信息处理---正向最大匹配法分词
bsp;
31.            tmp.append(p_ok_data) 
32. 
33. 
34.    print("最终得到的词表文件中总词数为:",len(tmp)) 
35.    open('dict_tmp.txt','w').writelines(tmp) 
36.    print("初步词表文件建立完成! (dict_tmp.txt)") 
37. 
38. 
39.#运行  
40.if __name__ == '__main__': 
41.    create_dict('199801.txt') 
# -*- coding: cp936 -*-
#最大匹配法进行分词----创建词表文件.
#author 徐能
#date 2013/3/23
import string
import re

#输入:语料库199801.txt文件; 输出:换行分割后的词表文件dict.txt(已经去重复, 去日期)
def create_dict(filename):
 print("读取文件......")论文网 
 src_data = open(filename,'r').read()
 sp_data = src_data.split()#分割

 print("原始词数为:",len(sp_data))
 set_data = set(sp_data) #去重复
 data = list(set_data) #set转换成list, 否则不能索引
 print("去除重复后总词数为:",len(data))

 print("正在建立词表文件......")
 tmp = []
 for i in range(0,len(data)):
  if re.compile(r'\d+\-\S+').match(data[i]):  #去除类似这样的词'19980101-01-001-002/m'
   continue
  else:
   p_ok_data = re.compile(r'\/\w+').sub('\n',data[i]) #将类似的词'埃特纳/ns'替换为'埃特纳'
   if re.compile(r'(\[\S+)|(\]\S+)').match(p_ok_data):    #找到以'['或']'开头的词
    ok_data = re.compile(r'(\]\w+\[)|(\])|(\[)').sub('',p_ok_data) #去除']nt[澳门',']澳门','[澳门'三类词的头部无用部分(先匹配长的部分)
    tmp.append(ok_data)
    continue

   tmp.append(p_ok_data)


 print("最终得到的词表文件中总词数为:",len(tmp))
 open('dict_tmp.txt','w').writelines(tmp)
 print("初步词表文件建立完成! (dict_tmp.txt)")


#运行
if __name__ == '__main__':
    create_dict('199801.txt')

 

2. 进一步对词表的优化 ( MaxBuildDictModify.py )


[python] view plaincopyprint?
01.# -*- coding: cp936 -*-  
02.#修正词表文件.  
03.#author 徐能  
04.#date 2013/3/24  
05.import string 
06.import re 
07. 
08.#输入:dict_tmp.txt文件; 输出:dict.txt(已经去重复, 去特殊符号)  
09.def create_dict(filename): 
10.    print("读取文件......") 
11.    src_data = open(filename,'r').read() 
12.    data = src_data.split()#分割  
13. 
14.    print("正在建立词表文件......") 
15.    tmp = [] 
16.    for i in range(0,len(data)): 
17.       ok_data = re.compile(r'\]..').sub('',data[i]) #将类似的词']..埃特纳'前面的东西去掉  
18.       tmp.append(ok_data+'\n') 
19. 
20. &nbs

上一页  [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
     



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