解析された文(スタンフォードパーサーを使用して解析された)の(大きな)リストがあります。たとえば、「今、あなたは楽しまれることができます」という文には、次のツリーがあります。
(ROOT
(S
(ADVP (RB Now))
(, ,)
(NP (PRP you))
(VP (MD can)
(VP (VB be)
(VP (VBN entertained))))
(. .)))
nltkを使用して文法を誘導するために、一連の文ツリーを使用しています。
import nltk
# ... for each sentence tree t, add its production to allProductions
allProductions += t.productions()
# Induce the grammar
S = nltk.Nonterminal('S')
grammar = nltk.induce_pcfg(S, allProductions)
grammar
次に、を使用して新しいランダムな文を生成したいと思います。文法は特定の入力例のセットから学習されたので、生成された文は意味的に類似していることを願っています。nltkでこれを行うことはできますか?
nltkを使用してこれを行うことができない場合、(おそらく再フォーマットされた)grammar
文を生成できる他のツールはありますか?