Я работаю с большим корпусом (~ 30 ГБ), и мне нужно извлечь предложения, содержащие список слов (~ 5000), включая знаки препинания. Я использую подход регулярных выражений, но я открыт для любых предложений относительно эффективности метода. Следующий код извлекает предложения, включающие «анархизм», но без знаков препинания, полученные из здесь .
f_in = open(f_path, 'r')
for line in f_in:
sentences = re.findall(r'([^.!?]*anarchism[^.!?]*)', line)
Ввод:
anarchism, is good. anarchism? anarchism!
Фактическое возвращение:
['anarchism, is good', ' anarchism', ' anarchism']
Ожидаемый доход:
['anarchism, is good.', 'anarchism?', 'anarchism!']
Есть предложения?