在提取包含单词的特定句子(如 extract a sentence using python 和 Python extract sentence containing word )时有很多问题,我有足够的 NLTK 和 SciPy 初学者经验,可以自己完成.
但是,我在尝试提取包含单词的句子以及目标句子前后的句子时遇到了困难。
例如:
“前几天我走路去学校,突然下起了雨。我伸手去拿伞,但我意识到我把它忘在家里了。我能做什么?我立即跑向最近的树。但是然后我意识到我不能一直尝试没有叶子的树。”
在此示例中,目标词是“可以”。如果我想提取目标句子(我能做什么?)以及前后句子(我伸手去拿雨伞,但我意识到我把它忘在家里了。 和我立即跑向最近的树。),什么是好的方法?
假设我将每个段落分割成自己的文本...
for paragraph in document:
do something
...有没有合适的方法来解决这个问题?我有大约 10,000 个段落,目标词周围有不同数量的句子(出现在每个段落中)。
最佳答案
像这样的东西怎么样?
import nltk.data
tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
for paragraph in document:
paragraph_sentence_list = tokenizer.tokenize(paragraph)
for line in xrange(0,len(paragraph_sentence_list)):
if 'could' in paragraph_sentence_list[line]:
print(paragraph_sentence_list[line])
try:
print(paragraph_sentence_list[line-1])
except IndexError as e:
print('Edge of paragraph. Beginning.')
pass
try:
print(paragraph_sentence_list[line+1])
except IndexError as e:
print('Edge of paragraph. End.')
pass
这样做是将段落分成句子列表。
遍历句子测试“could”是否在句子中。如果是,则打印上一个索引 [line-1]、当前索引 [line] 和下一个索引 [line+1]
关于python - 使用Python提取包含单词的句子...以及它周围的句子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23799001/