Feature structure

In phrase structure grammars, such as generalised phrase structure grammar, head-driven phrase structure grammar and lexical functional grammar, a feature structure is essentially a set of attribute–value pairs. For example, the attribute named number might have the value singular. The value of an attribute may be either atomic, e.g. the symbol singular, or complex (most commonly a feature structure, but also a list or a set).

A feature structure can be represented as a directed acyclic graph (DAG), with the nodes corresponding to the variable values and the paths to the variable names. Operations defined on feature structures, e.g. unification, are used extensively in phrase structure grammars. In most theories (e.g. HPSG), operations are strictly speaking defined over equations describing feature structures and not over feature structures themselves, though feature structures are usually used in informal exposition.

Often, feature structures are written like this:

$$\begin{bmatrix} \mbox{category} & noun\ phrase\\ \mbox{agreement} & \begin{bmatrix} \mbox{number} & singular \\ \mbox{person} & third \end{bmatrix} \end{bmatrix}$$

Here there are the two features category and agreement. Category has the value noun phrase whereas the value of agreement is indicated by another feature structure with the features number and person being singular and third.

This particular notation is called attribute value matrix (AVM).

The matrix has two columns, one for the feature names and the other for the values. In this sense a feature structure is a list of key-value pairs. The value might be atomic or another feature structure. This leads to another notation for feature structures: the use of trees. In fact, some systems (such as PATR-II) use S-expressions to represent feature structures.