Python數據挖掘-中文分詞
阿新 • • 發佈:2018-10-02
index 一個 ins 模塊 字典 pytho 漢字 font afr
將一個漢字序列切分成一個一個單獨的詞
安裝分詞模塊: pip install jieba
分詞在特殊場合的實用性,調用add_word(),把我們要添加的分詞加入jieba詞庫
高效方法:將txt保存的詞庫一次性導入用戶詞庫中
import jieba
jieba.load_userdict("D:\\Python\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.2\\金庸武功招式.txt")
1、搭建語料庫
import os
import os.path
import codecs
filePaths=[]
fileContents=[]
for root,dirs,files in os.walk("D:\\Python\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.2\\SogouC.mini\\Sample"):
for name in files:
filePath=os.path.join(root,name)
filePaths.append(filePath)
f=codecs.open(filePath,"r","utf-8")
fileContent=f.read()
f.close()
fileContents.append(fileContent)
import pandas
corpos=pandas.DataFrame({
"filePath":filePaths,
"fileContent":fileContents})
2、介紹分詞來自哪篇文章
import jieba
segments=[]
filePaths=[]
for index,row in corpos.iterrows(): #這樣遍歷得到的行是一個字典,row()是一個字典
filePath=row["filePath"]
fileContent =row["fileContent"]
segs=jieba.cut(fileContent) #調用cut方法對文件內容進行分詞
for seg in segs:
segments.append(seg)
filePaths.append(filePath)
segmentDataFrame=pandas.DataFrame({
"segment":segments,
"filepath":filePaths})
使用數據框的遍歷方法,得到語料庫中的每行數據,列名作為key
查了一下相關iterrows()的資料;
iterrows()返回值為元組,(index,row)
上面的代碼裏,for循環定義了兩個變量,index,row,那麽返回的元組,index=index,row=row.
Python數據挖掘-中文分詞