Python使用pynlpir進(jìn)行中文分詞并保留段落信息
一、引言
nlpir是由張華平博士開發(fā)的中文自然處理工具,可以對(duì)中文文本進(jìn)行分詞、聚類分析等,它既有在線的中文數(shù)據(jù)大數(shù)據(jù)語義智能分析平臺(tái),也有相關(guān)的python包pynlpir,其github的地址是:
這個(gè)包的使用是免費(fèi)的,但是授權(quán)文件需要每個(gè)月更新一次。
二、利用pynlpir進(jìn)行分詞
1.安裝模塊
首先要安裝這個(gè)模塊,安裝方法是在cmd命令行下輸入:
pip install pynlpir
2. 更新授權(quán)
安裝后還可能需要更新一下授權(quán)
pynlpir update
3. 開始批量分詞
1)基礎(chǔ)分詞
import pynlpir
pynlpir.open()
s = '歡迎科研人員、技術(shù)工程師、企事業(yè)單位與個(gè)人參與NLPIR平臺(tái)的建設(shè)工作。'
segs = pynlpir.segment(s)
for seg in segs:
print(seg)
顯示結(jié)果:

基本使用方法
2)批量分詞
主要是采用os模塊批量讀取當(dāng)前目錄下的txt文件,然后分別按段落讀取、分詞、標(biāo)注。詞與標(biāo)注信息之前中【_】來連接,兩個(gè)詞之間用【|】,段落之間加入換行符號(hào),然后寫入到【seg_】開頭的txt文件里。這里,我們采用的是英文的標(biāo)注信息,每個(gè)文件標(biāo)注完成后會(huì)生成新的文件,最終代碼如下:
import pynlpir
import os
# 初始化分詞庫(kù)
pynlpir.open ()
# 進(jìn)行分詞操作
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")
# 關(guān)閉分詞庫(kù)
pynlpir.close ()
4. 分詞效果展示
經(jīng)過分詞和標(biāo)注后的文件截圖展示如下,可以看到很好地保留了段落的信息,這為后面進(jìn)行詞性統(tǒng)計(jì)也做好了準(zhǔn)備。后期,可以根據(jù)nlpir的標(biāo)注集,對(duì)于所有文本中的詞性進(jìn)行統(tǒng)計(jì)分析。

三、學(xué)后反思
pynlpir這個(gè)包分詞速度還是很快的,但是使用起來有一定的難度。更新license時(shí)可以去github上下載,或者本地使用代理下載。
導(dǎo)入自定義字典時(shí),注意字典編碼要轉(zhuǎn)化為ANSI編碼,否則可能會(huì)報(bào)錯(cuò)。
批量分詞時(shí),注意文件的路徑最好不要有中文,否則也可能無法順利分詞。
如果是在Linux上更新Lincense的話,為了保險(xiǎn)起見,可以先去github上下載,再進(jìn)行上傳,以確保萬無一失。
到此這篇關(guān)于Python使用pynlpir進(jìn)行中文分詞并保留段落信息的文章就介紹到這了,更多相關(guān)Python pynlpir中文分詞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python在centos7.6上安裝python3.9的詳細(xì)教程(默認(rèn)python版本為2.7.5)
這篇文章主要介紹了Python在centos7.6上安裝python3.9(默認(rèn)python版本為2.7.5)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-10-10
python3.0 模擬用戶登錄,三次錯(cuò)誤鎖定的實(shí)例
下面小編就為大家?guī)硪黄猵ython3.0 模擬用戶登錄,三次錯(cuò)誤鎖定的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
Python實(shí)現(xiàn)爬蟲從網(wǎng)絡(luò)上下載文檔的實(shí)例代碼
小編最近在研究python,接觸到了爬蟲,本文給大家?guī)砹薖ython實(shí)現(xiàn)爬蟲從網(wǎng)絡(luò)上下載文檔的知識(shí)。下面小編把具體實(shí)例代碼分享到腳本之家平臺(tái),感興趣的朋友參考下吧2018-06-06
使用Python打造跨年倒計(jì)時(shí)時(shí)鐘并實(shí)現(xiàn)煙花特效與整點(diǎn)報(bào)時(shí)
跨年的儀式感,從一款專屬倒計(jì)時(shí)時(shí)鐘開始~ 今天給大家分享一款我親手開發(fā)的Python跨年報(bào)時(shí)程序,不僅有精美的模擬時(shí)鐘界面,還有跨年前1分鐘自動(dòng)觸發(fā)的煙花特效、整點(diǎn)/半點(diǎn)報(bào)時(shí)功能,需要的朋友可以參考下2025-12-12
Python實(shí)現(xiàn)文件快速定位的十種方法
在處理文件和目錄時(shí),Python提供了強(qiáng)大的內(nèi)置模塊和函數(shù),讓文件定位變得輕松快捷,下面,我們將一步步探索這些方法,從基礎(chǔ)到進(jìn)階,讓你成為文件定位的高手,需要的朋友可以參考下2026-02-02
用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的抽獎(jiǎng)小程序
最近開始學(xué)習(xí)python相關(guān)知識(shí),看最近有不少隨機(jī)抽獎(jiǎng)小程序,自己也做一個(gè)試試,下面這篇文章主要給大家介紹了關(guān)于如何利用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的抽獎(jiǎng)小程序的相關(guān)資料,需要的朋友可以參考下2023-05-05

