Synonymous collocation extraction using translation information

A method of automatically extracting synonymous collocations from monolingual corpora and a small bilingual corpus is proposed. The methodology includes generating candidate synonymous collocations and selecting synonymous collocations as a function of translation information, including collocation translations and probabilities. Candidate synonymous collocations with similarity scores that exceed a threshold are extracted as synonymous collocations. The extracted collocations can be used later in language generation by substituting synonymous collocations for applications such as writing assistance programs.

BACKGROUND OF THE INVENTION

The present invention generally relates to natural language processing. More particularly, the present invention relates to natural language processing including synonymous collocations. A collocation refers to a lexically restricted word pair with a certain syntactic relation that can take the form: <head, relation-type, modifier>. For instance, a collocation such as <turn on, OBJ, light> is a collocation with a verb-object syntactic relation. Collocations are useful in helping to capture the meaning of a sentence or text, which can include providing alternative expressions for similar ideas or thoughts.

A synonymous collocation pair refers to a pair of collocations that are similar in meaning, but not identical in wording. For example, <turn on, OBJ, light> and <switch on, OBJ, light> are considered synonymous collocation pairs due to their similar meanings. Generally, synonymous collocations are an extension of synonymous expressions, which include synonymous words, phrases and sentence patterns.

In natural language processing, synonymous collocations are useful in applications such as information retrieval, language generation such as in computer-assisted authoring or writing assistance, and machine translation, to name just a few. For example, the phrase “buy book” extracted from user's query should also match “order book” indexed in the documents. In language generation, synonymous collocations are useful in providing alternate expressions with similar meanings. In the bilingual context, synonymous collocations can be useful in machine translation or machine-assisted translation by translating a collocation in one language to a synonymous collocation pair in a second language.

Therefore, information relating to synonymous expressions and collocations is considered important in the context of natural language processing. Attempts have been made to extract synonymous words from monolingual corpora that have relied on context words to develop synonyms of a particular word. However, these methods have produced errors because many word pairs are generated that are similar but not synonymous. For example, such methods have generated word pairs such as “cat” and “dog” which are similar but not synonymous.

Other work has addressed extraction of synonymous words and/or patterns from bilingual corpora. However, these methods are limited to extracting synonymous expressions actually found in bilingual corpora. Although these methods are relatively accurate, the coverage of the extracted expressions has been quite low due to the relative unavailability of bilingual corpora.

Accordingly, there is a need for improving techniques of extracting synonymous collocations particularly with respect to improving coverage without sacrificing accuracy.

SUMMARY OF THE INVENTION

A method of generating synonymous collocations that uses monolingual corpora of two languages and a relatively small bilingual corpus. The methodology includes generating candidate synonymous collocations and selecting synonymous collocations as a function of translation information, including collocation translations and probabilities. In some embodiments, the similarity of two collocations is estimated by computing the similarity of their feature vectors using the cosine method. Candidate synonymous collocations with similarity scores that exceed a threshold are extracted as synonymous collocations.

The generated collocations can be used later in language generation. In some embodiments, language generation includes parsing an input sentence into collocations, obtaining stored synonymous collocations, and substituting synonymous collocations into the input sentence to generate another sentence. In other embodiments, an input sentence in a source language can be translated by substituting synonymous collocations in a target language to generate a target language sentence.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Automatic extraction of synonymous collocations is an important technique for natural language processing including information retrieval, writing assistance, machine translation, question/answering, site search, and the like. Collocations are critical because they catch the meaning of a sentence, which is important for text understanding and knowledge inference. Further, synonymous collocations can be difficult for non-English speakers to master. Aspects of the present invention can help users use appropriate alternative or different expressions to express similar ideas and to avoid repetition. Also, users can often ask the same question with different phrases or collocations (e.g. paraphrases) in question/answering systems or query systems used for instance in obtaining information such as a site search used in a wide or local area network.

