2016-03-12 3 views
0

NLTK (набор инструментов Natural Language Toolkit) позволяет анализировать грамматику FCFG, используя nltk.FCFG.fromstring([grammar string here]). Где спецификация формата грамматики FCFG *? Я убил его до смерти, но все, что я мог найти, было this.Что такое стандарт/спецификация грамматики FCFG NLTK?

* i.e. язык грамматика спецификация

+0

Используйте источник, Люк. – alexis

+0

Как показано в файле: один NT (NonTerminal), расширенный на каждую строку, с правой стороны, разделенные трубами, терминалы в кавычках, вероятности для rhs, суммирующие до 1. – schwobaseggl

+0

Был ли недавно изменен вопрос? – alvas

ответ

2

С демо:

>>> from nltk import CFG 
>>> grammar = CFG.fromstring(""" 
... S -> NP VP 
... PP -> P NP 
... NP -> Det N | NP PP 
... VP -> V NP | VP PP 
... Det -> 'a' | 'the' 
... N -> 'dog' | 'cat' 
... V -> 'chased' | 'sat' 
... P -> 'on' | 'in' 
... """) 

Грамматика для написания грамматики из строки должны работать, как, например:

  • Каждая строка представляет собой правило, составляет из лево- (LHS) и правая сторона (RHS), где
  • Только один бесконтактный может находиться на LHS стрелки ->
  • RHS можно сделать u p комбинаций одного или нескольких нетерминалов и/или терминалов.
  • Клеммы должны быть заключены между кавычками
  • Нетерминальные символы на RHS должны быть разделены пробелами.
  • Каждый Нетерминальные результаты (LHS) может состоять из одной или нескольких комбинаций РИТ, и каждая комбинация ограничена пип символом |
  • Это конвенции CFG, чтобы использовать заглавные буквы для не-терминалов, но это не обязательно ,

Также см https://en.wikipedia.org/wiki/Terminal_and_nonterminal_symbols и https://en.wikipedia.org/wiki/Context-free_grammar

Смежные вопросы