In this section, we give a feature-structure representation of the English sentence Wash sinks., which has been chosen because each of its words can be considered either a noun or a verb each with different senses, because as a sentence it is structurally ambiguous, being either a declarative or an imperative sentence, and because the word Wash can also be considered a proper noun. For purposes of this illustration, we assume that this sentence has four interpretations: two as a declarative sentence, and two as an imperative sentence. The four interpretations are paraphrasable as follows.
  • Laundry goes to the bottom.
  • Someone named Wash goes to the bottom.
  • I order you to clean basins used for washing.
  • I order you to clean depressions in a land surface.

    The actual structure of the example is given in the f.struct whose id is f1. This f.struct contains one f.s.OR, which encloses pointers to the analyses of the sentence as respectively declarative and imperative. The f.struct for the declarative interpretation does not itself contain an f.s.OR, but it does have a pointer to one that does, namely to the f.struct identified as f3. The f.s.OR in this f.struct encloses subanalyses for Wash as a proper noun phrase and as a common noun phrase. Similarly, the f.struct for the imperative interpretation does not contain f.s.OR. To find the alternative analyses, one has to follow a chain of pointers from the f.struct identified as f2 to f5 and from f5 to f9. This f.struct contains a f.s.OR which encloses the two glosses for the noun sinks. Note that no single f.struct directly reveals the four-way ambiguity assumed to be associated with the sentence, but the ambiguity is nevertheless represented by the collection of f.structs in the markup. The illustration also makes use of a f.s.choice, which has not yet been defined. Its purpose is to express the disambiguation of an ambiguous subpart of a larger structure. It occurs as part of the content model of f.ptr, which means that the end tag for f.ptr cannot be omitted if this mechanism is adopted. (The end tags in this illustration have been omitted, but in the three places where f.s.choice is used, a comment is inserted where an end tag for f.ptr is crucial.) The basic idea is that if a f.ptr points to an ambiguous structure (a structure that has an f.s.OR in it), and one of its interpretations is to be selected, then a f.s.choice is enclosed within it, with an IDREF attribute (target), whose value is the ID attribute of the f.s.OR inside the ambiguous structure. The content model of f.s.choice is one or more f.ptrs which specify which of the alternative f.structs inside the f.s.OR are the interpretations of the structure being pointed to by the enclosing f.ptr. --TL

    The illustration is broken down into text, a series of f.structs and alignment. The markup of the text presumably does not conform to the recommendations of chapter 6, since I have not checked them for conformity thereto. --TL

    <!-- Here is the text markup. --> <text id=sample1> <sentence id=s1> <word id=w1> <character id=c1> W </character> <character id=c2> a </character> <character id=c3> s </character> <character id=c4> h </character> </word> <character id=c5> &blank; </character> <word id=w2> <character id=c6> s </character> <character id=c7> i </character> <character id=c8> n </character> <character id=c9> k </character> <character id=c10> s </character> </word> <character id=c11> &period; </character> </sentence> </text> <!-- Here begins the series of <tag>f.struct</tag>s. --> <f.struct id=f1> <f.s.name> Analysis of sentence 'Wash sinks.' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> Sentence </f.struct> </feature> <feature> <f.name> Alternative subanalyses </f.name> <f.s.OR id=f1o> <f.ptr target=f1a1> <f.ptr target=f1a2> </f.s.OR> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f1a1> <f.s.name> One subanalysis of 'Wash sinks.' </f.s.name> <feature> <f.name> Mood </f.name> <f.struct> Indicative </f.struct> </feature> <feature> <f.name> Voice </f.name> <f.struct> Stative </f.struct> </feature> <feature> <f.name> Subject </f.name> <f.ptr target=f3> </feature> <feature> <f.name> Predicate </f.name> <f.ptr target=f6> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f1a2> <f.s.name> Another subanalysis of 'Wash sinks.' </f.s.name> <feature> <f.name> Mood </f.name> <f.struct> Imperative </f.struct> </feature> <feature> <f.name> Voice </f.name> <f.struct> Active </f.struct> </feature> <feature> <f.name> Subject </f.name> <f.struct id=f1a2f1> <feature> <f.name> Category </f.name> <f.struct> NP </f.struct> </feature> <feature> <f.name> Number </f.name> <f.struct> Unspecified </f.struct> </feature> <feature> <f.name> Person </f.name> <f.struct> 2 </f.struct> </feature> </f.struct> </feature> <feature> <f.name> Predicate </f.name> <f.ptr target=f2> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f2> <f.s.name> Analysis of VP 'Wash sinks' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> VP </f.struct> </feature> <feature> <f.name> Head </f.name> <f.ptr target=f8> <f.s.choice target=f8o> <f.ptr target=f8a2> </f.s.choice> <!-- </f.ptr> See <fnref refid=choice> --> </feature> <feature> <f.name> Direct Object </f.name> <f.ptr target=f5> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f3> <f.s.name> Analysis of NP 'wash' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> NP </f.struct> </feature> <feature> <f.name> Alternative subanalyses of NP 'wash' </f.name> <f.s.OR id=f3o> <f.struct id=f3a1> <feature> <f.name> Proper </f.name> <plus> </feature> <feature> <f.name> Number </f.name> <f.struct> Singular </f.struct> </feature> <feature> <f.name> Object-type </f.name> <f.struct> Person </f.struct> </feature> </f.struct> <f.struct id=f3a2> <feature> <f.name> Mass </f.name> <plus> </feature> <feature> <f.name> Number </f.name> <f.struct> Singular </f.struct> </feature> <feature> <f.name> Head </f.name> <f.ptr target=f7> </feature> </f.struct> </f.s.OR> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f4> <f.s.name> Analysis of VP 'wash' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> VP </f.struct> </feature> <feature> <f.name> Head </f.name> <f.ptr target=f8> <f.s.choice target=f8o> <f.ptr target=f8a1> </f.s.choice> <!-- </f.ptr> See <fnref refid=choice> --> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f5> <f.s.name> Analysis of NP 'sinks' </f.s.name> <feature> <f.name> Count </f.name> <plus> </feature> <feature> <f.name> Number </f.name> <f.struct> Plural </f.struct> </feature> <feature> <f.name> Head </f.name> <f.ptr target=f9> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f6> <f.s.name> Analysis of VP 'sinks' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> VP </f.struct> </feature> <feature> <f.name> Head </f.name> <f.ptr target=f10> <f.s.choice target=f10o> <f.ptr target=f10a1> </f.s.choice> <!-- </f.ptr> See <fnref refid=choice> --> </feature> </f.struct> <f.struct id=f7> <f.s.name> Analysis of Noun 'wash' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> Noun </f.struct> </feature> <feature> <f.name> Inflected </f.name> <minus> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f8> <f.s.name> Analysis of Verb 'wash' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> Verb </f.struct> </feature> <feature> <f.name> Inflected </f.name> <minus> </feature> <feature> <f.name> Alternative subanalyses of Verb 'wash' </f.name> <f.s.OR id=f8o> <f.struct id=f8a1> <feature> <f.name> Subcat </f.name> <f.struct> Intransitive </f.struct> </feature> </f.struct> <f.struct id=f8a2> <feature> <f.name> Subcat </f.name> <f.struct> Transitive </f.struct> </feature> </f.struct> </f.s.OR> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f9> <f.s.name> Analysis of Noun 'sinks' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> Noun </f.struct> </feature> <feature> <f.name> Gloss <f.s.OR id=f9o> <f.struct id=f9a1> basins for washing </f.struct> <f.struct id=f9a2> depressions in a land surface </f.struct> </f.s.OR> </feature> <feature> <f.name> Inflected </f.name> <plus> </feature> <feature> <f.name> Number </f.name> <f.struct> Plural </f.struct> </feature> </f.struct> <!-- The next <tag>f.struct</tag> --> <f.struct id=f10> <f.s.name> Analysis of Verb 'sinks' </f.s.name> <feature> <f.name> Category </f.name> <f.struct> Verb </f.struct> </feature> <feature> <f.name> Inflected </f.name> <plus> </feature> <feature> <f.name> Number-of-subject </f.name> <f.struct> Singular </feature> <feature> <f.name> Person-of-subject </f.name> <f.struct> 3 </feature> <feature> <f.name> Alternative subanalyses of Verb 'sinks' </f.name> <f.s.OR id=f10o> <f.struct id=f10a1> <feature> <f.name> Subcat </f.name> <f.struct> Intransitive </f.struct> </feature> </f.struct> <f.struct id=f10a2> <feature> <f.name> Subcat </f.name> <f.struct> Transitive </f.struct> </feature> </f.struct> </f.s.OR> </feature> </f.struct> <!-- The <tag>alignment</tag> follows. --> <alignment> <al.map> <al.ptr id=s1> <al.list> <al.ptr id=f0> <al.ptr id=f1> </al.list> </al.map> <al.map> <al.range al.start=w1 al.end=w2> <al.ptr id=f2> </al.map> <al.map> <al.ptr id=w1> <al.list> <al.ptr id=f3> <al.ptr id=f7> <al.ptr id=f8> </al.list> </al.map> <al.map> <al.ptr id=w2> <al.list> <al.ptr id=f6> <al.ptr id=f9> <al.ptr id=f10> </al.list> </al.map> </alignment>