One aspect of the present invention provides for a method of obtaining synonymous collocation information of a source language such as English by using translation information from a target language such as Chinese. Another aspect of the present invention provides a method for processing an input sentence or text to generate another sentence or text in the same language using synonymous collocations. In still another aspect, the present invention provides a method of translating a source language sentence or text by selecting from target language synonymous collocations to generate a target language sentence or text.

In one view, aspects of the present invention are based on the assumption that two collocations are correlated if their translations are similar. Dependency triples or collocations are used to identify alternative expressions, which allow longer phrases to be captured that might be effective synonymous expressions for a shorter inputted phrase. Large monolingual corpora of different languages are used because they are relatively economical and easily obtained. A relatively small bilingual corpus is also used, especially for training purposes. Since the present invention primarily utilizes unsupervised training, human resources needed to develop manually labeled training data are minimized.

The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Tasks performed by the programs and modules are described below and with the aid of figures. Those skilled in the art can implement the description and/or figures herein as computer-executable instructions, which can be embodied on any form of computer readable media discussed below.

The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.

The computer110may also include other removable/non-removable, and volatile/non-volatile computer storage media. By way of example only,FIG. 1illustrates hard disk drive141that reads from or writes to non-removable, non-volatile magnetic media, magnetic disk drive151that reads from or writes to removable, non-volatile magnetic disk152, and optical disk drive155that reads from or writes to removable, non-volatile optical disk156such as a CD ROM or other optical media. Other removable/non-removable, volatile/non-volatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. Hard disk drive141is typically connected to system bus121through a non-removable memory interface such as interface140, and magnetic disk drive151and optical disk drive155are typically connected to system bus121by a removable memory interface, such as interface150.

A user may enter commands and information into computer110through input devices such as keyboard162, microphone163, and/or pointing device161, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to processing unit120through user input interface160that is coupled to the system bus, but may be connected by other interface and bus structure, such as a parallel port, game port or a universal serial bus (USB). Monitor191or other type of display device is also connected to system bus121via an interface, such as a video interface190. In addition to the monitor, computers may also include other peripheral output devices such as speakers197and printer196, which may be connected through output peripheral interface190.

Computer110may operate in a networked environment using logical connections to one or more remote computers, such as remote computer180. Remote computer180may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer110. The logical connections depicted inFIG. 1include local area network (LAN)171and wide area network (WAN)173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, computer110is connected to LAN171through a network interface or adapter170. When used in a WAN networking environment, computer110typically includes modem172or other means for establishing communications over WAN173, such as the Internet. Modem172, which may be internal or external, may be connected to system bus121via the user input interface160, or other appropriate mechanism. In a networked environment, program modules depicted relative to computer110, or portions thereof, may be stored in a remote memory storage device. By way of example, and not limitation,FIG. 1illustrates remote application programs185as residing on remote computer180. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

FIG. 2is a block diagram of mobile device200, which is another exemplary computing environment for practicing aspects of the present invention. Mobile device200includes microprocessor202, memory204, input/output (I/O) components206, and 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 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 operating system212, application programs214as well as 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.

Communications 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 device200within the scope of the present invention.

FIG. 3is an overview flow diagram showing two general aspects of the present invention embodied as a single method300.FIGS. 4 and 5are block diagrams illustrating modules for performing each of the aspects. It should be understood that the block diagrams and flowcharts described herein are illustrative for purposes of understanding and should not be considered limiting. For instance, modules or steps can be combined, separated, or omitted in furtherance of practicing aspects of the present invention.

Referring toFIGS. 3 and 4, lexical knowledge base construction module402performs step304in method300to augment lexical knowledge base404(shown inFIG. 4). Lexical knowledge base construction module402augments or provides lexical knowledge base404with synonymous collocation information used later to perform step308(shown inFIG. 3) to generate a sentence or text using synonymous collocations. Step304is discussed in greater detail below in conjunction withFIG. 6. Briefly, in step304, lexical knowledge base construction module402can augment lexical knowledge base404with information such as collocation databases, a language model of collocations, and a translation model of collocations.

