【发布时间】:2017-01-10 17:54:53
【问题描述】:
在使用 Prolog DCG 解析输入时,最好有一个伴随的语法 BNF。
例如:
BNF
<Sentence> ::= <Noun_phrase> <Verb_phrase>
<Noun_phrase> ::= <Determiner> <Noun>
<Verb_phrase> ::= <Verb> <Phrase>
<Determiner> ::= a
<Determiner> ::= the
<Noun> ::= cat
<Noun> ::= mouse
<Verb> ::= scares
<Verb> ::= hates
作为 Prolog DCG
sentence --> noun_phrase, verb_phrase.
verb_phrase --> verb, noun_phrase.
noun_phrase --> determiner, noun.
determiner --> [a].
determiner --> [the].
noun --> [cat].
noun --> [mouse].
verb --> [scares].
verb --> [hates].
然而,Prolog DCG 也可以有参数为
在此示例中,Number 为 singular 或 plural
sentence(Number) --> noun_phrase(Number), verb_phrase(Number).
verb_phrase(Number) --> verb(Number), noun_phrase(Number).
noun_phrase(Number) --> determiner(Number), noun(Number).
determiner(singular) --> [a].
determiner(singular) --> [the].
determiner(plural) --> [the].
noun(singular) --> [cat].
noun(plural) --> [cats].
noun(singular) --> [mouse].
noun(plural) --> [mice].
verb(singular) --> [scares].
verb(plural) --> [scare].
verb(singular) --> [hates].
verb(plural) --> [hate].
是否存在包含非终结符参数的标准或可接受的 BNF 扩展?
如果是这样,我需要一个链接。
我怀疑 ATN(增强转换网络)在球场上,可能是唯一的标准答案,但我希望是线性文本而不是某种形式的顶点/边图。
【问题讨论】:
标签: prolog nlp grammar bnf dcg