为了账号安全,请及时绑定邮箱和手机立即绑定

Python:tf-idf-cosine:查找文档相似性

Python:tf-idf-cosine:查找文档相似性

慕尼黑的夜晚无繁华 2020-02-04 14:13:35
我正在关注第1 部分和第2 部分中可用的教程。不幸的是,作者没有时间进行最后一节的工作,该部分涉及使用余弦相似度来实际查找两个文档之间的距离。我在stackoverflow的以下链接的帮助下关注了本文中的示例,其中包括上述链接中提到的代码(只是为了使生活更轻松)from sklearn.feature_extraction.text import CountVectorizerfrom sklearn.feature_extraction.text import TfidfTransformerfrom nltk.corpus import stopwordsimport numpy as npimport numpy.linalg as LAtrain_set = ["The sky is blue.", "The sun is bright."]  # Documentstest_set = ["The sun in the sky is bright."]  # QuerystopWords = stopwords.words('english')vectorizer = CountVectorizer(stop_words = stopWords)#print vectorizertransformer = TfidfTransformer()#print transformertrainVectorizerArray = vectorizer.fit_transform(train_set).toarray()testVectorizerArray = vectorizer.transform(test_set).toarray()print 'Fit Vectorizer to train set', trainVectorizerArrayprint 'Transform Vectorizer to test set', testVectorizerArraytransformer.fit(trainVectorizerArray)printprint transformer.transform(trainVectorizerArray).toarray()transformer.fit(testVectorizerArray)print tfidf = transformer.transform(testVectorizerArray)print tfidf.todense()由于上述代码,我有以下矩阵Fit Vectorizer to train set [[1 0 1 0] [0 1 0 1]]Transform Vectorizer to test set [[0 1 1 1]][[ 0.70710678  0.          0.70710678  0.        ] [ 0.          0.70710678  0.          0.70710678]][[ 0.          0.57735027  0.57735027  0.57735027]]我不确定如何使用此输出来计算余弦相似度,我知道如何针对长度相似的两个向量实现余弦相似度,但是在这里我不确定如何识别这两个向量。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 710 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信