Lexical knowledge base construction module402receives source language data illustrated as English language corpus401necessary to augment lexical knowledge base404. In one embodiment, the source language data comprises “unprocessed” data, such as data that can be obtained from newspapers, books, publications and journals, web sources and the like. The unprocessed source language data can be received from any of the input devices described above as well as from any of the data storage devices described above. It is important to note that use of English as source language is illustrative only. Lexical knowledge base construction module402can be an application program135executed on computer110or stored and executed on any of the remote computers in the LAN171or the WAN173connections. Likewise, lexical knowledge base404can reside on computer110in any of the local storage devices, such as hard disk drive141, or on an optical CD, or remotely in the LAN171or the WAN173memory devices.

Collocation Extraction

Source or English language corpus401is provides as an input to source or English collocation extraction module406having parser408. As noted above, a collocation comprises a word pair that has some syntactical relation, such as <verb, OBJ, noun>, also known as a dependency triple or “triple.” Sentences in English language corpus401are parsed into component dependency triples using suitable parser408. Parser output can be a phrase structure parse tree or a logical form represented with dependency triples. For example, the sentence “She owned this red coat.” can be parsed into the following four triples: <own, SUBJ, she>, <own, OBJ, coat>, <coat, DET, this>, and <coat, ATTR, red>. Generally, these triples are represented in the form of <head w1, relation-type r, modifier w2> as is well known.

One measure or value used to extract or define collocations, from the parsed triples is called weighted mutual information (WMI) discussed in “A Technical Word- and Term-Translation Aid Using Noisy Parallel Corpora Across Language Groups” by P. Fung and K. McKeown in Machine Translation, Vol. 1-2(special issue), pp. 53-87 and which can be expressed as the following equation:

Similarly, lexical knowledge base construction module402receives unprocessed target language or Chinese language corpus414necessary to augment lexical knowledge base404. Target language data can be provided from any of the input devices described above as well as from any of the data storage devices described above. It is also noted that use of Chinese is illustrative only and that other target languages can be used. In addition, aspects of the present invention are not limited to only one target language. For example, it can be advantageous to use one target language for some types of collocation relation-types and another target language for other relation-types.

Lexical knowledge base construction module402further comprises a target language or Chinese collocation extraction module416having parser418. Parser418parses or segments Chinese language corpus414into dependency triples (“triples”) such as <verb, OBJ, noun>. Chinese collocation extraction module416extracts parsed Chinese triples such as by selecting those triples that have WMI values larger than a given or selected threshold as described above.

The total number and unique source language collocations (e.g. English) extracted by module406are stored in an appropriate database409. Similarly, target or Chinese collocations extracted by module416are stored in a database419.

In actual experiments, English collocations for three kinds of collocations were extracted from the Wall Street Journal (1987-1992). The extracted English collocations are shown the table below:

ClassTypeTokensVerb, OBJ, noun506,6287,005,455Noun, ATTR, adj.333,2344,747,970Verb, MOD, adv.40,748483,911
Similarly, Chinese collocations were extracted from the People's Daily (1980-1998) which are summarized in the table below:

ClassTypeTokensVerb, OBJ, noun1,579,78319,168,229Noun, ATTR, adj.311,5605,383,200Verb, MOD, adv.546,0549,467,103
The threshold was set at 5 for both English and Chinese. “Tokens” refers to the total number of collocations extracted and “Type” refers to the number of unique collocations among the total extracted. Extracted Chinese collocations are used to train a language model constructed in Chinese language model construction module420as described below.

Candidate Synonymous Collocations

English collocations extracted at English collocation extraction module406are input or received by candidate synonymous collocation generation module410, which generates candidate synonymous collocations or “candidates” from the extracted English collocations. Candidates are generated based on the following assumption: For a given collocation in the form: <head, relation-type, modifier>, a synonymous collocation or expression usually takes the same form, i.e. <head, relation-type, modifier>. Sometimes, however, synonymous expressions can comprise a single word or sentence pattern.

