Vector 转换成TFIDF值向量的类似文档如何在向量空间中查看

Vector 转换成TFIDF值向量的类似文档如何在向量空间中查看,vector,machine-learning,scikit-learn,tf-idf,Vector,Machine Learning,Scikit Learn,Tf Idf,这可能是一个奇怪的问题,但我忍不住想知道。假设我有三份文件: d1=“我的名字是斯特凡。” d2=“我的名字是大卫。” d3=“你好,你好吗?” 如果我将所有这3个文档转换为TFIDF值向量,在向量空间中,文档d1和d2会比文档d2和d3更接近吗?对不起,如果这是一个愚蠢的问题,但我真的很想以某种方式形象化,以便更好地理解它。提前谢谢你 是的,他们会更近 演示: 是的,他们会更近 演示: In [21]: from sklearn.feature_extraction.text import

这可能是一个奇怪的问题,但我忍不住想知道。假设我有三份文件:

  • d1=“我的名字是斯特凡。”
  • d2=“我的名字是大卫。”
  • d3=“你好,你好吗?”

如果我将所有这3个文档转换为
TFIDF
值向量,在向量空间中,文档
d1
d2
会比文档
d2
d3
更接近吗?对不起,如果这是一个愚蠢的问题,但我真的很想以某种方式形象化,以便更好地理解它。提前谢谢你

是的,他们会更近

演示:


是的,他们会更近

演示:

In [21]: from sklearn.feature_extraction.text import TfidfVectorizer

In [22]: from sklearn.metrics.pairwise import cosine_similarity

In [23]: tfidf = TfidfVectorizer(max_features=50000, use_idf=True, ngram_range=(1,3))

In [24]: r = tfidf.fit_transform(data)

In [25]: s = cosine_similarity(r)

In [26]: s
Out[26]:
array([[1.        , 0.53634991, 0.        ],
       [0.53634991, 1.        , 0.        ],
       [0.        , 0.        , 1.        ]])

In [27]: data
Out[27]: ['My name is Stefan.', 'My name is David.', 'Hello, how are you?']