簡體   English   中英

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

[英]Is it possible to drop sentences from the text with NLTK in Python?

例如,我有一個由幾個句子組成的文本:

“第一句話不相關。第二句包含我想保留的KPI信息。第三句沒用。第四句提到與我相關的主題”。

另外,我有自建的字典,里面有單詞{ KPI, topic }。 是否有可能編寫一個代碼來只保留那些句子,其中字典中至少提到了一個詞? 因此,從上面的例子中,只剩下第 2 句和第 4 句。

謝謝

PS我已經有一個代碼可以將文本標記為句子,但正如我所見,只留下“相關”的那些並不常見。

一種解決方案是使用列表推導式(參見下面的示例)。 但可能有更好、更 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.']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM