Word extraction method and system for use in word-breaking using statistical information

A method, computer readable medium and system are provided which collect new words for addition to a lexicon for an agglutinative language. Sentences in the agglutinative language are retrieved from documents, for example from web pages. New word candidate character strings are identified in the retrieved sentences. The identified new word candidate character strings are filtered using a combination of a plurality of statistical criteria to generate a new words list. Words from the new words list are added to the lexicon.

BACKGROUND OF THE INVENTION

The present invention is related to word-breakers. More particularly, the present invention is related to new word extraction or collection methods for use in word-breaking.

Word identification or word-breaking is an important component of natural language processing applications that process textual inputs. In particular, word-breaking is important in most search engines. The search engines perform word-breaking on input strings for several purposes. For example, word-breaking is applied to input strings to determine component words of a compound word.

Word identification or word-breaking is an especially important task for search engines while processing languages, such as Chinese, which have no blank spaces between words. Such languages, which are sometimes referred to as agglutinative languages, include Chinese, Japanese and Korean, for example. An agglutinative language is a language in which words are made up of a linear sequence of distinct morphemes, and each component of meaning is represented by its own morpheme. Other examples of agglutinative languages include Sumerian, Hourrite, Ourartou, Basque and Turkish. Generally, in agglutinative languages, words can be compounded without spaces separating the component words.

In languages such as Chinese, word-breaking is typically implemented by searching for nouns. However, these nouns may be new words which do not exist in the original dictionaries or lexicons used by the word-breaker. When this occurs, the word-breaker cannot properly identify words from web pages and user queries. This in turn causes a lower precision rate in the search results.

Collecting new words for a custom lexicon used by the word-breaker is an endless task. Existing techniques for collecting the new words for the custom lexicon are time consuming and burdensome. Typically, new words are manually collected by search engine developers for addition to the custom lexicon used by that search engine. New words are also manually collected by developers for inclusion in the next product generation's system dictionary. The time consuming and labor intensive nature of these new word collection techniques leaves much to be desired.

SUMMARY OF THE INVENTION

A method, computer readable medium and system are provided which collect new words for addition to a lexicon for an agglutinative language. Sentences in the agglutinative language are retrieved from documents, for example from web pages. New word candidate character strings are identified in the retrieved sentences. The identified new word candidate character strings are filtered using a combination of a plurality of statistical criteria to generate a new words list. Words from the new words list are added to the lexicon.

When retrieving sentences from web pages, the web pages can be retrieved using a crawler component, and a sentence breaking component can be used to obtain the sentences. In some embodiments, the step of identifying new word candidate character strings in the retrieved sentences includes identifying new word candidate character strings having a predetermined range of number of characters. In one particular embodiment, new word candidate characters strings have between three characters and five characters.

Filtering the identified new word candidate character strings using the combination of the plurality of statistical criteria to generate the new words list includes, in some embodiments, filtering using both a frequency criteria and a variance criteria. In other embodiments, filtering is also based upon a character association criteria.

While the present invention applies generally to agglutinative languages in which there are no blank spaces between words, in particular embodiments, the present invention applies to the Chinese language.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

FIG. 2is a block diagram of a mobile device200, which is an alternative exemplary computing environment. Mobile device200includes a microprocessor202, memory204, input/output (I/O) components206, and a communication interface208for communicating with remote computers or other mobile devices. In one embodiment, the afore-mentioned components are coupled for communication with one another over a suitable bus210.

Memory204is implemented as non-volatile electronic memory such as random access memory (RAM) with a battery back-up module (not shown) such that information stored in memory204is not lost when the general power to mobile device200is shut down. A portion of memory204is preferably allocated as addressable memory for program execution, while another portion of memory204is preferably used for storage, such as to simulate storage on a disk drive.

Memory204includes an operating system212, application programs214as well as an object store216. During operation, operating system212is preferably executed by processor202from memory204. Operating system212, in one preferred embodiment, is a WINDOWS® CE brand operating system commercially available from Microsoft Corporation. Operating system212is preferably designed for mobile devices, and implements database features that can be utilized by applications214through a set of exposed application programming interfaces and methods. The objects in object store216are maintained by applications214and operating system212, at least partially in response to calls to the exposed application programming interfaces and methods.

Communication interface208represents numerous devices and technologies that allow mobile device200to send and receive information. The devices include wired and wireless modems, satellite receivers and broadcast tuners to name a few. Mobile device200can also be directly connected to a computer to exchange data therewith. In such cases, communication interface208can be an infrared transceiver or a serial or parallel communication connection, all of which are capable of transmitting streaming information.

Input/output components206include a variety of input devices such as a touch-sensitive screen, buttons, rollers, and a microphone as well as a variety of output devices including an audio generator, a vibrating device, and a display. The devices listed above are by way of example and need not all be present on mobile device200. In addition, other input/output devices may be attached to or found with mobile device200.

The present invention includes improved methods for collecting new words to be added to a lexicon used by a word-breaker. Either or both of the collection method and the word-breaker can be implemented in computing environments such as the one illustrated inFIG. 1, or in other types of computing environments. In contrast to conventional methods that typically involve a high degree of manual effort to collect new words for inclusion in a custom lexicon or system dictionary, the methods and systems of the present invention obtain new words automatically, or semi-automatically. The new word collection methods of the present invention are particularly useful for agglutinative languages in which words are compounded or otherwise appear without the use of spaces or hyphens between words.

FIGS. 3 and 4are block diagrams illustrating a search engine indexing system300and a search engine system400, both of which utilize a word-breaking module or component. The word-breaking module in turn utilizes a dictionary or lexicon. The present invention includes methods and apparatus for adding new words to the lexicon. A further discussion of these methods follows a description of the systems shown inFIGS. 3 and 4.

As noted,FIG. 3is a block diagram of a search engine indexing system300illustrating one use of word-breaking during a process of indexing documents or websites for later use with a search engine. System300includes a character string extraction module or component310. At an index time, component310extracts character strings311from documents or websites (collectively referred to as “documents”) shown at315.

The system300also includes a word-breaking module or component320that analyzes the character strings311to generate keywords321. The word-breaking component320can function as conventional word-breaking modules or components function. In the process of generating keywords321from character strings311, word-breaking component320utilizes a lexicon325. Lexicon325can be a conventional full lexicon used by a variety of applications, a custom lexicon specific to a particular application, or a combination of the two. In a conventional manner, word-breaking component320can also use appropriate grammars330and statistical data335for the particular agglutinative language of the character strings.

Since some search engines exclude certain noise words, word-breaking component320can also access a noise words database or list340and subtract or exclude the noise words from the group of resultant words that will eventually be provided as keywords321. This function can also be implemented in a separate noise words exclusion step by a separate noise words exclusion module or component if desired. The noise words in noise word list340can be customizable or specific to particular search engines since not all search engines are likely to exclude the same noise words. Example noise words might include functional words such as those corresponding to “a” and “the” in the English language. Many other examples of other types of noise words are also possible, and would depend upon the particular agglutinative language.

The resultant keywords321provided by word-breaking component320are added to an index350. Index350correlates the keywords to the documents315from which the original character strings were extracted. These keywords are then used to retrieve appropriate documents in response to a search engine query including the keywords.

FIG. 4is a block diagram of a search engine system400illustrating one use of word-breaking during a search for documents or websites in response to a natural language user query. System400includes word-breaking component320that receives a user query in the form a text input405. The text input405is, in the case of agglutinative languages for example, typically in the form of a string of text without spaces between individual words. The word-breaking component is illustrated as being the same word-breaking module or component used in system300described inFIG. 3. However, this need not necessarily be the case, and differences between the word-breaking components used in the various systems can exist.

Word-breaking component320uses lexicon325to perform the word-breaking functions in a known manner. As discussed previously, the word-breaking component can also use grammars, statistical data and other resources to perform the word-breaking functions as is required or most beneficial for the particular language being analyzed. The output of word-breaking component320is a words list410derived from the text input405.

Similar to indexing system300discussed above, search engine system400can exclude noise words. Again, the noise words can include functional words such as equivalents of “a” and “the”, or other words that are not rich in content and that do not carry significant meaning. The noise words can be specific to particular languages. Noise word exclusion is optional, and can be implemented in a separate noise word exclusion module or component420, or it can be implemented within word-breaking component320. After noise word exclusion, the result is a list or group of keywords430.

System400also includes a keyword look-up module or component440that compares the keywords430to the keywords stored in index350. For matches of keywords430to keywords in index350, the corresponding documents or sites315(or a list of the corresponding documents or sites) are retrieved. Keyword look-up component440will typically rank the retrieved documents or sites such that the results450are most probably the intended results for the query. For example, component440can rank the results based upon frequency of the keywords within the documents or sites, based upon the percentage of the keywords that are actually found in individual documents or sites, or by other ranking criteria.

Referring now toFIG. 5, shown is a new word collection system500in accordance with embodiments of the present invention. The various modules or components illustrated inFIG. 5are similarly representative of methods of the present invention. System500and its corresponding methods are described together in order to better illustrate the invention.

A first step in the new word collection method of the present invention is to extract or retrieve sentences, in a particular agglutinative language, from documents and/or web pages/sites (sometimes collectively referred to herein as “documents”)501. This is illustrated inFIG. 5as crawler component or functions505. In an exemplary embodiment, the crawler component retrieves sentences from web pages over the world wide web or internet using web crawling techniques typically employed by internet search engine providers. Retrieval of these pages and sentences can also be over computer networks other than the internet.

The step of extracting or retrieving sentences in an agglutinative language, such as Chinese, is shown inFIG. 5as including two sub-steps. First, a document retrieval module or component510of the crawler retrieves the documents (i.e., web pages/sites or other documents), and then a sentence breaking component520identifies sentences on the documents. The output of crawler component505and the sub-steps described is a list of retrieved sentences521.

Next, as illustrated at530inFIG. 5, a character string identification component extracts new word candidates531from the retrieved sentences. The character string identification component530can access dictionary or lexicon325to eliminate from the new word candidates531any words which are already in the lexicon. Generally, all character strings or streams can be new word candidates. However, in an exemplary embodiment, only character strings having a predetermined number of characters, or a predetermined range of numbers of characters, are considered new word candidates. For example, in one embodiment only character strings having between three and five characters are considered new word candidates.

As a specific example, assume that crawler component505retrieves three Traditional Chinese sentences from pages501:
Also assume that the yet to be identified character stringrepresents a new word which does not exist in lexicon325. Note that this example is greatly simplified, using a small number of retrieved sentences relative to the number of sentences that would typically be retrieved by crawler component505during actual operation.

Considering only new word candidates which have three, four or five characters, the new word candidates531from these three sentences are shown in Table 1 ofFIG. 6. The new word candidates include all strings of three, four or five consecutive characters found within the respective sentences.

Referring back toFIG. 5, the method of the present invention includes filtering the new word candidates531using a statistical filtering component550based upon multiple statistical criteria to generate or obtain a new words list551. The step of filtering the new word candidates based upon multiple statistical criteria can further include the step shown at540of calculating or generating new word candidate statistical data. In an exemplary embodiment, statistical data generation component and step540generates the following statistic information for new word candidates531:(1) Frequency of occurrence of the new word candidate character string in the retrieved sentences521;(2) Variance of left-hand side and right-hand side characters of the new word candidate character string in the retrieved sentences521; and(3) Character association of the new word candidate character string.
Thresholds are defined for each of the multiple types of statistic information, and any new word candidates531which satisfy the criteria established for each of the different statistical tests (or a predetermined pair of the statistical tests in alternative embodiments) are placed in the new word list551. This threshold testing based upon multiple statistical criteria is implemented by filtering component550. Further discussion of the above-described statistical criteria, and therefore of the operation of statistical data generation component540and statistical filtering component550, are provided now with reference toFIGS. 7 and 8.

Referring now to Table 2 shown inFIG. 7, shown is the frequency of occurrence of each of the new word candidate character strings identified in Table 1. The frequency of occurrence is the number of times that the particular new word candidate appeared in the retrieved sentences521. In this example, only three sentences have been retrieved to simplify the illustration. Therefore, the frequencies of occurrence shown in Table 2 corresponds to the number of times that particular new word candidates appeared in the three sentences.

Filtering component550is configured to eliminate from contention any new word candidate character strings which do not appear at least some threshold number of times in the retrieved sentences. For purposes of illustration using this example, if the threshold frequency were set to 3, then only the candidatesandpass this threshold and are still considered for addition to the new words list.

Next, consider the variance statistical information described above. While in some embodiments the variance statistical information is calculated for each new word candidate identified, in other embodiments the variance information is only calculated for any new word candidates which have passed other criteria, such as the frequency criteria. In the current example, since only the termsandpassed the frequency threshold criteria implemented by filtering component550, statistical data generation component540only calculates the variance of left-hand side and right-hand side characters forand.

