vector - 转换为 TFIDF 值向量的相似文档如何在向量空间中查看
问题描述
这可能是一个奇怪的问题,但我忍不住想知道。如果我说有三个文件:
- 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?']
推荐阅读
- asterisk - confbridge 应用程序中是否有任何功能可以使用户之间的音频静音?
- javascript - moment js 接受什么格式的日期/时间对象?
- algorithm - 避免名称冲突的算法
- python - 有没有办法绕过“NoneType”对象没有属性“DoesNotExist”
- c++ - 如何在 dlib 的 array2d 上从 dlib::rectangle 创建 cv::Mat
图片? - unit-testing - Microsoft.VisualStudio.TestTools.UnitTesting 的 Assert.DoesNotThrow()
- c++ - 尝试使用 CMake 添加库会导致错误
- amazon-web-services - kubectl 错误:您必须登录到服务器
- php - 获取 access_token 的 PHP Guzzle 请求不起作用。与 CURL 一起工作正常
- android - 如何在不对图表的每个数据进行编码的情况下制作多个图表?