首页 > 解决方案 > 在文件 (10MB+) 中搜索出现在相似上下文中的关键字(<512 字长)

问题描述

我想从输入关键字一起出现或相隔一定距离(最大~512单词相隔)的文件中提取段落。文件大小是10MB,虽然对每个关键字进行简单的搜索会很好,但我将每个段落(其中出现单词)传递给一个模型,该模型需要大约 1-2 秒才能获得结果。1000某些关键字的出现次数也可能不止一次。这使得它非常缓慢。

我尝试使用的是最长公共子序列和 Minkowski 距离,但它们并不真正适合这里,因为在前一种情况下,关键字的顺序很重要,而在这种特殊情况下,后者对我没有意义。

我可以做的一件事是删除不重要的词(例如停用词),然后再次运行此过程,但我怀疑它是否还会更好。我还需要使用顶部k段落,我将保留这些段落10

文本文件是小说/书籍。

例如,在哈利波特书中,我想要关键字“弗农叔叔”、“霍格沃茨”、“哈利”、“信”一起出现的段落。

我怎样才能更有效地做到这一点?

标签: pythonstringalgorithmnlp

解决方案


在此处输入图像描述

假设这是您从每个第一个索引开始的表格,并检查最低和最高之间的距离,在这种情况下为 77-5 = 72

您移动到下一个索引最低的索引并再次检查

每次您以最低索引前进并检查最低和最高之间的差异是否低于您除冰的距离

它可能会错过一些案例

成功组后,您需要检查所有单词下一个选项 在此处输入图像描述

考虑到上述情况,在第一组之后,您将与哈利一起前进,错过 2 组霍格沃茨下一个索引和弗农叔叔下一个索引


推荐阅读