Как уже упоминалось Mayur, вы можете сделать регулярное выражение, чтобы забрать все, что между кавычками
list = re.findall("\".*?\"", string)
Проблема вы будете работать в том, что там может быть удивительно большое количество вещей, заключенная в кавычки, которые являются на самом деле не котировки.
Если вы делаете академические статьи, вы можете найти номер после закрытия цитаты, чтобы забрать номер сноски. Иначе с не научными статьями, возможно, вы могли бы запустить что-то вроде:
"(said|writes|argues|concludes)(,)? \".?\""
может быть более точным, но рискует потерять котировки, такие как Цитаты (Цитата вызовут у вас проблемы в любом случае, потому что они могут включать в себя строку перед закрывающей кавычкой)
Что касается использования NLTK, я не могу придумать ничего такого, что может помочь, кроме, возможно, wordnet для поиска синонимов для «сказанного».
Это подбирает что-либо между кавычками. В зависимости от текста, который вы оцениваете, вы получите кучу мусора, о котором не сообщается речь ... просто материал, завернутый в кавычки, как буква «А», слово «неясное» означает ... и т. Д. – Joseph
Я работал в предположении, что OP работает с ** Структурированными данными, которые имеют значащий разговор **, потому что OP говорит: «Мне нужно извлечь цитаты из огромного набора статей». Поэтому мое предположение является разумным. Я добавлю +1 для добавления чего-то хорошего в ответы. –