Я пытаюсь обрабатывать различные тексты с помощью регулярных выражений и NLTK Python, которые находятся по адресу http://www.nltk.org/book-. Я пытаюсь создать генератор случайного текста, и мне трудно решить проблему. Во-первых, вот мой алгоритм:
Введите предложение в качестве входных данных — это называется триггерной строкой.
Получить самое длинное слово в строке триггера
Искать во всей базе данных Project Gutenberg предложения, содержащие это слово, независимо от заглавных и строчных букв.
Верните самое длинное предложение, в котором есть слово, о котором я говорил на шаге 3.
Добавьте предложение на шаге 1 и шаге 4 вместе
Повторите процесс. Обратите внимание, что я должен получить самое длинное слово во втором предложении и продолжать в том же духе и так далее.
До сих пор мне удавалось сделать это для первых двух предложений, но я не могу выполнить поиск без учета регистра. Вся база данных предложений Project Gutenberg доступна через функцию gutenberg.sents()
, но регулярное выражение - поиск без учета регистра практически невозможен, поскольку gutenberg.sents()
выводит предложения в книгах следующим образом - в виде списка в формате списка-:
ПРИМЕР: все предложения шекспировского макбета вызываются набрав
import nltk
from nltk.corpus import gutenberg
gutenberg.sents('shakespeare-macbeth.txt')
в командную строку оболочки python, и вывод:
[['[', 'The', 'Tragedie', 'of', 'Macbeth', 'by', 'William', 'Shakespeare', '1603', ']'],
['Actus', 'Primus', '.'], .......]
с [Трагедией Макбета Уильяма Шекспира, 1603] и Actus Primus. это первые два предложения.
Как я могу найти слово, которое я ищу, независимо от того, оно в верхнем или нижнем регистре? Я отчаянно нуждаюсь в помощи, так как последние два дня возился с этим, и это начинает действовать мне на нервы. Большое спасибо.