python – 从一组给定的单词中创建一个有意义的句子

我正在开发一个程序,需要从给定的单词集创建一个语法正确的句子.在这里,我将把一个字符串列表的输入传递给程序,我的输出应该是用这些单词创建的有意义的句子,以及一些必要的其他单词.例如.

Input: {'You' , 'House' , 'Beautiful'}
Output: 'Your house is beautiful' (or) 'you house is beautiful' 
Input: {'Father' , 'Love' , 'Child'}
Output: 'The father loves the child'

如何使用NLTK和(或)机器学习实现这一点?

关于我应该怎么做的任何建议?我已经准备好了解最疯狂的想法.谢谢! 🙂

最佳答案
在这种情况下,您可以申请n-gram model.这个想法是一个句子

I like NLP very much.

获得以下3克:

>< s>我喜欢
>我喜欢NLP
>非常喜欢NLP
> NLP非常多
>非常< / s>

然后你把它想象成一个概率模型P(word3 | word1 word2).

所以你的工作将是:

>获取大量n个单词的数据(例如我认为https://books.google.com/ngrams有下载选项)
>对于给定的单词集,找到仅包含这些单词的所有n-gram
>找到最可能的组合.

请注意:

> n应该至少为3
>越大的n得到越多,你必须得到“back off”,因为你没有数据(但是n-gram可能存在并且有意义)
>甚至n = 5已经是非常多的数据

转载注明原文:python – 从一组给定的单词中创建一个有意义的句子 - 代码日志