修改某些关键字

时间:2016-09-07 15:16:07

标签: python machine-learning scipy nlp nltk

我正在创建一个用于查找余弦相似度的tf-idf矩阵。但我希望一组中的一些常用词具有更多权重(即tf-idf值)。

tfidf_vectorizer = TfidfVectorizer()
tfidf_matrix = tfidf_vectorizer.fit_transform(documents)

如何修改特定集合中单词的上述tfidf_matrix。

1 个答案:

答案 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_type
tfidf_matrix = sparse.csr_matrix(my_matrix)

因此,tfidf_matrix被修改为关键字列表。