我正在开发一个程序,需要从给定的单词集创建一个语法正确的句子.在这里,我将把一个字符串列表的输入传递给程序,我的输出应该是用这些单词创建的有意义的句子,以及一些必要的其他单词.例如.
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模型.这个想法是一句话
我非常喜欢NLP.
获得以下3克:
I like
I like NLP
like NLP very
NLP very much
very much
然后你将它视为概率模型P(word3 | word1 word2)
.
所以你的工作将是:
获得大量n个单词的数据(例如我认为https://books.google.com/ngrams有下载选项)
对于给定的单词集,找到仅包含这些单词的所有n-gram
找到最可能的组合.
请注意:
n应该至少为3
越大的n越多,你就越有可能因为你没有数据而" 退缩 "(但是n-gram可能存在且有意义)
即使n = 5已经是非常多的数据