繁体   English   中英

Python NLTK 提取包含关键字的句子

[英]Python NLTK extract sentence containing a keyword

我的目标是从包含我的关键字列表中的任何单词的文本文件中提取句子。 我的脚本清理了文本文件并使用 NLTK 来标记句子并删除停用词。 脚本的那部分工作正常,并生成看起来正确的 output ['确认上个月提供的更新的 2020 年范围指导长期收益股息增长前景','终于期待增加现有潜在投资者几个月来的参与度','转向']我为提取包含关键字的句子而编写的脚本无法按我想要的方式工作。 它提取关键字,但不提取它们出现的句子。 output 看起来像这样; ['','','','','','','','','','','影响','区域']

    fileinC=nltk.sent_tokenize(fileinB)
    fileinD=[]
    for sent in fileinC:
        fileinD.append(' '.join(w for w in word_tokenize(sent) if w not in allinstops))
    fileinE=[sent.replace('\n', " ") for sent in fileinD]

    #extract sentences containing keywords
    fileinF=[]
        for sent in fileinE:
    fileinF.append(' '.join(w for w in word_tokenize(sent) if w  in keywords))

您最后一行中的条件 append 可能会导致问题,将其分解为更小的步骤更直观,如下所示:

fileinF = []
for sent in fileinE:
    # tokenize and lowercase tokens of the sentence
    tokenized_sent = [word.lower() for word in word_tokenize(sent)]
    # if any item in the tokenized sentence is a keyword, append the original sentence
    if any(keyw in tokenized_sent for keyw in keywords):
        fileinF.append(sent)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM