Patent Abstract:
A method and system for processing synonyms that adapts a general-purpose synonym resource to a specific domain. The method selects out a domain-specific subset of synonyms from the set of general-purpose synonyms. The synonym processing method in turn comprises two methods that can be used either together or on their own. A method of synonym pruning eliminates those synonyms that are inappropriate in a specific domain. A method of synonym optimization eliminates those synonyms that are unlikely to be used in a specific domain. The method has many applications including, but not limited to, information retrieval and domain-specific thesauri as a writer&#39;s aid.

Full Description:
CROSS-REFERENCE TO RELATED APPLICATION  
       [0001]    This application claims the benefit of priority from U.S. provisional application no. 60/236,342 filed Sep. 29, 2000. 
     
    
     
       TECHNICAL FIELD  
         [0002]    The invention relates to the field of natural language processing, and more particularly to a method and system for processing synonyms.  
         BACKGROUND OF THE INVENTION  
         [0003]    A key part of adapting natural language processing (NLP) applications to specific domains is the adaptation of their lexical and terminological resources. However, parts of a general-purpose terminological resource may consistently be unrelated to and unused within a specific domain, thereby creating a persistent and unnecessary amount of ambiguity that affects both the accuracy and efficiency of the NLP application.  
           [0004]    The present invention presents a method for processing synonyms that adapts a general-purpose synonym resource to a specific domain. The method selects out a domain-specific subset of synonyms from the set of general-purpose synonyms. The synonym processing method in turn comprises two methods that can be used either together or on their own. A method of synonym pruning eliminates those synonyms that are inappropriate in a specific domain. A method of synonym optimization eliminates those synonyms that are unlikely to be used in a specific domain.  
           [0005]    A method for adapting a general-purpose synonym resource to a specific domain has many applications. Two such applications are information retrieval (IR) and domain-specific thesauri as a writer&#39;s aid.  
           [0006]    Synonyms can be an important resource for IR applications, and attempts have been made at using them to expand query terms. See Voorhees, E. M., “Using WordNet for Text Retrieval,” In C. Fellbaum (Ed.), Wordnet:  An Electronic Lexical Database . MIT Press Books, Cambridge, Mass., chapter 12, pp. 285-303 (1998). In expanding query terms, overgeneration is as much of a problem as incompleteness or lack of synonym resources. Precision can dramatically drop because of false hits due to incorrect synonymy relations, that is, incorrect pairings of terms as synonyms. This problem is particularly felt when IR is applied to documents in specific technical domains. In such cases, the synonymy relations that hold in the specific domain are only a restricted portion of the synonymy relations holding for a given language at large. For instance, a set of synonyms like cocaine, cocain, coke, snow, C  
           [0007]    valid for English in general, would be detrimental in a specific domain like weather reports, where the terms snow and C (for Celsius) both occur very frequently, but never as synonyms of each other.  
           [0008]    A second application is domain-specific thesauri as a writer&#39;s aid. When given a target word, thesauri in word processors generally list sets of synonyms organized by part of speech, and then by sense, e.g., for snow, a thesaurus might present a listing as follows:  
           [0009]    noun (1) precipitation falling from clouds in the form of ice crystals snowfall  
           [0010]    noun (2) a narcotic (alkaloid) extracted from coca leaves cocaine, cocain, coke, C  
           [0011]    verb (1) . . .  
           [0012]    A thesaurus tailored to a specific domain would select, or at least order, the likely part of speech of a target word, the likely sense of that word for that part of speech, and favoured synonym terms for that sense. The methods described in the present invention can help provide such functionality.  
           [0013]    In both applications and others in NLP, the methods described in the present invention provide a way to automatically or semi-automatically adapt sets of synonyms to specific domains, without requiring labour-intensive manual adaptation.  
           [0014]    The method of synonym pruning in the present invention has an obvious relationship to word sense disambiguation (Sanderson, M.,  Word Sense Disambiguation and Information Retrieval , Ph.D. thesis, Technical Report (TR-1997-7), Department of Computing Science at the University of Glasgow, Glasgow G12 (1997); Leacock, C., Chodorow, M., and G. A. Miller, “Using Corpus Statistics and WordNet Relations for Sense Identification,”  Computational Linguistics , 24, (1), pp. 147-165 (1998)), since both are based on identifying senses of ambiguous words in a text. However, the two tasks are quite distinct. In word sense disambiguation, a set of candidate senses for a given word is checked against each occurrence of the relevant word in a text, and a single candidate sense is selected for each occurrence of the word. In synonym pruning, a set of candidate senses for a given word is checked against an entire corpus, and a subset of candidate senses is selected. Although the latter task could be reduced to the former (by disambiguating all occurrences of a word in a test and taking the union of the selected senses), alternative approaches could also be used. In a specific domain, where words can be expected to be monosemous (i.e., having only a single sense) to a large extent, synonym pruning can be an effective alternative (or a complement) to word sense disambiguation.  
           [0015]    From a different perspective, synonym pruning is also related to the task of assigning Subject Field Codes (SFC) to a terminological resource, as done by Magnini and Cavaglià (2000) for WordNet. See Magnini, B., and G. Cavaglià, “Integrating Subject Field Codes into WordNet,” In M. Gavrilidou, G. Carayannis, S. Markantonatou, S. Piperidis, and G. Stainhaouer (Eds.) Proceedings of the Second International Conference on Language Resources and Evaluation (LREC-2000), Athens, Greece, pp. 1413-1418 (2000). In WordNet a set of synonyms is known as a “synset”. Assuming that a specific domain corresponds to a single SFC (or a restricted set of SFCs, at most), the difference between SFC assignment and synonym pruning is that the former assigns one of many possible values to a given synset (one of all possible SFCs), while the latter assigns one of two possible values (the words belongs or does not belong to the SFC representing the domain). In other words, SFC assignment is a classification task, while synonym pruning can be seen as a ranking/filtering task. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    [0016]FIG. 1 is a block diagram of the synonym processor module comprising a synonym pruner and synonym optimizer;  
         [0017]    [0017]FIG. 2 is a block diagram of the synonym processor module comprising a synonym pruner;  
         [0018]    [0018]FIG. 3 is a block diagram of the synonym processor module comprising a synonym optimizer;  
         [0019]    [0019]FIG. 4 is a block diagram of the synonym pruner module shown in FIG. 1 and FIG. 2 comprising manual ranking, automatic ranking, and synonym filtering;  
         [0020]    [0020]FIG. 5 is a block diagram of the synonym pruner module shown in FIG. 1 and FIG. 2 comprising manual ranking and synonym filtering;  
         [0021]    [0021]FIG. 6 is a block diagram of the synonym pruner module shown in FIG. 1 and FIG. 2 comprising automatic ranking and synonym filtering;  
         [0022]    [0022]FIG. 6 a  is a block diagram of the synonym pruner module shown in FIG. 1 and FIG. 2 comprising automatic ranking, human evaluation, and synonym filtering;  
         [0023]    [0023]FIG. 7 is a block diagram of the synonym optimizer module shown in FIG. 1 and FIG. 3 comprising removal of irrelevant and redundant synonymy relations;  
         [0024]    [0024]FIG. 8 is a block diagram of the synonym optimizer module shown in FIG. 1 and FIG. 3 comprising removal of irrelevant synonymy relations;  
         [0025]    [0025]FIG. 9 is a block diagram of the synonym optimizer module-shown in FIG. 1 and FIG. 3 comprising removal of redundant synonymy relations.  
     
    
     DESCRIPTION  
       [0026]    Throughout the following description, specific details are set forth in order to provide a more thorough understanding of the invention. However, the invention may be practiced without these particulars. Well known elements have not been shown or described in detail to avoid unnecessarily obscuring the invention. Accordingly, the specification and drawings are to be regarded in an illustrative, rather than a restrictive, sense. The present invention consists of a number of component methods where each component method is described in various configurations. For each component method, a preferred embodiment of the various configurations for that component method has been described. For particular examples of the application of the invention, reference is made to the method and system disclosed in Turcato, D., Popowich, F., Toole, J., Fass, D., Nicholson, D., and G. Tisher, “Adapting a Synonym Database to Specific Domains,” In Proceedings of the Association for Computational Linguistics (ACL) &#39;2000 Workshop on Recent Advances in Natural Language Processing and Information Retrieval, 8 Oct. 2000, Hong Kong University of Science and Technology, pp. 1-12 (2000)., (cited hereafter as “Turcato et al. (2000)”) which is incorporated herein by reference.  
         [0027]    1. Synonym Processor  
         [0028]    [0028]FIG. 1, FIG. 2, and FIG. 3 are simplified block diagrams of a synonym processor  110 ,  210 , and  310  in various configurations. The synonym processor  110 ,  210 , and  310  takes as input a synonym resource  120 ,  220 , and  320  such as WordNet, a machine-readable dictionary, or some other linguistic resource. Such synonym resources  120 ,  220 , and  320  contain what we call “synonymy relations.” A synonymy relation is a binary relation between two synonym terms. One term is a word-sense; the second term is a word that has a meaning synonymous with the first term. Consider, for example, the word snow, which has several word senses when used as a noun, including a sense meaning “a form of precipitation” and another sense meaning “slang for cocaine.” The former sense of snow has a number of synonymous terms including meanings of the words snowfall and snowflake. The latter sense of snow includes meanings of the words cocaine, cocain, coke, and C. Hence, snowfall and snowflake are in a synonymy relation with respect to the noun-sense of snow meaning “a form of precipitation.” 
         [0029]    [0029]FIG. 1 shows the preferred embodiment in which the synonym processor  130  comprises a synonym pruner  150  and synonym optimizer  170 . This is the configuration described in Turcato et al. (2000) referenced above. The rest of the description assumes this configuration, except where stated otherwise.  
         [0030]    [0030]FIG. 2 and FIG. 3 are simplified block diagrams of the synonym processor  210  and  310  in two less favoured configurations. FIG. 2 is a simplified block diagram of the synonym processor  210  containing just the synonym pruner  250 . FIG. 3 is a simplified block diagram of the synonym processor  310  containing just the synonym optimizer  380 .  
         [0031]    1.1. Synonym Pruner  
         [0032]    [0032]FIG. 4, FIG. 5, and FIG. 6 are simplified block diagrams of the synonym pruner  415 ,  515 , and  615  in various configurations. The synonym pruner  415 ,  515 , and  615  takes as input a synonym resource  410 ,  510 , and  610  such as WordNet, a machine-readable dictionary, or some other linguistic resource. The synonym pruner  415 ,  515 , and  615  produces those synonymy relations required for a particular domain (e.g., medical reports, aviation incident reports). Those synonymy relations are stored in a pruned synonym resource  420 ,  520 , and  620 .  
         [0033]    The synonym resource  410 ,  510 , and  610  is incrementally pruned in three phases, or certain combinations of those phases. In the first two phases, two different sets of ranking criteria are applied. These sets of ranking criteria are known as “manual ranking”  425 ,  525 , and  625  and “automatic ranking”  445 ,  545 , and  645 . In the third phase, a threshold is set and applied. This phase is known as “synonym filtering”  455 ,  555 , and  655 .  
         [0034]    [0034]FIG. 4 shows the preferred embodiment in which the synonym pruner  415  comprises manual ranking  425 , automatic ranking  445 , and synonym filtering  455 . This is the configuration used by Turcato et al. (2000). The rest of the description assumes this configuration, except where stated otherwise.  
         [0035]    [0035]FIG. 5 and FIG. 6 are simplified block diagrams of the synonym pruner  515  and  615  in two less favoured configurations. FIG. 5 is a simplified block diagram of the synonym pruner  515  containing just manual ranking  525  and synonym filtering  555 . FIG. 6 is a simplified block diagram of the synonym pruner  605  containing just automatic ranking  645  and synonym filtering  655 .  
         [0036]    A variant of FIG. 6 is FIG. 6 a , in which the automatically ranked synonym resource  650   a  produced by the human evaluation of domain-appropriateness of synonymy relations  645   a  is passed to human evaluation of domain-appropriateness of synonymy relations  652   a  before input to synonym filtering  655   a.    
         [0037]    The manual ranking process  425  consists of automatic ranking of synonymy relations in terms of their likelihood of use in the specific domain  430 , followed by evaluation of the domain-appropriateness of synonymy relations by human evaluators  435 .  
         [0038]    The automatic ranking of synonymy relations  430  assigns a “weight” to each synonymy relation. Each weight is a function of (1) the actual or expected frequency of use of a synonym term in a particular domain, with respect to a particular sense of a first synonym term, and (2) the actual or expected frequency of use of that first synonym term in the domain. For example, Table 1 shows weights assigned to synonymy relations in the aviation domain between the precipitation sense of snow and its synonym terms cocaine, cocain, coke, and C.  
                                         TABLE 1                                   Synonymy relation between               precipitation sense of snow           and a sysnonym term   Weight                                        cocaine   1           cocain   0           coke   8           C   9168                      
 
         [0039]    Data about the actual or expected frequency of use of a synonym term is derivable from a number of domain sources. A primary source of frequency data is some domain corpus, for example, some collection of text documents from a particular domain. Another possible source of frequency data is a history of the use of a term in some particular application. An example of such a historical use is a collection of past queries or a term list in an information retrieval application. Another example is a history of the synonym terms selected by a user from a thesaurus in a word processor.  
         [0040]    When multiple sources of frequency data are available within a domain, the “weight” of each synonymy relation can be derived somewhat differently from the case where a single source of frequency data is available. The “weight” is again a function of the actual or expected frequency of use of the synonym terms in a synonymy relation, but now the actual or expected frequency of use can be derived from the multiple data sources. For example, in an information retrieval application, the weight of a synonymy relation can be derived from the frequencies of actual or expected use of its synonym terms in both a domain corpus (e.g., a collection of documents) and a collection of past queries. In this case, the weights of such synonymy relations would provide an estimate of how often a given term in the domain corpus is likely to be matched as a synonym of a given term in a query.  
         [0041]    One possible method and system (of many possible methods and systems) for the automatic ranking of synonymy relations  430  that may be used with the present invention is described in section 2.2.1 of Turcato et al. (2000). Where no inventory of relevant prior queries exists for the domain then the ranking may be simply in terms of domain corpus frequency. Where an inventory of relevant prior queries exists, then the ranking uses the frequency of the occurrence of the term in the domain corpus and the inventory of query terms to estimate how often a given synonymy relation is likely to be used.  
         [0042]    The set of synonymy-relations and their weights are then ranked from greatest weight to least, and then presented in that ranked order to human evaluators for assessment of their domain-appropriateness  435 . The weights are useful if there are insufficient evaluators to assess all the synonymy relations, as is frequently the case with large synonym resources  410 . In such cases, evaluators begin with the synonymy relations with greatest weights and proceed down the rank-ordered list, assessing as many synonymy relations as they can with the resources they have available.  
         [0043]    The judgement of appropriateness of synonymy relation in a domain might be a rating in terms of a binary Yes-No or any other rating scheme the evaluators see fit to use (e.g., a range of appropriateness judgements).  
         [0044]    The output of manual ranking  425  is a manually ranked synonym resource  440 . The manually ranked synonym resource  440  is like the synonym resource  410 , except that the synonymy relations have been ranked in terms of their relevance to a specific application domain. No synonymy relations are removed during this phase.  
         [0045]    In the second phase of the preferred embodiment shown in FIG. 4, the manually ranked synonym resource  440  is automatically ranked  445 . Automatic ranking  445  is based on producing scores representing the domain-appropriateness of synonymy relations. The scores are produced from the frequencies of the words involved in the synonymy relation, and the frequencies of other semantically related words. Those words involved in the synonymy relation are presently, but need not be limited to, terms from the lists of synonyms and dictionary definitions for words. Other semantically related words include, but need not be limited to, superordinate and subordinate terms for words.  
         [0046]    The semantically words used in automatic ranking  445  may come from a number of sources. A primary source is a general-purpose synonym resource (e.g., a machine-readable dictionary or WordNet), most obviously, the general-purpose synonym resource that is being pruned  410 . However, other sources are possible, for example, taxonomies and classifications of terms available online and elsewhere.  
         [0047]    The frequency of use of those semantically related words is derivable from a number of sources also. Sources of word frequency data include those mentioned during the earlier explanation of how weights were assigned during the automatic ranking of synonymy relations  430  (e.g., a domain corpus such as a collection of documents, a collection of past queries). Other potential sources of frequency data include, but are not limited to, general-purpose synonym resources (e.g., a machine-readable dictionary or WordNet), including the general-purpose synonym resource that is being pruned  410 .  
         [0048]    One possible method and system (of many possible methods and systems) for the automatic ranking of the domain-appropriateness of synonymy relations  445  that may be used with the present invention is described in section 2.3 of Turcato et al. (2000).  
         [0049]    The output of automatic ranking  445  is an automatically ranked synonym resource  450  of the same sort as the manually ranked synonym resource  440 , with the ranking scores attached to synonymy relations. Again, no synonymy relations are removed during this phase.  
         [0050]    In synonym filtering  455 , a threshold is set  460  and applied  465  to the automatically ranked synonym resource  450 , producing a filtered synonym resource  470 . It is during this phase of synonym pruning  460  that synonymy relations are removed.  
         [0051]    The threshold setting  460  in the preferred embodiment is flexible and set by the user through a user interface  415 , though neither needs to be the case. For example, the threshold could be fixed and set by the system developer or the threshold could be flexible and set by the system developer.  
         [0052]    The three phases just described can be configured in ways other than the preferred embodiment just described. Firstly, strictly speaking, automatic pruning  445  could be performed manually, though it would require many person-hours on a synonym resource  410  of any size. Second, in the preferred embodiment, the pruned synonym resource  410  is the result of applying two rounds of ranking. However, in principle, the pruned synonym resource  420  could be the result of just one round of ranking: either just manual ranking  525  as shown in FIG. 5 or just automatic ranking  645  as shown in FIG. 6.  
         [0053]    1.2. Synonym Optimizer  
         [0054]    [0054]FIG. 7, FIG. 8, and FIG. 9 are simplified block diagrams of the synonym optimizer  710 ,  810 , and  910  in various configurations. Input to of the synonym optimizer  710 ,  810 , and  910  is either an unprocessed synonym resource  720 ,  820 , and  920  or a pruned synonym resource  730 ,  830 , and  930 . The input is a pruned synonym resource  730 ,  830 , and  930  in the preferred embodiment of the synonym processor (shown in FIG. 1). The input is an unprocessed synonym resource  720 ,  820 , and  920  for one of the other two configurations of the synonym processor (shown in FIG. 3).  
         [0055]    Output is an optimized synonym resource  750 ,  850 , and  950 .  
         [0056]    The synonym optimizer  710 , 810 , and  910  removes synonymy relations that, if absent, either do not affect or minimally affect the behaviour of the system in a specific domain. It consists of two phases that can be used either together or individually. One of these phases is the removal of irrelevant synonymy relations  760  and  860 ; the other is the removal of redundant synonymy relations  770  and  970 .  
         [0057]    [0057]FIG. 7 shows the preferred embodiment in which the synonym optimizer  710  comprises both the removal of irrelevant synonymy relations  760  and the removal of redundant synonymy relations  770 . This is the configuration used by Turcato et al. (2000). The rest of the description assumes this configuration, except where stated otherwise.  
         [0058]    [0058]FIG. 8 and FIG. 9 are simplified block diagrams of the synonym optimizer  810  and  910  in two less favoured configurations. FIG. 8 is a simplified block diagram of the synonym optimizer  810  containing just the removal of irrelevant synonymy relations  860 . FIG. 9 is a simplified block diagram of the synonym optimizer  910  containing just the removal of redundant synonymy relations  970 .  
         [0059]    The removal of irrelevant synonymy relations  760  eliminates synonymy relations that, if absent, either do not affect or minimally affect the behaviour of the system in a particular domain. One criterion for the removal of irrelevant synonymy relations  760  is: a synonymy relation that contains a synonym term that has zero actual or expected frequency of use in a particular domain with respect to a particular sense of a first synonym term. For example, Table  1  shows weights assigned in the aviation domain for synonymy relations between the precipitation sense of snow and its synonym terms cocaine, cocain, coke, and C. The table shows that the synonym term cocain has weight 0, meaning that cocain has zero actual or expected frequency of use as a synonym of the precipitation sense of snow in the aviation domain. In other words, the synonymy relation (precipitation sense of snow, cocain) in the domain of aviation can be removed.  
         [0060]    Note that the criterion for removing a synonym term need not be zero actual or expected frequency of use. When synonym resources are very large, an optimal actual or expected frequency of use might be one or some other integer. In such cases, there is a trade-off. The higher the integer used, the greater the number of synonymy relations removed (with corresponding increases in efficiency), but the greater the risk of a removed term showing up when the system is actually used.  
         [0061]    In most cases, users will accept that irrelevant synonym terms are those with zero actual or expected frequency of use. However, the user interface  740  allows users to set their own threshold for actual or expected frequency of use, should they want to.  
         [0062]    A possible method and system (of many possible methods and systems) for the removal of irrelevant synonymy relations  760  that may be used with the present invention is described in section 2.4.1 of Turcato et al. (2000). In particular, terms which never appear in the domain corpus are considered to be irrelevant. If the domain corpus is sufficiently large, then terms which appear in a low frequency may still be considered to be irrelevant.  
         [0063]    The removal of redundant synonymy relations  770  eliminates redundancies among the remaining synonymy relations. Synonymy relations that are removed in this phase are again those that can be removed without affecting the behaviour of the system.  
         [0064]    A possible method and system (of many possible methods and systems) for the removal of redundant synonymy relations  770  that may be used with the present invention is described in section 2.4.2 of Turcato et al. (2000). In particular, sets of synonyms which contain a single term (namely the target term itself) are removed as are sets of synonyms which are duplicates, namely are identical to another set of synonyms in the resource which has not been removed.  
         [0065]    The output of optimization  710  is an optimized synonym resource  750 , which is of the same sort as the unprocessed synonym resource  720  and pruned synonym resource  730 , except that synonymy relations that are irrelevant or redundant in a specific application domain have been removed.  
         [0066]    Note that optimization  710  could be used if the only synonym resource to be filtered  455  was the manually ranked synonym resource  440  produced by manual ranking  425  within synonym pruning  405 . Indeed, optimization  710  would be pretty much essential if manual ranking  425  and filtering  455  was the only synonym pruning  405  being performed. Optimization  710  could also in principle be performed between manual ranking  425  and automatic ranking  445 , but little is gained from this because irrelevant or redundant synonymy relations in the manually ranked synonym resource  440  do not affect automatic pruning  445 .

Technology Classification (CPC): 6