Candidate synonymous collocation generation module410expands a given English collocation by generating one or more synonyms for each of the “head” and/or “modifier” using any known means of generating word synonyms, such as an English language thesaurus. In one embodiment, candidate synonymous collocation generation module410accesses thesaurus412such as WordNet 1.6, which was developed at Princeton University of Princeton, N.J. and is available publicly, to generate head and modifier synonyms. In WordNet, for example, one synonym set or “synset” comprises several synonyms representing a single sense or denotation. Polysemous words such as “turn on” can occur in more than one synset each having a different sense. Synonyms of a given word are generated or obtained from all the synsets including the given word. For illustration, the word “turn on” is a polysemous word and is included in several synsets. For the sense “cause to operate by flipping a switch”, “switch on” is one of its synonyms. For the sense “be contingent on”, “depend on” is one of its synonyms. Both “depend on” and “switch on” are generated as synonyms of “turn on”. However, the generated candidate set contains some errors because, for example, “depend on” is generated as a synonym of “turn on” and “illumination” is generated as a synonym of “light”. However, the triple <depend on, OBJ, illumination> is not a synonymous collocation of the triple <switch on, OBJ, light>.

Formally, suppose Cwindicates the synonym set of a word w and U denotes the English collocation set extracted in English collocation extraction module406. The following table represents a method or algorithm that can be used to generate candidate synonymous collocations in module410.

Language Model and Construction

Referring back to Chinese collocation extraction module416, extracted Chinese or target language collocations stored in Chinese collocation database419are input or received by Chinese language model construction module420. Chinese language model construction module420constructs a language model of probability information for Chinese collocations in Chinese collocation database419. In some embodiments, an interpolation method can smooth the language model to mitigate data sparseness problems.

Generally, the probability of a given Chinese collocation occurring in Chinese language corpus414is approximated by the following:

p⁡(ccol)=count⁡(ccol)NEq.⁢2.
where count(ccol) represents the count of the Chinese collocation (ccol) and N is the total counts of all the Chinese collocations in the training corpus stored in database419. For a collocation <c1,rcc2>, it is assumed that two target, herein Chinese, words c1and c2are conditionally independent given rc. Therefore, the above equation can be rewritten as follows:
p(ccol)=p(c1|rc)p(c2|rc)p(rc)  Eq. 3.
where

Further, count(c1,rc,*) is the frequency or count of collocations with c1as the head and rcas the relation type; count(*,rc,c2) is the frequency or count of collocations with rcas the relation type and c2as the modifier; and count(*,rc,*) is the frequency or count of collocations having rcas the relation type. The symbol * denotes any word that forms part of a particular collocation. In other embodiments, the language model can be smoothed by interpolating in order to mitigate data sparseness as follows:

p⁡(ccol)=λ⁢count⁡(ccol)N+(1-λ)⁢p⁡(c1❘rc)⁢p⁡(c2❘rc)⁢p⁡(rc)Eq.⁢7.
where λ is a constant or smoothing factor such that 0<λ<1.

Thus, Chinese language model construction module420generates, estimates or calculates probabilities p(ccol) for each Chinese collocation using the above equations and the set Chinese collocations such as in database419to build target language model422. Language model422is used later to generate translation probabilities in module428described in further detail below.

Collocation Translation from Source to Target Language

Referring back to module410, collocation translation module423receives candidate synonymous collocations or candidates425from module410. Candidates425are to be translated from English to one or more languages such as Chinese to form Chinese collocation translation set426. Candidate synonymous collocations each in the form of <head, relation-type, modifier> are translated by translating each corresponding “head” and “modifier” using a bilingual English-Chinese lexicon or dictionary424accessed by collocation translation module423.

