Python 用NLTK设计搜索引擎

Python 用NLTK设计搜索引擎,python,search,nltk,Python,Search,Nltk,我正在为文档和相关文件创建一个数据库。我在需要OCR的文档上运行OCR,并从具有该功能的文档中提取文本。因此,我试图从那里收集尽可能多的信息,并将其存储在数据库中 我已经浏览了这个名为NLTK的库,并阅读了一些关于数据库设计的内容。看来,搭配就是建议的。目前我正在收集二元和三元搭配,但我注意到它所选择的内容对文档文本来说过于具体,不够广泛(例如标题) 我的问题/想法如下: 当它可能是一份关于一般保险费用的文件时,搜索特定的搭配,如[髋关节,置换,手术]似乎并不好。例如,我们可以有多个文档,它们

我正在为文档和相关文件创建一个数据库。我在需要OCR的文档上运行OCR,并从具有该功能的文档中提取文本。因此,我试图从那里收集尽可能多的信息,并将其存储在数据库中

我已经浏览了这个名为NLTK的库,并阅读了一些关于数据库设计的内容。看来,搭配就是建议的。目前我正在收集二元和三元搭配,但我注意到它所选择的内容对文档文本来说过于具体,不够广泛(例如标题)

我的问题/想法如下:

  • 当它可能是一份关于一般保险费用的文件时,搜索特定的搭配,如[髋关节,置换,手术]似乎并不好。例如,我们可以有多个文档,它们具有相同的三角形,并且可以设置为不同的时间段
  • 鉴于上述情况,是否有办法过滤出多组OCR结果中常见和预期的搭配
  • 是否有其他对搜索功能更有价值的数据集

我来这里是为了更好地理解我正在努力实现的目标,老实说,我知道的不多。因此,非常感谢您的帮助,如果您能想象我非常天真,那么我可能需要一个非常基本的解释。

我认为呼呼声可能更容易开始。。。()@thebjorn这看起来很有希望,但我的理解是whoosh是一个平面文件数据库,或者这些数据存储在哪里?whoosh(以及任何其他全文搜索)将数据提取到一个为高效搜索而创建的索引中。我还没有仔细查看源代码,但它似乎正在创建一组文件支持的哈希结构,尽可能使用
mmap
ed。如果您要查找文档检索系统(键入一些搜索词并查找最相关的文档),请使用google TF-IDF(术语频率反向文档频率)。这是一个用来补偿术语频率差异的指标。(它通常不适用于ngrams,但我不清楚您为什么需要它们)。