我如何利用词汇PCFG来产生语法,从而更有意义地发声。 我可以使用NLTK库从CFG语法生成短语,但大多数短语都没有意义,尽管它的语法正确。
s=("""
S -> PRP RB VP
VP -> VBP NP
NP -> JJ NNS
RB -> 'forcefully'|'strongly'|'rerely'
PRP -> 'we'|'you'|'he'
VBP -> 'actuarize'|'support'|'condemn'
JJ -> 'black|fair'
NNS -> 'markets'
""")
#load into the grammar
grammar=CFG.fromstring(s)
for sentence in generate(grammar,depth=10):
print(' '.join(sentence))
答案 0 :(得分:2)
句法语法会生成语法句子,但不能保证句子有意义。实际上,没有办法使句子具有语义意义 - 这需要计算机在更深层次上理解其所说的含义。您可以尝试将您的CFG与n-gram语言模型结合起来,这样可以创建更多本地连贯的句子,但仍然不一定是全局一致的。