将新文档与其他文档进行比较

时间:2016-05-20 13:19:22

标签: python sql r nlp document

我正在处理

的法律文件
  1. 大部分是相似的,但可能会有一些微妙的差异,可能会改变其含义。例如,他们的措辞可能不同,或者在一个文件中有“1和2”,在另一个文件中有“1或2”,或者某些条款/子条款可能完全缺失
  2. 条款不一定是相同的顺序
  3. 我想构建一个程序(使用SQL,R或Python),将一个文档与另外200个文档的库进行比较,并指出新文档与其他文档的不同之处。

    到目前为止,我一直在使用包含每个子句及其子句号的文件(来自4-5个文档而不是200个),然后手动比较新文档。

    这些问题是如何解决的?我不熟悉NLP,但我开始在R中查看tm包,看不出它对我有什么帮助。相似或不相似度量会给我一个平均表示,而我期待看哪些条款是标准的,与所有200个文档相比,以及不同/新的条款

    1. 突出显示差异(或新条款)与所有其他文档的比较?
    2. 查找差异最相似的文档的名称。

1 个答案:

答案 0 :(得分:1)

我对R一无所知,但我认为名为NLTK的Python包会有所帮助。一个简单的vector space similarity可以轻松解决您的问题。

对于200份文件,您甚至不需要数据库。您可以直接从光盘中读取这些文档。为了说清楚,我从你的描述中做了两个假设:

  1. 类似的文档在"和","或"等字词中略有不同和""。
  2. 缺少的条款比保留条款少得多。
  3. 如果是这种情况,那么您可以分三步完成任务:

    1. 对所有文档进行标记。您还需要启用stop words来过滤那些"和","或"和""。
    2. vector space
    3. 的形式代表您的文件
    4. 计算这些文件之间的相似性。