2015-10-26 26 views
0

如何使用詞法PCFG生成語法,從而更有意義地使用Sentence。 我可以使用NLTK庫從CFG語法生成短語,但它大多數短語沒有意義,儘管它的語法正確。使用詞法PCFG生成有意義的短語

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)) 

回答

2

句法語法將生成語法句子,但它不能保證句子是有意義的。真的,沒有辦法讓句子具有語義意義 - 這需要計算機在比目前可能的更深層次上理解它所表達的意義。你可以試着將你的CFG與一個n-gram語言模型結合起來,它應該創建更多本地連貫的句子,但是不一定全球一致。

+0

您可以請直接給我一些關於此的文件或紙張。 – aman

+1

如果我記得,[本文](http://dl.acm.org/citation.cfm?id=2591256)既有語言模型又有語法(依賴)語法。但是,它只是在一個非常有限的領域內工作,並且對於話語的內容應該是什麼有一些指導。 –