In other words, candidates or English language collocations in the form ecol=<e1,re,e2> are translated into target or Chinese language collocations in the form ccol=<c1,rc,c1> using English-Chinese dictionary424. If the Chinese translation sets of e1and e2are represented as CS1and CS2, respectively, the Chinese collocation translation set426can be represented as:
S={<c1,rc,c2|>c1εCS1,c2εCS2, rcεR}Eq. 8.
where R denotes a relation set of similar relation-types. Typically, e1and e2each have multiple translations listed in English-Chinese dictionary424.

Translation Probabilities and Translation Model

Next, it is necessary to calculate translation probability information p(ccol|ecol) indicated at translation probability module428. In some embodiments, bilingual corpus433is used to calculate translation probabilities described in greater detail below. Given an English collocation ecol=<e1,re,e2> and a Chinese collocation ccol=<c1,rc,c2>, the probability that ecolis translated into ccolis calculated using Baye's Theorem as follows:

p⁡(ccol❘ecol)=p⁡(ecol❘ccol)⁢p⁡(ccol)p⁡(ecol)Eq.⁢9.
where p(ecol|ccol) is often called the translation model436described below and p(ccol) is the language model422. Therefore, a translation model and a language model are needed to calculate translation probabilities or values of p(ccol|ecol). Language model p(ccol) was described above in the section entitled Target Language Model and Construction. Values for the denominator p(ecol) can be obtained directly from a database409of English collocations obtained from English collocation extraction module406, or otherwise received by translation probability module428from any of the input or storage devises described above. For further understanding, since p(ecol) is independent of ccoland is a constant for a given English collocation, the most probable Chinese collocation translation cmaxis given by:
cmax=argmaxp(ecol|ccol)p(ccol)  Eq. 10.

However, if the equation for p(ecol|ccol) were used directly, there can be accuracy problems due to data sparseness. Therefore, the equation for p(ecol|ccol) can be simplified using the following assumptions.

Assumption 1: For a Chinese collocation ccoland re, it is assumed that e1and e2are conditionally independent. Therefore, the translation model can be rewritten or approximated as follows:
p(ecol|ccol)=p(e1,re,e2|ccol)=p(e1|re,ccol)p(e2|re,ccol)p(re|ccol)  Eq. 11.

Assumption 2: Given a Chinese collocation <c1,rc,c2>, it is assumed that the translation probability p(ei|ccol) only depends on eiand ci(i=1,2), and p(re|ccol) only depends or reand rc. Equation 11 can them be rewritten or approximated as:
p(ecol|ccol)=p(e1|ccol)p(e2|ccol)p(re|ccol)=p(e1|c1)p(e2|c2)p(re|rc)  Eq. 12.
Equation 12 is equivalent to the word translation model if the relation-type is considered as another element such as a word.

Assumption 3: Assume that one type of English collocation can only be translated into the same type of Chinese collocation then p(re|rc)=1 and Equation 12 simplifies to:
p(ecol|ccol)=p(e1|c1)p(e2|c2)  Eq. 13.

In other words, the collocation translation probability is approximated as the product of the individual translation probabilities of component words. The probabilities p(e1|c1) and p(e2|c2) can be calculated using a word translation model constructed with unparallel or parallel bilingual corpus.

In some embodiments, translation model construction module432constructs translation model436using bilingual corpus433and target-source language or Chinese-English lexicon or dictionary435to align the bilingual corpus, such as described in “Finding Target Language Correspondence for Lexicalized EBMT System,” by Wang et al., In Proc. Of the Sixth Natural Language Processing Pacific Rim Symposium. However, in the present invention other known methods of calculating or estimating word translation probabilities can be used, such as described in “Estimating Word Translation Probabilities from Unrelated Monolingual Corpora using the EM Algorithm,” by P. Koehn and K. Knight, National Conference on Artificial Intelligence (AAAI 2000) and “The mathematics of statistical machine translation: parameter estimation” by Brown et al., Computational Linguistics, 19(2), pp. 263-311 which are herein incorporated by reference in their entirety.

Further, the language model and the translation model can be combined to obtain the collocation translation model in equation 9 as follows:

