File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/00/c00-1020_metho.xml
Size: 17,548 bytes
Last Modified: 2025-10-06 14:07:09
<?xml version="1.0" standalone="yes"?> <Paper uid="C00-1020"> <Title>A Client/Server Architecture for Word Sense Disambiguation</Title> <Section position="3" start_page="0" end_page="136" type="metho"> <SectionTitle> 2 Architecture of the system </SectionTitle> <Paragraph position="0"/> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 2.1 XeLDa&quot; a linguistic client/server </SectionTitle> <Paragraph position="0"> application XeLDa addresses the problem of a generic developlnent l'ramework for linguistic-based and linguistics-enriched applications, based on available, as well as future research results. Potential applications include: translation aids over a network, on a desktop or a portable PC, syntax checking, terminology extraction, and authoring tools in general. This system provides developers and researchers with a common development architecture for the open and seamless integration of linguistic services. XeLDa offers different services such as dictionary lookup, tokenization, tagging, shallow parsing, etc.</Paragraph> <Paragraph position="1"> Dictionary lookup and shallow parsing are extensively used in the semantic rule extraction/application processes described in this paper.</Paragraph> </Section> <Section position="2" start_page="0" end_page="132" type="sub_section"> <SectionTitle> 2.2 Dictionary Lookup </SectionTitle> <Paragraph position="0"> The OHFD dictionary is accessible via the XeLDa server, which allows a fast and easy lookup of words. Each entry in the OHFD dictionary (cf.</Paragraph> <Paragraph position="1"> Figl, entry of seize in SGML format) is organized in different levels (Akroyd 92), corresponding to syntactic categories ( <S 1 >... </S 1 >, S 1 =part of speech distinction J), which are themselves divided into senmntic categories (<$2> ... </$2>, the senses we are interested in), themselves divided into several trans- null \]S l are a bit l'llOl*~ informative tlmn simple part of speech since they distinguish also t,ansilivc, imransilivc rellexive verbs, past participles, as well as some plural/singular nouns. Fine-grained SGML tags mark up different kinds of infornmtion related to semantic categories (<$2>) and translations, in particular: * <C()> ... </CO> mark collocates (typical subjeers, objects, modiliers,...); * <LC> ... </LC> mark compound exalnples associated with the headword ; * <LI~,> ... </LE> mark general examples used for illustration of a word or a phrase; * <I,I> ... </I,I> mark idiomatic examples; * <I~O> ... </LO> mark examples illustrating an obligatory syntactic structure of an entry; * <I.U> ... </LU> mark examples of usage; * <I,V> ... </IN> mark examples of phrasal verb l)attem.</Paragraph> <Paragraph position="2"> The recta-semantic information encoded into these (\]iffClCtlt SGMI. tags is used to acquire semantic dis,mfl~\]guation rules from the dictionary and guides the semantic rule application process, kS explained later.</Paragraph> </Section> <Section position="3" start_page="132" end_page="133" type="sub_section"> <SectionTitle> 2.3 Shallow Parser </SectionTitle> <Paragraph position="0"> The &quot;shanow parsing&quot; technology is based on a cascade of finite state transducers which allows us to extracl from a sentence its shallow syntactic structure (chunks) and its ftmctional relationships (AYt ct al. 97).</Paragraph> <Paragraph position="1"> The following example illustrates the kind of analysis provided by the shallow parser: A i~voh,er attd two shotguns wefw sei~ed at thepart3~ \[SC \[NP A revolver NP\]/SUBJ and \[NP two shotguns NP\]/SUBJ :v were seized SC\] \[PP at the party PP\].</Paragraph> <Paragraph position="2"> SUBJPASS(revolver, seize) SUBJPASS(shotgun, seize) VMODOBJ(seize,at,party) Shallow parser transducers al'C accessible via the XcLI)a server enabling fast and robust execution (Roux98).</Paragraph> <Paragraph position="3"> The syntactic relations used in the disambiguation system arc subject-verb, verb-object and modifier. Subject-verb relations include cases such as passives, rellexive and relative constructions. Modilier relations includes nominal, prepositional, adjectival, and adverbial phrases as well as relative clauses.</Paragraph> </Section> <Section position="4" start_page="133" end_page="133" type="sub_section"> <SectionTitle> 2.4 Rule extractor </SectionTitle> <Paragraph position="0"> To perform semantic tag assignment using the OHFD dictionary, a sense number (Si) is assigned to each semantic category (<$2>) of each entry.</Paragraph> <Paragraph position="1"> These sense numbers act as semantic tags in the process of disambiguation rule application, because they directly point to a particular meaning of an entry.</Paragraph> <Paragraph position="2"> In the context of our OHFD-based implementation, sense numbering consists in concatenating the homograph number (which is 0 if there are no homographs of the entry, or 1, 2, 3 ..... for each homograph otherwise), the S1 number, and the $2 number. For example, the entry seize is composed of five distinct senses, respectively numbered 0.I.1, 0.I.2, 0.I.3, 0.I.4 (for the transitive verb), 0.II.l (for the intransitive verb). Such sense numbers allow a deterministic retrieval of the semantic categories of a word.</Paragraph> <Paragraph position="3"> As in GINGER I (Dini et al. 98) and GINGER II (Dini et al. 99) the acquired rules are of two types: word level and/or ambiguity class level.</Paragraph> <Paragraph position="4"> The database is built according to the following strategy: for each sense number Si of the entry, examples are parsed with the shallow parseh and functional dependencies are extracted from these examples: if a dependency involves the entry lemma (headword), a semantic disambiguation rule is built. It can be paraphrased as: If the lemma X, which is ambiguous between $1, $2, ..., S~, appears in the dependency DEP(X,Y) or DEp(Y,X) then it can be disambiguated by assigning the sense Si.</Paragraph> <Paragraph position="5"> Such roles ate word level roles, because they match the lexical context.</Paragraph> <Paragraph position="6"> For each sense number again, collocates am used to build semantic rules. The type of dependency illustrated by a collocate of an entry is SGML-tagged in the OHFD 2, and is directly exploited to build rules in the same way.</Paragraph> <Paragraph position="7"> Then, for each rnle already built, semantic classes from an ontology (in our case, WordNet 3, (Fell null and adverbs, additional infommtion about adjectival and adverbial classes is extracted fi'om a general thesaurus, the Roget. baum 98)) are used to generalize the scope of the rules: the non-headword argument of functional dependencies is replaced in the rule by its selnantic classes. The resulting rule can be paraphrased as: If the lemma X, which is ambiguous between St, $2, ..., Sn, appears in the dependency DEP(X, ambiguityclass(Y)) or DEl'(mnbiguity_class(Y), X) then it can be disambiguated by assigning the sense Si.</Paragraph> <Paragraph position="8"> Such rules are class level rules, because they match the semantic context rather than lexical items. In both cases, the type of the role (<LC>, <LE>, <LI>, <LO>, <LU>, <LV>, <CO>) is kept and encoded into the rules.</Paragraph> <Paragraph position="9"> Fox&quot; example, from the last semantic category of seize, 0.I.l, the system built the following word level rules:</Paragraph> <Paragraph position="11"> Since engine belongs to the classes number 6 (noun.artifact) and 19 (noun.phenomenon), whereas mechanism belongs to the classes number 6, 4 (noun.act), 17 (noun.object), and 22 (noun.process), corresponding class level rules are:</Paragraph> <Paragraph position="13"> All dictionary entries are processed, which allow to automatically build a semantic disambiguation rule database available to be used by the semantic application program to disambiguate unseen texts.</Paragraph> </Section> <Section position="5" start_page="133" end_page="135" type="sub_section"> <SectionTitle> 2.5 Rule application program </SectionTitle> <Paragraph position="0"> The rule application program matches rules of the semantic database against new unseen input text using a preference strategy in order to disambiguate words on the fly. In cases where the system is not able to find any matching rules, it gives as fall back result the first meaning corresponding to the syntactic part of speech of the word in the sentence. Since the OHFD has been built using corpora frequencies, the most frequent senses of a word appear first in the entry. Therefore, even if there are no matching rules, the system gives as result the most probable meaning of the word to disambiguate.</Paragraph> <Paragraph position="1"> The linguistic strategy used in the application program is shown on several examples.</Paragraph> <Paragraph position="2"> Sttppose one wants to disambiguate tile woM seize in the sentence: Only cg'ter oranges had been served did ,led seize the initiative, a scrmmnage pick-zq) e/fort by Ronme Kirkl)atriek cancelling out Moore's score.</Paragraph> <Paragraph position="3"> The rule application l)rograul lirst extracts the functional dependencies by means of the shallow parser. The word to be disambiguated has to be member of one or more dependencies, ill this case: DOBJ(seize,initiative) The next step tries to match these dependencies with one or more rules in the semantic disambiguation database.</Paragraph> <Paragraph position="4"> If one aud only one role matches the lexical context of the dependencies directly, the system uses it to disambiguate the word, i.e. to assign the sense number Si 4 to it; otherwise, if several rules match directly at word level, the selection process uses the meta-semantic information encoded in SGMI, tags within the dictionary (and kept in the rules oil purpose) with the following preference strategy: rule built fl'om collocate (<C()>), from compounds examples (<LC>), from idiomatic examples (<IA>), t'rom structure examples (<L()>), from phrasal verb pattern examples (<IN>), t'rom usage examples (<LU>), and finally from general examples (<I,E>). As far its implementation is concerned, rules are weighted flom 1 to 7 according to their types.</Paragraph> <Paragraph position="5"> This strategy relies on the linguistic choices lexicographers made to build the dictionary and takes into account the accuracy of the linguistic type el' the examples: it ranges from collocates, which encode very typical arguments of prcdicatcs, to w'~ry general examples, as such the resulting rules are linguistically-based.</Paragraph> <Paragraph position="6"> In these particular exmnple, only one lexical rule matches the dependency extracted: seize: l)OBJ(scize,iuitiative) => 0.I.2 <C()> meaning that the sense nmnber alTected to seize is 0.1.2. This rule has been built using the typical collocate of seize in its 0.I.2 sense, namely initiative. The translation associated to this sense nmnber of seize in the dictionary is prendre, which 4possibly translation, depending on the application is the desired one in this context.</Paragraph> <Paragraph position="7"> In some casts, many rules may apply to a given woM in the same context, therefore we need a rule selection strategy.</Paragraph> <Paragraph position="8"> Suppose one wants now to disambiguate lhe word seize, in the sentence: 77w police seized a man employed by the Krttgetwdorp branch of the United Building Society on approximately 18 May 1985.</Paragraph> <Paragraph position="9"> The dependencies extracted by the shallow parser which might lead to a disambiguation, i.e. which involve seize, are:</Paragraph> <Paragraph position="11"> In the case of our example, none of Ihe rules of the database lnatch directly the lexical context of the dependencies. Therefore, the system tries to match the selnantic context of the dependency.</Paragraph> <Paragraph position="12"> To perform this task, the distance between the list of semantic classes o1' a potential rule (El) and the list o1' semantic classes associaled with tile non-headword o1' the dependency (L2) is calculated:</Paragraph> <Paragraph position="14"> &quot;lb enable fast execution in terms of distance calculation, a transducer which associate:~ a word with its WoMNet top classes has been built and is loaded on the server. The distance calculated here ranges from 0 to 1, 0 meaning a fttll match of classes, 1 no match at all, the &quot;best&quot; rules being the ones with the smallest distance. Ill this particular example, the list of classes atlached to man in WordNet is used to calculate the distance with the potential matching rules. Several rules now match the semantic context of the dependency DOBJ(seize,man).</Paragraph> <Paragraph position="15"> After removing rules matching with a distance above some threshold, it appears that two potential matching rules still compete:</Paragraph> <Paragraph position="17"> at class level DOBJ(seize, l 8) => 0.I.3 <CO>; * the other is built using the example to seize somebody around the waist: DOBJ(seize,somebody) :=> 0.I.l <LE>; at class level DOBJ(seize,l 8) => 0.I.1 <LE>; Indeed, prisoner and somebody sham the same semantic WordNet class (18, noun.animate) which is a member of the list of classes attached to man as well. The following preference strategy is appliedS: first, prefer rules from collocate (<CO>), then from compounds examples (<LC>), then from structure examples (<LO>), then from phrasal verb pattern examples (<LV>), then from usage examples (<LU>), and then fiom general examples (<LE>). This strategy allows the selection of the role to apply, here the one built with the collocate \[prisoner\]. The sense number attached by the system to seize is 0.i.3, the general meaning being capture, and the French translation s'emparer de.</Paragraph> <Paragraph position="18"> In cases where two competing rules are exactly of the same type, the system chooses the first one (first sense appearing in the entry), relying on the fact that the OHFD was built using corpora: by default, semantic categories of the entries are ordered according to frequency in corpora.</Paragraph> <Paragraph position="19"> The previous example showed how rules can compete between each other. But in some cases they can cooperate as well. Let's disambiguate seize in the following example sentence: United Slates federal agents seized a smfaceto-air rocket launche~; a rocket motto; range-finders and a variety of milim O, manuals.</Paragraph> <Paragraph position="20"> Since the sentence contains a coordinated direct object of seize, one gets the following dependencies fiom the shallow parse,:</Paragraph> <Paragraph position="22"> Many roles are matching at class level, with a given distance d, namely:</Paragraph> <Paragraph position="24"> Two rules point out the sense number 0.I.3, the two others, the sense number 0.1.4. The strategy of role selection takes tiffs fact into account, giving inore importance to sense numbers matching many times. As far as implementation is concerned, the distances associated with roles pointing on the same sense number are multiplied together.</Paragraph> <Paragraph position="25"> Since distances range from 0 to 1, multiplying them decreases the resulting value of the distance.</Paragraph> <Paragraph position="26"> Since the lowest one is chosen, the system put the emphasis on semantic redundancy. In the example, the distance finally associated with sense nmnber 0.I.4 is 0.6625, which is smaller than the one associated with sense number 0.I.3 (0.675). The sense number selected by the system is therefore 0.1.4, the translation being saisir, which is the desired one. The stone strategy is implemented for word level rules cooperation, in this case, rule weights are added.</Paragraph> </Section> <Section position="6" start_page="135" end_page="136" type="sub_section"> <SectionTitle> 2.6 hnplementation </SectionTitle> <Paragraph position="0"> The different modules of the system presented here are ilnplemented in C++ in the XeLDa client/server architecture: - As aheady mentioned, the rule learner is a silnple XeLDa client that performs rule extraction once ; - The rule application program is implemented as a specific dictionary lookup service: when a word is semantically disalnbiguated with a rule, the application program reorders the dictionary entry accordlug to the semantic category assigned to the word. The best matching part of the entry is then presented first. This application is built on top of Locolex (Bauer et al. 95), an intelligent dictionary lookup which achieves some word sense disambiguation using word context (part-of speech and nmltiword expressions (MWEs) 6 recognition). However, Locolex choices remain purely syntactic. Using the OHFD information about examples, collocates and subcategorization as well as semantic classes from an ontology, the system presented here goes fnrther towm'ds semantic disambiguation.</Paragraph> <Paragraph position="1"> e'Multiword expressions range flom compounds (salle de bain) and fixed phrases (a priori) to idiomatic expressions (to sweep something t, nder the rug).</Paragraph> </Section> </Section> class="xml-element"></Paper>