Как изменить структуру предложения (повелительное наклонение -> вопросительное) в питоне (НЛП)

Я хотел бы построить модель, которая может принимать предложение в повелительной форме и выводить новое предложение в вопросительной форме (однако смысл будет одинаковым в обоих предложениях — оба предложения являются командами). Я видел следующий вопрос и провел некоторое исследование того, какие модели можно использовать, но я в тупике. Любые советы о том, куда идти отсюда, будут очень кстати.

Преобразование вопросительного предложения в повелительное предложение

Пример данных:

У меня есть несколько императивных предложений с их вопросительными аналогами.

    Imperative: Make sure you know what your own assets are and operate them accordingly.
    Interrogative 1: Do you know what your own assets are and can you operate them accordingly?
    Interrogative 2: Do you know what your own assets are and how to operate them accordingly?

    Imperative: Hold your hands in position.
    Interrogative 1: Can you hold your hands in position?
    Interrogative 2: Could you hold your hands in position?

Я бы предпочел сделать это с помощью машинного обучения, потому что у меня так много предложений.

Конечная цель состоит в том, чтобы иметь возможность ввести повелительное наклонение и получить случайный вопросительный вопрос с тем же значением на выходе.

Что я сделал

Я создал основанную на правилах систему, которая может классифицировать императивы с точностью 87 %, используя фрагментацию POS-тегов NLTK. Я также смог извлечь грамматику из предложений, используя контекстно-свободные грамматические функции NLTK. Я провел некоторое исследование моделей нейронного языка и LSTM, но они, похоже, хотят взять абзац или больше текста в качестве обучения. Я хочу использовать отдельные предложения в качестве тренировки с четкими возможностями вывода.

Последний вопрос

Есть ли алгоритм, который я могу использовать для обучения грамматическим различиям между императивом и его вопросительными аналогами, чтобы я мог просто ввести повелительное наклонение и получить взамен вопросительное? Есть ли другой подход, на который я должен обратить внимание?


person Aryana    schedule 06.10.2020    source источник
comment
Вы можете использовать модель последовательности для обучения чему-то подобному. Потребуется большой объем обучающих данных, но каждый отдельный обучающий экземпляр может быть одним предложением. В качестве альтернативы вы можете использовать анализатор зависимостей и правила для преобразования предложений. Хотя это было бы сложно.   -  person polm23    schedule 07.10.2020
comment
Спасибо. Я изучаю модели seq2seq с тех пор, как опубликовал это. У меня мало данных, и это проблема.   -  person Aryana    schedule 07.10.2020
comment
Ах, в таком случае это будет сложно. Возможно, вам следует обратить внимание на генерацию фактоидных вопросов на основе правил, в частности, используя синтаксический анализ зависимостей для управления структурой предложения.   -  person polm23    schedule 08.10.2020