假设我有一个很长的文本,我想围绕一个特定的单词提取一定长度的上下文。例如,在下面的文字中,我想在单词warrior中提取8个单词。
........
........
......死了。他是一个非常勇敢的战士,为争取自由的可能性而斗争......
........
........
在这种情况下,结果将是
他是一个非常勇敢的战士,为自由而战
请注意我是如何删除死亡这个词的,因为我更喜欢从完整句子的开头开始,以及我如何提取的不仅仅是8个单词,因为fight for freedom
比为
我可以遵循这个领域的算法或研究吗?我应该如何解决这个问题。
答案 0 :(得分:0)
答案 1 :(得分:0)
让我们将您的问题分为几部分,并使其独立于任何编程语言:
如果您要使用战斗而不是战斗一词,则应预处理数据。请看一下词根化和词干提取技术,它们将为您提供词根。
此外,另一个文本预处理步骤是从文本中删除停用词。诸如“将”,“将”,“如果”,“但”等单词将被删除。
现在要提取n个单词,您可以定义一个窗口大小,该窗口大小将从句子文本中提取n个单词。因此,您要做的就是编写一个函数,该函数将提取您要提取的单词周围的目标文本和单词。循环遍历整个文本。
希望这会有所帮助。