是否可以在Python中使用NLTK从文本中删除句子?

问题描述 投票:0回答:1

例如,我的文本包含几个句子:

“第一句话不相关。第二个包含有关我想保留的KPI的信息。第三个没用。第四个提及与我相关的topic”。

此外,我有一个自建字典,单词为{KPI,topic}。是否有可能编写仅保留那些在字典中至少提到一个单词的句子的代码?因此,从上面的示例来看,仅保留第二和第四句。

谢谢

P.S。我已经有一个代码可以将文本标记为句子,但是就如我所见,只留下“相关”的代码并不常见。

python nlp nltk
1个回答
0
投票
一种解决方案是使用列表推导(请参见下面的示例)。但是可能会有更好,更多的pythonic解决方案。

sentences = ['Lorem ipsum dolor keyword sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 'Duis aute irure other_keyword dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.', 'Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'] vocabulary = {'keyword': 'Topic 1', 'other_keyword': 'Topic 2'} [sentence for sentence in sentences if any(word in sentence for word in list(vocabulary.keys()))] >>> ['Lorem ipsum dolor keyword sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'Duis aute irure other_keyword dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.']

© www.soinside.com 2019 - 2024. All rights reserved.