Disambiguation of the meaning of terms based on context pattern detection

A method, system and computer program product for disambiguating meaning of terms. A natural language processing system obtains a first corpora of words used in a first sense and a second corpora of the same words that are used in a second sense. Each of these corpora of words may be associated with different linguistic domains. The natural language processing system generates a first and a second set of patterns using both the first and second corpora of words, respectively. A question passage is then received by the natural language processing system. The natural language processing system examines a word of interest in the question passage. The user is then notified that the word of interest is being used in the first sense or the second sense in response to identifying the word of interest in only the first set of patterns or the second set of patterns, respectively.

TECHNICAL FIELD

The present invention relates generally to natural language processing systems, and more particularly to disambiguation of the meaning of terms based on context pattern detection.

BACKGROUND

Various techniques are currently being utilized to understand written human language, such as natural language processing. Natural language processing is a field of computer science, artificial intelligence and computation linguistics concerned with the interactions between computers and human (natural) languages. As such, natural language processing involves natural language understanding enabling computers to derive meaning from human or natural language input.

However, understanding written human language across various linguistic domains is an increasing challenge. A “linguistic domain,” as used herein, refers to a sphere of knowledge. For example, an ambiguous phrase may have different meanings based on the context of the use of the phrase. For instance, a natural language processing system may understand terms used in the linguistic domain of animals, but when the system is expanded to process terms used in the linguistic domain of car brands, the natural language processing system may not be able to distinguish the term “Pinto” from referring to a horse or a car.

Disambiguating the meaning of terms with multiple meanings is important in various areas, including business and academic applications. For example, in the context of a business application used for drug safety, it is important to distinguish between when a mentioned concept refers to a risk as opposed to a precondition. The inability to make clear distinctions can degrade efficiency in the process of obtaining approval to market a drug by the U.S. Food and Drug Administration as well as increase cost by requiring human involvement.

In another example where it is important to disambiguate the meaning of terms by attributing the correct meaning to the term in question (accurately assigning the role to the term), accurate role assignment is important in social media extraction. For example, knowing the sense of a noun is important to track the sentiment. For instance, if a social media post uses the term “BP,” the term “BP” may refer to the oil and gas company British Petroleum or to a birthday party. In order to correctly track sentiment, it is important to attribute the correct meaning to the term.

By disambiguating the meaning of terms with multiple meanings, the utilization of applications, such as business and academic applications, is improved by reducing misclassification and increasing the confidence in decision making.

Unfortunately, there is not currently a language independent example drive means for effectively disambiguating the meaning of terms with multiple meanings.

SUMMARY

In one embodiment of the present invention, a method for disambiguating meaning of terms comprises obtaining a first corpora of words used in a first sense. The method further comprises obtaining a second corpora of words used in a second sense. The method additionally comprises generating, by a processor, a first set of patterns and a second set of patterns using the first corpora of words and the second corpora of words, respectively. Furthermore, the method comprises receiving a question passage. Additionally, the method comprises examining, by the processor, a word of interest in the question passage. In addition, the method comprises notifying, by the processor, a user that the word of interest is being used in the first sense or the second sense in response to identifying the word of interest in only the first set of patterns or the second set of patterns, respectively.

DETAILED DESCRIPTION

The present invention comprises a method, system and computer program product for disambiguating the meaning of terms. In one embodiment of the present invention, a natural language processing system obtains a first corpora of words used in a first sense and a second corpora of the same words that are used in a second sense. Each of these corpora of words may be associated with different linguistic domains (e.g., domain of animals and domain of sports). The natural language processing system generates a first and second set of patterns using both the first and second corpora of words, respectively. These “patterns,” as used herein, refer to context patterns that contain words, phrases, a sentence, etc. containing a term with multiple meanings used in a specific sense. For example, if the first corpora of words is associated with the linguistic domain of animals, then the set of patterns generated for the linguistic domain of animals contains patterns (words, phrases, a sentence, etc.) containing a term (e.g., bat) with multiple meanings used in the sense (e.g., mammal) associated with the linguistic domain of animals. In another example, if the second corpora of words is associated with the linguistic domain of sports, then the set of patterns generated for the linguistic domain of sports contains patterns (words, phrases, a sentence, etc.) containing a term (e.g., bat) with multiple meanings used in the sense (e.g., club used to strike a ball) associated with the linguistic domain of sports. A question passage is then received by the natural language processing system. A “question passage,” as used herein, refers to a sequence of two or more words arranged in a grammatical construction, where one of the words includes a term that has multiple meanings. The natural language processing system examines a word of interest in the question passage. A “word of interest,” as used herein, refers to a term that has different meanings based on the context of the use of such a term. The user is then notified that the word of interest is being used in the first sense or the second sense in response to identifying the word of interest in only the first set of patterns or the second set of patterns, respectively. In this manner, the meaning of terms with multiple meanings can be effectively disambiguated based on context pattern detection thereby improving the utilization of applications, such as business and academic applications, such as by reducing misclassification and increasing the confidence in decision making. Furthermore, in this manner, the present invention provides a language independent example driven means for effectively disambiguating the meaning of terms with multiple meanings.

