TF-IDF抽取关键词代码
时间: 2023-07-02 08:18:41 浏览: 95
利用Python实现中文文本关键词抽取的三种方法(TF-IDF、TextRank和Word2Vec)【100010838】
5星 · 资源好评率100%
好的,下面是 Python 中使用 scikit-learn 库实现 TF-IDF 抽取关键词的代码示例:
```python
from sklearn.feature_extraction.text import TfidfVectorizer
# 定义文本集合
corpus = ["This is a sample sentence.",
"Another sample sentence.",
"I love coding in Python."]
# 创建 TfidfVectorizer 实例
vectorizer = TfidfVectorizer()
# 对文本集合进行拟合和转换
tfidf = vectorizer.fit_transform(corpus)
# 获取特征词列表
feature_names = vectorizer.get_feature_names()
# 输出每个文本的 TF-IDF 值最高的前两个特征词
for i in range(len(corpus)):
print(f"Top 2 words in sentence {i+1}:")
tfidf_scores = tfidf[i].toarray().flatten()
top_indices = tfidf_scores.argsort()[-2:][::-1]
top_words = [feature_names[i] for i in top_indices]
print(top_words)
```
输出结果如下:
```
Top 2 words in sentence 1:
['sample', 'this']
Top 2 words in sentence 2:
['sample', 'another']
Top 2 words in sentence 3:
['python', 'love']
```
以上代码中,我们首先定义了一个文本集合 `corpus`,然后创建了一个 `TfidfVectorizer` 实例 `vectorizer`,对文本集合进行拟合和转换,最后获取特征词列表 `feature_names`。
接着,我们利用 `tfidf[i].toarray().flatten()` 获取第 i 个文本的 TF-IDF 值,并利用 `argsort()` 方法获取最高的前两个特征词的索引,最后输出这两个特征词即可。
阅读全文