Multi-dimensional 个使用 Gensim 的文档

Multi-dimensional documents with Gensim

我正在研究文档比较引擎/搜索引擎。我目前使用如下...

search_doc = ["test search"]
documents = ["doc 1 text", "doc 2 text", "doc 3 text", "..."]

然后比较结果。

我想做的(用尽可能最简单的术语)是 multi-dimensional 文档(具有多个维度的文档,而不仅仅是 "document")...例如。 .

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" }
                { ... }
            }

并且还能够对结果进行加权(例如,title 是 0.6,body 是 0.4,等等)。

我的问题是...有没有办法在 Gensim 中执行此操作,或者我是否需要为文档的每个元项目创建一个单独的文档(例如,比较每个元项目(标题,body, tags) 作为单独的文档,然后在使用文档 key/id?

之后合并权重

我不确定我是否解释得很好,但如果我可以改进我的问题,请告诉我。

谢谢。

Gensim 的主要算法(如 LDA 或 Doc2Vec)是根据不同的单个文档训练的,对 sub-fields 或可组合的 sub-parts 一无所知。所以你必须自己建模。

如果您的 end-goals 需要每个字段单独评分,则​​您应该为每个字段创建一个单独的文档。

您可能还想创建一个包含所有字段的完整文档。

然后您可以在所有 full-docs 和字段组合上训练一个模型,或者每个 type-of-doc 训练一个单独的模型。

您可能希望如何比较、删除重复项或合并字段与文档的分数,这在很大程度上取决于您的数据和项目目标,以及您自己的实验和自定义评估。 (例如,也许您的用户对 body-matches 最满意,因此该领域的任何相似之处都应该在您的展示中具有额外的权重——等等。)