我正在创建一个用于查找余弦相似度的tf-idf矩阵。但我希望一组中的一些常用词具有更多权重(即tf-idf值)。
tfidf_vectorizer = TfidfVectorizer()
tfidf_matrix = tfidf_vectorizer.fit_transform(documents)
如何修改特定集合中单词的上述tfidf_matrix。
答案 0 :(得分:1)
我使用
将csr-type的tfidf-matrix转换为2-D数组my_matrix = tfidf_matrix.toarray()
然后,找出关键字使用的索引,
tfidf_vectorizer.vocabulary_.get(keyword)
之后,迭代2-D矩阵并根据要求更改tf-idf值。这里,keyword_list包含我们想要修改tf-idf值的关键字索引。
for i in range(0, len(my_matrix)):
for key in keyword_list:
if key != None:
key = (int)(key)
if my_matrix[i][key] > 0.0:
my_matrix[i][key] = new_value
再次,使用
将my_matrix更改为csr_typetfidf_matrix = sparse.csr_matrix(my_matrix)
因此,tfidf_matrix被修改为关键字列表。