In some embodiments, in order to mitigate the problem with data sparseness, simple smoothing is conducted by adding 0.5 to the counts of each word translation pair as follows:

Feature Vectors and Similarity Calculation

Chinese collocation translation sets426and corresponding values for p(ccol|ecol) generated in module428can be used to construct feature vectors430for each English collocation among pairs of candidate synonymous collocations generated in module410. Feature vectors can be represented as follows:
Fecoli=<(ccoli1,pcoli1), (ccoli2,pcoli2), . . . , (ccolim,pcolim)  Eq. 15.
where i=1, 2 for each pair of candidate synonymous collocations and m is the number of collocations in Chinese collocation translation set426for a given English collocation. In some embodiments, however, m can be a selected number to limit the number of features in each feature vector while ensuring adequate accuracy.

Feature vectors associated with individual English collocations are received by synonymous collocation pair selection module438. Synonymous collocation pair selection module438comprises similarity calculation module440that calculates similarity between collocations ecol1,ecol2using their feature vectors. The assumption behind this method is that two collocations are similar if their context is similar. In one embodiment, module440calculates sim(ecol1,ecol2) using a method called the cosine method. The similarity of ecol1,ecol2using the cosine method is given as follows:

sim⁡(ecol1,ecol2)=⁢cos⁡(Fecol1,Fecol2)=⁢∑ccol1⁢i=ccol2⁢i⁢pcol1⁢i*pcol2⁢j∑i⁢(pcol1⁢i)2*∑j⁢(pcol2⁢j)2Eq.⁢16
There are other measures or ways of calculating similarity between two vectors that can be used, such as ways of calculating relative distance between two vectors. However, the cosine method is useful because it can achieve good results, especially in calculating similarity between two sentences in information retrieval. Also, the cosine method generally works well in evaluating actual results.

Similarity values calculated in module440are compared to a threshold value at threshold decision module442. Collocation pairs that exceed a threshold value are selected at module442as synonymous collocations. It is noted, however, that the threshold value for different types of collocations can be different. For example, synonymous collocations in the form <verb, OBJ, noun> potentially can have a different threshold value than synonymous collocations in the form <noun, ATTR, adjective>. Synonymous collocation pair selection module generates synonymous collocations444which can be stored as a database to augment lexical knowledge base404used later in the sentence generation phase as indicated onFIG. 4.

Referring toFIGS. 3 and 5, sentence generation module502performs step308in method300to generate a sentence or text using synonymous collocations received from lexical knowledge base404illustrated onFIGS. 4 and 5. Sentence generation module502can be an application program135executed on computer110or stored and executed on any of the remote computers in the LAN171or the WAN173connections.

Sentence generation module502receives input sentence, or portion thereof, indicated and herein referred to as “input sentence501” from any of the input devices or storage devices described above. Input sentence501can be a sentence or text that can be selectively modified using synonymous collocations. For instance, a user could input a source or English language sentence501. In one embodiment, sentence generation module502can automatically modify input sentence501using synonymous collocations. In other embodiments, sentence generation module502can provide as an output one or more synonymous collocations that can be selected to modify input sentence501for various natural language processing applications as described above.

Sentence generation module502comprises collocation recognition module503which receives input sentence501. Collocation recognition module503comprises triple parser503which can be the same or similar to parser408illustrated onFIG. 4. Triple parser503parses received input sentence501into dependency triples. Collocation recognition module503recognizes or selects which of the parsed triples are collocations in the same or similar manner as English collocation extraction module406.

Parsed sentence507generated by collocation recognition module503is received by substitution module509. Substitution module509substitutes synonymous collocations in place of collocations recognized at module503. In some embodiments, the substitutions can be automatic. In other embodiments, the substitutions are selectable.

