我的詞典我做主!python3.5生成自己的詞性詞典
由於朋友需要做文本分析,前提是要將文本中的名詞和動詞剔除掉,但沒有現成的名詞和動詞的txt格式的詞典。於是找來了一個英漢詞典,根據每一行出現的adj、adv、n、prep等,使用正則表達式匹配需要的詞性,並將其追加寫入到txt文件中。
建議大家使用python3.5,3的優點是避免了很多編碼問題。3代表著python的未來,大家還是應該多多的對未來投資。
比如,我要生成形容詞的詞典。步驟:
1、應先使用正則表達式,匹配含有『adj』的行字元串,返回的是list。
2、獲得adj結尾處的索引值
3、對行字元串進行切片處理,獲得索引值後的全部字元
4、如果獲得的字元串有 『,』 那再用正則表達式,匹配中文字元,獲得的是中文的list
代碼實現如下:
import restrs = 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 + "
" 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
歡迎關注公眾號:大鄧帶你玩轉python
----------------------------------
作者:鄧旭東
博客專欄:鄧旭東HIT的博客專欄
歡迎關注 簡書賬號 鄧旭東HIT
知乎: 鄧旭東HIT
微信公眾號: 大鄧帶你玩轉python
大家也可以加小編微信:tszhihu (備註:Python),拉大家到 Python愛好者社區 微信群,可以跟鄧旭東、崔慶才等老師互相交流。謝謝
大家記得關注我,明天晚上 崔慶才老師教你玩 Python爬蟲知乎用戶信息,記得關注。內容:
1. 分析知乎Ajax請求及爬取邏輯
2. 用Scrapy實現遞歸爬取
3. 爬取結果存儲到MongoDB 報名地址:爬取知乎所有用戶詳細信息 。後面到 Live也弄幾場,感謝關注。
推薦閱讀: