我目前面临的问题如下。我有一组单词,如果可能的话,我想从中构造一个语法正确的短语/句子。到目前为止,我尝试过的是:
- 从参考文本语料库中计算每个单词在句子中的平均位置;
- 使用它,对集合中的单词进行排序,并用空格分隔。
这种方法的问题在于,大多数时候它会产生毫无意义的奇怪短语。有没有办法做到这一点,也许使用nlp技术(假设我只使用英语)?
您可以使用 ngram 模型生成文本。也许这是有帮助的:http ://www.uspleste.usp.br/ivandre/papers/improvedTextGenNgramStat.pdf
一种常见的方法是从语料库中获取所有 3 克,然后使用概率生成文本。
如果你只有词袋,我认为你需要
但是,这并不一定会给您带来有意义的句子。它们可能会很奇怪,但如果你的词袋非常有限,可能不会,因为它似乎是这样。
如果您有语料库(我第一次阅读您的问题时错过了该语料库),那么您应该将它与NLTK 的 generate() function 之类的东西一起使用,它使用 n-grams 来生成文本。
您可以查看以下马尔可夫链示例:http: //phpir.com/text-generation