In still other embodiments, sentence generation module502can be a sentence translation module. In these embodiments, input sentence501is a sentence, which will be translated into another language using the English language collocations in lexical knowledge base404. In these embodiments, sentence generation module502receives input sentence501in a language such as Chinese. Collocation recognition module503recognizes Chinese collocations in input sentence501using parser504. Parser504can be the same or similar as parser418illustrated inFIG. 4. Collocation recognition module503generates parsed sentence507which is received by substitution module509. Substitution module509substitutes English language collocations in lexical knowledge base404to generate output sentence511.

A grammar module can be included in sentence generation module502to ensure that output sentence511is grammatically correct after receiving each of the substituted synonymous collocations from substitution module509.

FIG. 6is a flowchart600illustrating exemplary steps for augmenting lexical knowledge base404during the initialization phase to include information used to perform language generation. It is noted that the step order illustrated inFIG. 6is exemplary only and can be adjusted as desired. Generally, step602and step604together process unprocessed source or English language corpus to extract or generate English language collocations. At step602, English language corpus is obtained or received from any of the input or storage devices described above. At step604, the English language corpus is parsed into dependency triples. Dependency triples meeting certain criteria such as weighted mutual information described above are recognized as collocations and extracted. The extracted English language collocations can be stored in a database for later processing.

Step606and step608together process unprocessed target or Chinese language corpus to extract or generate Chinese collocations. At step606, unprocessed Chinese language corpus is obtained or received from any of the input or storage devices described above. At step608, Chinese language corpus is parsed into dependency triples. Dependency triples that are recognized as collocations are extracted or generated as described above. The Chinese language collocations extracted at step608can be stored in databases for further processing.

At step610, candidate synonymous collocations are identified or generated using, for example, a source language thesaurus as is described in greater detail above. Generally, an extracted English language collocation in the form <head, relation-type, modifier> is expanded with synonyms of the head and the modifier to generate candidate synonymous collocations. A thesaurus can be used to provide synonyms for the expansions.

At step612, a language model of the extracted target or Chinese language collocations is constructed. The language model provides probability information of the extracted Chinese language collocations and is used later in estimating translation probabilities for Chinese collocations in translation sets generated at step614below.

At step614, each candidate synonymous collocations generated at step610is translated into a Chinese collocation translation set. A source-target language dictionary, such as an English-Chinese dictionary is used to translate each of the head and the modifier to generate the Chinese language translation sets.

At step616, a word translation model is constructed to provide translation information of component words used later in estimating translation probabilities for Chinese collocations in translation sets generated at step614.

At step618, translation probabilities, p(ccol|ecol) for Chinese collocations in the Chinese collocation translation sets are calculated using the language model constructed at step612and the translation model constructed at step616.

At step620, feature vectors Fecol1,Fecol2are constructed for candidate synonymous collocations identified in step610. The feature vectors are in the form
Fecoli=<(ccoli1,pcoli1), (ccoli2,pcoli2), . . . , (ccolim,pcolim)>  Eq. 17
where i equals 1 or 2 for a candidate English collocation pair and m is the number of Chinese collocations in a Chinese collocation translation set corresponding with a particular candidate English collocation. Generally, the Chinese collocations can be ranked from most to least probable.

At step622, similarity information for candidate English language collocations is calculated or generated using the feature vectors. In some embodiments, the cosine method is used to calculate similarities. However, other known methods of calculating similarity can be used as described above.

At step624, English language collocations having a similarity value exceeding a selected threshold are selected as synonymous collocations. In some embodiments, the selected threshold can differ for collocations having different relation-types.

At step626, a lexical knowledge base is augmented with the generated or selected synonymous collocations that can be used later in desired applications such as language generation.

FIG. 7illustrates method700of generating language using the lexical knowledge base constructed by another aspect of the present invention. At step702, a lexical knowledge base having stored synonymous collocations is accessed, obtained or received from any of the input devices described above or from any of the data storage devices described above. An input sentence is received at step704. At step706, the input sentence is parsed in order to recognize collocations as described above.

At step708, synonymous collocations are substituted for collocations in the input sentence. The substituting can occur automatically or be selectable. At step710, an output sentence is generated having synonymous collocations.