Patent Publication Number: US-7716038-B2

Title: Integrated multilingual browser

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 11/059,752, titled INTEGRATED MUTILINGUAL BROWSER, filed Feb. 17, 2005, now U.S. Pat. No. 7,292,987, which is a continuation of U.S. patent application Ser. No. 08/555,916, titled INTEGRATED MUTILINGUAL BROWSER, filed Nov. 13, 1995, now U.S. Pat. No. 6,993,471. 
    
    
     BACKGROUND AND SUMMARY OF THE INVENTION 
     The present invention relates generally to the field of electronic communication over a computer network. Particularly, the present invention relates to the expansion of multi-lingual electronic communication through translation services for documents and messages available through the Internet. 
     The recent surge in media attention to the Internet, and especially the World Wide Web, coupled with the continuing growth in home PC ownership have resulted in a growing diversity of the Internet user population. No longer is the Internet the province of software experts; thousands of novice users have begun to come online each day. Software like CompuServe&#39;s Web Browser lets users quickly connect to and find useful content online. This phenomenon is not restricted to the United States or to English-speaking countries. Growth in online usage in Europe and Asia is increasing even more quickly than in the U.S. 
     While interest in the online world is at a peak, a significant obstacle exists to broad usage of the Internet for non-English speakers. The vast majority of Internet content is in English, and is therefore inaccessible to users with other native languages. Translation of Internet documents by a human translator is not a practical solution for two reasons. First, human translation is costly and slow. A translator can typically produce 300-400 words per hour at costs of 12¢ per word or more. Second, in order to have a translator convert Internet documents to the user&#39;s native language, the user would have to download every document he was interested in to provide it to the translator. This is a time-consuming process, and if the user knows no English, he will not even be able to assess the relevance of the document before downloading it. This would result in wasted time and translation costs since inevitably, some of the documents selected will not prove to be worthwhile. 
     The present invention allows non-English speaking Internet users to access and understand information available from the World Wide Web and related sources. Language translation software (known as machine translation, or MT) is combined with Internet software to allow non-English speaking Internet users to quickly generate translations of online text. The process is automated and therefore, less costly and time-consuming than human translation. Advantages of the present invention are explained further in relation to the following detailed description of the invention, drawings, and claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1A and 1B  comprise a screen shot of a World Wide Web page; 
         FIGS. 2A and 2B  comprise an example of a hypertext document; 
         FIGS. 3A-3C  comprise an example of a hypertext document preprocessed according to the method of the present invention; 
         FIG. 4  illustrates a system for performing machine translation; 
         FIGS. 5A-5D  comprise an example of a preprocessed hypertext document translated according to the method of the present invention; 
         FIGS. 6A-6C  comprise an example of a translated hypertext document postprocessed according to the method of the present invention; 
         FIGS. 7A and 7B  comprise a screen shot of a World Wide Web page that has been translated according to the method of the present invention; 
         FIG. 8  is a diagrammatic view of one embodiment of the present invention in which machine translation is integrated into a Web browser; and 
         FIG. 9  is a diagrammatic view of one embodiment of the present invention in which pre-translated Web pages are accessible from a server. 
     
    
    
     DETAIL DESCRIPTION OF PREFERRED EMBODIMENT(S) 
     Although the detailed description of a preferred embodiment focuses on automatic translation of World Wide Web pages, the concept is adaptable to documents obtained from other sources. 
     The World Wide Web (WWW or the Web) is a distributed information system that may be accessed through a number of sources. It is comprised of software and a set of protocols and conventions. Information on the Web may be accessed using a browser program such as CompuServe&#39;s Web Browser. Browsers allow users to read documents and to locate documents from other sources. They present an interface for interacting with the system and they process requests on behalf of the user. 
     Information providers on the WWW make their information available through programs that understand the HyperText Transfer Protocol (HTTP). Browsers assist users in “visiting” Web sites where information is stored. Information is displayed in pages of text and graphics called “Web Pages.” An example of a Web page as viewed through CompuServe&#39;s Web Browser is provided in  FIGS. 1A and 1B . The Web page shown in  FIGS. 1A and 1B  contains both text  14 ,  18  and graphics  10 ,  12 ,  16 . The title bar  20 , menu options  22 , buttons  24 , and document information  26  appearing at the top of the screen are part of the browser used to view the Web page. 
     In most cases, information providers make information available through a Web server. The server responds to information requests by delivering the requested information to the user&#39;s browser for viewing. Some providers may make their information available through a proxy server that converts information in one format to the format expected and understood by the browser. 
     Documents available on the WWW and displayed by browsers are hypertext documents. Hypertext is text that contains references (or “links,” “hyperlinks,” or “hot spots”) to other documents. The reference is similar to a footnote except the referenced document may be accessed directly from the original document. The related document may be viewed by selecting or clicking the mouse on the reference. The process of selecting hyperlinks to view referenced documents may be referred to as “traversing the hyperlinks.” Unlike a footnote, references usually do not appear as shorthand descriptions of related documents. Instead, references may be indicated by a combination of graphics, different fonts, different colors for the text, underlining, the mouse pointer turning into a hand, etc. The referenced documents may reside on different computers at different Web sites. 
     Hypertext documents are written in a “markup language” call Hypertext Markup Language (HTML). HTML actually refers to both a document type and the markup language that represents instances of the document type. A hypertext document contains general semantics appropriate for representing display or presentation characteristics as well as information from a wide ranges of domains. A hypertext document consists of a sequence or stream of characters that comprise both data characters and markups. Markups are syntactically delimited characters (such as “&lt;,” “&gt;,” “#,” etc.) added to the data characters to define the document&#39;s structure. Markups thus have special meanings and may represent such things as hypertext, news, mail, documentation, menus of options, and in-line graphics. Markups may be combined with other characters or related values to create codes that also have special meaning. Data characters are those characters in the document that are not codes. 
       FIGS. 2A and 2B  comprise the hypertext document that describes the Web page shown in  FIGS. 1A and 1B .  FIGS. 2A and 2B  show the markups and related words (that comprise codes) as well as data characters that may appear in a hypertext document. For example, the characters “&lt;” and “&gt;” appearing throughout the document are markups. The characters “&lt;” and “&gt;” combined with the word “head” (“&lt;head&gt;”)  30  may be considered a code. Finally, the text “NLT Home”  30  that is not surrounded by markups or codes may be considered data characters. 
     As indicated by the brief description, HTML documents have a well-defined and documented structure defined by a grammar. The codes in a HTML document convey important information regarding both the display or presentation of the document itself as well as related references and commands. Display and presentation information may include color information, information about graphics that appear on the page, information about text that appears on the page, etc. A HTML document is structured as a series of elements that are identified by the language markups and codes. A document includes a head (consisting of a title and other optional elements) and a body that is a text flow of paragraphs, lists, images, and other elements. The various parts of the document may be identified by looking at the markups or codes in the document. For example, referring again to  FIGS. 2A and 2B  which show the hypertext for  FIGS. 1A and 1B , the document head contains the title “NLT Home”  30 . An image contained in the document is identified in the line 
     “&lt;br&gt;&lt;img src=“file:///n|/iowebsrv/server/8100˜1.1/server˜1/image/ntl.jpg” height=60 width=640&gt;&lt;/center&gt;”  32 . 
     As may be apparent, the process of translating a HTML document requires examination of each character in document. Characters may be examined individually and in combination to determine whether they are markups, codes, or data characters. To process a document, the processing software examines the character stream that comprises the document. The steps needed to translate a HTML document from one language to another may be summarized as follows: 
     Step 1. Preprocess the HTML document by placing boundary markers around HTML codes to be preserved during the translation process. The translation software recognizes the boundary markers and does not translate text and symbols appearing between the markers. 
     Step 2. Translate the preprocessed HTML document from the original language to the target language. 
     Step 3. Postprocess the translated HTML document to remove the boundary markers. 
     Step 1. The codes in a HTML document convey important information describing the characteristics of the Web page. Referring again to  FIGS. 2A and 2B , an example of the type of information contained in a hypertext document is shown. Certain information contained in the document of  FIGS. 2A and 2B  may be interpreted by a Web browser so that to the browser user, the images shown in  FIGS. 1A and 1B  appear. Certain information in the hypertext document is preserved during the translation process so that the translated page has, in general, the same appearance and behavior as the original page. Because HTML documents have a well-defined and known structure described by a grammar, automated translation of a HTML document is possible. The codes in the document may be discerned by the preprocessing software. Special boundary markers placed in the document by the preprocessing software indicate to the translation software that the intervening text should not be translated. Consequently, the resulting page may have the same appearance and behavior as the original page. 
     Referring to  FIGS. 3A-3C , an example of a preprocessed HTML document is shown. The HTML document of  FIGS. 3A-3C  is the preprocessed version of the HTML document shown in  FIGS. 2A and 2B . In this example, the boundary markers used to identify the HTML codes are the character pairs “{.” and “.}”. Any character or character combination that does not normally occur in text may be used as a boundary marker. The line that appeared as “&lt;head&gt;&lt;title&gt;NLT Home&lt;title&gt;&lt;head&gt;” in  FIGS. 2A  ( 30 ) is preprocessed in Step 1 to the line “{.&lt;head&gt;.}{.&lt;title&gt;.}NLT Home{.&lt;title&gt;.}{.&lt;head&gt;.}” in  FIG. 3A  ( 40 ). Other lines in the document are preprocessed similarly. 
     Step 2. Machine Translation (MT) software performs the translation of text from one language to another language. There are many commercially available MT software packages.  FIG. 4  is an illustration of a system in which MT software  50  takes as input text in one language  52  and generates a rough draft translation of the text in another language  54  using an electronic dictionary  56  and a set of linguistic and/or statistical rules encoded in the program  58 . MT software can perform language conversion operations very quickly; in some cases, at speeds of up to 3,000 words per minute. The translated texts are not high quality translations, but they are usually adequate for understanding what the document is about. 
     Referring to  FIGS. 5A-5D , an example of a translated HTML document is shown. The HTML document of  FIGS. 5A-5D  is the translated version of the preprocessed HTML document shown in  FIGS. 3A-3C . As described above, the boundary markers used to identify the HTML codes are the character pairs “{.” and “.}”. Consequently, the MT software ignores all text that falls between the boundary markers. Data characters that are not surrounded by boundary markers are translated by the MT software. The preprocessed line that appeared as “{.&lt;head&gt;.}{.&lt;title&gt;.}NLT Home{.&lt;title&gt;.}{.&lt;head&gt;.}” in  FIG. 3A  ( 40 ) is translated in Step 2 to the line “{.&lt;head&gt;.}{.&lt;title&gt;.}NLT Maison{.&lt;title&gt;.}{.&lt;head&gt;.}” in  FIG. 5A  ( 60 ). 
     Step 3. In the final step, postprocessing software removes boundary markers from the translated document. Referring to  FIGS. 6A-6C , an example of a postprocessed HTML document is shown. The HTML document of  FIGS. 6A-6C  is the postprocessed version of the translated HTML document shown in  FIGS. 5A-5D . As described above, the boundary markers used to identify the HTML codes are the character pairs “{.” and “.}”. During postprocessing, these boundary markers are removed. The translated line that appeared as “{.&lt;head&gt;.}{.&lt;title&gt;.}NLT Maison{.&lt;title&gt;.}{.&lt;head&gt;.}” in  FIG. 5A  ( 60 ) is postprocessed in Step 3 to the line “&lt;head&gt;&lt;title&gt;NLT Maison&lt;title&gt;&lt;head&gt;” in  FIG. 6A  ( 70 ). The postprocessed HTML document of  FIGS. 6A-C  may then be displayed by the browser as shown in  FIGS. 7A and 7B . 
       FIG. 8  is a diagrammatic view of one embodiment of the present invention in which machine translation is integrated into a Web browser. MT software  80  may be combined with a browser  82  to allow the user  84  to rapidly and automatically translate online documents from the World Wide Web  86  into his native language. The MT software  80  may be bundled with the browser  82  to form an integrated multilingual browser. The user  84  of the multilingual browser  82  selects the desired target language, (e.g. French if the user speaks French), and the Web document retrieved by the browser  88  may be rapidly translated on-the-fly with a mouse click. The Web Browser  82  then displays for the user  84  the translated document  90 . Optionally, the user may be able to update and edit parts of the MT software&#39;s electronic dictionaries to include terminology common to the Web sites he visits. 
     Although a document may be translated at the time that a user requests access to the document, a document may also be “pre-translated” and stored in a cache for later retrieval before a user seeks access to it. Documents that have been accessed at least once may also be stored following translation. The advantage of storing documents that have been translated is that delivery time to the user may be reduced. Although storing documents requires disk space, it may represent a better use of system resources because documents that are accessed frequently are translated once rather than every time they are accessed. 
       FIG. 9  is a diagrammatic view of an alternative implementation in which pre-translated Web pages are stored on a Web server  104 . The translation software resides on a translation server  104  (possibly the same machine as the Web server). Popular Web pages  114  are pre-translated and stored in a cache  118 , with additional pages being added as they are requested by users  100 . The cache is a dynamic storage device with a finite capacity. New, pretranslated pages are added to the cache, but pages will also be removed from the cache if they are used infrequently or if there are constraints on storage capacity. 
     In accessing the system, a user  100 , sends to the Web Server  104  a request for a specific page in a specific language  102 . The Web Server  104  then sends a request to get the desired page  106 . The method for servicing the request depends on where the page is located. If the page has been pre-translated  114  and stored in the cache of pages in multiple languages  118  it is retrieved from the cache  116  and returned to the user in the requested language  120 . If the page has not been pre-translated, then the page is retrieved  110  from the World Wide Web  112 , translated into the requested language, and cached before being sent to the user  120 . 
     Translation of Web pages, in either the bundled browser/MT configuration or the Web Server configuration, requires processing of HTML codes containing reference, command, and display information. Preferably, the HTML codes are identified prior to translation, then surrounded by special boundary markers to block the translation process on the codes. The HTML preprocessor uses its knowledge regarding the markups, codes, data characters and the structure of HTML documents to determine which codes should be blocked from the translation process. After translation is complete, a postprocessing program removes the special boundary markers so that the necessary references, commands, and display characteristics are available in the translated text. 
     The primary objective of the present invention is to allow a user of the Internet to read hypertext documents that are available only in a language foreign to the user. The readable text of the hypertext document is changed in accordance with the user&#39;s preferred language. Steps are taken to preserve the document&#39;s appearance and behavior so that the only noticeable difference between the original document and the translated document is the language of the text. Users may interact with the translated document and reference related documents in the same manner that users interact with the original document.