将一个汉字序列切分成一个一个单独的词
安装分词模块: 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.
来源: http://www.bubuko.com/infodetail-2789302.html