在句子

时间:2016-08-13 08:37:01

标签: nlp text-extraction

假设我有一个很长的文本,我想围绕一个特定的单词提取一定长度的上下文。例如,在下面的文字中,我想在单词warrior中提取8个单词。

........

........

......死了。他是一个非常勇敢的战士,为争取自由的可能性而斗争......

........

........

在这种情况下,结果将是

  

他是一个非常勇敢的战士,为自由而战

请注意我是如何删除死亡这个词的,因为我更喜欢从完整句子的开头开始,以及我如何提取的不仅仅是8个单词,因为fight for freedom而言更有意义/ em>的

我可以遵循这个领域的算法或研究吗?我应该如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

  1. 您可以使用RegEx获取包含您要查找的单词的整个句子。
  2. 然后使用信息提取算法找到更方便的8个单词。
  3. 我发现了两个Python的实现

    对于正则表达式here

    对于Extracting algorithm look here

    希望这会对你有所帮助

答案 1 :(得分:0)

让我们将您的问题分为几部分,并使其独立于任何编程语言:

  1. 如果您要使用战斗而不是战斗一词,则应预处理数据。请看一下词根化和词干提取技术,它们将为您提供词根。

  2. 此外,另一个文本预处理步骤是从文本中删除停用词。诸如“将”,“将”,“如果”,“但”等单词将被删除。

  3. 现在要提取n个单词,您可以定义一个窗口大小,该窗口大小将从句子文本中提取n个单词。因此,您要做的就是编写一个函数,该函数将提取您要提取的单词周围的目标文本和单词。循环遍历整个文本。

希望这会有所帮助。