使用词汇PCFG生成有意义的短语

时间:2015-10-26 06:21:10

标签: python nltk stanford-nlp

我如何利用词汇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))

1 个答案:

答案 0 :(得分:2)

句法语法会生成语法句子,但不能保证句子有意义。实际上,没有办法使句子具有语义意义 - 这需要计算机在更深层次上理解其所说的含义。您可以尝试将您的CFG与n-gram语言模型结合起来,这样可以创建更多本地连贯的句子,但仍然不一定是全局一致的。