File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/88/c88-1030_metho.xml

Size: 19,808 bytes

Last Modified: 2025-10-06 14:12:07

<?xml version="1.0" standalone="yes"?>
<Paper uid="C88-1030">
  <Title>THE PARALLEL EXE~ERT PARSER (PEP): A THOROUGHLY %~IVISED DESCENDAN'~ OF THE WORD EXPERT PARSEI% (WEP)</Title>
  <Section position="2" start_page="0" end_page="147" type="metho">
    <SectionTitle>
2. The WoEd Expmrt Parser (WEP)
</SectionTitle>
    <Paragraph position="0"> b~iefly described The Word Expert Parser (WEP, Small 1980) is a natural language understanding program in the AI tradition of semantic parsing (see also Hirst 1983v Hahn 1986, Cottrell 1985, Adriaens 1986a/b for WEP-inspired or -related work). The organization of the model differs strongly from that of a &amp;quot;classical&amp;quot; NLU system. Rather than having a number of components of rules that are applied (serially) to linguistic input by a general process, WEP considers the words themselves as active agents (word experts) that interact with each other and with other knowledge sources in order to find the meaning of a fraQT~ent of text. Words are implemented as coroutines~ i.e. processes that run for a while (broadcasting information or performing side-effect operations to refine the representation of the meaning of a text fra~nent), and suspend when they have to wait for information from other experts. The information they send or wait for are either signals relating to the status of the parsing  process (broadcast on a dedicated signal channel) or concepts .that represent the meaning of parts of the linguistic input (broadcast on a dedicated concept channel). The experts coordinate the understanding process in turn, eventually converging towards a conceptual structure that represents the meaning of a text fragment, 30 Fz'Om ~ to PEP In general, the idea of interacting processes is a very attractive one if one wants a flexible parser capable of using any type of information at any moment it needs it. This basic principle of WEP has been retained \[or PEP. Yet, although the design of the sy:3tem seemed to lend itself easily to a parallel implementation, linguistic and computational flaws in the model have made drastic revisions necessary before this could actually \])e done.</Paragraph>
    <Section position="1" start_page="147" end_page="147" type="sub_section">
      <SectionTitle>
