我有有效的语法和词汇项列表,用于生成语法正确的短语但毫无意义。我想结合谷歌n-gram只生成有效的句子。是否可行,是否有任何文件。我正在使用NLTK和斯坦福核心nlp工具。
答案 0 :(得分:2)
不,这是不可行的。真正的句子具有结构和意义依赖性,远远超出ngram中可以捕获的范围。
我想你想通过扩展你的CFG来生成一个随机结构,然后使用ngrams来选择可能的词汇选择。编码是一件非常简单的事情:在词性水平上删除你的语法,用你的CFG作为一串POS标签生成一个“句子”,并使用ngrams逐个填写它们。
要使用谷歌的整个5克收藏,你需要大量的磁盘空间和大量的内存或一些聪明的编程,所以我建议你尝试一下NLTK标记的语料库(例如,布朗语料库)使用“通用”标签集)。从任何文本开始,不难收集它的ngrams,写一个随机文本生成器,并确认它产生半凝聚但无可否认的不连贯(并且仍然大多是不合语法的)废话。