Left-hand side variance of a new word candidate is defined as the number of different characters which appear at the left-hand side of the new word candidate divided by the frequency of the new word candidate. More specifically, this is the number of different characters which are immediately adjacent to the first or left-hand side character of the new word candidate in the retrieved sentences. Right-hand side variance of a new word candidate is similarly defined as the number of different characters which appear immediately adjacent at the right-hand side of the new word candidate divided by the frequency of the new word candidate.

Using the three sentences discussed above for the current example, the left-hand side characters ofareand, and the right-hand side characters areTherefore the left-hand side variance is equal to 1 (i.e., 3/3) since there are 3 different charactersandadjacent to the left-hand side ofin the sentences, and since the frequency ofis 3 as shown in Table 2. The right-hand side variance ofis equal to 1/3 since there is only one characterfound to the right-hand side ofand since the frequency ofis 3.

Table 3 shown inFIG. 8is a variance table illustrating the left-hand side variance and the right-hand side variance for each of the new word candidatesandwhich passed the minimum frequency requirement. In some embodiments, filtering component550shown inFIG. 5is configured to eliminate from contention any new word candidate character strings which do not have left-hand side and right-hand side variances above some threshold(s). The threshold for the left-hand side variance can be the same as the threshold for the right-hand side variance in embodiments of the invention, or the thresholds can be set to different values as desired. If for example the left-hand side variance threshold and the right-hand side variance threshold in this case were both set to 0.8, the only remaining new word candidate to meet these thresholds is

In some embodiments, any new word candidates which pass both the frequency and variance threshold requirements are placed in new word list551without further statistical filtering. However, as described above, in other embodiments any new word candidate must also pass a character association (CA) requirement before being placed in the new word list551. In the context of the present invention, character association is defined as the frequency of two characters appearing adjacent one another in the retrieved sentences, divided by the multiplication product of the frequency of the first character and the frequency of the second character in the retrieved sentences. In other words:
CA=(frequency of two adjacent characters)/(frequency of first character*frequency of second character)

Since after the above two criteria (frequency and variance) onlyremains as a new word candidate in this example, character association is calculated only forThree strings of two characters exist inandThe individual character associations for these three strings are calculated as shown:
→CA=3/(3*3)=3/9=0.333
→CA=3/(3*3)=3/9=0.333
→CA=3/(3*3)=3/9=0.333
Therefore, the average character association ofis (0.333+0.333+0.333)/3=0.333. If an average character association threshold is set to 0.3, for example, thenmeets the character association criteria. In some embodiments, filtering component550shown inFIG. 5is configured to eliminate from contention any new word candidate which does not meet the character association criteria threshold. The result is a new words list551which contains only character strings which passed each statistical filtering criteria. In the present example, onlymeets each of the statistical criteria to be added to the new words list551.

In some embodiments, new words list551is human filtered (i.e., reviewed by one or more persons to verify and/or exclude new words) before adding the new words list551to lexicon or dictionary325. This is illustrated at560inFIG. 5. However, in other embodiments, the new words list is added to lexicon325without any human filtering. The determination whether to utilize human filtering will typically be made based upon a workload/effect tradeoff analysis. With new words added to lexicon325, the lexicon is used by the word-breaker during query and index processing functions as described above.

To summarize the use of word-breaking component320and lexicon325, at index time, a system such as the one shown inFIG. 3extracts character strings from documents. The extracted character strings are analyzed by the word-breaker320. In this process, the word-breaker uses the lexicon and/or a custom lexicon, grammars, statistic, etc, as described above with reference toFIG. 3. The resultant keywords are stored in the index.

At query time, a word-breaking component of a system such as the one shown inFIG. 4is used to obtain a words list from a text input string of a user query. The resulting words list, or keywords from the resulting words list, are used as look-up parameters to search the index. The system then returns the most probable result files (or sites).

Periodically, an off-line process is implemented in which the new word extraction method shown inFIG. 5is run to obtain new words. These new words are then added to the word-breaker dictionary or lexicon, and the documents or web pages are re-indexed using the updated word-breaker lexicon.

The methods and systems of the present invention provide improved linguistic analysis results. In the search scenario, better search result are achievable using the lexicon. Also, the present invention reduces the man-power requirements needed to maintain the word-breaker lexicon or dictionary.