Я никогда не занимался обработкой естественного языка, поэтому, пожалуйста, извините за неправильную терминологию. Я открыт для использования любого языка / библиотеки, например NLTK или spaCy, но без платного API.
Я пытаюсь создать игру, в которой пользователь должен закончить sh известную цитату своими собственными .
Пример ввода:
Комната без книг похожа на тело без души.
Желаемый результат:
Комната без книг ...
Я бы хотел иметь более сложные предложения, такие как:
Я узнал, что люди забудут то, что вы сказал, что люди забудут то, что вы сделали, но люди никогда не забудут, как вы их чувствовали.
Желаемый результат:
Я узнал, что люди забудут, что ты сказал ...
Другой пример:
Не ходи передо мной ... Я не могу следовать
Не ходи позади я ... я не могу вести
иди рядом со мной ... просто будь моим другом
Желаемый результат:
Не ходи передо мной ... Я не могу следовать ...
Я чувствую, что выделение словосочетаний / фраз - это почти то, что я хочу, но не совсем. Может быть что-то вроде (псевдокод):
phrases = extractAllPhrases(sentence)
middlePhrase = phrases.length / 2
desiredOutuput = sentence.substring(0, sentence.offset(middlePhrase) + middlePhrase.length))
Это слишком сложно, чтобы достичь с помощью НЛП? Не слишком ли много синтаксических переменных в языке Engli sh, чтобы покрыть их, чтобы получить согласованные результаты? Должен ли я просто вручную разделить цитаты? Я открыт для предложений вместо рабочих ответов, таких как «Читай бла-бла», я просто не знаю, с чего начать. Но я хотел бы знать, возможно ли это, прежде чем я потрачу много времени на изучение НЛП, просто чтобы выяснить, что это невозможно.