python中的jieba实现对一个文件夹中的所有文档,基于文档中的非停用词及其TF-IDF值,生成该文档的词向量,具体代码
时间: 2023-01-28 16:07:41 浏览: 135
你可以使用 Python 的 os 模块来遍历文件夹中的文件,并使用 jieba 库来分词和去除停用词。你还可以使用 scikit-learn 库中的 TfidfVectorizer 类来计算每个文档的 TF-IDF 值。这里是一个示例代码:
```
import os
import jieba
import jieba.analyse
from sklearn.feature_extraction.text import TfidfVectorizer
# 读取停用词
with open('stopwords.txt', 'r', encoding='utf-8') as f:
stopwords = [line.strip() for line in f]
# 遍历文件夹中的文件
documents = []
for file in os.listdir('documents'):
with open(os.path.join('documents', file), 'r', encoding='utf-8') as f:
# 分词、去停用词
words = [word for word in jieba.cut(f.read()) if word not in stopwords]
documents.append(' '.join(words))
# 计算每个文档的词向量
vectorizer = TfidfVectorizer()
vectors = vectorizer.fit_transform(documents)
```
在这段代码中,我们使用 os 模块的 listdir 函数遍历了文件夹 "documents" 中的文件,然后对每个文件使用 jieba 库分词并去除停用词。最后,我们使用 TfidfVectorizer 类计算了每个文档的词向量。
阅读全文