NLP10-TF-IDF文本向量化
一、TF-IDF
之前的一些笔记中已经介绍了TF-IDF的基本原理,参见 NLP05-jieba分词
这里介绍一下通过TF-IDF计算余弦相似度。
余弦相似度矩阵: 表示每两个文档之间的相似度值,取值范围为 [0, 1],值越大表示两个文档越相似。
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# 示例文档集合
documents = [
"今天天气很好",
"我们去公园散步",
"天气预报说今天有雨",
"出去玩需要带伞"
]
# 创建 TF-IDF 向量化器
vectorizer = TfidfVectorizer()
# 计算 TF-IDF 值并将文档转换为向量
tfidf_matrix = vectorizer.fit_transform(documents)
# 打印每个文档的 TF-IDF 向量
print("TF-IDF 矩阵:")
print(tfidf_matrix.toarray())
# 计算余弦相似度
cosine_sim = cosine_similarity(tfidf_matrix)
# 打印余弦相似度矩阵
print("余弦相似度矩阵:")
print(cosine_sim)
二、其他常用文本向量化的方法
(一)基于计数的方法
(二)
...未完待续