Referring now to the Figures in detail,FIG. 1illustrates a hardware configuration of a natural language processing system100which is representative of a hardware environment for practicing the present invention. Natural language processing system100is configured to disambiguate terms of interest which have multiple meanings as discussed further below. Natural language processing system100may include a computer cluster (set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system) or a single computing system as shown inFIG. 1.

Referring toFIG. 1, natural language processing system100has a processor101coupled to various other components by system bus102. An operating system103runs on processor101and provides control and coordinates the functions of the various components ofFIG. 1. An application104in accordance with the principles of the present invention runs in conjunction with operating system103and provides calls to operating system103where the calls implement the various functions or services to be performed by application104. Application104may include, for example, a program for disambiguating the meaning of terms based on context pattern detection as discussed further below in connection withFIGS. 2-3.

Referring again toFIG. 1, read-only memory (“ROM”)105is coupled to system bus102and includes a basic input/output system (“BIOS”) that controls certain basic functions of natural language processing system100. Random access memory (“RAM”)106and disk adapter107are also coupled to system bus102. It should be noted that software components including operating system103and application104may be loaded into RAM106, which may be natural language processing system's100main memory for execution. Disk adapter107may be an integrated drive electronics (“IDE”) adapter that communicates with a disk unit108, e.g., disk drive. It is noted that the program for disambiguating the meaning of terms based on context pattern detection, as discussed further below in connection withFIGS. 2-3, may reside in disk unit108or in application104.

Natural language processing system100may further include a communications adapter109coupled to bus102. Communications adapter109interconnects bus102with an outside network thereby enabling natural language processing system100to communicate with other systems.

As stated in the Background section, understanding written human language across various linguistic domains is an increasing challenge. A “linguistic domain,” as used herein, refers to a sphere of knowledge. For example, an ambiguous phrase may have different meanings based on the context of the use of the phrase. For instance, a natural language processing system may understand terms used in the linguistic domain of animals, but when the system is expanded to process terms used in the linguistic domain of car brands, the natural language processing system may not be able to distinguish the term “Pinto” from referring to a horse or a car. Disambiguating the meaning of terms with multiple meanings is important in various areas, including business and academic applications. By disambiguating the meaning of terms with multiple meanings, the utilization of applications, such as business and academic applications, is improved by reducing misclassification and increasing the confidence in decision making. Unfortunately, there is not currently a means for effectively disambiguating the meaning of terms with multiple meanings.

The principles of the present invention provide a means for effectively disambiguating the meaning of terms with multiple meanings based on context pattern detection as discussed below in association withFIGS. 2-3.FIG. 2is a flowchart of a method for generating sets of patterns using corpora of words used in different senses.FIG. 3is a flowchart of a method for disambiguating the meaning of terms with multiple meanings based on context pattern detection.

As stated above,FIG. 2is a flowchart of a method200for generating sets of patterns using corpora of words used in different senses in accordance with an embodiment of the present invention.

Referring toFIG. 2, in conjunction withFIG. 1, in step201, natural language processing system100obtains a first corpora of words used in a first sense. In one embodiment, such a corpora of words is inputted to natural language processing system100by a user (e.g., linguistic expert) of natural language processing system100.

In step202, natural language processing system100obtains a second corpora of the same words that are used in a second sense. In one embodiment, such a corpora of words is inputted to natural language processing system100by a user of natural language processing system100. In one embodiment, the first and second corpora are associated with different linguistic domains.

For example, the term “bat” may refer to a mammal or a club used in certain games, such as baseball and cricket, to strike the ball. The term bat may be contained in the first corpora of words associated with the linguistic domain of animals as well as contained in the second corpora of words associated with the linguistic domain of sports.

In step203, natural language processing system100generates a first and a second set of patterns using the first and second corpora of words, respectively. These “patterns,” as used herein, refer to context patterns that contain words, phrases, a sentence, etc. containing a term with multiple meanings used in a specific sense. For example, if the first corpora of words is associated with the linguistic domain of animals, then the set of patterns generated for the linguistic domain of animals contains patterns (words, phrases, a sentence, etc.) containing a term (e.g., bat) with multiple meanings used in the sense (e.g., mammal) associated with the linguistic domain of animals. In another example, if the second corpora of words is associated with the linguistic domain of sports, then the set of patterns generated for the linguistic domain of sports contains patterns (words, phrases, a sentence, etc.) containing a term (e.g., bat) with multiple meanings used in the sense (e.g., club used to strike a ball) associated with the linguistic domain of sports.

