HOME

TheInfoList



OR:

Head grammar (HG) is a grammar formalism introduced in Carl Pollard (1984) Pollard, C. 1984. ''Generalized Phrase Structure Grammars, Head Grammars, and Natural Language''. Ph.D. thesis, Stanford University, CA. as an extension of the
context-free grammar In formal language theory, a context-free grammar (CFG) is a formal grammar whose production rules can be applied to a nonterminal symbol regardless of its context. In particular, in a context-free grammar, each production rule is of the fo ...
class of grammars. Head grammar is therefore a type of
phrase structure grammar The term phrase structure grammar was originally introduced by Noam Chomsky as the term for grammar studied previously by Emil Post and Axel Thue ( Post canonical systems). Some authors, however, reserve the term for more restricted grammars in t ...
, as opposed to a
dependency grammar Dependency grammar (DG) is a class of modern Grammar, grammatical theories that are all based on the dependency relation (as opposed to the ''constituency relation'' of Phrase structure grammar, phrase structure) and that can be traced back prima ...
. The class of head grammars is a subset of the linear context-free rewriting systems. One typical way of defining head grammars is to replace the terminal strings of CFGs with indexed terminal strings, where the index denotes the "head" word of the string. Thus, for example, a CF rule such as A \to abc might instead be A \to (abc, 0), where the 0th terminal, the ''a'', is the head of the resulting terminal string. For convenience of notation, such a rule could be written as just the terminal string, with the head terminal denoted by some sort of mark, as in A \to \widehatbc. Two fundamental operations are then added to all rewrite rules: wrapping and concatenation.


Operations on headed strings


Wrapping

Wrapping is an operation on two headed strings defined as follows: Let \alpha \widehat \beta and \gamma \widehat \delta be terminal strings headed by ''x'' and ''y'', respectively. w(\alpha \widehat \beta, \gamma \widehat \delta) = \alpha x \gamma \widehat \delta \beta


Concatenation

Concatenation is a family of operations on n > 0 headed strings, defined for n = 1, 2, 3 as follows: Let \alpha \widehat \beta, \gamma \widehat \delta, and \zeta \widehat \eta be terminal strings headed by ''x'', ''y'', and ''z'', respectively. c_(\alpha \widehat \beta) = \alpha \widehat \beta c_(\alpha \widehat \beta, \gamma \widehat \delta) = \alpha \widehat \beta \gamma y \delta c_(\alpha \widehat \beta, \gamma \widehat \delta) = \alpha x \beta \gamma \widehat \delta c_(\alpha \widehat \beta, \gamma \widehat \delta, \zeta \widehat \eta) = \alpha \widehat \beta \gamma y \delta \zeta z \eta c_(\alpha \widehat \beta, \gamma \widehat \delta, \zeta \widehat \eta) = \alpha x \beta \gamma \widehat \delta \zeta z \eta c_(\alpha \widehat \beta, \gamma \widehat \delta, \zeta \widehat \eta) = \alpha x \beta \gamma y \delta \zeta \widehat \eta And so on for c_ : 0 \leq n < m. One can sum up the pattern here simply as "concatenate some number of terminal strings ''m'', with the head of string ''n'' designated as the head of the resulting string".


Form of rules

Head grammar rules are defined in terms of these two operations, with rules taking either of the forms X \to w(\alpha, \beta) X \to c_(\alpha, \beta, ...) where \alpha, \beta, ... are each either a terminal string or a non-terminal symbol.


Example

Head grammars are capable of generating the language \. We can define the grammar as follows: S \to c_(\widehat) S \to c_(\widehat, T, \widehat) T \to w(S, \widehatc) The derivation for "abcd" is thus: S c_(\widehat, T, \widehat) c_(\widehat, w(S, \widehatc), \widehat) c_(\widehat, w(c_(\widehat), \widehatc), \widehat) c_(\widehat, w(\widehat, \widehatc), \widehat) c_(\widehat, \widehatc, \widehat) a\widehatcd And for "": S c_(\widehat, T, \widehat) c_(\widehat, w(S, \widehatc), \widehat) c_(\widehat, w(c_(\widehat, T, \widehat), \widehatc), \widehat) c_(\widehat, w(c_(\widehat, w(S, \widehatc), \widehat), \widehatc), \widehat) c_(\widehat, w(c_(\widehat, w(c_(\widehat), \widehatc), \widehat), \widehatc), \widehat) c_(\widehat, w(c_(\widehat, w(\widehat, \widehatc), \widehat), \widehatc), \widehat) c_(\widehat, w(c_(\widehat, \widehatc, \widehat), \widehatc), \widehat) c_(\widehat, w(a\widehatcd, \widehatc), \widehat) c_(\widehat, ab\widehatccd, \widehat) aab\widehatccdd


Formal properties


Equivalencies

Vijay-Shanker and Weir (1994)Vijay-Shanker, K. and Weir, David J. 1994. ''The Equivalence of Four Extensions of Context-Free Grammars''. Mathematical Systems Theory 27(6): 511-546. demonstrate that linear indexed grammars, combinatory categorial grammar,
tree-adjoining grammar Tree-adjoining grammar (TAG) is a grammar formalism defined by Aravind Joshi. Tree-adjoining grammars are somewhat similar to context-free grammars, but the elementary unit of rewriting is the tree rather than the symbol. Whereas context-free gr ...
s, and head grammars are weakly equivalent formalisms, in that they all define the same string languages.


References

{{DEFAULTSORT:Head Grammar Formal languages Grammar frameworks Syntax