Algorithm 计算大量文件(如圣经书籍)相似性的算法

Algorithm 计算大量文件(如圣经书籍)相似性的算法,algorithm,search,text,graph,indexing,Algorithm,Search,Text,Graph,Indexing,我的目标是以一种能够计算圣经中任何两本书的相对相似性的方式来处理圣经。理想情况下,如果两本书的单词分布相似,但如果它们有更多的共同短语,那么它们的得分应该更高。例如,《马太福音》大量借用了《马可福音》,但长度大约是《马可福音》的两倍,虽然有许多段落是逐字复制的,但复制的诗句顺序并不一致 如果这可以分层进行,那就太好了;经文被单独处理,合并成章节,最后成书。给定一首诗,最好能够检索类似诗句的排名列表,以及章节和书籍 如果系统能为类似的单词(walk,walk,walking)提供部分学分,那也很好

我的目标是以一种能够计算圣经中任何两本书的相对相似性的方式来处理圣经。理想情况下,如果两本书的单词分布相似,但如果它们有更多的共同短语,那么它们的得分应该更高。例如,《马太福音》大量借用了《马可福音》,但长度大约是《马可福音》的两倍,虽然有许多段落是逐字复制的,但复制的诗句顺序并不一致

如果这可以分层进行,那就太好了;经文被单独处理,合并成章节,最后成书。给定一首诗,最好能够检索类似诗句的排名列表,以及章节和书籍

如果系统能为类似的单词(walk,walk,walking)提供部分学分,那也很好

一旦完成,我想将其扩展到任何一组文档

到目前为止,我正在考虑将每个单词存储为图形数据库中的,然后使用图形算法对图形的相似性进行评分,但我不知道使用什么算法进行评分(?)


类似或可能有助于(模糊匹配),但似乎不足以解决总体问题。也许通过BK树对单词进行预处理,并使用结果向图形中添加额外的链接,可以帮助实现模糊匹配功能。

词频相似性包括http://en.wikipedia.org/wiki/Jaccard_index (请注意-您可以将其用于短语)的引用不是对称的

只要你感兴趣的是单词或短语的频率,你只需要计数,而使用MinHash你只需要选择计数。如果您对所讨论的语言有所了解,您可以通过将每个单词缩为一个词根来查看类似的单词。对于英语,您可能会从以下内容获取语言信息。不懂希伯来语/新约希腊语

如果在两个文档之间复制了大量块,则可以使用后缀数组—一个起点是