Python使用pynlpir進行中文分詞并保留段落信息
一、引言
nlpir是由張華平博士開發(fā)的中文自然處理工具,可以對中文文本進行分詞、聚類分析等,它既有在線的中文數(shù)據(jù)大數(shù)據(jù)語義智能分析平臺,也有相關的python包pynlpir,其github的地址是:
這個包的使用是免費的,但是授權文件需要每個月更新一次。
二、利用pynlpir進行分詞
1.安裝模塊
首先要安裝這個模塊,安裝方法是在cmd命令行下輸入:
pip install pynlpir
2. 更新授權
安裝后還可能需要更新一下授權
pynlpir update
3. 開始批量分詞
1)基礎分詞
import pynlpir pynlpir.open() s = '歡迎科研人員、技術工程師、企事業(yè)單位與個人參與NLPIR平臺的建設工作。' segs = pynlpir.segment(s) for seg in segs: print(seg)
顯示結果:
基本使用方法
2)批量分詞
主要是采用os模塊批量讀取當前目錄下的txt文件,然后分別按段落讀取、分詞、標注。詞與標注信息之前中【_】來連接,兩個詞之間用【|】,段落之間加入換行符號,然后寫入到【seg_】開頭的txt文件里。這里,我們采用的是英文的標注信息,每個文件標注完成后會生成新的文件,最終代碼如下:
import pynlpir import os # 初始化分詞庫 pynlpir.open () # 進行分詞操作 txts = [file for file in os.listdir(".") if file.endswith(".txt")] for txt in txts: with open(txt,"r",encoding="utf-8") as f: lines = [line.strip() for line in f.readlines()] for line in lines: segments = pynlpir.segment (line, pos_tagging=True,pos_english=True) with open("segged_"+os.path.basename(txt),"a+",encoding="utf-8") as fi: for segment in segments: try: fi.write(str(segment[0])+"_"+str(segment[1])+"|") except Exception as exc: print(exc,segment) fi.write("\n") # 關閉分詞庫 pynlpir.close ()
4. 分詞效果展示
經(jīng)過分詞和標注后的文件截圖展示如下,可以看到很好地保留了段落的信息,這為后面進行詞性統(tǒng)計也做好了準備。后期,可以根據(jù)nlpir的標注集,對于所有文本中的詞性進行統(tǒng)計分析。
三、學后反思
pynlpir這個包分詞速度還是很快的,但是使用起來有一定的難度。更新license時可以去github上下載,或者本地使用代理下載。
導入自定義字典時,注意字典編碼要轉化為ANSI編碼,否則可能會報錯。
批量分詞時,注意文件的路徑最好不要有中文,否則也可能無法順利分詞。
如果是在Linux上更新Lincense的話,為了保險起見,可以先去github上下載,再進行上傳,以確保萬無一失。
到此這篇關于Python使用pynlpir進行中文分詞并保留段落信息的文章就介紹到這了,更多相關Python pynlpir中文分詞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python3實現(xiàn)的騰訊微博自動發(fā)帖小工具
這篇文章主要為大家分享下騰訊微博自動發(fā)帖的Python3代碼,需要的朋友可以參考下2013-11-11PyInstaller將Python文件打包為exe后如何反編譯(破解源碼)以及防止反編譯
這篇文章主要介紹了PyInstaller將Python文件打包為exe后如何反編譯(破解源碼)以及防止反編譯,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04python協(xié)程gevent案例 爬取斗魚圖片過程解析
這篇文章主要介紹了python協(xié)程gevent案例 爬取斗魚圖片過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08tensorflow實現(xiàn)訓練變量checkpoint的保存與讀取
今天小編就為大家分享一篇tensorflow實現(xiàn)訓練變量checkpoint的保存與讀取,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python 列表,數(shù)組和矩陣sum的用法及區(qū)別介紹
今天小編就為大家分享一篇python 列表,數(shù)組和矩陣sum的用法及區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python中利用LSTM模型進行時間序列預測分析的實現(xiàn)
這篇文章主要介紹了Python中利用LSTM模型進行時間序列預測分析的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07