【发布时间】:2018-04-06 06:50:30
【问题描述】:
我有一个已标记化的文档,然后我获取另一个文档并通过计算它们的 余弦相似度来比较两者。
但是,在计算它们的相似度之前,我想事先增加其中一个词的权重。我正在考虑通过将该单词的计数加倍来做到这一点,但我不知道该怎么做。
假设我有以下...
text = [
"This is a test",
"This is something else",
"This is also a test"
]
test = ["This is something"]
接下来我为两组文档定义停用词并调用CountVectorizer。
stopWords = set(stopwords.words('english'))
vectorizer = CountVectorizer(stop_words=stopWords)
trainVectorizerArray = vectorizer.fit_transform(text).toarray()
testVectorizerArray = vectorizer.transform(test).toarray()
在下一部分我计算 余弦相似度...
cosine_function = lambda a, b : round(np.inner(a, b)/(LA.norm(a)*LA.norm(b)), 3)
for vector in trainVectorizerArray:
print(vector)
for testV in testVectorizerArray:
print(testV)
cosine = cosine_function(vector, testV)
print(cosine)
但是,在我计算相似度之前,如何增加其中一个词的权重。假设在这个例子中我想增加something 的权重,我该怎么做呢?我认为您可以通过增加字数来做到这一点,但我不知道如何增加。
【问题讨论】:
标签: python machine-learning scikit-learn tf-idf