python不使用jieba对中文文档集合计算每个单词的ifidf
时间: 2023-08-03 13:06:55 浏览: 133
可以使用Python中的nltk和sklearn库来计算中文文档集合中每个单词的ifidf,不需要使用jieba。具体步骤如下:
1. 分词:使用jieba库将中文文档集合进行分词,得到每个文档的词语列表。
2. 去除停用词:使用停用词表对分词后的词语列表进行去除停用词的操作。
3. 统计每个词语在每个文档中出现的频率。
4. 统计每个词语在所有文档中出现的文档频率。
5. 计算每个词语的ifidf值。
代码示例:
```python
from nltk.corpus import stopwords
from sklearn.feature_extraction.text import TfidfVectorizer
# 加载停用词表
stop_words = stopwords.words('chinese')
# 分词
docs = ["中文文档1", "中文文档2", "中文文档3"]
word_lists = []
for doc in docs:
words = jieba.cut(doc)
word_list = [word for word in words if word not in stop_words]
word_lists.append(" ".join(word_list))
# 计算ifidf值
tfidf_model = TfidfVectorizer()
tfidf_matrix = tfidf_model.fit_transform(word_lists)
```
这样就可以得到每个词语的ifidf值,tfidf_matrix中的每一行对应一个文档,每一列对应一个词语,元素为该词语在该文档中的ifidf值。
阅读全文