Я хочу построить предложение фиксированной длины S = w1 w2 w3 w4 w5 ..... wN.N мне уже известен.У меня есть набор слов для каждой позиции слова wi, где i = 1 - N. Мне нужно выбрать одно слово из каждого wi, чтобы построить предложение S. S должно быть грамматически правильным;и я не хочу проверять значение предложения S. Есть ли способ достичь этого с помощью инструментария NLTK или любого другого инструментария NLP?
Я могу составлять предложения из заданного списка слов с помощью алгоритма DFS изатем проверьте, является ли каждое предложение грамматически правильным или нет.Но размер набора для каждого слова велик (масштаб 10 ^ 3), поэтому для построения предложения даже для трех слов требуется слишком много времени.
Предположим, я хочу построить предложение из трех слов S = w1 w2 w3.
w1 = {Я, ты, мы, он, она, ...},w2 = {есть, пить, читать, кто, как, ...},w3 = {банан, чай, музыка, ...}
Допустимые предложения (грамматически правильные):
- Я ем банан.
- Я пью чай.
- Я ем музыку.
- Я пью банан.
- Я читаю бананы и т. Д.
Неправильные предложения (грамматически неверно):
- Я банан.
- Я как заказываю.