使用TF-IDF计算两个文档之间的余弦相似度

时间:2017-11-14 14:29:41

标签: python-2.7 csv nltk tf-idf cosine-similarity

我试图在两个csv文件之间获得余弦相似度得分。结果应该包括得分矩阵(700 x 205),因为文件中有700个数据行描述,另一个有205.所以我需要将第一个文件中的每一行与第二个文件中的所有行进行比较。

import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.feature_extraction.text import TfidfVectorizer
from scipy.stats import ttest_ind, ttest_ind_from_stats
import codecs
import unicodecsv as csv
import chardet
import nltk, string

 df = pd.read_csv("Green jobs description.csv")
df2 = pd.read_csv("testing part of 2006.csv")



jobs = df.Description.tolist()
jobs2 = df2.Description.tolist()




train_set = jobs+jobs2
train_set = [tmp.lower() for tmp in train_set]

tfidf_vectorizer = TfidfVectorizer()
tfidf_matrix_train = tfidf_vectorizer.fit_transform(train_set)  # finds the tfidf score with normalization
cosine_scores = cosine_similarity(tfidf_matrix_train[0:1], tfidf_matrix_train)
print cosine_scores

到目前为止,我已经完成了这项工作,但它总共得分与所有工作相同的数量

例如,结果应该包括205列值和700行。这就是问题所在,我不知道如何比较第一个文件中的每一行和第二个文件中的所有其他行

0 个答案:

没有答案