我需要一串代码,首先剔除停用词stopwordlist添加词表add_word_list,用jieba对一个policy.txt文本进行分词,题词所有除中文外的标点符号,最后生成一个名为data_set的新的文档
时间: 2024-09-18 13:18:34 浏览: 67
去停用词_利用python去停用词_
5星 · 资源好评率100%
你可以使用下面的Python代码来完成这个任务,这里我将使用jieba分词库和NLTK库的停用词表:
```python
import jieba
from jieba.analyse import extract_tags
from nltk.corpus import stopwords
import string
# 定义停用词和自定义词表
stopwordlist = set(stopwords.words('chinese')) # 加载默认的中文停用词
add_word_list = ['自定义词1', '自定义词2'] # 添加额外的词
stopwordlist.update(add_word_list) # 将自定义词加入停用词表
# 文件操作
with open('policy.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词并去除标点符号
tokens = [char for char in text if char not in string.punctuation]
tokens = [token for token in tokens if token not in stopwordlist]
# 提取关键词
tags = extract_tags(text)
# 将结果写入新的文档data_set.txt
with open('data_set.txt', 'w', encoding='utf-8') as f:
for tag in tags:
f.write(tag + '\n')
for token in tokens:
f.write(token + '\n')
```
这段代码首先加载了中文停用词表并添加了自定义词。然后,从`policy.txt`文件中读取文本,使用jieba分词并去掉非汉字的标点符号,接着提取关键字并过滤掉停用词。最后,将处理后的关键词和词汇写入名为`data_set.txt`的新文档中。
阅读全文