文档相似度的网络模型

时间:2016-08-24 23:40:10

标签: python nlp graph-theory bipartite

提前感谢您的帮助。简而言之,我被要求帮助我的组织进行每5年重复一次的认证过程。我们需要编译的文档大约有50页长(总共150个左右的问题),因此我们希望尽可能多地重用我们在上一轮中生成的内容。

问题:问题的顺序和措辞在上一轮中有所改变,但并非完全(例如,"请描述您的组织对多元化的承诺"与#34;有哪些政策来确保组织的多样性?")。因此,我们需要一种方法来找出旧圆形图中的哪些问题到新一轮,或者至少大部分(它们不需要完美匹配,只是类似)。

我的想法是建立一个二元网络,将旧问题和新问题作为网络的顶点集。边缘将通过他们的问题或答案中的一些单词重叠度量来加权。

有谁知道如何开始解决这个问题?

再次感谢您,您提供的任何帮助都可能节省数小时的时间。

PS - 我对替代解决方案也完全开放。如果它有所帮助,下面是我最初考虑建模问题的图片。

an example solution

2 个答案:

答案 0 :(得分:1)

首先想到的是:对于50页的工作,你可以通过与人类合作来节省更多的时间。

但是,如果您的团队中有一位优秀的数据科学家,您可以尝试gensim。比较两个不同短语的最新技术是单词嵌入。您可以将其视为通过对数百万个文档进行培训将单词转换为高维向量(从200到1000维)。

例如,如果你的字符串是"人机交互",你会找到这样的东西。

[(2, 0.99844527), # The EPS user interface management system
(0, 0.99809301), # Human machine interface for lab abc computer applications
(3, 0.9865886), # System and human system engineering testing of EPS
(1, 0.93748635), # A survey of user opinion of computer system response time
(4, 0.90755945), # Relation of user perceived response time to error measurement
(8, 0.050041795), # Graph minors A survey
(7, -0.098794639), # Graph minors IV Widths of trees and well quasi ordering
(6, -0.1063926), # The intersection graph of paths in trees
(5, -0.12416792)] # The generation of random binary unordered trees   

来自:https://radimrehurek.com/gensim/tut3.html

答案 1 :(得分:0)

概述,但快速解决方案的总体步骤是:  1.使用http://www.nltk.org/api/nltk.stem.html等工具将单词转换为更适合机器处理的格式  2.按照此处列出的步骤计算tf-idf相似度:Similarity between two text documents  3.使用np.argsort()提取最相似的项目。