In one embodiment, the sets of patterns are generated using an iteratively supervised lexicon induction algorithm. In such an approach, a domain (linguistic domain) expert builds a simplified domain model (e.g., semantic lexicons) and annotates documents with that model. In one embodiment, natural language processing system100reviews documents and extracts patterns containing words used in the domain model, such as the words from the first and second corpora of words. A “document,” as used herein, refers to any electronic writing conveying information, such as a social media post, a word processing document, an electronic message, etc. Natural language processing system100attempts to categorize these patterns in the appropriate linguistic domain based on the contextual meaning of the pattern. Through feedback from the user, system100adapts more quickly and produces more accurate results. Such a cycle is used to generate and assign high quality patterns to the appropriate domain.

In step204, natural language processing system100searches and identifies in the generated sets of patterns for matching patterns. That is, natural language processing system100searches and identifies in the first and second sets of patterns that used the first and second corpora of words, respectively, for matching patterns. For example, the pattern “I bought a Pinto” may be in the first set of patterns using the first corpora of words associated with the linguistic domain of animals as well as in the second set of patterns using the second corpora of words associated with the linguistic domain of car brands. Such a matching pattern is identified and removed from each set of patterns as discussed below.

In step205, natural language processing system100removes the matching pattern from the generated first and second sets of patterns. The matching pattern is removed from the generated sets of patterns since it will not be able to assist in disambiguating the meaning of a term (e.g., “Pinto”) in that matching pattern (“I bought a Pinto”).

Once the contextual patterns are generated, the disambiguation of the meaning of a term can be determined using these contextual patterns or signatures as discussed below in connection withFIG. 3.

As stated above,FIG. 3is a flowchart of a method300for disambiguating the meaning of terms with multiple meanings based on context pattern detection in accordance with an embodiment of the present invention.

Referring toFIG. 3, in conjunction withFIGS. 1-2, in step301, natural language processing system100receives a “question passage.” A “question passage,” as used herein, refers to a sequence of two or more words arranged in a grammatical construction, where one of the words includes a term that has multiple meanings. In one embodiment, such a question passage is identified by natural language processing system100in a document provided to natural language processing system100based on a term of interest being used in multiple domains (or corpora of words). A “document,” as used herein, refers to any electronic writing conveying information, such as a social media post, a word processing document, an electronic message, etc.

In step302, natural language processing system100examines a word of interest in the question passage. A “word of interest,” as used herein, refers to a term that has different meanings based on the context of the use of such a term. In one embodiment, natural language processing system100identifies the word of interest based on a learning algorithm which is initially provided words with multiple meanings from a linguistic expert and then learns further words with multiple meanings based on further exposure of patterns utilizing terms with different meanings across different linguistic domains. Such exposure may be learned by scanning and reviewing text in documents with topics covering different linguistic domains.

In step303, a determination is made by natural language processing system100as to whether the word of interest is used in only one of the generated sets of patterns (the generated first and second sets of patterns of step203). For example, suppose that the word of interest is “bark” which has multiple meanings. A determination is then made as to whether the term “bark” is used in one of the generated patterns.

If the word of interest is used in only one of the generated sets of patterns, then, in step304, natural language processing system100notifies the user (e.g., user of natural language processing system100) that the word of interest is being used in the first sense or the second sense based on identifying the word of interest only being used in a pattern in the set of patterns for the first corpora or the second corpora of words, respectively. For example, suppose that the first set of patterns using the first corpora of words is associated with the linguistic domain of sounds of animals and the second set of patterns using the second corpora of words is associated with the linguistic domain of sports teams, then the term “bark” may be found in a pattern “the dog barked at me” associated with the linguistic domain of sounds of animals and may not be found in any patterns associated with the linguistic domain of sports teams.

If, however, the word of interest was not used in only one of the generated sets of patterns, then, in step305, a determination is made by natural language processing system100as to whether the word of interest is used in both generated sets of patterns (the generated first and second sets of patterns of step203).

If the word of interest is not used in any of the generated sets of patterns, then, in step306, natural language processing system100notifies the user (e.g., user of natural language processing system100) that it cannot conclude the sense of the usage of the word of interest.

If, however, the word of interest is used in both generated sets of patterns, then, in step307, natural language processing system100compares the question passage to patterns in both the first and second generated sets of patterns containing the word of interest. For example, if the question passage is “Cabrera loses bat in the stands, Tigers fan gives it back,” and the word of interest is “bat,” then the question passage is compared with the patterns in both the first and second sets of patterns containing the word of interest.

