python - 使用 Gensim 生成多维文档

标签 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" },
                { "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)是根据不同的单独文档进行训练的,不知道子字段或可组合子部分。所以你必须自己建模。

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

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

然后,您可以在所有完整文档和字段组合上训练一个模型,或者为每个文档类型训练一个单独的模型。

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

关于python - 使用 Gensim 生成多维文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45926917/

相关文章:

python - ipython如何执行几条历史记录

python - 凯拉斯错误 :The model cannot be compiled because it has no loss to optimize

r - GBM Bernoulli 不返回 NaN 的结果

python - 如何获得数组中不存在的最小正整数

python - 在 python 中,为什么在 "try except"之前和之后完成信号处理时异常存在差异

python - 在皮肤检测图像中找到指尖,面积和最大直径

`glmnet` 的岭回归给出的系数与我通过 "textbook definition"计算的不同?

tensorflow - 在哪里可以找到 faster_rcnn_resnet50_coco 模型中的 model.ckpt?

python - resnet50 迁移学习期间的大量过拟合

python - 执行 rnn model 时出错。如何修复它?