python分词与去停用词简单实操
一、前期准备**主要工具:**jieba**数据介绍:**从万方数据平台中收集到的区块链技术领域的专利文献。**stopwordsHIT.txt:**停用词表。**userdict.txt:**用户词典。为提高分词精度,本词典中包含大量区块链技术领域专业词汇。二、操作过程1、原始数据2、去停用词####加载停用词def load_stopword():f_stop = open('stopword
·
一、前期准备
**主要工具:**jieba
**数据介绍:**从万方数据平台中收集到的区块链技术领域的专利文献。
**stopwordsHIT.txt:**停用词表。
**userdict.txt:**用户词典。为提高分词精度,本词典中包含大量区块链技术领域专业词汇。
二、操作过程
1、原始数据
2、去停用词
####加载停用词
def load_stopword():
f_stop = open('stopwordsHIT.txt', encoding='utf-8') # 自己的中文停用词表
sw = [line.strip() for line in f_stop] # strip() 方法用于移除字符串头尾指定的字符(默认为空格)
f_stop.close()
return sw
3、分词
# 中文分词并且去停用词
def seg_word(sentence):
file_userDict = 'userdict.txt' # 自定义的词典
jieba.load_userdict(file_userDict)# 加载用户词典
sentence_seged = jieba.cut(sentence.strip(),HMM=True) # HMM参数可选可不选,默认为False
stopwords = load_stopword()
outstr = ''
for word in sentence_seged:
if word not in stopwords:
if word != '/t':
outstr += word
outstr += " "
return outstr
4、完整代码
首先定义方法。
import pandas as pd
import jieba
####加载停用词
def load_stopword():
f_stop = open('stopwordsHIT.txt', encoding='utf-8') # 自己的中文停用词表
sw = [line.strip() for line in f_stop] # strip() 方法用于移除字符串头尾指定的字符(默认为空格)
f_stop.close()
return sw
# 中文分词并且去停用词
def seg_word(sentence):
file_userDict = 'userdict.txt' # 自定义的词典
jieba.load_userdict(file_userDict)# 加载用户词典
sentence_seged = jieba.cut(sentence.strip(),HMM=True) # HMM参数可选可不选,默认为False
stopwords = load_stopword()
outstr = ''
for word in sentence_seged:
if word not in stopwords:
if word != '/t':
outstr += word
outstr += " "
return outstr
原始文件的数据量较大,本文只选取其中10条作为演示。
df=pd.read_excel("Patent_data.xlsx")
data=df[0:10]
## 专利名称对于反应主题也有较大作用。分词时考虑专利名称与专利摘要
data["cutted_Content"]=data["名称"].apply(seg_word)+data["摘要"].apply(seg_word)
查看分词结果
data["cutted_Content"]
所有数据展示
data
更多推荐
已为社区贡献1条内容
所有评论(0)