tf-idf批量提取英文文献关键词
时间: 2023-09-20 15:09:31 浏览: 149
TF-IDF是一种常用于文本数据处理的技术,它可以帮助我们提取文本中的关键词。以下是使用Python批量提取英文文献关键词的示例代码:
```python
import os
import glob
from sklearn.feature_extraction.text import TfidfVectorizer
# 读取所有文献
docs = []
for file in glob.glob('*.txt'):
with open(file, 'r') as f:
doc = f.read()
docs.append(doc)
# 计算tf-idf
vectorizer = TfidfVectorizer(stop_words='english')
tfidf = vectorizer.fit_transform(docs)
# 提取关键词
for i, file in enumerate(glob.glob('*.txt')):
keywords = []
feature_index = tfidf[i, :].nonzero()[1]
tfidf_scores = zip(feature_index, [tfidf[i, x] for x in feature_index])
sorted_tfidf_scores = sorted(tfidf_scores, key=lambda x: x[1], reverse=True)
for item in sorted_tfidf_scores[:10]:
keywords.append(vectorizer.get_feature_names()[item[0]])
print(os.path.basename(file), keywords)
```
在上述代码中,我们首先使用`glob`模块遍历所有文献文件,将它们读入到`docs`列表中。接着使用`TfidfVectorizer`类计算所有文献的tf-idf矩阵。最后,对于每个文献,我们提取其中tf-idf值最大的前10个单词作为关键词,并输出到命令行中。
阅读全文