File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/relat/80/j80-2002_relat.xml
Size: 7,762 bytes
Last Modified: 2025-10-06 14:15:56
<?xml version="1.0" standalone="yes"?> <Paper uid="J80-2002"> <Title>A Parsing Algorithm That Extends Phrases</Title> <Section position="4" start_page="2" end_page="2" type="relat"> <SectionTitle> 4. Related Work </SectionTitle> <Paragraph position="0"> There are two sentence analysis programs with parsing algorithms that resemble ours in many ways, though theirs have been described in terms that are intimately tied to the particular semantic and syntactic representations used by those programs. The programs are PARSIFAL, by Marcus (1976, 1978a,b) and the analyser of Riesbeck (1975a,b).</Paragraph> <Section position="1" start_page="2" end_page="2" type="sub_section"> <SectionTitle> 4.1 PARSIFAL (Marcus) </SectionTitle> <Paragraph position="0"> The basic structural unit of PARSIFAL is the node, which corresponds approximately to our phrase status element. Nodes are kept in two data structures, a pushdown stack called the active node stack, and a three-place constituent buffer. (The buffer actually has five places in it, but the procedures that use it work with only three places at a time.) The grammar rules are encoded into rule packets. Since the organization of these packets has to do with the efficient selection of appropriate grammar rules and the invocation of procedures for adding structural details to nodes, the procedures we want to ignore while looking at the parsing algorithm of PARSIFAL, we will ignore the rule packets in this comparison. The essential fact about rule packets is that they examine only the top node of the stack, the S or NP node nearest the top of the stack, and up to three nodes in the buffer.</Paragraph> <Paragraph position="1"> The basic operations that can be performed on these structures include attaching the first node in the buffer to the top node of the stack, which corresponds to operation 3 in our algorithm, creating a new node that holds one or more of the nodes in the buffer, which corresponds to operation 4, and reactivating a node (pushing it onto the stack) that has already been attached to another node so that more nodes can be attached to it, which corresponds to the phrase extending operations 1,2, and 6. PARSIFAL has one operation that is not similar to the operations of our algorithm, which is that it can create nodes for dummy NP phrases called traces.</Paragraph> <Paragraph position="2"> These nodes are intended to provide a way to account for phenomena that would otherwise require transformational grammar rules to explain them.</Paragraph> <Paragraph position="3"> Our algorithm does not allow such an operation; if such an operation should prove to be necessary, however, it would not be hard to add, or its effect could be produced by the procedures called.</Paragraph> <Paragraph position="4"> One of the benefits of having a buffer in PARSIFAL is that the buffer allows for a kind of look-ahead based on phrases instead of just words. Thus the decision about what grammar rule to apply to the first node in the buffer can be based on the phrases that follow a certain point in the sentence under analysis instead of just the words. The system can look further ahead this way and still keep a strict limit on the amount of look-ahead available.</Paragraph> <Paragraph position="5"> We can get a similar effect with our algorithm if we restrict the application of its operations to the first four or five phrase status elements in the element list. In a sense, the first five elements of the list correspond to the buffer in PARSIFAL and the rest of the list corresponds to the stack. In fact, in a recent modification of PARSIFAL (Shipman and Marcus 1979) the buffer and stack were combined into a single data structure closely resembling our element list.</Paragraph> </Section> <Section position="2" start_page="2" end_page="2" type="sub_section"> <SectionTitle> 4.2 Riesbeck's Analyzer </SectionTitle> <Paragraph position="0"> The basic structural unit of Riesbeck's analyzer is the Conceptual Dependency structure as developed by Schank (1973,1975). A Conceptual Dependency structure is intended to represent the meaning of a word, phrase or sentence. The details of what a Conceptual Dependency structure is will not be discussed here.</Paragraph> <Paragraph position="1"> The monitor in Riesbeck's analyzer has no list or stack on which operations are performed; instead, it has some global variables that serve the same purpose. Only a few of these variables concern us here. The variable WORD holds the current word being looked at and can be thought of as the front element of our element list. The variable SENSE holds the sense of WORD or of the noun phrase of which WORD is the head. It is like the second element in our list. The equivalent to the third element in our list is the variable REQUESTS, which holds a list of pattern-action rules. There are some other variables (such as ART-INT) that on occasion serve as the fourth element of the list.</Paragraph> <Paragraph position="2"> Unlike the controllers in many other analysis programs, Riesbeck's monitor is not driven explicitly by a grammar. Instead, the syntactic information it uses is buried in the pattern-action rules attached to each word and word sense within his program's lexicon. Take, for example, the common sense of the verb &quot;give&quot;: one pattern-action rule says that if the verb is followed by a noun phrase denoting a person, the sense of that phrase is put in the recipient case slot of the verb. Another pattern-action rule says that if a following noun phrase denotes an object, the sense of the phrase is put in the object case slot of the verb. These pattern-action rules correspond to having grammar rules of the form VP --> give, and VP --> VP NP, where the pattern-action rules describe two different ways that a VP phrase and an NP phrase can combine into a VP phrase.</Paragraph> <Paragraph position="3"> There is a third pattern-action rule that changes the current sense of the word &quot;to&quot; in case it is encountered later in the sentence, but that is one of the actions that occurs below the syntactic level.</Paragraph> <Paragraph position="4"> Noun phrases are treated by Riesbeck's monitor in a special way. Unmodified nouns are considered to be noun phrases directly, but phrases beginning with an article or adjective are handled by a special subroutine that collects the following adjectives and nouns before building the corresponding Conceptual Dependency structure. Once the whole noun phrase is found, the monitor examines the REQUESTS list to see if there are any pattern-action rules that can use the noun phrase. If so, the associated action is taken and the rule is marked so that it will not be used twice. The monitor is started with a pattern-action rule on the REQUESTS list that puts a beginning noun phrase in the subject case slot of whatever verb that follows. (There are provisions American Journal of Computational Linguistics, Volume 6, Number 2, April-June 1980 95 Daniel Chester A Parsing Algorithm That Extends Phrases to reassign structures to different slots if later words of the sentence require it.) It can be seen that Riesbeck's analysis program works essentially by putting noun phrases in the case slots of verbs as the phrases are encountered in the sentence under analysis. In a syntactic sense, it builds a phrase of type sentence (first noun phrase plus verb) and then extends that phrase as far as possible, much as our algorithm does using left-recursive grammar rules. Prepositions and connectives between simple sentences complicate the process somewhat, but the process is still similar to ours at the highest level of program control.</Paragraph> </Section> </Section> class="xml-element"></Paper>