来自一组文档的输入查询的最佳匹配

2024-09-28 17:04:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有8个文档,我在它上面运行TF-IDF来获得一个数组。我不明白如何找到与给定输入查询最匹配的文档?在

all_documents = [doc1, doc2, ...., doc7]
sklearn_tfidf = TfidfVectorizer(norm='l2',min_df=0, use_idf=True, smooth_idf=False, sublinear_tf=True, tokenizer=tokenize)
sklearn_representation = sklearn_tfidf.fit_transform(all_documents).toarray()

Tags: 文档truenormtfdoc1数组sklearnall
1条回答
网友
1楼 · 发布于 2024-09-28 17:04:57

使用TfidfVectorizer将输入转换为tf-idf格式。然后可以使用距离度量(余弦、欧几里得、曼哈顿等)来计算最接近输入的文档。在

每个文档都应该使用相同的词汇表。我假设你的8个文档向量长度相同?您创建的sklearn_tfidf对象有一个属性vocabulary_,它包含向量中使用的所有单词。您的输入查询应该减少到只包含这些单词。在

示例

Document1: dogs are cute
Document2: cats are awful

引出[dogs, cats, are, cute, awful]的词汇表。不能使用包含这5个词以外的其他词的查询。例如,如果您的查询是cute animals,那么{}就没有意义了,因为在其中一个文档中找不到它。因此,查询可以简化为以下向量:[0,0,0,1,0],因为cute是文档中唯一可以找到的单词。在

相关问题 更多 >