In step308, natural language processing system100generates scores (meaning ranking scores) for each pattern in the first and second generated sets of patterns containing the word of interest based on the similarity of the question passage to the patterns containing the word of interest. In one embodiment, such a score is generated by natural language processing system100using natural language processing to assess the similarity of terms used in the question passage with respect to the terms used in the pattern containing the same word of interest. In one embodiment, the higher the similarity of terms, the higher the score. In one embodiment, the similarity of the question passage with respect to the patterns containing the word of interest is based on the use of the same or similar term (including different tenses of the same or similar term). In one embodiment, the similarity of the question passage with respect to the patterns containing the word of interest is based on semantic similarity. For example, the term “AI” and “artificial intelligence” may be deemed to be strongly correlated and similar since the term “AI” is usually abbreviated for artificial intelligence. In one embodiment, the similarity of the question passage with respect to the patterns containing the word of interest is based on semantic context. In such an embodiment, natural language processing system100may examine documents that contain snippets of text to discover other contextual terms to help provide a greater context for the question passage and generated patterns. A context vector may be generated that contains many words that tend to occur in context with certain term(s). Such context vectors may be utilized to assess the degree of similarity between the question passage and the patterns in the generated sets of patterns containing the word of interest.

In step309, natural language processing system100identifies the pattern in the first and second generated sets of patterns containing the word of interest that was attributed the highest score.

In step310, natural language processing system100notifies the user (e.g., user of natural language processing system100) that the word of interest is being used in the first or second sense in response to the pattern with the highest value being associated with the first or second corpora of words, respectively, and the highest value exceeding a threshold value, which may be user selected.

For example, suppose that the question passage is “Cabrera loses bat in the stands, Tigers fan gives it back,” and that the generated first set of patterns uses the first corpora of words associated with the linguistic domain of animals and that the generated second set of patterns uses the second corpora of words associated with the linguistic domain of baseball. Furthermore, suppose that the word of interest was the term “bat” which has multiple meanings and is found in a pattern in both generated sets of patterns. A score may be generated for each pattern in these sets of patterns that contain the word of interest “bat” based on the degree of similarity between the question passage and the pattern containing the word of interest “bat.” For example, a pattern, such as “Miguel Cabrera hits another walk-off home run for the Tigers, tossing his bat in delight,” in the second set of patterns using the second corpora of words associated with the linguistic domain of baseball would receive a higher score than the pattern, such as “bats flap their wings and fly like a bird,” in the first set of patterns using the first corpora of words associated with the linguistic domain of animals, since the question pattern is more similar to the former pattern than the latter pattern in terms of the usage of similar words (“Tigers” and “Cabrera”) and semantics. As a result, if the score associated with the former pattern exceeds a threshold, then it may be inferred that the word of interest “bat” is being used in the sense associated with the game of baseball. That is, it may be inferred that the word of interest “bat” as used in the question passage is likely to have the meaning of a club that is used in baseball to strike the ball.

In one embodiment, if the highest score attributed to the pattern containing the word of interest does not exceed the threshold value, then natural language processing system100notifies the user (e.g., user of natural language processing system100) that it cannot conclude the sense of the usage of the word of interest, such as in step306.

In this manner, the meaning of terms with multiple meanings can be disambiguated based on context pattern detection thereby improving the utilization of applications, such as business and academic applications, such as by reducing misclassification and increasing the confidence in decision making. Furthermore, in this manner, the present invention provides a language independent example driven means for effectively disambiguating the meaning of terms with multiple meanings.

While the foregoing discusses the present invention in connection with using two corpora of the same words used in different sense, the principles of the present invention may be applied to using more than two corpora of the same words used in different sense. Furthermore, the principles of the present invention may generate greater than two sets of patterns using more than two corpora of the same words used in different senses. Additionally, the principles of the present invention may disambiguate the meaning of terms with multiple meanings based on context pattern detection utilizing more than two sets of patterns. For example, the present invention may compare the question passage to patterns in more than two sets of patterns containing the word of interest in the case where the word of interest in the question passage was used in more than two different sets of patterns associated with more than two different linguistic domains. In the situation involving the word of interest being used in more than two different sets of patterns associated with more than two different linguistic domains, the word of interest is attributed the sense (meaning) based on which pattern in one of the generated sets of patterns is attributed the highest score (and assuming that the score exceeds the threshold value). The word of interest would then be deemed to be used in the sense that is utilized for that linguistic domain (the linguistic domain associated with the pattern that is attributed the highest score).