Bash 在文本文件中查找常用短语

Bash 在文本文件中查找常用短语,bash,search,sed,grep,Bash,Search,Sed,Grep,我有大量的文本(比如说,100或150个文件)和一篇我想分析的新文本。我需要知道在我的语料库中是否有任何文本的常用短语或短语的一部分(例如,借词,或对常用来源的依赖)。由于不知道如何正确完成这项任务,我开发了一个程序,我不能称之为非常聪明 我(使用sed脚本)从文件中创建成对、三个、四个、五个连续单词。因此,例如“threes”将是以下行的文件 单词1单词2单词3 单词2单词3单词4 单词3单词4单词5 其中word1,word2。。。是新文件中的字,所有换行符都将被删除 我使用三行或四行(甚

我有大量的文本(比如说,100或150个文件)和一篇我想分析的新文本。我需要知道在我的语料库中是否有任何文本的常用短语或短语的一部分(例如,借词,或对常用来源的依赖)。由于不知道如何正确完成这项任务,我开发了一个程序,我不能称之为非常聪明

  • 我(使用sed脚本)从文件中创建成对、三个、四个、五个连续单词。因此,例如“threes”将是以下行的文件

    单词1单词2单词3

    单词2单词3单词4

    单词3单词4单词5

  • 其中word1,word2。。。是新文件中的字,所有换行符都将被删除

  • 我使用三行或四行(甚至五行)文件从我的语料库中对文件进行grep。然后我阅读grep的输出,评估哪些短语可能是借词
  • 所以,我的问题是,我怎样才能使这个程序更有效?显然,借用可能不是100%逐字逐句的,我事先不知道,借用了多少单词等等

    UPD:发现了这个讨论,它似乎非常有用


    建议。。。将文件视为单词序列。您试图做的与为成对文件查找大小为k的最长子序列相同。这是一个
    O(n^2)
    问题。你可以重新利用一些现有的算法。是的,这就是我想做的。关于如何解决这个问题,你能给我一些额外的建议吗?我不仅需要最长的公共序列,还需要所有重要的公共序列。