码迷,mamicode.com
首页 > 编程语言 > 详细

我的词典我做主!Python3.5生成自己的词性词典

时间:2020-11-24 12:52:59      阅读:6      评论:0      收藏:0      [点我收藏+]

标签:alt   阅读   动手   字符   没有   mic   nes   网络爬虫   文本分析   

由于朋友需要做文本分析,前提是要将文本中的名词和动词剔除掉,但没有现成的名词和动词的txt格式的词典。于是找来了一个英汉词典,根据每一行出现的adj、adv、n、prep等,使用正则表达式匹配需要的词性,并将其追加写入到txt文件中。

建议大家使用python3.5,3的优点是避免了很多编码问题。3代表着python的未来,大家还是应该多多的对未来投资。
技术图片
比如,我要生成形容词的词典。步骤:
1、应先使用正则表达式,匹配含有‘adj’的行字符串,返回的是list。
2、获得adj结尾处的索引值
3、对行字符串进行切片处理,获得索引值后的全部字符
4、如果获得的字符串有 ‘,’ 那再用正则表达式,匹配中文字符,获得的是中文的list
代码实现如下:

import re

strs = open(r‘C:/Users/myl/Desktop/SegChineseToWords/英汉词典TXT格式.txt‘,‘r‘,encoding=‘utf-8‘).readlines()

for str in strs:

# 形容词典
    adj_re = re.search(‘adj‘, str)
    if adj_re != None:
        adj_num = adj_re.end()+1
        adj_str = str[adj_num:]
        adj_list = re.findall("[\u4e00-\u9fa5]+", adj_str)
        for ele_adj in adj_list:
            ele_adj = ele_adj + ‘\n‘
            with open(r‘C:/Users/myl/Desktop/SegChineseToWords/Dict/adj_dict.txt‘, ‘a+‘,encoding=‘utf-8‘) as f:
                f.write(ele_adj)

实现的效果如下图:
技术图片
本代码中用到 re模块 的 research方法 ,具体大家去百度下,这个方法的相关知识。
现在附上 练习材料和最终代码,大家可以比照着练习下正则。
代码:http://pan.baidu.com/s/1dFyWQwL

火爆参团:
崔老师联合天善学院带来爬虫视频《自己动手,丰衣足食!Python3网络爬虫实战案例》,正在火爆参团中~
参团方式:阅读原文 | 长按扫码
技术图片

我的词典我做主!Python3.5生成自己的词性词典

标签:alt   阅读   动手   字符   没有   mic   nes   网络爬虫   文本分析   

原文地址:https://blog.51cto.com/15009253/2552653

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!