WO1998057271A1 - Automatic translation and retranslation system - Google Patents

Automatic translation and retranslation system Download PDF

Info

Publication number
WO1998057271A1
WO1998057271A1 PCT/US1998/000729 US9800729W WO9857271A1 WO 1998057271 A1 WO1998057271 A1 WO 1998057271A1 US 9800729 W US9800729 W US 9800729W WO 9857271 A1 WO9857271 A1 WO 9857271A1
Authority
WO
WIPO (PCT)
Prior art keywords
translation
language
text
input
character stream
Prior art date
Application number
PCT/US1998/000729
Other languages
French (fr)
Inventor
Lewis G. Pringle
Original Assignee
Logovista Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US1997/010005 external-priority patent/WO1997048058A1/en
Application filed by Logovista Corporation filed Critical Logovista Corporation
Priority to JP50236899A priority Critical patent/JP2002512717A/en
Publication of WO1998057271A1 publication Critical patent/WO1998057271A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

Definitions

  • the invention relates to automated natural language translation, particularly, a natural language translation system in which a document is translated automatically as it is being created by an author, user or system.
  • a system used for translation includes a computer which receives input in one natural language and performs operations to supply output in another natural language.
  • This type of translation has been an inexact and lengthy one, and the resulting output often requires significant editing by a skilled operator.
  • the translation operation performed by known systems generally includes a structural conversion operation.
  • the objective of structural conversion is to transform a given parse tree (i.e., a syntactic structure tree) of the source language sentence to the corresponding tree in the target language.
  • Two types of structural conversion have been tried, grammar-rule-based and template-to-template.
  • the domain of structural conversion is limited to the domain of grammar rules that have been used to obtain the source-language parse tree (i.e., to a set of subnodes that are immediate daughters of a given node). For example, given
  • VP VTO 1 + NP (a VerbPhrase consists of a SingleObject
  • each source-language parse tree that involves application of the rule is structurally converted in such a way that the order of the verb and the object is reversed because the verb appears to the right of its object in Japanese.
  • This method is very efficient in that it is easy to find out where the specified conversion applies; it applies exactly at the location where the rule has been used to obtain the source-language parse tree.
  • it can be a weak conversion mechanism in that its domain, as specified above, may be extremely limited, and in that natural language may require conversion rules that straddle over nodes that are not siblings.
  • template-to-template structural conversion structural conversion is specified in terms of input/output (I/O) templates or subtrees. If a given input template matches a given structure tree, that portion of the structure tree that is matched by the template is changed as specified by the corresponding output template. This is a very powerful conversion mechanism, but it can be costly in that it can take a long period of time to find out if a given input template matches any portion of a given structure tree.
  • the automated natural language translation system has many advantages over known machine-based translators.
  • the system of the invention automatically selects the best possible translation of the input textual information and provides the user with an output, such as, for example, a Japanese language translation of English- language input text
  • the user can then interface with the system to edit the displayed translation or to obtain alternative translations in an automated fashion.
  • An operator of the automated natural language translation system of the invention can be more productive because the system allows the operator to retain just the portion of the translation that he or she deems acceptable while causing the remaining portion to be retranslated automatically.
  • the system's idiom handling method is advantageous in that it allows sentences that happen to include the sequence of words making up the idiom, without intending the meaning of the idiom, to be correctly translated.
  • the system is efficient but still has versatile functions such as long distance feature matching.
  • the system's structural balance expert and coordinate structure expert effectively distinguish between intended parses and unintended parses.
  • a capitalization expert effectively obtains correct interpretations of capitalized words in sentences, and a capitalized sequence procedure effectively deals with multiple-word proper names, without completely ignoring common noun interpretations.
  • the invention is directed to an improvement of the automated natural language translation system, wherein the improvement relates to automatically translating a source natural language in a document or file as the input text is being generated, such as, for example, English, into output text in target natural language, such as, for example, Japanese, Spanish, or other natural language.
  • the natural language translation system causes a translation to occur when a pause is sensed during the entry of input text, such as a pause in an input character stream.
  • the natural language translation system can automatically translate the recently received input character stream along with input text that has previously been translated, causing a retranslation of certain of the input text.
  • the natural language translation system can automatically translate input text that has caused a modification or change to the previously received input text.
  • the automatic translation can commence at a starting point in the input text, such as, for example, at the beginning of a document, paragraph, word or other location, thus allowing any changes in sentence structure or edits to be absorbed into and reflected in the final translation.
  • the automatic translation can commence at a point in the input text at which a modification to previously received input text was made, such as for example, in the middle of a paragraph that was previously received but recently edited.
  • the invention relates to an improvement of the automatic global natural language translation system, wherein the improvement relates to automatically translating and retranslating input text in a source natural language such as, for example, English, into output text in a target natural language, such as, for example, Japanese, Spanish, or other natural language, after certain text structure has been generated, such as, for example, a sentence fragment.
  • a source natural language such as, for example, English
  • a target natural language such as, for example, Japanese, Spanish, or other natural language
  • the invention relates to an improvement of the automatic natural language translation system, wherein the improvement relates to automatically translating and retranslating input text in a source natural language such as, for example, English, into output text in target natural language, such as, for example, Japanese, Spanish, or other natural language, when a user, operator or system sends a signal conveying the depression of a touchscreen or an enter key on a keyboard, a mouse click on an icon, or other input signal, such as a function signal not producing a character stream.
  • a source natural language such as, for example, English
  • target natural language such as, for example, Japanese, Spanish, or other natural language
  • the automatic natural language translation system can effect a translation automatically in response to a pause in the input character stream by using a counter that begins counting as the pause is sensed.
  • the automatic natural language translation system can effect a translation automatically as a certain text structure, or as an input signal relating to a system function is sensed.
  • the automatic translation system of the present invention can be used as a language learning tool, by translating the input text immediately as the input text is being generated and displaying the translated output text along side the input text as the translation is occurring.
  • FIG. 2 is a data flow diagram illustrating overall functioning of the system of FIG. 1.
  • FIG. 3 is a flow diagram illustrating the operation of the system of FIG. 1.
  • FIG. 4 is a flow diagram illustrating the operation of the end-of-sentence function of the preparser of the system of FIG. 1.
  • FIG. 5 is a flow diagram illustrating the operation of the parser of the system of FIG. 1.
  • FIG. 6 is a flow diagram illustrating the semantic propagation operations of the system of FIG. 1.
  • FIG. 7 is a flow diagram illustrating the structural conversion operations of the system of FIG. 1.
  • FIG. 8 is a flow diagram illustrating the expert evaluator of the system of FIG. 1.
  • FIG. 9 is a diagram of a sample graph used by the system of FIG. 1 for the exemplary phrase "by the bank”.
  • FIG. 1 OA is a functional block diagram illustrating a system for automatically translating input text according to one embodiment of the present invention.
  • FIG. 1 OB is a functional block diagram illustrating a system for automatically translating input text according to another embodiment of the present invention.
  • FIG. 11 is a block diagram illustrating one embodiment of the translation activator in accordance with the present invention.
  • FIG. 12A is a flow diagram illustrating the operation of the translation activator according to one embodiment of the present invention.
  • FIG. 12B is a flow diagram illustrating the operation of the translation activator according to another embodiment of the present invention.
  • FIGS. 13A, 13B and 13C illustrate an example of a screen display showing a translation from a source language to a target language using the system of the present invention.
  • FIG. 14 is a flow diagram illustrating the operation of the translation activator according to another embodiment of the present invention.
  • FIG. 15 is a flow diagram illustrating the operation of the translation activator according to another embodiment of the invention.
  • FIG. 16 is a flow diagram illustrating the operation of the translation activator according to another embodiment of the invention.
  • An automated natural language translation system of the present invention can translate from a source natural language to a target natural language.
  • the system can translate from English to Japanese.
  • the system can translate from Japanese to English.
  • the system can translate from English to Spanish and Spanish to English.
  • the system can translate from English to a plurality of different languages, or from a non-English language to another non- English language.
  • the system comprises means for receiving and storing the source natural language, a translation engine for creating a translation into the target natural language, means for displaying the translation to a user, and means for obtaining for a user and displaying to a user alternative translations.
  • the translation engine includes a translation activator, a preparser, a parser, a graph maker, an evaluator, a graph scorer, a parse extractor, and a structural converter.
  • the translation activator determines when and/or under what conditions the translation should be effected.
  • the preparser examines the input text and resolves any ambiguities in input sentence boundaries. The preparser then creates and displays the input text in a parse chart seeded with dictionary entries.
  • the parser parses the chart to obtain possible syntactic categories for the input text.
  • the graph maker produces a graph of the possible syntactic interpretations of the input text based on the parse chart.
  • the graph includes nodes and subnodes which are associated with possible interpretations of the input text.
  • the evaluator which comprises a series of experts, evaluates the graph of the possible interpretations and adds expert weights to the nodes and subnodes of the graph.
  • the graph scorer uses the expert weights to score the subnodes, and the graph scorer then associates the N best scores with each node.
  • the parse extractor assigns a parse tree structure to the preferred interpretation as determined by the graph scorer.
  • the structural converter performs a structural conversion operation on the parse tree structure to obtain a translation in the target language.
  • the graph scorer associates a constant value with each subnode.
  • An analysis of the linguistic information associated with each subnode determines the subnode score. See, for example, FIG. 8 where a series of expert evaluators examine the linguistic information stored at each node and subnode.
  • the graph scorer adds together the individual weighted scores for each expert to obtain a final weighted average for a particular node or subnode.
  • the combination of a plurality of weighted scores into a single weighted average score is a standard problem in computer science.
  • One method that can be used is to multiply each expert result by a constant number (weight) assigned to that expert.
  • the weight assigned to each expert is a matter of design choice. The designer can choose the priority (weight) to assign each expert.
  • the weighted average is the summation of a series of numbers wherein each number is multiplied by a constant. For example,
  • weighted average (w,)(x,) + (w 2 )(x 2 ) + ... + (w n )(x n )
  • weights are all nonnegative and add up to 1. See, for example, Spiegel, Theory and Problems of Probability and Statistics 76 (McGraw-Hill, Inc. 1975) which discusses the use of weighted averages in the context of statistical expectations.
  • the graph scorer can propagate the subnode scores from the bottom of the graph up to the top of the graph. Given the graph, wherein each node has a set of N scores, it is possible to determine one or more propagation methods.
  • One technique which can be used to propagate the subnode scores is memoization which is a type of dynamic-programming used to solve optimization problems.
  • the solution to optimization problems can involve many possible values (outcomes).
  • the task is to find the optimal value.
  • the algorithm used in optimization solves every subsubproblem just once and saves the outcome, thus avoiding the need to recompute the answer every time the subsubproblem is encountered.
  • Gazdar Before semantic propagation can occur, the linguistic information stored at the nodes must be analyzed.
  • the analysis of the semantic information stored at the nodes is guided by a set of rules that tell from examining the noun-like and verb-like constituents in a grammar rule which selectional restriction slots of the verb-like constituents apply to which noun-like objects.
  • Gerald Gazdar discusses in his text Natural Language Processing In Prolog (Addison- Wesley Publishing Co., 1989) a set of rules which can be used to analyze the semantic information stored at the nodes in a directed acyclic graph similar to that disclosed in the specification. Gazdar discusses the use of feature matching to match information on adjacent nodes. Gazdar states that feature matching involves equations that say that certain features appearing on one node must be identical to the features appearing on another.
  • Gazdar This requires that the value of the head feature on the V and that on the mother VP be identical.
  • the rules discussed in Gazdar can be easily adapted for each of the syntactic categories discussed herein.
  • the linguistic information assigned to each node using Gazdar' s rules can be propagated through the tree using memoization techniques.
  • the weighted average is one method of determining the subnode score
  • each subnode score can be propagated through the graph using known memoization techniques as applied to optimization problems
  • the strategy discussed in Gazdar' s text can be used to analyze the linguistic information stored at each node and this linguistic information can be propagated through the parse tree chart using memoization techniques.
  • the automated natural language translation system can perform automated re-translation functions after the initial automatic translation.
  • the system automatically selects the best possible translation of the input textual information and provides the user with an output (preferably a Japanese language translation of the input English text, or a Japanese-to-English translation)
  • the user can then interface with the system to edit the displayed translation or to obtain alternative translations in an automated fashion.
  • the automated natural language translation system uses a linguistic model which breaks a sentence into substrings.
  • a substring is one or more words which occur in the order specified as part of the sentence. For instance, substrings of "The man is happy” include “The,” “The man,” “man is happy,” “is,” and “The man is happy” itself, but not “is man,” “man man,” and “The is.”
  • Different linguistic models classify substrings in various ways and in different levels of detail. For instance, in “They would like an arrow,” “an arrow” is typically classified as a noun phrase (NP). Some models would also classify "an arrow” with syntactic features (for instance, it is a singular noun phrase), and semantic features (it refers to a weapon).
  • an arrow can also refer to a symbol with an arrow-like shape.
  • linguistic models provide a method for resolving ambiguity, they usually do so by combining smaller units into larger units. When evaluating a larger unit, these models consider only a portion of the information contained in the larger unit.
  • the semantic property of "an arrow” (symbol vs. weapon) is used in evaluating the verb phrase “like an arrow” in the sentence "They would like an arrow.”
  • the syntax of the phrase “an arrow” were changed as in “He shot it with an arrow,” the semantic property of "an arrow” is not used in evaluating the verb phrase “shot it with an arrow.”
  • exported properties are all properties used to evaluate the combination of an interpreted substring with other units to form larger substrings.
  • An export is an interpreted substring interpreted together with its exported properties. Properties that are contained within the interpreted substring but not exported are called substructures.
  • the parser of the system includes a grammar database.
  • the parser finds all possible interpretations of a sentence using grammatical rules.
  • X is composed of, or made from, Al N2 ... An and is referred to as a higher node of lower nodes (subnodes) Al through An.
  • the graph maker of the system graphically represents the many possible interpretations of a sentence.
  • Each node of the graph corresponds to an export of some substring.
  • a single export is represented by a single node.
  • the graph contains arcs which emanate from the nodes associated with an export.
  • the arcs represent the substructure of the export based on the application of grammar rules.
  • the graph may depict at least two types of arcs: (1) a unary arc which points to a single different export of the same substring; (2) a binary arc which includes a pair of pointers which points to two exports, the substrings of which when concatenated form the substring of the original export. Note that the formulation described in (2) assumes a grammar in Chomsky normal form.
  • the graph also includes a single starting export S from which all portions of the graph can be reached by following a series of arcs.
  • the starting export corresponds to the entire sentence. Multiple arcs emanate from a node if and only if the same export can be composed of one or more exports (the pair of pointers in a binary arc is not considered multiple arcs for this purpose). Multiple arcs point to a node if and only if that export is a component of multiple exports.
  • a node with no arcs projecting from it corresponds to a dictionary entry assigned to the substring.
  • a plurality of linguistic experts assign a numerical score to a set of exports. The linguistic experts apply the score to each node of the graph.
  • a scoring array (where each element of the array is a weight to multiply by a particular expert's score) is a fixed length "N" of floating point numbers for any given sentence.
  • the score is evaluated by a scoring module which may be integrated with the graph- making engine and/or the parser. Scores are computed for all exports that make up a higher export. The score for the higher export is computed as the sum of the exports that make up the higher level export and the scores of any experts that apply to the combination such as a score assigned by the structural balance expert.
  • the order in which nodes are visited and scored is a standard depth-first graph-walking algorithm. In this algorithm, nodes that have been scored are marked and are not scored again. During the scoring process, the scoring module evaluates dictionary entry nodes before evaluating any of the higher unit nodes. Each dictionary entry gives rise to a single score.
  • each of the k scores of the lower export is added to the expert values that apply to the unary rule, and the resulting vector of k scores is associated with the parent export.
  • each export has associated with its node a set of g scores (g ranging from 1 to N) which represent the g most likely ways (relative to the linguistic model) of making the export, including all substructure properties which are not represented in the export.
  • the scoring method gives rise to the g most likely ways of making the sentence.
  • Each score in each score list described above has an associated pointer. The pointer provides information to indicate which score(s) of the score list of lower export(s) were combined to produce the higher level score. By following the respective pointers, the g most likely interpretations of the sentence can be extracted as unambiguous parse trees.
  • FIGS. 1-9 Further details of the automated natural language translation system will now be disclosed with reference to FIGS. 1-9. Various improvements according to the invention are described thereafter with reference to FIGS. 10 - 16.
  • an automated natural language translation system 10 includes an input interface 12, a translation engine 16, storage 18, a user input device 22, a display 20, and an output interface 14.
  • the input interface 12 is constructed to receive a sequence of text in a source language, such as, for example, English or Japanese.
  • the input interface 12 may comprise a keyboard, a voice interface, or a digital electronic interface, such as a modem or a serial input.
  • the translation engine 16 performs translation operations on the source text, in conjunction with data in storage.
  • the translation engine 16 may be comprised entirely of hardwired logic circuitry, or it may contain one or more processing units and associated stored instructions.
  • the translation engine 16 may include the following elements, or parts of them: A translation activator 21, a preparser 24, a parser 26, a graph maker 28, a parse/translation evaluator 30, a parse extractor 32, a structural converter 34, and a user interface 42, which includes an alternate parse system 37.
  • the structural converter may comprise a grammar rule controlled structural converter 36, a lexicon controlled structural converter 38, and a synthesis rule controlled structural converter 40.
  • the storage 18 may include one or more areas of disk (e.g., hard, floppy, and/or optical) and/or memory (e.g., RAM) storage, or the like.
  • the storage 18 may store input textual information in a source natural language, output textual information in a target natural language, and all sorts of information used or useful in performing the translation including one or more dictionaries, domain keywords, and grammar rules.
  • the user input interface 22 may comprise a keyboard, a mouse, touchscreen, light pen, or other user input device, and is to be used by the operator of the system.
  • the display may be a computer display, printer or other type of display, or it may include other means of communicating information to the operator.
  • the output interface 14 communicates a final translation of the source text in the target language, such as Japanese.
  • the output interface 14 may comprise a printer, a display, a voice interface, an electronic interface, such as a modem or serial line, or it may include other means for communicating that text to the end user.
  • the translation engine 16 can include translation activator 21, which can be configured with the remaining elements shown in this figure within the translation engine 16, or as a separate component capable of periodically interfacing with the other elements of the translation engine 16, as shown in Fig. 11.
  • the translation activator 21 can comprise a computer processing unit for determining when a translation of input text should commence.
  • the translation activator 21 typically sets the parameters the govern this determination, determines, while the text is being generated, whether the conditions surrounding such parameters exist, and initiates the automatic translation when such conditions exist.
  • the translation activator 21 can generate and store a predetermined time period or value which can be used to determine when a lapse in generating the input text exists.
  • the translation activator can upon realizing a lapse or pause substantially equivalent to such time period, initiate an automatic translation and/or retranslation, which can be carried out in the translation engine 16, described herein.
  • the translation activator can be configured to process the input text and sense the formation of a words, sentences or sentence fragments, and paragraphs, using predefined parameters configured to represent each of the above structures, and effect a translation when such structures exist.
  • the translation activator and the operation thereof, is further described herein in Figs. 10-16.
  • the preparser 24 first performs a preparsing operation (step 102) on the source text 23, which, as further described in Figs. 10-16, can include source text as it is being created, edited, received or otherwise compiled in a computer file or document. This operation includes the resolution of ambiguities in sentence boundaries in the source text, and results in a parse chart seeded with dictionary entries 25.
  • the parser 26 then parses the chart produced by the preparser (step 104), to obtain a parse chart filled with syntactic possibilities 27.
  • the graph maker 28 produces a graph of possible interpretations 29 (step 106), based on the parse chart resulting from the parsing step.
  • the evaluator 30, which accesses a series of experts 43, evaluates the graph of stored interpretations (step 108), and adds expert weights to the graph 31.
  • the graph scorer 33 scores nodes and associates the N (e.g., 20) best scores with each of them 35.
  • the parse extracter 32 assigns a parse tree structure 39 to this preferred interpretation (step 110).
  • the structural converter 34 which accesses the conversion tables 58, then performs a structural conversion operation (step 112) on the tree to obtain a translation 41 in the target language.
  • the user may interact with the alternate parse system 37 to obtain alternative translations.
  • the system begins the preparsing operation by dividing the input stream into tokens (step 114), which include individual punctuation marks, and groups of letters that form words.
  • tokens include individual punctuation marks, and groups of letters that form words.
  • whitespace affects the interpretation of characters at this level. For instance, in “x - y” the "-" is a dash, but in “x-y” it is a hyphen.
  • the preparser then combines the tokens into words (step 116). At this level, it recognizes special constructions (e.g., internet addresses, telephone numbers, and social security numbers) as single units.
  • the preparser also uses dictionary lookup to find groupings. For example, if "re- enact" is in the dictionary as “reenact” it will become one word in the sentence, but if it is not, then it will remain as three separate "words”.
  • the next preparsing phase involves determining where the sentence ends (step 118).
  • the preparser accesses the base dictionary and the technical dictionaries, and any user-created dictionaries, as it follows a sequence of steps for each possible sentence ending point (i.e., after each word of the source text).
  • the preparser need not perform these steps in the particular order presented, and these may be implemented as a series of ordered rules or they may be hard-coded.
  • the preparser interprets and records any nonparsable sequence of characters, such as a series of dashes: " ", as a "sentence” by itself, although not one which will be translated (step 120).
  • the preparser also requires any sequence of two carriage returns in a row to be the end of a sentence (step 122). If the first letter of the next word is a lower case letter, the preparser will not indicate the end of a sentence (step 124). If a sentence started on a new line and is short, the preparser considers it a "sentence" of its own (e.g., a title).
  • the preparser interprets a period, a question mark, or an exclamation mark as the end of a sentence, except in certain situations involving end parenthesis and end quotes (step 128).
  • the preparser uses virtual punctuation marks after the quote in addition to the punctuation before the quote.
  • Alternatives for the underlying punctuation required for ?” are illustrated in the following examples:
  • the preparser may also use several further approaches in preparsing a period (steps 130, 132, 134, 136, and 138). Some abbreviations in the dictionary are marked as never beginning sentences and others as never ending sentences (step 130). These rules are always respected. For example, "Ltd” never begins a sentence and "Mr” never ends one. The preparser also will not end a sentence with a single initial followed by a period unless the next word is a common grammatical word (step 132) such as "the", "in”, etc. If the word before the period is found in any dictionary, the period will end the sentence (step 134).
  • step 136 If the word before the period is not in this dictionary, and it has internal periods (e.g., I.B.M.) and the next word is not in the dictionary in a lowercase form, or the word after that is itself uppercase, then this is not an end of sentence (step 136). In remaining cases the period does mark the end of sentence (step 138).
  • I.B.M. internal periods
  • the parser places the words of the sentence in syntactic categories, and applies grammar rules from the grammar database to them to compute possible syntactic interpretations 25 of the sentence (step 104).
  • These grammar rules 48 can be implemented as a series of computer readable rules that express the grammatical constraints of the language. For the English language, there may be hundreds of such rules, which may apply to hundreds of syntactic categories. To reduce the computational overhead of this operation, the different possible meanings of a word are ignored.
  • the graph maker employs the dictionary to expand the results of the parser to include the different meanings of words and creates a directed acyclic graph representing all semantic interpretations of the sentence.
  • This graph is generated with the help of a series of semantic propagation procedures, which are described below. These procedures operate on a series of authored grammar rules and, in some cases, access a semantic feature tree for semantic information.
  • the semantic feature tree is a tree structure that includes semantic categories. It is roughly organized from the abstract to the specific, and permits the procedures to determine how semantically related a pair of terms are, both in terms of their separation in the tree and their levels in the tree.
  • the graph includes nodes 80 and their subnodes 82, 84, 86 linked by pointers 88, 89, 90, 91 in a manner that indicates various types of relationships.
  • a first type of relationship in the graph is one where nodes representing phrases possess pointers to constituent word nodes or sub-phrase nodes. For example, a node 84 representing the phrase "the bank” will be linked by pointers 92, 93 to the constituent words "the” 94, and "bank” 95.
  • a second type of relationship in the graph is where phrase interpretations possess pointers to alternate ways of making the same higher-level constituent from lower-level pieces.
  • a node 80 representing the phrase "by the bank” can have two source interpretation locations 81, 83, which each include pointers 88 & 89, 90 & 91 to their respective constituents.
  • the different constituents would include different subnodes 84, 86 that each represent different meanings for the phrase "the bank”.
  • the structure of the graph is defined by the results of the parsing operation and is constrained by the syntax of the source sentence.
  • the nodes of the graph are associated with storage locations for semantic information, which can be filled in during the process of semantic propagation.
  • the semantic propagation part of the system operates to propagate semantic information from smaller constituents to the larger constituents they comprise. It applies to four classes of the syntactic categories used in the earlier parsing operation: SEMNP (which includes noun-like objects and prepositional phrases), SEMVP (verb phrase like objects, which usually take subjects), SEMADJ (adjectives) and VERB (lexical verb-like verbs that often take objects). Other syntactic categories are ignored within a rule.
  • the grammar rule author may also override the implicit behavior below by specific markings on rules. These specific instructions are followed first.
  • the first is a set of rules that tell from examining the noun- like and verb-like constituents in a grammar rule, which selectional restriction slots of the verb-like constituents apply to which noun-like objects.
  • a grammar rule which selectional restriction slots of the verb-like constituents apply to which noun-like objects.
  • VP VTl 1 + NP + VP
  • One exemplary default rule indicates that when a verb takes objects, selectional restrictions are to be applied to the first NP encountered to the right of the verb.
  • the semantic propagation operation includes copying of selectional restrictions from SEMVPs to imperative sentences (step 140). If a SEMNP is being used as a locative expression, its goodness is evaluated against semantic constants defining good locations (step 142). If a rule involves a conjunction of two SEMNPs (detected because of ANDing together of syntactic features), the graph maker ANDs together the semantic features and applies the semantic distance expert (step 144).
  • the graph maker locates a "head" SEMNP which gets propagated to a higher level (e.g., it becomes part of a SEMNP that includes more words), it propagates semantic features as well (step 146). However, if the "head” is a partitive word (e.g., "portion,” "part”), it propagates from a SEMNP to the left or right instead. SEMVPs and SEMADJs are propagated in the same way, with the only exception being that SEMVPs and SEMADJs do not have any partitive situations (step 148). Adjectives are part of the SEMVP class for this purpose.
  • the graph maker When a SEMVP is made from a rule including VERBs, the graph maker propagates upward the VERB's subject restriction unless the VP is a passive construction, in which case the VERB's first object restriction is propagated instead (step 150).
  • it attempts to apply the selectional restrictions of the SEMVPs to NPs encountered moving leftward from the SEMVP (step 152).
  • the graph maker attempts to apply the selectional restriction of the SEMADJ first to any SEMNPs encountered moving to the right from the SEMADJ, and if that fails, tries moving to the left (step 154).
  • the graph maker applies them in turn to SEMNPs encountered in order to the right of the VERB (step 156).
  • SEMNPs encountered in order to the right of the VERB.
  • a verb selectional restriction is used up as soon as it applies to something.
  • SEMNPs are not used up when something applies to them. Starting at this rule, the SEMNP does get "used up”.
  • the graph maker determines if there are any SEMVPs or SEMADJs in it that have not yet been used, and if so, propagates them upward (step 158).
  • the system also performs feature matching of linguistic features.
  • Linguistic features are properties of words and other constituents. Syntactic feature matching is used by the parser, and semantic feature matching is used by the graph maker. But the same techniques are used for both. For instance, “they” has the syntactic feature plural, while “he” has the feature of singular. Feature matching uses marking on grammar rules so that they only apply if the features of the words they are to apply to meet certain conditions. For example, one rule might be:
  • n-ary rule i.e., one that may have more than two inputs on its right.
  • the system then distributes codes to various binary rules so that feature sets end up being propagated between rules in the correct fashion.
  • n-ary rules By breaking the n-ary rules into binary rules, the parsing operations are greatly simplified, but because the system keeps track of feature sets across binary rules, it retains the power of the long distance operations.
  • the system of the invention also allows multiword "idioms" as part of the dictionary, while retaining representations of the individual words of which they are composed. These two forms may ultimately compete against each other to be the best representation. For instance "black sheep” is found in the dictionary with the meaning of a disfavored person. But in some cases the words “black sheep” may refer to a sheep which is black. Because both of the forms are retained, this non-idiomatic usage may still be chosen as the correct translation.
  • the idioms may belong to further categorizations.
  • the system may use the following three types:
  • the resulting graph is to be evaluated by experts (step 108, FIG. 3), which provide scores that express the likelihood of correctness of interpretations in the graph.
  • the system of the invention includes a scoring method that applies to all partial sentences of any length, not just full sentences.
  • An important element in the use of a graph is that a subtree is fully scored and analyzed only once, even though it may appear in a great many sentences. For example, in the phrase "Near the bank there is a bank.”, the phrase “Near the bank” has at least two meanings, but the best inte ⁇ retation of that phrase is determined only once. The phrase "there is a bank” similarly has two interpretations, but the best of those two is determined only once. There are therefore four sentence interpretations, but the subphrases are scored just once.
  • Another feature of the graph is that each node is labeled with easily accessible information about the length of that piece of the sentence. This allows the best N inte ⁇ retations of any substring of the English sentence to be found without reanalyzing the sentence
  • N being a number on the order of 20
  • the use of a graph allows the system to integrate the result of a user choice about a smaller constituent and give a different N best analyses that respect the user's choice. Because all this is done without reparsing the sentence or rescoring any substrings, it may be done quickly.
  • operation of the expert evaluator 30 is based on various factors that characterize each translation, which are handled by the various experts.
  • the rule probability expert 170 evaluates the average relative frequency of grammar rules used to obtain the initial source language parse tree.
  • the selectional restriction expert 178 evaluates the degree of semantic accord of the given translation.
  • the dictionary entry probability expert 172 evaluates the average relative frequency of particular "parts of speech" of the words in the sentence used to obtain the initial source language parse tree.
  • the statistics expert evaluates the average relative frequency of particular paraphrases chosen for the given translation.
  • the system automatically determines the English "part of speech” (POS) for various individual English words, English phrases, and groups of English words.
  • POS English "part of speech”
  • the system makes the automatic determination of the POS when translating sentences, and the system usually makes the correct choice. Occasionally, however, the sentence being translated is itself ambiguous.
  • a word or phrase that can be inte ⁇ reted as more than one POS leads to several distinct but "correct” meanings for the sentence in which the word or phrase appears. It is possible for an operator of the system to override the system's automatic POS determination and instead manually set the POS for any word, phrase, or group of words.
  • an operator of the system can set "a boy with a telescope” as a Noun Phrase to force the system to inte ⁇ ret the sentence to mean that the boy was carrying a telescope and thus reject the inte ⁇ retation that John used a telescope to see the boy.
  • An operator can address the situation where overriding the system's POS rules yields worse, not better, translation results by applying a few manual POS settings as possible or by applying less restrictive manual POS settings.
  • Noun Phrase is less restrictive than Noun, and Group is the least restrictive POS setting. The following is a list of the various possible POS settings.
  • the parts of speech "Adjectival Phrase” and “Adverbial Phrase” are useful in the situation where an English sentence may have a different meaning depending on how a particular prepositional phrase is inte ⁇ reted by the system.
  • the sentence “We need a book on the fourth of July” means “We need a book about the American fourth of July holiday” if “on the fourth of July” has an adjectival inte ⁇ retation, but the sentence means "On the fourth day of July, we need a book” if the phrase "on the fourth of July” has an adverbial inte ⁇ retation.
  • the operator can manually set a different POS to "on the fourth of July” in the sentence "We need a book on the fourth of July". If an operator does not want the system to translate a particular word, phrase, or group of words from English to Japanese, the operator can assign the POS "English” to the desired word(s), phrase(s), and/or group(s) of words. It also is possible for an operator to remove one or more POS settings, regardless whether the settings were assigned automatically by the system or manually by an operator. The system keeps track of statistical information from translation usage at each customer site at more than one level.
  • the system may maintain statistical counts at the surface form level (how often was "leaving” used as a transitive versus an intransitive verb), and also at the meaning level (did it mean “leave behind” or “depart” from), and this second type is summed over occurrences of "leave”, “leaves”, "left”, and "leaving”.
  • the system may also keep statistical counts separately for uses that have occurred within the last several sentences, and uses that have occurred at any time at the customer site.
  • the system may distinguish cases where the user intervened to indicate that a particular word sense should be used, from cases where the system used a particular word sense without any confirmation from the user.
  • the structural balance expert 182 is based on a characteristic of English and many other European languages pertaining to the lengths of constituents in a given sentence. In some (but not all) constructions, sentences which involve heavy (lengthy) elements to the left of light elements are disliked in these languages. For example:
  • the capitalization expert 176 uses the location of capitalization in a sentence to determine how likely it is that the capitalization is significant. For example, the following sentences:
  • Brown is my first choice. My first choice is Brown. are different in that while the former is genuinely ambiguous, it is far more likely in the latter that "Brown" is a person name than a color name.
  • This expert takes into consideration factors such as whether a given capitalized word appears at sentence-initial or sentence-noninitial position (as shown above), whether the capitalized spelling is in the dictionary, and whether the lower-case-initial version is in the dictionary. This expert is an effective way to obtain the correct inte ⁇ retations of capitalized words in sentences.
  • a sentence contains a sequence of initial -uppercase words, it can be treated as a proper name or as a sequence of ordinary nouns.
  • the system of the invention employs a capitalized sequence procedure, which favors the former inte ⁇ retation.
  • the sequence cannot itself be parsed by normal grammar rules, it can be treated as a single unanalyzed noun phrase to be passed through untranslated. This procedure has proven to be a very effective way of dealing with multiple-word proper names while not completely ignoring the lower-rated common noun inte ⁇ retations. Referring to FIG.
  • the machine translation system of the invention uses a grammar-rule controlled structural conversion mechanism 162 that has the efficiency of a straightforward grammar-rule-based structural conversion method, but which comes close to the power of the template-to-template structural conversion method.
  • This method relies on the use of grammar rules 160 which can specify non-flat complex substructure. While the following is a rule format used in other translation systems:
  • symbols prefixed with "#" are virtual symbols that are invisible for the pu ⁇ ose of sentence structure parsing, but which are used in building substructures once a given parse is obtained.
  • the structural conversion also includes a dictionary controlled structural conversion operation 166, which accesses dictionaries 161 to operate on the parse tree after it has been operated upon by the grammar-rule controlled structural conversion operation.
  • the synthesis- rule controlled structural conversion operation then applies synthesis rules to the resulting parse tree to provide the target language text 41.
  • the system After the system has derived a best-ranked translation in the process described above, it is presented to the user via the display 20.
  • the user then has the option of approving or editing the translation by interacting with the alternate parse system 37, via the user input device 22.
  • the user may constrain portions of the translated sentence that are correctly translated, while requesting retranslation of the remaining portions of the sentence. This operation may be performed rapidly, since the system retains the graph with expert weights 31.
  • FIGS. ION through 16 improvements automatically translate input text while the text is being generated by a user, operator or system, such as, for example, while a user is generating a document using word processing software.
  • An advantage to the system of the present invention lies in the ability of the system to translate input text as it is being generated or shortly after the text is generated, which can be useful in a language learning, as well as in systems generating temporal text that must be translated quickly and efficiently.
  • a user, operator or system can enter, generate, create, edit, receive or otherwise compile a text file or document, (hereinafter interchangeably referred to as "generate a text file” or “generate a document”), by entering or adding to a computerized system or file, characters, symbols and text, (hereinafter interchangeably referred to as characters, character stream, textual input or input text stream), through the user input interface 22, or the input interface 12, as shown in Fig. 1.
  • a document or text file can include any number of characters, formats, texts or files, depending on the desired application.
  • the user interface 22 and the input interface 12 can comprise, for example, a keyboard, mouse, touchscreen, light-pen, voice-activated transmitter, or other input device, as well as a digital interface such as a modem or serial port.
  • the system of the present invention can inco ⁇ orate or interface with word processing software, such as, for example, Microsoft® Word 6.0, installed on the user's workstation (20, 22).
  • word processing software such as, for example, Microsoft® Word 6.0
  • the translation system of the present invention can, however, accommodate affirmative translation requests.
  • the system of the present invention can further interface with other systems in the event that the document to be translated is generated by a computerized system. It is to be appreciated that a document can be generated using the user input interface 22 and the input interface 12, either independently, or in combination.
  • Fig. 10A in conjunction with Fig. 1, shown is a functional block diagram illustrating the system for automated translation and retranslation according to one embodiment of the present invention.
  • input text 183 generated or entered into the system through the user input interface 22 and/or the input interface 12 is sent to the translation engine 16 in substantially real time, where it is translated 184 from the beginning of the input text in the text file or document being created.
  • the translation can commence with the first character in a stream of characters entered, the first word in a stream of words and characters entered, or other starting point, as will be further described.
  • the input text 183 is also stored 186 as a text file in storage 18 as it is being generated or entered, for subsequent retranslation 184 and display 185.
  • the stored input text 186 can be used in the translation and retranslation 184 of the text file, such that the input text immediately received, as well as other previously entered input text in the existing text file, is translated.
  • the translation and the input text are then displayed 185 and continuously refreshed as the existing text changes with newly received input text.
  • the process of translating and retranslating 184 the input text is shown as a loop that constantly translates the input text 183 as it is being received, transmits as output, translated text to the display 185, and loops back to translate 184 any newly received input text along with any previously received input text from storage 186. If no new input text has been received, the translation process is temporarily suspended until input text is again received.
  • the input text is translated along with input text in the existing text file, and both the input text in the source language, and the output text in the target language can be displayed. It is to be appreciated however, that in other embodiments, only the translated text need be displayed, and the input text in the source language can be obtained by clicking on a translated word in the document, or from a system clipboard.
  • Fig. 10B shown is a functional block diagram illustrating the system for automatic translation and retranslation according to another embodiment of the present invention.
  • input text 183 generated or entered into the system through the user input interface 22 and/or the input interface 12 is sent to the translation engine 16, and stored 186 as a text file in storage 18, in substantially real time.
  • the input text is then compared 187 to the text file up to the point that the input text was received, to determine which of the input text is newly received text that has not previously been translated.
  • a translation 188 of the newly received input text is carried out.
  • a retranslation 188 of previously received input text can also be carried out, such as, in the above example, where the newly received input text modifies a previously entered sentence.
  • the stored input text 186 can be used in the translation and retranslation 184 of the text file, such that the input text immediately received, as well as other previously entered input text are translated. Both the translated text and the input text can then be displayed 185.
  • the process of translating and retranslating 188 the input text is shown as a loop that, in substantially real time, translates the newly received input text, transmits as output the translated text to the display, and then loops back to compare 187 the newly received input text with the text file and translate any newly received input text. If no new input text has been received, the translation process can be temporarily suspended, as described above.
  • the translation activator 21 included in the translation engine 16 determines when the translation of the document is to be initiated, that is, when the translation engine 14 is to effect a translation of the document from the source language to a target language.
  • the translation activator 21 can comprise a processing module 200 inco ⁇ orating an oscillator, timer or counter 202 (hereinafter referred to as a "counter 202") that senses when no signal is present at an input 204 from the user input device 22 or the input interface 12.
  • the counter 202 begins counting from a starting value such as zero.
  • the counter 202 provides to a comparator 206, an output representing its count, which compares the count to a predetermined value 208.
  • the predetermined value relates to time and is preferably a number stored in storage 18.
  • the value 208 can represent a time period from about .1 second to about 45 seconds, which is about equivalent to the length of time the user might pause to think about what he or she wishes to type next, or to scroll through the document, for example. Additionally, in another embodiment of the invention, where the translation system of the present invention is used for translating natural language text from a computer generated source, the value 208 can represent a shorter or longer time period. It is to be appreciated that the value 208 can correspond to any time period suitable to a desired use of the system of the present invention.
  • the comparator 206 When the count from the counter 202 is substantially equivalent to or otherwise corresponds to the value 208, the comparator 206 provides a signal to the translation engine 16 causing the translation process to begin. Where the count is not equivalent to or does not correspond to the predetermined value 208, the comparator 206 provides a signal to an adder 210, causing incrementation of the counter 202. Thus, should there exist a delay in receiving a textual input from the user input device 22 or the input interface 12, the counter 202 counts until the count substantially equals a predetermined value 208, at which point, a translation occurs. It is important to note, however, that certain actions such as depressing an enter key or clicking on a translation icon, can still cause a translation to occur, as shown by the inputs 196 to the translation engine 16 from the touchscreen 190, keypad 192 and mouse 194.
  • Fig. 12N shown is a flow chart illustrating the process for translating textual input as a document is being generated, according to one embodiment of the invention.
  • the translation activator 21 waits for a lapse in the receipt of an input character stream from the user input device 22 or the input interface 12.
  • the counter 202 begins counting from an initial value 208, as shown in step 222.
  • Step 224 is then executed, and the translation activator 21 then senses either actively or passively, the existence of a keyboard stroke, which is not to be limited herein to refer to only a keyboard input, but rather can comprise any input from a user device 22 or an input interface 12, using one or more of the components described above, (i.e.
  • step 224 If the output of step 224 is affirmative, step 220 is executed, and the translation activator 21 again waits to sense a lapse in the input character stream. In the event that a keyboard stroke is not sensed, step 226 is executed and the translation activator 21 determines whether the count has reached a predetermined value 208. If the count is less than the predetermined value 208, step 228 is executed, where the counter 202 is incremented, and steps 224 and 226 are again repeated.
  • translation of the source document can commence at a predefined or starting location in the document or file, such as, for example, the beginning of the document or file.
  • the beginning of the document can be designated by the first character entered or added by the user, or by the computer system, in generating the document.
  • the translation can begin with the first character or word entered or added in the most recently entered sentence, paragraph or page. For example, where a user has typed into a document or file, a two page memo, the translation can begin with the first character on page one of the memo.
  • Fig. 12B shown is a flow chart illustrating the process for translating textual input as a document is being generated, according another embodiment of the invention.
  • the translation activator 21 waits for a lapse 220 in the receipt of an input character stream, and upon sensing a lapse, begins counting 222 unless interrupted by a keyboard stroke 224.
  • an existing text file comprising previously received input text is compared 227 to an updated text file that includes immediately received input text, and a determination is made as to that which comprises the immediately received text.
  • input text is stored as a text file and translated as it is received.
  • a determination is made by examining the previously stored, existing text file and comparing it with the immediately received input text. In this manner, only the immediately received text, or the immediately received text and any other text necessary, is then translated in step 229.
  • Figs. 13 A and 13B shown is an example of a memo being translated as it is generated, using the natural translation system of the present invention.
  • Fig. 13N as the user types in a character stream 250 through the user interface, the words "The revised building permit", a pause is sensed after "permit", during which the user is not entering any characters, commonly due to a pause that one takes in thinking about what he/she wishes to type next, or a computer-generated pause.
  • the translation activator 21 determines that a pause equivalent to a predetermined time period, such as, for example, 3 seconds has elapsed, and a translation of the English words into Japanese is carried out from the beginning of the document using the translation engine.
  • the translation is then presented to the user via the display 20. It is to be appreciated that the translation can further be presented in hard copy through a printer, or as an audio signal, such as words spoken through a voice-simulation transmitter. As shown, the system can be very useful for language learning, as the input text is presented alongside the translated text, allowing the user to view the output text translation as he/she is creating the input text. Referring now to Fig. 13B, as the user resumes typing, the character stream 252 is sensed with each keyboard stroke, and thus the translation activator 21 returns to a waiting mode. The translation engine then senses a pause after the user has typed in "will be", causing the translation to commence with the initially entered characters, to wit, "From: Richard Stevens. .
  • the translation can commence from the beginning of the sentence, rather than the beginning of the document, as described above. Thus, the translation would commence with the words "The revised. . . ", and continue to the word “permit.”
  • the translation engine can ensure that the translation into the target document includes such edits.
  • step 324 when a keyboard stroke is sensed, step 325 is executed, and a determination is made as to whether the keyboard stroke represents an enter function, mouse click, pressing a touchscreen, or other input signal that represents a pause, or function that does not relate to entry of an input character stream.
  • the depression of an enter key can represent a pause in generating an input character stream, for example, when a user has come to the end of a paragraph and wishes to add a space between the last paragraph and a new paragraph.
  • the clicking of a mouse can represent a pause in generating an input character stream, for example, when a user clicks on an icon to underline the text which follows, or when a user clicks on text to perform a drag and drop function.
  • Such actions can be inte ⁇ reted by the translation activator as allowing enough time for the translation of the input text to be carried out. That is, in such examples, the translation activator 21 considers the keyboard strokes and mouse clicks as being similar to a pause, and thus causes a translation to occur, as shown in step 330, from the beginning of the document to the point where the user has stopped, such as for example, the last word or character typed into the document.
  • only immediately received text can be translated.
  • the translation activator 21 can be configured such that the flow chart of Fig. 14 senses an affirmative request for translation. That is, in step 325, the system can determine whether the user, operator or system is requesting translation of the document by depressing an enter key, clicking on an icon, pressing a touchscreen or otherwise generating an input signal indicative of a translation request. In such an embodiment, a keyboard stroke or a click on a translation icon results in automatic translation and retranslation of the text in the document.
  • step 326 is executed and a determination can be made regarding whether the counter 202 has reached a predetermined value 208, in which case, step 330 is executed and a translation of the document is generated from a starting point. If the counter 202 has not reached the predetermined value, step 328 is executed, the counter is incremented, and steps 324 and 326 are again repeated.
  • the translation activator 21 senses the formation of a sentence prior to initiating a translation of the input character stream.
  • step 420 the translation engine 16 is receiving an input character stream and the translation activator 21 senses a pause.
  • the translation activator 21 examines the character stream to determine whether a sentence or sentence fragment, which can include, for example, a character, a sequence of characters, a word, or a sequence of words, are formed by the input character stream. In the present embodiment, if a sentence or sentence fragment has not yet been formed, an input character stream is awaited in step 423. Once an input character stream is again sensed, step 420 is executed, where the translation activator 21 waits for a subsequent lapse in the input character stream.
  • step 424 is executed, in which a determination is made either actively or passively, as to whether a keyboard stroke is sensed. If a keyboard stroke is not sensed, step 430 is executed and the document is translated from a starting point. If a keyboard stroke is sensed in step 424, step 420 is executed, where the translation activator 21 again waits for a lapse in the input character stream. As shown in dotted lines, the translation activator 21 can optionally determine in step 425, whether an input has been received, such as an enter or a mouse click, representing a pause or a function that does not relate to entry of an input character stream, as described above in Fig. 14. As similarly described above, sensing such an input causes step 430 to be executed, where a translation is carried out from a starting point in the document, such as, for example, the beginning of the document, or the beginning character of the immediately received text.
  • the translation activator 21 of the present invention can, in step 422, determine whether a recognizable word in a source language has been generated.
  • a recognizable word such as, for example, the English word “an” as opposed to “av”
  • the translation activator 21 can wait for additional characters in step 423 to determine whether a word has been generated, such as, for example, where the user continues to type, creating the word "avenue”.
  • the translation activator can determine in step 422, whether characters or words generated after the non-recognizable character(s) or word are recognizable, such as, for example, in the case of a typographical error followed by correctly entered characters or words.
  • the translation activator 21 can determine, in step 424, whether a paragraph has been formed by the input character stream. In such embodiments, the translation engine 14 would execute a translation operation only after an input character stream generates a paragraph.
  • Fig. 13C shown is an example of the translation system of the present invention, in which the translation activator 21 is configured to sense, during a lapse in typing, whether complete sentences has been typed, and translate only complete sentences.
  • the sentences comprising paragraph 254 are complete sentences and are translated. Note however, that the sentence fragment 256 "This should not delay the. . .” is not yet translated, as a determination is made by the translation engine 16 that these words merely comprise a sentence fragment.
  • Fig. 16 shown is an embodiment of the present invention that combines the concepts of, determining whether a predetermined count value 208 has been reached, as well as determining whether a sentence has been formed by the input character stream.
  • the translation activator 21 waits, in step 520, for a lapse in input character stream, and begins counting in step 522 from an initial value 208.
  • the translation activator 21 determines in step 524 whether a keyboard stroke is passively or actively sensed, in which case, step 520 is again executed, and the translation activator 21 waits for a lapse in the input character stream. In the event that a keyboard stroke is not sensed, a determination is made in step 526 whether the counter 202 has reached a predetermined value 208.
  • step 528 is again executed, and steps 524 and 526 are again repeated.
  • step 529 is executed, where the translation activator 21 determines whether the input character stream forms at least one sentence. In the event that the input character stream does not form a sentence, step 532 is executed, where an additional stream of input text data is awaited. Once an additional input character stream is sensed, control is again routed to step 522, where the translation activator 21 waits for a subsequent lapse in the input character stream and steps 522 through 529 are again executed.
  • step 529 If a determination is made in step 529, that the character stream forms a sentence, step 530 is executed, and the document is translated from a starting point. It is to be appreciated that in other embodiments of the invention step 529 can sense the formation of a word, sentence fragment, or paragraph prior to translating the input text.
  • the automatic translation and retranslation system of the present invention can be used as a language learning tool to enable a person fluent in a source language to learn a target language.
  • a person fluent in English can easily use the translation system of the present invention to learn Japanese.
  • a user at a computer workstation having a display monitor can, upon typing in a word or sequence of words, view on the display screen, an automatic translation of the typed words.
  • the user can view the changes that may occur in the translation of the preceding words due to grammatical and other structural influences.
  • system of the present invention can be configured to accommodate translation of a source language into a plurality of target languages for the user to view together, such as for example, English to Japanese, and English to Korean; or English to Japanese, and then Japanese to Korean. Additionally, the system of the present invention can be used to translate computer generated natural language text that is temporal in its relevance, applicability or format, such as, for example, an important or urgent message required to be made known to a number of network users in a number of different countries. In such an example, the system of the present invention can be used to translate the message into one or more languages as it is being generated, allowing the message to quickly reach and be understood by the relevant users.
  • the present invention can further be useful in Internet related applications, such as instant messages, electronic mail, web pages, bulletin boards and Internet chat rooms; to name for pu ⁇ oses of illustration, a few suitable applications. Is to be appreciated however, that numerous other applications are within the scope of the present invention. Nil of the above-described functions and operations may be implemented by a variety of hardwired logic design and/or programming techniques for use with a general pu ⁇ ose computer. The steps as presented in the flowcharts generally need not be applied in the order presented, and combinations of the steps may be combined. Similarly, the functionality of the system may be distributed into programs and data in various ways.
  • Any of the embodiments of the automated natural language translation system described herein, including all of the functionality described herein, can be provided as computer software on a computer-readable medium such as a diskette or an optical compact disc (CD) for execution on a general pu ⁇ ose computer (e.g., an Apple Macintosh, an IBM PC or compatible, a Sun Workstation, etc.).
  • a general pu ⁇ ose computer e.g., an Apple Macintosh, an IBM PC or compatible, a Sun Workstation, etc.

Abstract

An automatic natural translation system for translating input text in a source natural language such as English, to output text in a target natural language, such as Japanese, as the input text is being generated, includes a translation activator that determines when a pause occurs in the creation of source language input text in a document or file, and effects, in response to the pause, a translation of the input text in a target language, up to that point that the pause was sensed. The translation system can further effect a translation as text is being generated, in response to sensing a certain text structure or in response to an input function. Each time an automatic translation is performed, the translation can begin at a starting point, such as the beginning of a word processing document into which the text was entered, the beginning of immediately received input text, or the beginning of a page or paragraph, thus allowing any changes in sentence structure or recent edits to the input text to be reflected in the output text translation.

Description

AUTOMATIC TRANSLATION AND RETRANSLATION SYSTEM
Cross-Reference to Related Applications and Patents
This is a continuation-in-part of international patent applications PCT/US96/05567, PCT/US96/10283, and PCT/US97/ 10005 which were filed with the U.S. Receiving Office on April 23, 1996, June 14, 1996, and June 9, 1997 respectively, via the Patent Cooperation Treaty (PCT) designating Japan and the United States, all of which are incorporated herein by reference. Also U.S. Patent No. 5,528,491 is a related patent, the entire contents of which are incorporated herein by reference.
Technical Field The invention relates to automated natural language translation, particularly, a natural language translation system in which a document is translated automatically as it is being created by an author, user or system.
Background Information Various schemes for the machine-based translation of natural language have been proposed. Typically, a system used for translation includes a computer which receives input in one natural language and performs operations to supply output in another natural language. This type of translation has been an inexact and lengthy one, and the resulting output often requires significant editing by a skilled operator.
The translation operation performed by known systems generally includes a structural conversion operation. The objective of structural conversion is to transform a given parse tree (i.e., a syntactic structure tree) of the source language sentence to the corresponding tree in the target language. Two types of structural conversion have been tried, grammar-rule-based and template-to-template.
In grammar-rule-based structural conversion, the domain of structural conversion is limited to the domain of grammar rules that have been used to obtain the source-language parse tree (i.e., to a set of subnodes that are immediate daughters of a given node). For example, given
VP = VTO 1 + NP (a VerbPhrase consists of a SingleObject
Transitive Verb and a NounPhrase, in that order) and
Japanese: 1 + 2 => 2 + 1 (Reverse the order of VTO 1 and NP), each source-language parse tree that involves application of the rule is structurally converted in such a way that the order of the verb and the object is reversed because the verb appears to the right of its object in Japanese. This method is very efficient in that it is easy to find out where the specified conversion applies; it applies exactly at the location where the rule has been used to obtain the source-language parse tree. On the other hand, it can be a weak conversion mechanism in that its domain, as specified above, may be extremely limited, and in that natural language may require conversion rules that straddle over nodes that are not siblings. In template-to-template structural conversion, structural conversion is specified in terms of input/output (I/O) templates or subtrees. If a given input template matches a given structure tree, that portion of the structure tree that is matched by the template is changed as specified by the corresponding output template. This is a very powerful conversion mechanism, but it can be costly in that it can take a long period of time to find out if a given input template matches any portion of a given structure tree.
Notwithstanding the type of conversion carried out by conventional translation systems, such systems only facilitate text translation in the presence of a direct translation command from a user or operator after the user or operator has completed typing into the system a document. As a result, these systems do not lend to language learning or allow the user or operator to examine the translation on a word-per-word or sentence-per- sentence basis, and thus, variations in the translation of words in different contexts are more difficult for the user or operator to detect.
Summary of the Invention The automated natural language translation system according to the present invention has many advantages over known machine-based translators. After the system of the invention automatically selects the best possible translation of the input textual information and provides the user with an output, such as, for example, a Japanese language translation of English- language input text, the user can then interface with the system to edit the displayed translation or to obtain alternative translations in an automated fashion. An operator of the automated natural language translation system of the invention can be more productive because the system allows the operator to retain just the portion of the translation that he or she deems acceptable while causing the remaining portion to be retranslated automatically. Since this selective retranslation operation is precisely directed at portions that require retranslation, operators are saved the time and tedium of considering potentially large numbers of incorrect, but highly ranked translations. Furthermore, because the system allows for arbitrary granularity in translation adjustments, more of the final structure of the translation will usually have been generated by the system. The system thus reduces the potential for human (operator) error and saves time in edits that may involve structural, accord, and tense changes. The system efficiently gives operators the full benefit of its extensive and reliable knowledge of grammar and spelling. The automated natural language translation system's versatile handling of ambiguous sentence boundaries in the source language, and its powerful semantic propagation provide further accuracy and reduced operator editing of translations. Stored statistical information also improves the accuracy of translations by tailoring the preferred translation to the specific user site. The system's idiom handling method is advantageous in that it allows sentences that happen to include the sequence of words making up the idiom, without intending the meaning of the idiom, to be correctly translated. The system is efficient but still has versatile functions such as long distance feature matching. The system's structural balance expert and coordinate structure expert effectively distinguish between intended parses and unintended parses. A capitalization expert effectively obtains correct interpretations of capitalized words in sentences, and a capitalized sequence procedure effectively deals with multiple-word proper names, without completely ignoring common noun interpretations.
In one aspect, the invention is directed to an improvement of the automated natural language translation system, wherein the improvement relates to automatically translating a source natural language in a document or file as the input text is being generated, such as, for example, English, into output text in target natural language, such as, for example, Japanese, Spanish, or other natural language. In one aspect, the natural language translation system causes a translation to occur when a pause is sensed during the entry of input text, such as a pause in an input character stream. In another aspect, the natural language translation system can automatically translate the recently received input character stream along with input text that has previously been translated, causing a retranslation of certain of the input text. In another aspect, the natural language translation system can automatically translate input text that has caused a modification or change to the previously received input text. In another aspect of the invention, the automatic translation can commence at a starting point in the input text, such as, for example, at the beginning of a document, paragraph, word or other location, thus allowing any changes in sentence structure or edits to be absorbed into and reflected in the final translation. In another aspect of the invention, the automatic translation can commence at a point in the input text at which a modification to previously received input text was made, such as for example, in the middle of a paragraph that was previously received but recently edited.
In another aspect, the invention relates to an improvement of the automatic global natural language translation system, wherein the improvement relates to automatically translating and retranslating input text in a source natural language such as, for example, English, into output text in a target natural language, such as, for example, Japanese, Spanish, or other natural language, after certain text structure has been generated, such as, for example, a sentence fragment.
In another aspect, the invention relates to an improvement of the automatic natural language translation system, wherein the improvement relates to automatically translating and retranslating input text in a source natural language such as, for example, English, into output text in target natural language, such as, for example, Japanese, Spanish, or other natural language, when a user, operator or system sends a signal conveying the depression of a touchscreen or an enter key on a keyboard, a mouse click on an icon, or other input signal, such as a function signal not producing a character stream.
In yet another aspect, the automatic natural language translation system can effect a translation automatically in response to a pause in the input character stream by using a counter that begins counting as the pause is sensed. In another embodiment of the invention, the automatic natural language translation system can effect a translation automatically as a certain text structure, or as an input signal relating to a system function is sensed.
In another aspect of the invention, the automatic translation system of the present invention can be used as a language learning tool, by translating the input text immediately as the input text is being generated and displaying the translated output text along side the input text as the translation is occurring. The foregoing and other objects, aspects, features, and advantages of the invention will become more apparent from the following description and from the claims. Brief Description of the Drawings In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. FIG. 1 is a block diagram illustrating a system for performing automated translation of natural language.
FIG. 2 is a data flow diagram illustrating overall functioning of the system of FIG. 1. FIG. 3 is a flow diagram illustrating the operation of the system of FIG. 1. FIG. 4 is a flow diagram illustrating the operation of the end-of-sentence function of the preparser of the system of FIG. 1.
FIG. 5 is a flow diagram illustrating the operation of the parser of the system of FIG. 1. FIG. 6 is a flow diagram illustrating the semantic propagation operations of the system of FIG. 1.
FIG. 7 is a flow diagram illustrating the structural conversion operations of the system of FIG. 1.
FIG. 8 is a flow diagram illustrating the expert evaluator of the system of FIG. 1. FIG. 9 is a diagram of a sample graph used by the system of FIG. 1 for the exemplary phrase "by the bank".
FIG. 1 OA is a functional block diagram illustrating a system for automatically translating input text according to one embodiment of the present invention.
FIG. 1 OB is a functional block diagram illustrating a system for automatically translating input text according to another embodiment of the present invention.
FIG. 11 is a block diagram illustrating one embodiment of the translation activator in accordance with the present invention. FIG. 12A is a flow diagram illustrating the operation of the translation activator according to one embodiment of the present invention.
FIG. 12B is a flow diagram illustrating the operation of the translation activator according to another embodiment of the present invention.
FIGS. 13A, 13B and 13C illustrate an example of a screen display showing a translation from a source language to a target language using the system of the present invention.
FIG. 14 is a flow diagram illustrating the operation of the translation activator according to another embodiment of the present invention. FIG. 15 is a flow diagram illustrating the operation of the translation activator according to another embodiment of the invention.
FIG. 16 is a flow diagram illustrating the operation of the translation activator according to another embodiment of the invention.
Detailed Description A general description of an automated natural language translation system according to the invention is first provided below without reference to any of the drawings. After the general description of the system, reference will be made to the various drawings. An automated natural language translation system of the present invention can translate from a source natural language to a target natural language. In one embodiment, the system can translate from English to Japanese. In another embodiment, the system can translate from Japanese to English. In still other embodiments, the system can translate from English to Spanish and Spanish to English. In still other embodiments, the system can translate from English to a plurality of different languages, or from a non-English language to another non- English language.
The system comprises means for receiving and storing the source natural language, a translation engine for creating a translation into the target natural language, means for displaying the translation to a user, and means for obtaining for a user and displaying to a user alternative translations. In one embodiment of the system, the translation engine includes a translation activator, a preparser, a parser, a graph maker, an evaluator, a graph scorer, a parse extractor, and a structural converter. The translation activator determines when and/or under what conditions the translation should be effected. The preparser examines the input text and resolves any ambiguities in input sentence boundaries. The preparser then creates and displays the input text in a parse chart seeded with dictionary entries. The parser parses the chart to obtain possible syntactic categories for the input text. The graph maker produces a graph of the possible syntactic interpretations of the input text based on the parse chart. The graph includes nodes and subnodes which are associated with possible interpretations of the input text. The evaluator, which comprises a series of experts, evaluates the graph of the possible interpretations and adds expert weights to the nodes and subnodes of the graph. The graph scorer uses the expert weights to score the subnodes, and the graph scorer then associates the N best scores with each node. The parse extractor assigns a parse tree structure to the preferred interpretation as determined by the graph scorer. The structural converter performs a structural conversion operation on the parse tree structure to obtain a translation in the target language.
In the following three paragraphs, a description is provided of how: (a) the graph scorer combines the expert weights to compute a final weighted score for each subnode; (b) the graph scorer combines the subnode scores to arrive at a final node score; and (c) linguistic information is propagated through the tree of nodes and subnodes.
To compute the final weighted score for each subnode, the graph scorer associates a constant value with each subnode. An analysis of the linguistic information associated with each subnode determines the subnode score. See, for example, FIG. 8 where a series of expert evaluators examine the linguistic information stored at each node and subnode. The graph scorer adds together the individual weighted scores for each expert to obtain a final weighted average for a particular node or subnode. The combination of a plurality of weighted scores into a single weighted average score is a standard problem in computer science. One method that can be used is to multiply each expert result by a constant number (weight) assigned to that expert. The weight assigned to each expert is a matter of design choice. The designer can choose the priority (weight) to assign each expert. The weighted average is the summation of a series of numbers wherein each number is multiplied by a constant. For example,
weighted average = (w,)(x,) + (w2)(x2) + ... + (wn)(xn)
where the weights, wl s w2, ... wn, are all nonnegative and add up to 1. See, for example, Spiegel, Theory and Problems of Probability and Statistics 76 (McGraw-Hill, Inc. 1975) which discusses the use of weighted averages in the context of statistical expectations.
To combine subnode scores to obtain a final node score, the graph scorer can propagate the subnode scores from the bottom of the graph up to the top of the graph. Given the graph, wherein each node has a set of N scores, it is possible to determine one or more propagation methods. One technique which can be used to propagate the subnode scores is memoization which is a type of dynamic-programming used to solve optimization problems. The solution to optimization problems can involve many possible values (outcomes). The task is to find the optimal value. The algorithm used in optimization solves every subsubproblem just once and saves the outcome, thus avoiding the need to recompute the answer every time the subsubproblem is encountered. For a more detailed explanation of memoization as applied to optimization problems, see, for example, Cormen et al., Introduction to Algorithms 301-314 (McGraw-Hill Book Co. 1990). The method described at pages 301, 302, and 312 of Introduction to Algorithms is one method that can be used for propagating subnode score information through the graph. In propagating linguistic information through the tree, the semantic propagation part of the system operates to propagate semantic information from smaller constituents to the larger constituents that they comprise. Semantic propagation applies to the four classes of syntactic categories (SEMNP, SEMVP, SEMADJ, and VERB) used in the parsing operation. Before semantic propagation can occur, the linguistic information stored at the nodes must be analyzed. The analysis of the semantic information stored at the nodes is guided by a set of rules that tell from examining the noun-like and verb-like constituents in a grammar rule which selectional restriction slots of the verb-like constituents apply to which noun-like objects. Gerald Gazdar discusses in his text Natural Language Processing In Prolog (Addison- Wesley Publishing Co., 1989) a set of rules which can be used to analyze the semantic information stored at the nodes in a directed acyclic graph similar to that disclosed in the specification. Gazdar discusses the use of feature matching to match information on adjacent nodes. Gazdar states that feature matching involves equations that say that certain features appearing on one node must be identical to the features appearing on another. Most current work assumes a principle that is responsible for equating one class of feature specifications as they appear on the mother category and the daughter which manifests the morphology associated with those features. This daughter is known as the "head" of the phrase. Most phrases only have a single head. Thus, for example, a verb phrase inherits the tense of its verb since the latter is the head of the verb phrase. There is no straightforward way of specifying this principle on a grammar- wide basis with the notational resources that we have used so far, but we can stipulate the effects of the principle on a rule- by-rule basis quite simply if we assume that the relevant features are all to be found on a single branch of the DAG. Let us call the label on this branch head. Then we can write a typical VP rule as follows:
VP — > V NP PP <V head> = <VP head>
This requires that the value of the head feature on the V and that on the mother VP be identical. The rules discussed in Gazdar can be easily adapted for each of the syntactic categories discussed herein. The linguistic information assigned to each node using Gazdar' s rules can be propagated through the tree using memoization techniques.
Thus, summarizing the previous three paragraphs, the weighted average is one method of determining the subnode score, each subnode score can be propagated through the graph using known memoization techniques as applied to optimization problems, and the strategy discussed in Gazdar' s text can be used to analyze the linguistic information stored at each node and this linguistic information can be propagated through the parse tree chart using memoization techniques. The automated natural language translation system can perform automated re-translation functions after the initial automatic translation. That is, after the system automatically selects the best possible translation of the input textual information and provides the user with an output (preferably a Japanese language translation of the input English text, or a Japanese-to-English translation), the user can then interface with the system to edit the displayed translation or to obtain alternative translations in an automated fashion.
The automated natural language translation system uses a linguistic model which breaks a sentence into substrings. A substring is one or more words which occur in the order specified as part of the sentence. For instance, substrings of "The man is happy" include "The," "The man," "man is happy," "is," and "The man is happy" itself, but not "is man," "man man," and "The is." Different linguistic models classify substrings in various ways and in different levels of detail. For instance, in "They would like an arrow," "an arrow" is typically classified as a noun phrase (NP). Some models would also classify "an arrow" with syntactic features (for instance, it is a singular noun phrase), and semantic features (it refers to a weapon). If the phrase is ambiguous, there may be two or more ways of classifying it. For instance, "an arrow" can also refer to a symbol with an arrow-like shape. When linguistic models provide a method for resolving ambiguity, they usually do so by combining smaller units into larger units. When evaluating a larger unit, these models consider only a portion of the information contained in the larger unit.
In an exemplary embodiment of the system, the semantic property of "an arrow" (symbol vs. weapon) is used in evaluating the verb phrase "like an arrow" in the sentence "They would like an arrow." In contrast, if the syntax of the phrase "an arrow" were changed as in "He shot it with an arrow," the semantic property of "an arrow" is not used in evaluating the verb phrase "shot it with an arrow."
For any substring of a sentence interpreted in a single way with regard to a specific linguistic model (an interpreted substring), exported properties exist. Exported properties are all properties used to evaluate the combination of an interpreted substring with other units to form larger substrings. An export is an interpreted substring interpreted together with its exported properties. Properties that are contained within the interpreted substring but not exported are called substructures.
The parser of the system includes a grammar database. The parser finds all possible interpretations of a sentence using grammatical rules. The grammar database consists of a series of context-free phrase structure rules of the form X = Al A2 ... An. X is composed of, or made from, Al N2 ... An and is referred to as a higher node of lower nodes (subnodes) Al through An.
The graph maker of the system graphically represents the many possible interpretations of a sentence. Each node of the graph corresponds to an export of some substring. In one embodiment of the system, a single export is represented by a single node. The graph contains arcs which emanate from the nodes associated with an export. The arcs represent the substructure of the export based on the application of grammar rules. The graph may depict at least two types of arcs: (1) a unary arc which points to a single different export of the same substring; (2) a binary arc which includes a pair of pointers which points to two exports, the substrings of which when concatenated form the substring of the original export. Note that the formulation described in (2) assumes a grammar in Chomsky normal form.
The graph also includes a single starting export S from which all portions of the graph can be reached by following a series of arcs. The starting export corresponds to the entire sentence. Multiple arcs emanate from a node if and only if the same export can be composed of one or more exports (the pair of pointers in a binary arc is not considered multiple arcs for this purpose). Multiple arcs point to a node if and only if that export is a component of multiple exports. A node with no arcs projecting from it corresponds to a dictionary entry assigned to the substring. A plurality of linguistic experts assign a numerical score to a set of exports. The linguistic experts apply the score to each node of the graph. In one embodiment of the system, a scoring array (where each element of the array is a weight to multiply by a particular expert's score) is a fixed length "N" of floating point numbers for any given sentence.
The score is evaluated by a scoring module which may be integrated with the graph- making engine and/or the parser. Scores are computed for all exports that make up a higher export. The score for the higher export is computed as the sum of the exports that make up the higher level export and the scores of any experts that apply to the combination such as a score assigned by the structural balance expert.
The order in which nodes are visited and scored is a standard depth-first graph-walking algorithm. In this algorithm, nodes that have been scored are marked and are not scored again. During the scoring process, the scoring module evaluates dictionary entry nodes before evaluating any of the higher unit nodes. Each dictionary entry gives rise to a single score.
Multiple scores result where there are multiple ways of making an export, i.e., k ways of making the export result in k possible scores. Multiple scores are handled as follows:
(1) For a unary rule, each of the k scores of the lower export is added to the expert values that apply to the unary rule, and the resulting vector of k scores is associated with the parent export.
(2) For a binary rule, assume that the left child has g scores and the right child has h scores. Then a total of g times h scores are computed by adding each of the left child's scores to each of the right child's scores, and in addition, adding the expert values that apply to the binary rule. When g times h exceeds N, only the N best scores are kept with the parent node.
(3) When a node's export can be created in multiple ways, at most N scores are added to that node's score list, the best scores being kept. When scoring is complete, the above methods assure that each export has associated with its node a set of g scores (g ranging from 1 to N) which represent the g most likely ways (relative to the linguistic model) of making the export, including all substructure properties which are not represented in the export. In the special case of the root node S, the scoring method gives rise to the g most likely ways of making the sentence. Each score in each score list described above has an associated pointer. The pointer provides information to indicate which score(s) of the score list of lower export(s) were combined to produce the higher level score. By following the respective pointers, the g most likely interpretations of the sentence can be extracted as unambiguous parse trees.
Further details of the automated natural language translation system will now be disclosed with reference to FIGS. 1-9. Various improvements according to the invention are described thereafter with reference to FIGS. 10 - 16.
Referring to FIGS. 1 and 2, an automated natural language translation system 10 according to the invention includes an input interface 12, a translation engine 16, storage 18, a user input device 22, a display 20, and an output interface 14. The input interface 12 is constructed to receive a sequence of text in a source language, such as, for example, English or Japanese. The input interface 12 may comprise a keyboard, a voice interface, or a digital electronic interface, such as a modem or a serial input. The translation engine 16 performs translation operations on the source text, in conjunction with data in storage. The translation engine 16 may be comprised entirely of hardwired logic circuitry, or it may contain one or more processing units and associated stored instructions. The translation engine 16 may include the following elements, or parts of them: A translation activator 21, a preparser 24, a parser 26, a graph maker 28, a parse/translation evaluator 30, a parse extractor 32, a structural converter 34, and a user interface 42, which includes an alternate parse system 37. The structural converter may comprise a grammar rule controlled structural converter 36, a lexicon controlled structural converter 38, and a synthesis rule controlled structural converter 40. The storage 18 may include one or more areas of disk (e.g., hard, floppy, and/or optical) and/or memory (e.g., RAM) storage, or the like. It may store the following elements, in whole or in part: a base dictionary 44, technical dictionaries 46, user- created dictionaries, grammar rules 48, synthesis rules 50, a semantic feature tree 52, structure trees 54, and a graph 56. The storage 18 also is used to store input textual information in a source natural language, output textual information in a target natural language, and all sorts of information used or useful in performing the translation including one or more dictionaries, domain keywords, and grammar rules. The user input interface 22 may comprise a keyboard, a mouse, touchscreen, light pen, or other user input device, and is to be used by the operator of the system. The display may be a computer display, printer or other type of display, or it may include other means of communicating information to the operator. The output interface 14 communicates a final translation of the source text in the target language, such as Japanese. The output interface 14 may comprise a printer, a display, a voice interface, an electronic interface, such as a modem or serial line, or it may include other means for communicating that text to the end user.
In operation of one embodiment of the translation system of the invention, referring to FIGS. 1, the translation engine 16 can include translation activator 21, which can be configured with the remaining elements shown in this figure within the translation engine 16, or as a separate component capable of periodically interfacing with the other elements of the translation engine 16, as shown in Fig. 11. The translation activator 21 can comprise a computer processing unit for determining when a translation of input text should commence. The translation activator 21 typically sets the parameters the govern this determination, determines, while the text is being generated, whether the conditions surrounding such parameters exist, and initiates the automatic translation when such conditions exist. As further described in exemplary embodiments herein, the translation activator 21 can generate and store a predetermined time period or value which can be used to determine when a lapse in generating the input text exists. The translation activator can upon realizing a lapse or pause substantially equivalent to such time period, initiate an automatic translation and/or retranslation, which can be carried out in the translation engine 16, described herein. Similarly, the translation activator can be configured to process the input text and sense the formation of a words, sentences or sentence fragments, and paragraphs, using predefined parameters configured to represent each of the above structures, and effect a translation when such structures exist. The translation activator and the operation thereof, is further described herein in Figs. 10-16.
The preparser 24 first performs a preparsing operation (step 102) on the source text 23, which, as further described in Figs. 10-16, can include source text as it is being created, edited, received or otherwise compiled in a computer file or document. This operation includes the resolution of ambiguities in sentence boundaries in the source text, and results in a parse chart seeded with dictionary entries 25. The parser 26 then parses the chart produced by the preparser (step 104), to obtain a parse chart filled with syntactic possibilities 27. The graph maker 28 produces a graph of possible interpretations 29 (step 106), based on the parse chart resulting from the parsing step. The evaluator 30, which accesses a series of experts 43, evaluates the graph of stored interpretations (step 108), and adds expert weights to the graph 31. The graph scorer 33 scores nodes and associates the N (e.g., 20) best scores with each of them 35. The parse extracter 32 assigns a parse tree structure 39 to this preferred interpretation (step 110). The structural converter 34, which accesses the conversion tables 58, then performs a structural conversion operation (step 112) on the tree to obtain a translation 41 in the target language. The user may interact with the alternate parse system 37 to obtain alternative translations.
Referring to FIG. 4, the system begins the preparsing operation by dividing the input stream into tokens (step 114), which include individual punctuation marks, and groups of letters that form words. The occurrence of whitespace affects the interpretation of characters at this level. For instance, in "x - y" the "-" is a dash, but in "x-y" it is a hyphen.
The preparser then combines the tokens into words (step 116). At this level, it recognizes special constructions (e.g., internet addresses, telephone numbers, and social security numbers) as single units. The preparser also uses dictionary lookup to find groupings. For example, if "re- enact" is in the dictionary as "reenact" it will become one word in the sentence, but if it is not, then it will remain as three separate "words".
The next preparsing phase involves determining where the sentence ends (step 118). During this operation, the preparser accesses the base dictionary and the technical dictionaries, and any user-created dictionaries, as it follows a sequence of steps for each possible sentence ending point (i.e., after each word of the source text). The preparser need not perform these steps in the particular order presented, and these may be implemented as a series of ordered rules or they may be hard-coded.
Referring to FIG. 5, the preparser interprets and records any nonparsable sequence of characters, such as a series of dashes: " ", as a "sentence" by itself, although not one which will be translated (step 120). The preparser also requires any sequence of two carriage returns in a row to be the end of a sentence (step 122). If the first letter of the next word is a lower case letter, the preparser will not indicate the end of a sentence (step 124). If a sentence started on a new line and is short, the preparser considers it a "sentence" of its own (e.g., a title).
The preparser interprets a period, a question mark, or an exclamation mark as the end of a sentence, except in certain situations involving end parenthesis and end quotes (step 128). In the case of sentences that ends with ." or ?" or the like, the preparser uses virtual punctuation marks after the quote in addition to the punctuation before the quote. Alternatives for the underlying punctuation required for ?" are illustrated in the following examples:
The question was "What do you want?". Did he ask the question "What do you want?"?
Are you concerned about "the other people"? In English, each of these is likely to end with ?" The virtual punctuation marks added by the preparser indicate that before the quote there is something which can be either a question mark or nothing at all. After the quote there is something that can be either a period or a question mark. The grammatical structure of the rest of the sentence allows later processing stages to select the best choice.
The preparser may also use several further approaches in preparsing a period (steps 130, 132, 134, 136, and 138). Some abbreviations in the dictionary are marked as never beginning sentences and others as never ending sentences (step 130). These rules are always respected. For example, "Ltd" never begins a sentence and "Mr" never ends one. The preparser also will not end a sentence with a single initial followed by a period unless the next word is a common grammatical word (step 132) such as "the", "in", etc. If the word before the period is found in any dictionary, the period will end the sentence (step 134). If the word before the period is not in this dictionary, and it has internal periods (e.g., I.B.M.) and the next word is not in the dictionary in a lowercase form, or the word after that is itself uppercase, then this is not an end of sentence (step 136). In remaining cases the period does mark the end of sentence (step 138).
Referring again to FIGS. 2 and 3, once the sentence boundaries have been defined by the preparser, the parser places the words of the sentence in syntactic categories, and applies grammar rules from the grammar database to them to compute possible syntactic interpretations 25 of the sentence (step 104). These grammar rules 48 can be implemented as a series of computer readable rules that express the grammatical constraints of the language. For the English language, there may be hundreds of such rules, which may apply to hundreds of syntactic categories. To reduce the computational overhead of this operation, the different possible meanings of a word are ignored.
In the next step (step 106), the graph maker employs the dictionary to expand the results of the parser to include the different meanings of words and creates a directed acyclic graph representing all semantic interpretations of the sentence. This graph is generated with the help of a series of semantic propagation procedures, which are described below. These procedures operate on a series of authored grammar rules and, in some cases, access a semantic feature tree for semantic information. The semantic feature tree is a tree structure that includes semantic categories. It is roughly organized from the abstract to the specific, and permits the procedures to determine how semantically related a pair of terms are, both in terms of their separation in the tree and their levels in the tree. For example, "cat" and "dog" are more related than "cat" and "pudding", and hence the former pair would be separated by a smaller distance within the tree. "Animal" and "cat" are examples of words that are stored at different levels in the tree, as "animal" is a more abstract term than "cat."
Referring to FIG. 9, the graph includes nodes 80 and their subnodes 82, 84, 86 linked by pointers 88, 89, 90, 91 in a manner that indicates various types of relationships. A first type of relationship in the graph is one where nodes representing phrases possess pointers to constituent word nodes or sub-phrase nodes. For example, a node 84 representing the phrase "the bank" will be linked by pointers 92, 93 to the constituent words "the" 94, and "bank" 95. A second type of relationship in the graph is where phrase interpretations possess pointers to alternate ways of making the same higher-level constituent from lower-level pieces. For example, a node 80 representing the phrase "by the bank" can have two source interpretation locations 81, 83, which each include pointers 88 & 89, 90 & 91 to their respective constituents. In this example, the different constituents would include different subnodes 84, 86 that each represent different meanings for the phrase "the bank". The structure of the graph is defined by the results of the parsing operation and is constrained by the syntax of the source sentence. The nodes of the graph are associated with storage locations for semantic information, which can be filled in during the process of semantic propagation.
The semantic propagation part of the system operates to propagate semantic information from smaller constituents to the larger constituents they comprise. It applies to four classes of the syntactic categories used in the earlier parsing operation: SEMNP (which includes noun-like objects and prepositional phrases), SEMVP (verb phrase like objects, which usually take subjects), SEMADJ (adjectives) and VERB (lexical verb-like verbs that often take objects). Other syntactic categories are ignored within a rule. The grammar rule author may also override the implicit behavior below by specific markings on rules. These specific instructions are followed first.
There are two aspects to the manner in which semantic features are propagated through the system. The first is a set of rules that tell from examining the noun- like and verb-like constituents in a grammar rule, which selectional restriction slots of the verb-like constituents apply to which noun-like objects. For instance, the rule for the verb phrase of the sentence: "I persuaded him to go" is roughly VP = VTl 1 + NP + VP (where VP is a verb phrase, VTl 1 is a type of transitive verb, and NP is a noun phrase). One exemplary default rule indicates that when a verb takes objects, selectional restrictions are to be applied to the first NP encountered to the right of the verb. Another rule says that VP restrictions on their subjects should be applied to the first NP found to the left of a VP. Together these rules make sure that "persuade him" and "him go" are both evaluated for their semantic plausibility. As mentioned before, these rules reflect the complex grammar of the English language and there may therefore be quite a few of them. Referring to FIG. 6, the semantic propagation operation includes copying of selectional restrictions from SEMVPs to imperative sentences (step 140). If a SEMNP is being used as a locative expression, its goodness is evaluated against semantic constants defining good locations (step 142). If a rule involves a conjunction of two SEMNPs (detected because of ANDing together of syntactic features), the graph maker ANDs together the semantic features and applies the semantic distance expert (step 144).
If, in the course of examining the rules specified for syntactic feature propagation, the graph maker locates a "head" SEMNP which gets propagated to a higher level (e.g., it becomes part of a SEMNP that includes more words), it propagates semantic features as well (step 146). However, if the "head" is a partitive word (e.g., "portion," "part"), it propagates from a SEMNP to the left or right instead. SEMVPs and SEMADJs are propagated in the same way, with the only exception being that SEMVPs and SEMADJs do not have any partitive situations (step 148). Adjectives are part of the SEMVP class for this purpose.
When a SEMVP is made from a rule including VERBs, the graph maker propagates upward the VERB's subject restriction unless the VP is a passive construction, in which case the VERB's first object restriction is propagated instead (step 150). In any rule containing SEMVPs, it attempts to apply the selectional restrictions of the SEMVPs to NPs encountered moving leftward from the SEMVP (step 152). In any rule containing SEMADJs, the graph maker attempts to apply the selectional restriction of the SEMADJ first to any SEMNPs encountered moving to the right from the SEMADJ, and if that fails, tries moving to the left (step 154). For any remaining unused object selectional restrictions of a VERB (that have not been propagated upward because of passives), the graph maker applies them in turn to SEMNPs encountered in order to the right of the VERB (step 156). In all of these rules, a verb selectional restriction is used up as soon as it applies to something. In all rules up to this one, SEMNPs are not used up when something applies to them. Starting at this rule, the SEMNP does get "used up". Finally, if a rule makes a SEMVP, the graph maker determines if there are any SEMVPs or SEMADJs in it that have not yet been used, and if so, propagates them upward (step 158). The system also performs feature matching of linguistic features. Linguistic features are properties of words and other constituents. Syntactic feature matching is used by the parser, and semantic feature matching is used by the graph maker. But the same techniques are used for both. For instance, "they" has the syntactic feature plural, while "he" has the feature of singular. Feature matching uses marking on grammar rules so that they only apply if the features of the words they are to apply to meet certain conditions. For example, one rule might be:
S = NP{@} + VP{@}
where the @ signs mean that the number features of the NP and VP must match. So while this rule will allow "they are" and "he is", it will not allow "they is" and "he are". Feature match restrictions are broken into "local" and "long distance". The long distance actions may be computed when the grammar is compiled, rather than when actually processing a sentence. The sequence of long distance operations that must be performed is then encoded in a series of instruction bytes.
The computation of long distance feature operations must start with an n-ary rule (i.e., one that may have more than two inputs on its right). The system then distributes codes to various binary rules so that feature sets end up being propagated between rules in the correct fashion. By breaking the n-ary rules into binary rules, the parsing operations are greatly simplified, but because the system keeps track of feature sets across binary rules, it retains the power of the long distance operations. The system of the invention also allows multiword "idioms" as part of the dictionary, while retaining representations of the individual words of which they are composed. These two forms may ultimately compete against each other to be the best representation. For instance "black sheep" is found in the dictionary with the meaning of a disfavored person. But in some cases the words "black sheep" may refer to a sheep which is black. Because both of the forms are retained, this non-idiomatic usage may still be chosen as the correct translation.
The idioms may belong to further categorizations. For example, the system may use the following three types:
Almighty: United States of America Preferential: long ago Normal: black sheep Almighty idioms suppress any other possible interpretation of any of the words that make up the sequence. Preferential idioms suppress other constituents of the same general type and that use the very same words. Normal idioms compete on an even footing with other entries.
The resulting graph is to be evaluated by experts (step 108, FIG. 3), which provide scores that express the likelihood of correctness of interpretations in the graph. The system of the invention includes a scoring method that applies to all partial sentences of any length, not just full sentences. An important element in the use of a graph is that a subtree is fully scored and analyzed only once, even though it may appear in a great many sentences. For example, in the phrase "Near the bank there is a bank.", the phrase "Near the bank" has at least two meanings, but the best inteφretation of that phrase is determined only once. The phrase "there is a bank" similarly has two interpretations, but the best of those two is determined only once. There are therefore four sentence interpretations, but the subphrases are scored just once. Another feature of the graph is that each node is labeled with easily accessible information about the length of that piece of the sentence. This allows the best N inteφretations of any substring of the English sentence to be found without reanalyzing the sentence.
Although, in one implementation, only the N overall best analyses of the sentence are available at any one time (N being a number on the order of 20), the use of a graph allows the system to integrate the result of a user choice about a smaller constituent and give a different N best analyses that respect the user's choice. Because all this is done without reparsing the sentence or rescoring any substrings, it may be done quickly.
Referring to FIG. 8, operation of the expert evaluator 30 is based on various factors that characterize each translation, which are handled by the various experts. The rule probability expert 170 evaluates the average relative frequency of grammar rules used to obtain the initial source language parse tree. The selectional restriction expert 178 evaluates the degree of semantic accord of the given translation. The dictionary entry probability expert 172 evaluates the average relative frequency of particular "parts of speech" of the words in the sentence used to obtain the initial source language parse tree. The statistics expert evaluates the average relative frequency of particular paraphrases chosen for the given translation.
The system automatically determines the English "part of speech" (POS) for various individual English words, English phrases, and groups of English words. The system makes the automatic determination of the POS when translating sentences, and the system usually makes the correct choice. Occasionally, however, the sentence being translated is itself ambiguous. A word or phrase that can be inteφreted as more than one POS leads to several distinct but "correct" meanings for the sentence in which the word or phrase appears. It is possible for an operator of the system to override the system's automatic POS determination and instead manually set the POS for any word, phrase, or group of words. For example, in the source English sentence "John saw a boy with a telescope", an operator of the system can set "a boy with a telescope" as a Noun Phrase to force the system to inteφret the sentence to mean that the boy was carrying a telescope and thus reject the inteφretation that John used a telescope to see the boy. An operator can address the situation where overriding the system's POS rules yields worse, not better, translation results by applying a few manual POS settings as possible or by applying less restrictive manual POS settings. Noun Phrase is less restrictive than Noun, and Group is the least restrictive POS setting. The following is a list of the various possible POS settings.
PART OF SPEECH (POS.
Noun
Noun Phrase
Verb (transitive or intransitive)
Verb Phrase
Adjective
Adjectival Phrase
Adverb
Adverbial Phrase
Preposition
Prepositional Phrase
Conjunction
Group
English
The parts of speech "Adjectival Phrase" and "Adverbial Phrase" are useful in the situation where an English sentence may have a different meaning depending on how a particular prepositional phrase is inteφreted by the system. For example, the sentence "We need a book on the fourth of July" means "We need a book about the American fourth of July holiday" if "on the fourth of July" has an adjectival inteφretation, but the sentence means "On the fourth day of July, we need a book" if the phrase "on the fourth of July" has an adverbial inteφretation. If the operator believes the system has automatically assigned the incorrect POS to "on the fourth of July", the operator can manually set a different POS to "on the fourth of July" in the sentence "We need a book on the fourth of July". If an operator does not want the system to translate a particular word, phrase, or group of words from English to Japanese, the operator can assign the POS "English" to the desired word(s), phrase(s), and/or group(s) of words. It also is possible for an operator to remove one or more POS settings, regardless whether the settings were assigned automatically by the system or manually by an operator. The system keeps track of statistical information from translation usage at each customer site at more than one level. For example, the system may maintain statistical counts at the surface form level (how often was "leaving" used as a transitive versus an intransitive verb), and also at the meaning level (did it mean "leave behind" or "depart" from), and this second type is summed over occurrences of "leave", "leaves", "left", and "leaving". The system may also keep statistical counts separately for uses that have occurred within the last several sentences, and uses that have occurred at any time at the customer site. Furthermore, the system may distinguish cases where the user intervened to indicate that a particular word sense should be used, from cases where the system used a particular word sense without any confirmation from the user.
The structural balance expert 182 is based on a characteristic of English and many other European languages pertaining to the lengths of constituents in a given sentence. In some (but not all) constructions, sentences which involve heavy (lengthy) elements to the left of light elements are disliked in these languages. For example:
Mary hit Bill with a broom. Light Heavy {acceptable}
Mary hit with a broom Bill.
Heavy Light
{unacceptable}
Mary hit with a broom a dog that tried to bite her. Heavy Heavier
{acceptable} Given two parses of a given sentence, if one contains a "Heavy - Light" sequence involving a construction that tends to avoid such a sequence, and if the other parse does not, then it can be assumed that the former does not represent the intended inteφretation of the sentence. This expert is an effective way to distinguish between intended parses and unintended parses. In coordinate structures of the pattern of "A of B and C" it can be difficult to determine whether the intended inteφretation is "A of {B and C}" or "A {of B} and C". The coordinate structure expert 180 measures the semantic distance between B and C, and that between A and C to determine which mode of coordination combines two elements that are closer in meaning. This expert accesses the semantic feature tree during its operation. This expert is also an efficient way to distinguish between the intended parses and the unintended parses of a given sentence.
Many words in English include potential ambiguities between ordinary-noun and proper- name inteφretations. The capitalization expert 176 uses the location of capitalization in a sentence to determine how likely it is that the capitalization is significant. For example, the following sentences:
Brown is my first choice. My first choice is Brown. are different in that while the former is genuinely ambiguous, it is far more likely in the latter that "Brown" is a person name than a color name. This expert takes into consideration factors such as whether a given capitalized word appears at sentence-initial or sentence-noninitial position (as shown above), whether the capitalized spelling is in the dictionary, and whether the lower-case-initial version is in the dictionary. This expert is an effective way to obtain the correct inteφretations of capitalized words in sentences.
If a sentence contains a sequence of initial -uppercase words, it can be treated as a proper name or as a sequence of ordinary nouns. The system of the invention employs a capitalized sequence procedure, which favors the former inteφretation. Also, if the sequence cannot itself be parsed by normal grammar rules, it can be treated as a single unanalyzed noun phrase to be passed through untranslated. This procedure has proven to be a very effective way of dealing with multiple-word proper names while not completely ignoring the lower-rated common noun inteφretations. Referring to FIG. 7, the machine translation system of the invention uses a grammar-rule controlled structural conversion mechanism 162 that has the efficiency of a straightforward grammar-rule-based structural conversion method, but which comes close to the power of the template-to-template structural conversion method. This method relies on the use of grammar rules 160 which can specify non-flat complex substructure. While the following is a rule format used in other translation systems:
Y => XI + X2 + ... Xn
Substructure Specified
Y
XI X2 ... Xn
the system of the invention uses grammar rules of the following format:
Y => #Zl(i) #Z2(2) XI + X2 ... + Xi + X(i+1) + ... X(n)
Substructure Specified
Y / I \
#Z1 X(i+1) Xn
/ I \
#S2 Xi X(i+1) / \ XI X2
In this syntax, symbols prefixed with "#" are virtual symbols that are invisible for the puφose of sentence structure parsing, but which are used in building substructures once a given parse is obtained.
Given this type of grammar, it becomes possible to specify multiple structure conversion among any sequences of nodes that are siblings in the substructure. This transforms a grammar- rule-based structure conversion mechanism into one with some of the power of the template-to- template structure conversion mechanism. Although the system of the invention is based on the second type of grammar rules presented above, it automatically compiles the corresponding grammar rules of the first form. It can therefore use grammar rules of the first form to parse sentences, and use grammar rules of the second form to build parse structures.
The structural conversion also includes a dictionary controlled structural conversion operation 166, which accesses dictionaries 161 to operate on the parse tree after it has been operated upon by the grammar-rule controlled structural conversion operation. The synthesis- rule controlled structural conversion operation then applies synthesis rules to the resulting parse tree to provide the target language text 41.
Referring again to FIGS. 1 and 2, after the system has derived a best-ranked translation in the process described above, it is presented to the user via the display 20. The user then has the option of approving or editing the translation by interacting with the alternate parse system 37, via the user input device 22. In the editing operation, the user may constrain portions of the translated sentence that are correctly translated, while requesting retranslation of the remaining portions of the sentence. This operation may be performed rapidly, since the system retains the graph with expert weights 31.
Having described certain details of the automated natural language translation system with reference to FIGS. 1-9, improvements according to the invention are now described with reference to FIGS. ION through 16. These improvements automatically translate input text while the text is being generated by a user, operator or system, such as, for example, while a user is generating a document using word processing software. An advantage to the system of the present invention lies in the ability of the system to translate input text as it is being generated or shortly after the text is generated, which can be useful in a language learning, as well as in systems generating temporal text that must be translated quickly and efficiently.
In accordance with the present invention, a user, operator or system, can enter, generate, create, edit, receive or otherwise compile a text file or document, (hereinafter interchangeably referred to as "generate a text file" or "generate a document"), by entering or adding to a computerized system or file, characters, symbols and text, (hereinafter interchangeably referred to as characters, character stream, textual input or input text stream), through the user input interface 22, or the input interface 12, as shown in Fig. 1. A document or text file can include any number of characters, formats, texts or files, depending on the desired application. As described above, the user interface 22 and the input interface 12 can comprise, for example, a keyboard, mouse, touchscreen, light-pen, voice-activated transmitter, or other input device, as well as a digital interface such as a modem or serial port. It is to be appreciated that the system of the present invention can incoφorate or interface with word processing software, such as, for example, Microsoft® Word 6.0, installed on the user's workstation (20, 22). Thus, as the user is generating a document in a source language, a natural language translation of the document to the target language is automatically carried out, without the user having to affirmatively request translation of the input text, such as, for example, by clicking on a translation icon. The translation system of the present invention can, however, accommodate affirmative translation requests. The system of the present invention can further interface with other systems in the event that the document to be translated is generated by a computerized system. It is to be appreciated that a document can be generated using the user input interface 22 and the input interface 12, either independently, or in combination.
Referring to Fig. 10A in conjunction with Fig. 1, shown is a functional block diagram illustrating the system for automated translation and retranslation according to one embodiment of the present invention. As shown, input text 183 generated or entered into the system through the user input interface 22 and/or the input interface 12 is sent to the translation engine 16 in substantially real time, where it is translated 184 from the beginning of the input text in the text file or document being created. For example, the translation can commence with the first character in a stream of characters entered, the first word in a stream of words and characters entered, or other starting point, as will be further described. The input text 183 is also stored 186 as a text file in storage 18 as it is being generated or entered, for subsequent retranslation 184 and display 185. The stored input text 186 can be used in the translation and retranslation 184 of the text file, such that the input text immediately received, as well as other previously entered input text in the existing text file, is translated. The translation and the input text are then displayed 185 and continuously refreshed as the existing text changes with newly received input text. The process of translating and retranslating 184 the input text is shown as a loop that constantly translates the input text 183 as it is being received, transmits as output, translated text to the display 185, and loops back to translate 184 any newly received input text along with any previously received input text from storage 186. If no new input text has been received, the translation process is temporarily suspended until input text is again received. Therefore, in substantially real time, the input text is translated along with input text in the existing text file, and both the input text in the source language, and the output text in the target language can be displayed. It is to be appreciated however, that in other embodiments, only the translated text need be displayed, and the input text in the source language can be obtained by clicking on a translated word in the document, or from a system clipboard.
Referring to Fig. 10B, shown is a functional block diagram illustrating the system for automatic translation and retranslation according to another embodiment of the present invention. As similarly described above, input text 183 generated or entered into the system through the user input interface 22 and/or the input interface 12, is sent to the translation engine 16, and stored 186 as a text file in storage 18, in substantially real time. The input text is then compared 187 to the text file up to the point that the input text was received, to determine which of the input text is newly received text that has not previously been translated. After a determination is made as which of the input text is newly received input text, such as, for example, the entry of the words comprising the continuation of a sentence or a modification of a previous sentence, a translation 188 of the newly received input text is carried out. Depending on where the newly received input text appears, a retranslation 188 of previously received input text can also be carried out, such as, in the above example, where the newly received input text modifies a previously entered sentence. In this manner, the stored input text 186 can be used in the translation and retranslation 184 of the text file, such that the input text immediately received, as well as other previously entered input text are translated. Both the translated text and the input text can then be displayed 185. The process of translating and retranslating 188 the input text is shown as a loop that, in substantially real time, translates the newly received input text, transmits as output the translated text to the display, and then loops back to compare 187 the newly received input text with the text file and translate any newly received input text. If no new input text has been received, the translation process can be temporarily suspended, as described above.
Referring again to Fig. 1, the translation activator 21 included in the translation engine 16 determines when the translation of the document is to be initiated, that is, when the translation engine 14 is to effect a translation of the document from the source language to a target language. Referring to Fig. 11, shown in further detail is the translation activator 21 according to one embodiment of the invention. As shown, the translation activator 21 can comprise a processing module 200 incoφorating an oscillator, timer or counter 202 (hereinafter referred to as a "counter 202") that senses when no signal is present at an input 204 from the user input device 22 or the input interface 12. For example, as a user is typing via a touchscreen 190, keyboard 192, or mouse 194, one or more of the inputs 204 to the counter 202 is active and the counter 202 is off, that is, it is not counting. When no inputs 204 are active, or when only certain of the inputs 204 are active, the counter 202 begins counting from a starting value such as zero. The counter 202 provides to a comparator 206, an output representing its count, which compares the count to a predetermined value 208. The predetermined value relates to time and is preferably a number stored in storage 18. For puφoses of illustration only, when the translation system of the present invention is used for translating text as a user types it into a word processing document, the value 208 can represent a time period from about .1 second to about 45 seconds, which is about equivalent to the length of time the user might pause to think about what he or she wishes to type next, or to scroll through the document, for example. Additionally, in another embodiment of the invention, where the translation system of the present invention is used for translating natural language text from a computer generated source, the value 208 can represent a shorter or longer time period. It is to be appreciated that the value 208 can correspond to any time period suitable to a desired use of the system of the present invention.
When the count from the counter 202 is substantially equivalent to or otherwise corresponds to the value 208, the comparator 206 provides a signal to the translation engine 16 causing the translation process to begin. Where the count is not equivalent to or does not correspond to the predetermined value 208, the comparator 206 provides a signal to an adder 210, causing incrementation of the counter 202. Thus, should there exist a delay in receiving a textual input from the user input device 22 or the input interface 12, the counter 202 counts until the count substantially equals a predetermined value 208, at which point, a translation occurs. It is important to note, however, that certain actions such as depressing an enter key or clicking on a translation icon, can still cause a translation to occur, as shown by the inputs 196 to the translation engine 16 from the touchscreen 190, keypad 192 and mouse 194.
Referring to Fig. 12N, shown is a flow chart illustrating the process for translating textual input as a document is being generated, according to one embodiment of the invention. As shown in step 220, the translation activator 21 waits for a lapse in the receipt of an input character stream from the user input device 22 or the input interface 12. Upon sensing a lapse, the counter 202 begins counting from an initial value 208, as shown in step 222. Step 224 is then executed, and the translation activator 21 then senses either actively or passively, the existence of a keyboard stroke, which is not to be limited herein to refer to only a keyboard input, but rather can comprise any input from a user device 22 or an input interface 12, using one or more of the components described above, (i.e. keyboard, mouse, touchscreen, light pen, voice-activated transmitter) and those devices otherwise used as input or signaling devices. If the output of step 224 is affirmative, step 220 is executed, and the translation activator 21 again waits to sense a lapse in the input character stream. In the event that a keyboard stroke is not sensed, step 226 is executed and the translation activator 21 determines whether the count has reached a predetermined value 208. If the count is less than the predetermined value 208, step 228 is executed, where the counter 202 is incremented, and steps 224 and 226 are again repeated.
In the event that the counter 202 has reached the predetermined value 208, translation of the source document can commence at a predefined or starting location in the document or file, such as, for example, the beginning of the document or file. In the present embodiment, the beginning of the document can be designated by the first character entered or added by the user, or by the computer system, in generating the document. In other embodiments, depending on the desired objectives, the translation can begin with the first character or word entered or added in the most recently entered sentence, paragraph or page. For example, where a user has typed into a document or file, a two page memo, the translation can begin with the first character on page one of the memo.
Referring to Fig. 12B, shown is a flow chart illustrating the process for translating textual input as a document is being generated, according another embodiment of the invention. As similarly described above, the translation activator 21 waits for a lapse 220 in the receipt of an input character stream, and upon sensing a lapse, begins counting 222 unless interrupted by a keyboard stroke 224. When the count reaches a predetermined value, an existing text file comprising previously received input text is compared 227 to an updated text file that includes immediately received input text, and a determination is made as to that which comprises the immediately received text. As described above in Fig. 10B, input text is stored as a text file and translated as it is received. When input text is received thereafter, a determination is made by examining the previously stored, existing text file and comparing it with the immediately received input text. In this manner, only the immediately received text, or the immediately received text and any other text necessary, is then translated in step 229.
Referring to Figs. 13 A and 13B, shown is an example of a memo being translated as it is generated, using the natural translation system of the present invention. As shown in Fig. 13N, as the user types in a character stream 250 through the user interface, the words "The revised building permit", a pause is sensed after "permit", during which the user is not entering any characters, commonly due to a pause that one takes in thinking about what he/she wishes to type next, or a computer-generated pause. At this point, the translation activator 21 determines that a pause equivalent to a predetermined time period, such as, for example, 3 seconds has elapsed, and a translation of the English words into Japanese is carried out from the beginning of the document using the translation engine. The translation is then presented to the user via the display 20. It is to be appreciated that the translation can further be presented in hard copy through a printer, or as an audio signal, such as words spoken through a voice-simulation transmitter. As shown, the system can be very useful for language learning, as the input text is presented alongside the translated text, allowing the user to view the output text translation as he/she is creating the input text. Referring now to Fig. 13B, as the user resumes typing, the character stream 252 is sensed with each keyboard stroke, and thus the translation activator 21 returns to a waiting mode. The translation engine then senses a pause after the user has typed in "will be", causing the translation to commence with the initially entered characters, to wit, "From: Richard Stevens. . ." It is to be appreciated that in other embodiments, the translation can commence from the beginning of the sentence, rather than the beginning of the document, as described above. Thus, the translation would commence with the words "The revised. . . ", and continue to the word "permit."
It is important to note that by starting the translation at the beginning of the document, that is, by retranslating the document, the accuracy of the intermediary as well as the final translation can be enhanced, as the translation engine is able to capture any changes in the current sentence structure that would affect the translation of previous words in the sentence, such as, for example, subsequent changes that may affect the verb. Additionally, where changes have been made to preceding words, sentences or paragraphs, such as, for example, edits involving cutting and pasting functions, the translation engine can ensure that the translation into the target document includes such edits. To illustrate a translation in which changes to subsequent words in a sentence affects the translation of preceding words, consider, the following example of a French translation that compares the translation of a sentence fragment with the translation of the entire sentence after additional words are added to the sentence fragment: Entry I: ENGLISH: I am FRENCH: Je suis Entry II: ENGLISH: I am not
FRENCH: Je ne suis pas Thus, if the translation were started from where the first sentence left off, that is, if the translation of the second entry was started after "not", the French translation would not be accurate, as it would not reflect the changes that are required to be made in the sentence's verb structure in the French language.
Referring to Fig. 14, shown is another embodiment of the process for automatically translating textual input. As similarly described above, the translation activator 21 senses a lapse and begins counting from an initial value 208, as set forth in steps 320, and 322. In this embodiment in step 324, when a keyboard stroke is sensed, step 325 is executed, and a determination is made as to whether the keyboard stroke represents an enter function, mouse click, pressing a touchscreen, or other input signal that represents a pause, or function that does not relate to entry of an input character stream. In this embodiment, the depression of an enter key can represent a pause in generating an input character stream, for example, when a user has come to the end of a paragraph and wishes to add a space between the last paragraph and a new paragraph. Similarly, the clicking of a mouse can represent a pause in generating an input character stream, for example, when a user clicks on an icon to underline the text which follows, or when a user clicks on text to perform a drag and drop function. Such actions can be inteφreted by the translation activator as allowing enough time for the translation of the input text to be carried out. That is, in such examples, the translation activator 21 considers the keyboard strokes and mouse clicks as being similar to a pause, and thus causes a translation to occur, as shown in step 330, from the beginning of the document to the point where the user has stopped, such as for example, the last word or character typed into the document. Alternatively, as described above, only immediately received text can be translated.
It is important to note that in another embodiment of the invention, the translation activator 21 can be configured such that the flow chart of Fig. 14 senses an affirmative request for translation. That is, in step 325, the system can determine whether the user, operator or system is requesting translation of the document by depressing an enter key, clicking on an icon, pressing a touchscreen or otherwise generating an input signal indicative of a translation request. In such an embodiment, a keyboard stroke or a click on a translation icon results in automatic translation and retranslation of the text in the document.
Referring again to step 324, where the keyboard stroke sensed is other than an enter, mouse click or other input such as those described above, step 326 is executed and a determination can be made regarding whether the counter 202 has reached a predetermined value 208, in which case, step 330 is executed and a translation of the document is generated from a starting point. If the counter 202 has not reached the predetermined value, step 328 is executed, the counter is incremented, and steps 324 and 326 are again repeated. Referring to Fig. 15, shown is another embodiment of the invention, in which the translation activator 21 senses the formation of a sentence prior to initiating a translation of the input character stream. As similarly described above in step 420, the translation engine 16 is receiving an input character stream and the translation activator 21 senses a pause. In step 422, the translation activator 21 examines the character stream to determine whether a sentence or sentence fragment, which can include, for example, a character, a sequence of characters, a word, or a sequence of words, are formed by the input character stream. In the present embodiment, if a sentence or sentence fragment has not yet been formed, an input character stream is awaited in step 423. Once an input character stream is again sensed, step 420 is executed, where the translation activator 21 waits for a subsequent lapse in the input character stream. If a determination is made in step 422, that a sentence or sentence fragment has formed, step 424 is executed, in which a determination is made either actively or passively, as to whether a keyboard stroke is sensed. If a keyboard stroke is not sensed, step 430 is executed and the document is translated from a starting point. If a keyboard stroke is sensed in step 424, step 420 is executed, where the translation activator 21 again waits for a lapse in the input character stream. As shown in dotted lines, the translation activator 21 can optionally determine in step 425, whether an input has been received, such as an enter or a mouse click, representing a pause or a function that does not relate to entry of an input character stream, as described above in Fig. 14. As similarly described above, sensing such an input causes step 430 to be executed, where a translation is carried out from a starting point in the document, such as, for example, the beginning of the document, or the beginning character of the immediately received text.
It is to be appreciated that in other embodiments, the translation activator 21 of the present invention can, in step 422, determine whether a recognizable word in a source language has been generated. In this embodiment, a recognizable word, such as, for example, the English word "an" as opposed to "av", would result in an affirmative determination and passage to step 424. In the case of a non-recognizable word, such as "av", the translation activator 21 can wait for additional characters in step 423 to determine whether a word has been generated, such as, for example, where the user continues to type, creating the word "avenue". Alternatively, the translation activator can determine in step 422, whether characters or words generated after the non-recognizable character(s) or word are recognizable, such as, for example, in the case of a typographical error followed by correctly entered characters or words. In another embodiment, the translation activator 21 can determine, in step 424, whether a paragraph has been formed by the input character stream. In such embodiments, the translation engine 14 would execute a translation operation only after an input character stream generates a paragraph.
Referring to Fig. 13C, shown is an example of the translation system of the present invention, in which the translation activator 21 is configured to sense, during a lapse in typing, whether complete sentences has been typed, and translate only complete sentences. As shown in this embodiment, the sentences comprising paragraph 254 are complete sentences and are translated. Note however, that the sentence fragment 256 "This should not delay the. . ." is not yet translated, as a determination is made by the translation engine 16 that these words merely comprise a sentence fragment.
Referring now to Fig. 16, shown is an embodiment of the present invention that combines the concepts of, determining whether a predetermined count value 208 has been reached, as well as determining whether a sentence has been formed by the input character stream. As similarly described above, the translation activator 21 waits, in step 520, for a lapse in input character stream, and begins counting in step 522 from an initial value 208. The translation activator 21 then determines in step 524 whether a keyboard stroke is passively or actively sensed, in which case, step 520 is again executed, and the translation activator 21 waits for a lapse in the input character stream. In the event that a keyboard stroke is not sensed, a determination is made in step 526 whether the counter 202 has reached a predetermined value 208. In the event that the counter 202 has not yet counted to such value 208, step 528 is again executed, and steps 524 and 526 are again repeated. When it is determined that the counter 202 has reached the predetermined value 208, step 529 is executed, where the translation activator 21 determines whether the input character stream forms at least one sentence. In the event that the input character stream does not form a sentence, step 532 is executed, where an additional stream of input text data is awaited. Once an additional input character stream is sensed, control is again routed to step 522, where the translation activator 21 waits for a subsequent lapse in the input character stream and steps 522 through 529 are again executed. If a determination is made in step 529, that the character stream forms a sentence, step 530 is executed, and the document is translated from a starting point. It is to be appreciated that in other embodiments of the invention step 529 can sense the formation of a word, sentence fragment, or paragraph prior to translating the input text.
The automatic translation and retranslation system of the present invention can be used as a language learning tool to enable a person fluent in a source language to learn a target language. For example, as illustrated in Figs. 13N- 13C, a person fluent in English can easily use the translation system of the present invention to learn Japanese. As shown and described above, a user at a computer workstation having a display monitor, can, upon typing in a word or sequence of words, view on the display screen, an automatic translation of the typed words. Moreover, as the user continues to type, the user can view the changes that may occur in the translation of the preceding words due to grammatical and other structural influences.
It is further important to note that the system of the present invention can be configured to accommodate translation of a source language into a plurality of target languages for the user to view together, such as for example, English to Japanese, and English to Korean; or English to Japanese, and then Japanese to Korean. Additionally, the system of the present invention can be used to translate computer generated natural language text that is temporal in its relevance, applicability or format, such as, for example, an important or urgent message required to be made known to a number of network users in a number of different countries. In such an example, the system of the present invention can be used to translate the message into one or more languages as it is being generated, allowing the message to quickly reach and be understood by the relevant users.
The present invention can further be useful in Internet related applications, such as instant messages, electronic mail, web pages, bulletin boards and Internet chat rooms; to name for puφoses of illustration, a few suitable applications. Is to be appreciated however, that numerous other applications are within the scope of the present invention. Nil of the above-described functions and operations may be implemented by a variety of hardwired logic design and/or programming techniques for use with a general puφose computer. The steps as presented in the flowcharts generally need not be applied in the order presented, and combinations of the steps may be combined. Similarly, the functionality of the system may be distributed into programs and data in various ways. Furthermore, it may be advantageous to develop the grammar and other operative rules in one or more high level languages, while supplying them to end users in a compiled format. Any of the embodiments of the automated natural language translation system described herein, including all of the functionality described herein, can be provided as computer software on a computer-readable medium such as a diskette or an optical compact disc (CD) for execution on a general puφose computer (e.g., an Apple Macintosh, an IBM PC or compatible, a Sun Workstation, etc.). Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.

Claims

What is claimed is:Claims
1. An automated natural language translation system, comprising: a memory module; a receiving module in communication with the memory module, receiving input textual information in a source natural language and storing the input textual information in the memory module; a translation engine in communication with the receiving module, accessing the memory module and translating the input textual information in the source natural language into output textual information in a target natural language; and a processing module in communication with the receiving module, determining when the receiving module has not received input textual information for a predetermined period of time and transmitting an instruction signal to the translation engine to translate the stored input textual information.
2. The system of claim 1, wherein the source natural language is English and the target natural language is Japanese.
3. The system of claim 1 , further comprising a user device in communication with the receiving module, providing input textual information in the source language.
4. The system of claim 3, wherein the receiving module receives input textual information from the user device as a user is creating a document in the source language with the user device.
5. The system of claim 3, wherein the user device comprises at least one of the following: a computer keyboard, a mouse, a touchscreen, or a voice-activated transmitter.
6. The system of claim 5 wherein the processing module transmits the instruction signal when a determination is made that the receiving module has received a signal representing the depression of an enter key on the computer keyboard.
7. The system of claim 6, wherein the processing module transmits the instruction signal when a determination is made that the receiving module has received a signal representing the clicking of the mouse.
8. The system of claim 1 , wherein the predetermined period of time is within the range of .3 seconds to 1 second.
9. The system of claim 1 , further comprising a display in communication with the translation engine, displaying the input textual information in the source language and the output textual information in the target language.
10. The system of claim 1 , the processing module further comprising a counter for incrementing a count until the count equals the predetermined period.
11. The system of claim 10, wherein the counter is reset when the receiving module receives input textual information.
12. The system of claim 1 , wherein the translation engine translates input textual information that was received by the receiving module prior to a time of transmission of the instruction signal.
13. The system of claim 1 , wherein the input textual information comprises a stream of characters transmitted from an input device.
14. The system of claim 1, wherein the processing unit determines when the receiving module has not received textual information by determining the existence of a time lapse in the input textual information equivalent to the predetermined period, prior to transmitting the instruction signal to the translation engine.
15. A method of automatically performing a natural language translation of a character stream, comprising: receiving from a user device, a character stream in a source language comprising a plurality of characters; determining whether a time lapse exists in the receipt of the character stream, during which time lapse the character stream is not received; translating the character stream from the source language to the target language when the time lapse exists.
16. The method of claim 15, further comprising:
determining whether the time lapse is equivalent to a predetermined period; and
translating the character stream from the source language to the target language beginning with a first character in the character stream, when the time lapse is equivalent to the predetermined period.
17. The method of claim 16, wherein the predetermined period is within the range of about .3 seconds to about 2 seconds.
18. The method of claim 15, wherein the character stream comprises at least one word in the source language.
19. The method of claim 15, wherein the character stream comprises at least one sentence in the source language.
20. The method of claim 15, further comprising:
generating the character stream using a computer keyboard; and
displaying on a computer monitor the character stream in the source language; and the translated character stream in the target language.
21. In a language learning system, an automated natural language translation system comprising:
a receiving module interfacing with a user workstation and receiving a character stream in a source language generated by a user at the user workstation;
a processing module in communication with the receiving module, determining whether a time period has elapsed from the receipt of a character in the character stream; a translation module in communication with the processing module, translating the character stream in the source language to a character stream in the target language; and
transmitting the translated character stream to the user workstation.
PCT/US1998/000729 1997-06-09 1998-01-14 Automatic translation and retranslation system WO1998057271A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP50236899A JP2002512717A (en) 1997-06-09 1998-01-14 Automatic translation and retranslation system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US1997/010005 WO1997048058A1 (en) 1996-06-14 1997-06-09 Automated translation of annotated text
JPPCT/US97/10005 1997-06-09

Publications (1)

Publication Number Publication Date
WO1998057271A1 true WO1998057271A1 (en) 1998-12-17

Family

ID=22261056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/000729 WO1998057271A1 (en) 1997-06-09 1998-01-14 Automatic translation and retranslation system

Country Status (2)

Country Link
JP (1) JP2002512717A (en)
WO (1) WO1998057271A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005202884A (en) * 2004-01-19 2005-07-28 Toshiba Corp Transmission device, reception device, relay device, and transmission/reception system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4882681A (en) * 1987-09-02 1989-11-21 Brotz Gregory R Remote language translating device
EP0690436A2 (en) * 1994-06-28 1996-01-03 Alcatel SEL Aktiengesellschaft Detection of the start/end of words for word recognition
EP0725353A1 (en) * 1995-01-31 1996-08-07 Oki Electric Industry Co., Ltd. Document retrieval and display system with translation function

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4882681A (en) * 1987-09-02 1989-11-21 Brotz Gregory R Remote language translating device
EP0690436A2 (en) * 1994-06-28 1996-01-03 Alcatel SEL Aktiengesellschaft Detection of the start/end of words for word recognition
EP0725353A1 (en) * 1995-01-31 1996-08-07 Oki Electric Industry Co., Ltd. Document retrieval and display system with translation function

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"SPEECH-TO-SPEECH TRANSLATOR FOR NATURAL LANGUAGE", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 37, no. 2B, 1 February 1994 (1994-02-01), pages 137 - 140, XP000433789 *

Also Published As

Publication number Publication date
JP2002512717A (en) 2002-04-23

Similar Documents

Publication Publication Date Title
US6278967B1 (en) Automated system for generating natural language translations that are domain-specific, grammar rule-based, and/or based on part-of-speech analysis
US5528491A (en) Apparatus and method for automated natural language translation
US6760695B1 (en) Automated natural language processing
US6470306B1 (en) Automated translation of annotated text based on the determination of locations for inserting annotation tokens and linked ending, end-of-sentence or language tokens
US5146406A (en) Computer method for identifying predicate-argument structures in natural language text
Trujillo Translation engines: techniques for machine translation
Brill Some advances in transformation-based part of speech tagging
EP1351157A2 (en) Sentence realization model for a natural language generation system
JP2006164293A (en) Automatic natural language translation
WO2002039318A1 (en) User alterable weighting of translations
JP2609173B2 (en) Example-driven machine translation method
WO1997048058A1 (en) Automated translation of annotated text
WO1997048058A9 (en) Automated translation of annotated text
KR100327115B1 (en) Device and method for generating translated sentences based on partial translation patterns
WO1998057271A1 (en) Automatic translation and retranslation system
Keenan Large vocabulary syntactic analysis for text recognition
JP3743711B2 (en) Automatic natural language translation system
Eineborg et al. ILP in part-of-speech tagging—an overview
Tsutsumi A prototype English-Japanese machine translation system for translating IBM computer manuals
Tanev et al. LINGUA: a robust architecture for text processing and anaphora resolution in Bulgarian
Tajalli et al. Developing an Informal-Formal Persian Corpus
Altynbekova Artificial Intelligence and Translation Technology
JP2002197085A (en) Automatic natural language translation system
JP2003203071A (en) Automated natural language translating system
JP2006134349A (en) Automatic natural language translation system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 09445715

Country of ref document: US