3.1 True \]~arallelism
</SectionTitle>
      <Paragraph position="0"> Although WEP claimed to be &amp;quot;potentially parallel&amp;quot;, it heavily (and implicitly) relied on sequentiality to make its principles work.</Paragraph>
      <Paragraph position="1"> Especially for the restarting of suspended experts, a last-in first-out regime (stack) took care of contention for messages: the expert that placed an expectation for a message 16.st~ mostly got it first. Also, to avoid com~lications in expert communication, no new e~perts were initialized before the queue of leady-to-run experts was empty. The adherence to this sequentialization, not to mention the side-effects involved, obviously made WEP's claim of being &amp;quot;potentially parallel&amp;quot; invalid.</Paragraph>
      <Paragraph position="2"> Ir~ a truly parallel environment, sequentiality can no longer be relied on.</Paragraph>
      <Paragraph position="3"> PEP uses \[parallelism whenever possible: for the execution of expert code AND for initializing new experts (initializing all of them as soon as they are read and morphologically analyzed). In order to realize this, the most important departure from the original model is that experts are no longer only associated with words (the only linguistic entities acknowledged by WEP) deg We will now discuss what experts are associated with, and how the new view of experts leads to clearer and more explicit concepts o~ waiting and communicating in a parallel environment.</Paragraph>
    </Section>
    <Section position="2" start_page="147" end_page="147" type="sub_section">
      <SectionTitle>
3.2 Wo~d-o:~pQztJ vozsus concopt-e~8
</SectionTitle>
      <Paragraph position="0"> on different levels A major item of criticism uttered against WEP has been that it considers the word as the only entity to be turned into an expert process. Linguistically speaking, the existence of larger constituents is undeniable and must be taken into account, whatever \]aodel one advocates. From the computational viewpoint, squeezing all interactions into words makes it almost impossible to figure out what is going on in the overall parsing process. Words have to decide on everything, from morphological issues to pra~natic issues, with jammed communication channels as a result.</Paragraph>
      <Paragraph position="1"> In PEP, experts are associated with concepts rather than with words, it is very natural to do so: words are only used to evoke the concepts that conshitute the meaning of a fra~lent of text. St:i.l i ~ concepts have a concrete link to words and can be regarded as being associated with hhe group of words that evokes them. E.g. in &amp;quot;the young girl&amp;quot; three concepts can be discovered, associated with the b~sic word-groups &amp;quot;the&amp;quot;, &amp;quot;young&amp;quot; and &amp;quot;girl ~'. At: a higher level a compound concept constituting the meaning of the entire construc~ &amp;quot;the young glrl&amp;quot; is invoked.</Paragraph>
      <Paragraph position="2"> Concretely, in PEP a specific data structure (the expert ~rame) is associ~ted with every expert. The hierarchy that originates from the concepts is reflected by the interconnection of the expert fraracs.</Paragraph>
      <Paragraph position="3"> These are vertically related by \].eve\].</Paragraph>
      <Paragraph position="4"> interdependencies, and horizonta\]ly by the relative role the concepts of the frames play in the frame that is being built out of them one level higher. Besides its level~ a~ expert frame has three attribute slots: a function attribute (stating what the role is the expert concept plays at a spec.i.fJc level), a concept attribute (representing the contents of the expert) and a lexical attribute (simply correspondin~ to the gr&lt;~u~&gt; of words associated with Lhe conc&lt;~pt) .</Paragraph>
      <Paragraph position="5"> Below, we will see that this definition of e:~ expert frame is crucial for the rest~:/&lt;:!t~:!&lt;l cormmunication protocol among experts.</Paragraph>
      <Paragraph position="6"> The &amp;quot;analysis process&amp;quot; consists of the collection of currently active experts tha\[+ try to establish new concepts. ~f a ne~ concept can successfully be formed, the corresponding expert is added to the analysis process, while the combined concepl r s expe~t~ may die. They pass their expert frames~ a~0 so the contained information, to the new expert, which will usually incorporate them in its own expert frame. Notice that hh~ view has interesting software engineering aspects not present in WEP: by having a leveled approach expert code becomes more local, modular and adaptable. The dynamic process hierarchy enables the linguist/expert writer to write generic experts that can be parameterized with the value of the concept they represent (cp. object-oriented programming).</Paragraph>
      <Paragraph position="7"> A final note about the levels. Each level is intended to deal with a more or le~;s independent part in the derivation and composition of meaning. However, we leave i\[: up to the linguist writing the expe~-L processes to declare (i) what levels he wants to consider and (2) what the appropriate functions are that-he wants to use at the respective levels. By combining this flexible filling in of a rigorously defined model, we force the linguist to clearly specify the experts and help him to keep the experts relatively small (hence, more readable) and to figure out more easily where things could go wrong in the parsing process. A possible hierarchy of levels might be: morpheme, word, constituent, clause, sentence (each level having its own function attributes). In the somewhat oversimplified example below we will be using three levels (between brackets: the respective function attributes), viz. word level \[article;adjective;substantive\], constituent_level \[action;agent;object\], and sentence level.</Paragraph>
    </Section>
    <Section position="3" start_page="147" end_page="147" type="sub_section">
      <SectionTitle>
3.3 Broadcasting vs.
</SectionTitle>
      <Paragraph position="0"> explicit communication Experts are the active components of the analysis system. New concepts come into existence only through their interaction. Since parallelism was a major goal we have based our communication protocols on explicit identification of the expert frames involved in some interaction, which allows us to keep communication under control. Two kinds of communication take place: (I) attribute-refining: Experts are allowed to refine the attributes of ~xpert frames. The attributes are considered to be information that is accessible by all experts.</Paragraph>
      <Paragraph position="1"> (2) attribute-probing: Basing themselves on the attributes of the probed expert frames, experts decide which way to go in the analysis process. All attribute probing is in ~ the choose_alt command, that is described next.</Paragraph>
    </Section>
    <Section position="4" start_page="147" end_page="147" type="sub_section">
      <SectionTitle>
3.4 Suspending/resuming:
</SectionTitle>
      <Paragraph position="0"> explicit machinery vs.</Paragraph>
      <Paragraph position="1"> declarative reading Let us now turn our attention to the command that allows* experts to decide which way to go in their analysis process on the basis of information they expect from other experts. We have in fact localized all</Paragraph>
      <Paragraph position="3"> \]).</Paragraph>
      <Paragraph position="4"> It consists of a number of alternatives and an optional elsative. The alternatives contain a test, which may fail, suspend or succeed. In the last case the corresponding expert may be invoked. If tests from several  alternatives succeed, an arbitrary corresponding expert is invoked, whereas the others are not further considered (don't-care committed choice; see also below and Devos 1987, however, for a suggestion of how to realize non-determinism in view of possible ambiguity). Only after failure of all tests is the elsative-expert executed.</Paragraph>
      <Paragraph position="5"> Tests consist of a frame- specification and an attribute-condltion. The latter constitutes the actual test on the attribute of the frame selected by &amp;quot;frame-specification&amp;quot;. This frame can be referred to with testframe in the corresponding invoked expert. One will already have noticed tha~ the choose alt predicate does not contain any expl~cit scheduling commands. Indeed, we intend to entirely mask the program flow by a declarative reading. However, flow control remains necessary and St is realized by suspending a n expert rouC/ine (or a branch in the choose alt command, since the alternatives in the choese_alt may be executed in parallel), if it requires information that is not yet available. Only after this required information is filled in, does the expert-routine resume. This can cheaply be implemented using read-only unification (Shapiro 1986). Intuitively, predicates that probe for information suspend, if the variable that supplies this information is not yet instantiated. This suspension takes place during unification of the Flat Concurrent Prolog (FCP) predicate (see below), into which expert routines are compiled. Resumption occurs whenever the required variable gets instantiated.</Paragraph>
      <Paragraph position="6"> Suspension of a choose_alt branch may take place in the following cases: (i) If the search for the testframe requires information that is not yet available, it simply suspends. As a result the frame-specification always leads to the selection of a frame in a deterministic way. Hence, explicit communication becomes possible.</Paragraph>
      <Paragraph position="7"> (2) The attribute-test suspends until the information to be tested is available.</Paragraph>
      <Paragraph position="8"> There is one other command that may cause suspension of an expert, viz. begin_level (a_level). The execution of an expert that specifies begin_level(a_level), is only resumed after all attributes of incorporated expert frames are specified. This filling in of attributes takes place between different expert frames on the same level (intra-level communication). With rigid rules as to which expert fills in which frame, it is possible to prove that the expert code is deadlock free, We will further refer to these rules as the d~adlook avoidance rules. It suffices e.g. to prove that every frame that is at the lowest level that still contains unfilled frames, will eventually be filled in. It must then not be difficult to construct a deadlock analyser, that checks whether the deadlock avoidance rules are violated. This has not yet been further elaborated.</Paragraph>
      <Paragraph position="9"> However,, to ensure flexibility (especially from linguistic considerations) we are forced to allow inter-level communication, e.g. in sentences as &amp;quot;the little girl loved her toy&amp;quot;, where &amp;quot;her&amp;quot; is level equivalent to &amp;quot;little&amp;quot;, but anaphorically refers to &amp;quot;the little girl&amp;quot;, which will probably be at a higher (hence, different) level than &amp;quot;her&amp;quot;.v In this case deadlock free code is not easy to guarant~e, because of the possibility of circular waiting of experts for one another. It is o\[~r hope that we can also incorporate restr+-cted and well-specified use of this inter-level communication in the deadlock avoidancy rules.</Paragraph>
      <Paragraph position="10"> The system as yet designed, implements a don't-care committed-choice between the alternatives of a choose alt predicate. This means that an arbitrary alternative that succeeds, will be chosen to determine the expert's behaviour. We are well aware of the fact that don't-care committed-choice is not always what one wants in AI applications. We merely chose this (easy) option here in order not to burden the design and implementation with one more problem. We will Just mention two alternatives we intend to explore in the future.</Paragraph>
      <Paragraph position="11"> The first is intermediate between don't-care committed-choice and full non-determinism. To each alternative in the choose_alt command a Priority is assigned.</Paragraph>
      <Paragraph position="12"> The alternatives are then tried Out by descending priority, allowing the more likely ones to succeed first. (These priorities will often reflect frequency of occurrence of specific linguistic structures.) A prioritizing approach like this one will however require more synchronisation among the alte:rnatives of the choose alt to ensure a unique semantics of the command.</Paragraph>
      <Paragraph position="13"> The second is full non-determinism. NO priorities are assigned to alternatives, and the system is capable of undoing a wrong choice during the analysis process. It can go back to a choice point and try out another alternative whose test succeeds. A (costly) implementation of this strategy should be based on Concurrent Prolog code (Shapiro 1986) that contains a copy of the global environment for each alternative in the choose alt command. This Concurrent Prolog code would then have to be flattened to FCP (Codish &amp; Shapiro 1985).</Paragraph>
    </Section>
    <Section position="5" start_page="147" end_page="147" type="sub_section">
      <SectionTitle>
3.5 An Example
</SectionTitle>
      <Paragraph position="0"> Below we present the code of some sample experts that allow the analysis of the sentence &amp;quot;the little girl eats the apple&amp;quot;. The example is simplified, but illustrates well the crucial elements of PEp. First the appropriate levels and functions are declared. Then follows th~ code of the actual experts. Remember that expframe refers to the frame that is associated with the expezt and testframe refers to the frame that was referred to in the alternative of the preceding choose_air command.</Paragraph>
      <Paragraph position="1"> &amp;quot;begin frame&amp;quot; sets the appropriate level and &amp;quot;refine function&amp;quot; and &amp;quot;refine_concept&amp;quot; do the filling in of the attributes of the specified frame. The lexical attribute is automatically filled in when beginning the frame. The example restricts itself to choose_alt commands that only require intra-level communication. When the sentence is read, the corresponding experts are initialized and start to run in parallel.</Paragraph>
      <Paragraph position="2"> The rest of the code is self-explanatory.</Paragraph>
      <Paragraph position="3">  refine function(testframe, &amp;quot;agent'), incorporate(testframe), begin frame(sentence_level), show soluhion.</Paragraph>
    </Section>
  </Section>
  <Section position="3" start_page="147" end_page="147" type="metho">
    <SectionTitle>
4. A Parallel Implementation
</SectionTitle>
    <Paragraph position="0"> In the last section of this paper we will have a closer look at how all the aspects of PEP discussed so far have been implemented in a logic programming language. For our implementation we have used Logix, a Flat Concurrent Prolog environment (Silverman et al. 1986).</Paragraph>
    <Section position="1" start_page="147" end_page="147" type="sub_section">
      <SectionTitle>
4.1 General Model Organization
</SectionTitle>
      <Paragraph position="0"> The prototype realization of OUr model allowing for correct analysis of very simple sentences (such as &amp;quot;The man eats&amp;quot;, &amp;quot;A man eats&amp;quot;, &amp;quot;Man eats&amp;quot;) consists of an expert language (EL) to be used by the linguist when writing his experts, a precompiler that transforms the experts to FCP code and the .... Logix FCP compiler/emulator, our programming environment. The linguist is offered the EL, which only contains predicates at a high level of abstracPSion. He may further tune the expert levels we discussed earlier and the function attributes he will be using at each level to his own needs. He is only allowed to use the EL predicates according to his own specification of levels and function attributes. The EL is then precompiled to FCP. The main reason for the approach of precompiling is that we have to use flattening techniques on the predicates.</Paragraph>
      <Paragraph position="1"> These techniques are the domain of computer scientists and we do not want to bother the linguist with them. (Precompiling also offers important additional advantages such as syntax checking, checking of potential deadlock, etc.; these features are still under development).</Paragraph>
    </Section>
    <Section position="2" start_page="147" end_page="147" type="sub_section">
      <SectionTitle>
4.2 Data-structures: frame interconnection
</SectionTitle>
      <Paragraph position="0"> and blackboard information The lexical-morphological analyzer schedules and invokes the experts corresponding to the elementary lexical units and outputs a blackboard, i.e. a matrix with slots whose columns correspond to those units and whose rows correspond to a level. Each expert has one expert frame associated with it; this expert frame fills one slot of the blackboard. In the beginning of the analysis process all frames and the blackboard contain uninstantiated slots. Experts gradually  instantiate the slots. Referring to another expert's expert frame requires walking to it over the blackboard, The walk is defined in a unique way. All slots on the path should be instantiated, otherwise the walk suspends and waits for the instantiation. This is elegantly impiemented using the read-only unification of the parallel Prolog versions. Slots that will never be of any use any more, are instantiated to dummy constants in order not to indefinitely block suspended walks.</Paragraph>
    </Section>
  </Section>
class="xml-element"></Paper>
Download Original XML