Python 基于Gensim的多维文档

Python 基于Gensim的多维文档,python,machine-learning,tensorflow,gensim,tf-idf,Python,Machine Learning,Tensorflow,Gensim,Tf Idf,我正在开发一个文档比较引擎/搜索引擎。我目前使用它如下 search_doc = ["test search"] documents = ["doc 1 text", "doc 2 text", "doc 3 text", "..."] 然后比较结果 我想做的(用最简单的术语)是拥有多维文档(一个具有多个维度的文档,而不仅仅是“文档”)。。。例如 documents = { { "doc 1 title", "doc 1 body", "doc 1 tags"

我正在开发一个文档比较引擎/搜索引擎。我目前使用它如下

search_doc = ["test search"]
documents = ["doc 1 text", "doc 2 text", "doc 3 text", "..."]
然后比较结果

我想做的(用最简单的术语)是拥有多维文档(一个具有多个维度的文档,而不仅仅是“文档”)。。。例如

documents = {
                { "doc 1 title", "doc 1 body", "doc 1 tags" },
                { "doc 2 title", "doc 2 body", "doc 2 tags" },
                { "doc 3 title", "doc 3 body", "doc 3 tags" }
                { ... }
            }
并且能够对结果进行加权(例如,标题为0.6,正文为0.4,等等)

我的问题是。。。在Gensim中是否有这样做的方法,或者我是否需要为文档的每个元项创建一个单独的文档(例如,将每个元项(标题、正文、标记)作为单独的文档进行比较,然后使用文档键/id在事实发生后组合权重)

我不确定我是否能很好地解释这一点,但请让我知道我是否能改进我的问题

谢谢。

Gensim的主要算法(如LDA或Doc2Vec)是根据不同的单独文档进行训练的,不知道子字段或可组合的子部分。因此,您必须自己建模

如果您的最终目标要求每个字段单独评分,您应该为每个字段创建单独的文档

您可能还希望创建一个由所有字段组成的完整文档

然后,您可以针对所有完整的文档和合并的字段训练一个模型,或者针对每种类型的文档训练一个单独的模型


您可能希望如何比较、消除重复或组合字段与文档的分数,这在很大程度上取决于您的数据和项目目标,以及您自己的实验和自定义评估。(例如,您的用户可能对身体匹配最满意,因此该领域中的任何相似之处都应该在您的显示器上显示额外的重量,以此类推。)

谢谢!这通常是我所期望的,我非常感谢主题的清晰性!