GB2266390A - Language translation between CPU and terminal. - Google Patents

Language translation between CPU and terminal. Download PDF

Info

Publication number
GB2266390A
GB2266390A GB9206607A GB9206607A GB2266390A GB 2266390 A GB2266390 A GB 2266390A GB 9206607 A GB9206607 A GB 9206607A GB 9206607 A GB9206607 A GB 9206607A GB 2266390 A GB2266390 A GB 2266390A
Authority
GB
United Kingdom
Prior art keywords
data
string
character
strings
characters
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB9206607A
Other versions
GB9206607D0 (en
Inventor
Gregory George Walker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INFORMATION TECHNOLOGY MANAGEM
Original Assignee
INFORMATION TECHNOLOGY MANAGEM
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
Application filed by INFORMATION TECHNOLOGY MANAGEM filed Critical INFORMATION TECHNOLOGY MANAGEM
Priority to GB9206607A priority Critical patent/GB2266390A/en
Publication of GB9206607D0 publication Critical patent/GB9206607D0/en
Publication of GB2266390A publication Critical patent/GB2266390A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

A language translation device, connected between a central computer and a terminal, has means for recognising an input character string and producing a respective output character string. Received characters are simultaneously relayed to the terminal and compared for a suitable translation. When a match occurs, the device sends the appropriate number of backspace characters to the terminal to erase the original language and then transmits the translated word/phrase. <IMAGE>

Description

DATA PROCESSING The present invention relates to a data processing device and a method of processing data.
Data processing systems are known in which a plurality of remote terminals are communicatable with a central computer. The terminals may be used to supply data to the central computer in response to prompts generated by said computer. Typically, the terminal consists of visual display unit and a keyboard, in which the visual display unit displays information supplied from the computer and the keyboard supplies information to the computer, with no data processing being performed remote from the computer.
Very large systems have been developed which allow for central processing of information received from terminals distributed over a very large area.
Thus, such systems facilitate the booking of, for example, airline tickets, allowing the booking to be performed at remote locations while ensuring that aeroplanes are not overbooked or underbooked.
Many systems have been developed and fully tested, although their full worldw#de ëxploitation has not, as yet, been realised. Thus, a significant worldwide market exists for the systems presently in use which, although requiring a very high initial investment, rapidly pay for themselves by improved operating efficiency. However, by the nature of these systems, it is not desirable to perform software modifications for essentially two reasons. Firstly, software modifications are expensive, therefore the overall systems costs would increase. Secondly, it is indesirable to modify a software suite which has proved itself to be reliable, given that bugs may be introduced during the modification process.
Alternatively, debugging a modified program and throughly testing it again further increases the cost of the modification.
Many of these systems are, effectively, methods for electronic form filling, in which information is entered into the machine in response to software prompts. In many cases, the prompts will have been written into the computer code, using the national language of the originating organisation, most commonly English. Thus, a problem in selling such a system to a non-English speaking organisation is that the prompts will be produced in the wrong language.
Furthermore, even if the system has been developed to operate in a number of languages, possibly selectable by a operator, it is unlikely that all languages for all potential customers would have been included and, if included, many of these would be redundant during normal operation.
It is therefore an object of the present invention to provide means for translating data in a distributed processing environment and to provide means for translating data which does not require major modifications to the system, in particular, modifications to the operating software.
According to a first aspect of the invention, there is provided a data processing device connectable between an output device and a data source, comprising means for recognising an input data string, belonging to a source set of data strings; and means for producing a respective output data string, from a destination set of data strings in response to said recognition.
The invention will now be described by way of example only, with reference to the accompanying drawings, in which: Figure 1 illustrates a distributed data processing network; Figure 2 shows a typical terminal of the network shown in Figure 1, connected to a text translating device; Figure 3 details the circuit of the text translating device shown in Figure 2; Figure 4 shows a typical dictionary of source and destination strings; and Figure 5 illustrates the translating algorithm used by the circuit shown in Figure 3.
A schematic representation of a data processing environment is shown in Figure 1, in which a plurality of terminals 15 communicate with a central computer 16.
An environment of the type shown in Figure 1 has many applications, one of which is for the booking of airline tickets. The invention will be described with reference to this particular application, although it should be appreciated that the invention may be employed for many other applications and other system environments.
In systems for booking airline tickets, a central computer 16 may communicate with many hundred remote terminals 15, although the amount of information generated by one terminal is not particularly large.
Terminals are used to supply passenger related information to the computer 16, a process which essentially consists of electronic form-filling.
Thus, the data is entered in response to prompts generated by the central computer.
A terminal is shown in Figure 2, consisting of a cathode ray type visual display unit (VDU) 17 and a conventional typewriter-style keyboard 18, configured to generate ASCII characters in response to keystrokes made by an operator. The terminal equipment and central computer may be of the type manufactured by Digital Equipment Corporation of the United States and configured in the following way. The VDU 17 receives power from a local mains supply and in turn supplies power to the keyboard 18. The terminal does not include remote intelligence and is effectively a dumb terminal, in that all information displayed on the VDU 17 originates from the computer 16. A serial communications cable 19 supplies data from the computer 16 to the VDU and a similar serial communications cable 20 supplies information from the keyboard 18 to the computer 16.Data entered by the keyboard 18 is often displayed on the VDU 17, although there is no direct link between the two devices and such data is transmitted first to the computer 16 over cable 20 and then returned from the computer over cable 19.
It is assumed, in this example, that all prompts generated by the computer 16 and supplied to the VDU 17, in response to which information is entered via the keyboard 18, are in the English language and no provision is made, within the software running on the comptuer 16, to translate these prompts into any other language. However, in this example, it is desirable to provide the option of generating prompts in the French language, without modifying the programs running on the computer 16. Thus, in the vicinity of the terminal equipment, a text translating device 21 is provided, which intercepts the serial communications cable 20 from the computer 16.
The text translating device includes circuitry for recognizing particular data strings which belong to a source set of data strings. When a string is recognized, the circuit provides an output string, derived from a destination set of data strings. Thus, a prompt generated in a first language can be recognised and automatically translated into a second language, without making any modification to the system software running on the comptuer 16.
In the embodiment shown in Figure 2, the serial communications cable from the keyboard 18 is also intercepted and the text translating device 21 may be arranged to identify particular commands from the keyboard 18, for example, an indication that too much data is being sent to the VDU 17. Furthermore, the text translating device also recieves power from the VDU 17, thereby avoiding the need for providing the text translating device with its own power supply.
A circuit for the text translating device 21 is detailed in Figure 3. The circuit has a substantially conventional structure, consisting of a microprocessor 31, an electricly erasable programmable read-only memory (ROM) 32 and a random access memory 33. In this embodiment, the microprocessor is a motorola 68HC11, which includes circuitry for latching serial data to facilitate processing in parallel form. The RAM 33 provides 32 kilobytes of memory and the ROM provides 8 kilobytes of memory, half of which is used for storing the source dictionary and the destination dictionary. The microprocessor 31 is an eight bit device and 16 bit address signals are provided by latching an eight bit data signal in a multiplexer 34 which in turn provides eight bits of the sixteen bit address to an address bus 35.
Input data arriving from the computer 16 on the serial communications cable 19 is supplied to an input port 35, connected to an input of the microprocessor 31. As previously stated, the microprocessor is arranged to convert the serial data into parallel eight bit words, representing ASCII characters.
The microprocessor 31 is also arranged to reconstitute output signals in serial form, which are supplied to the VDU 17 via an output port 36.
The circuit shown in Figure 3 transmits translated text to the VDU 17 in one of two ways. It is undesirable for the translating device 21 to introduce significant delays between information being generated by the computer 16 and said information being displayed on the VDU 17. Thus, the only time when data being supplied from the computer 16 is held within the translating device 21 and not immediately relayed to the VDU 17, is when the translating device 21 is itself in the process of supplying translated text to the VDU 17. Thus, in a first mode of operation, as a first character arrives at the input port 35, said character is converted into parallel form by the microprocessor 31, stored by the microprocessor 31 and immediately retransmitted via ouput port 36, thus the untranslated form of the character appears on the monitor 17.The microprocessor then performs a translating algorithm upon the character to determine whether it forms part of a string which can be translated. As soon as the program realises that a translation can be made the string supplied to the VDU 17 and currently being displayed by the VDU 17, is replaced by the translated form. This is performed by sending, for each previously supplied character, a backspace command to the VDU 17, effectively erasing the previously supplied characters. After the required number of backspace commands have been supplied to the VDU 17, the translated string is then supplied character by character to the VDU 17, thus effecting the translation.Thus, until a translation can be made, the original string is supplied to the VDU 17 so that, in the event that a translation cannot be made, no noticable delay is introduced into the system by the presence of the translating device 21.
In a second mode of operation, information is supplied to the text translating device 21 from the computer 16 but the translating device 21 is unable to relay this information to the VDU 17 because it is in the process of sending space characters, translated characters or characters which do not require translation. Compared to the operating speed of the microprocessor 31, the rates of data transmission are relatively low, therefore the microprocessor has no difficulty in performing additional tasks while it is in the process of overseeing the generation of backspace characters and translated text. Thus, subsequent characters received at the input port 35 are processed to determine whether a translation can be made.If a translation is successful, the translated form of the text may be supplied directly to the VDU 17 after the transmission of the previous string, consisting of backspace characters and translated text, has been supplied to the VDU 17.
The text translating device 21 is not designed to be a general purpose translating machine. It is designed to provide real time translation of data strings which form a relatively small set of source data. The source data and the destination data may represent anything but the translating device is programmed for a specific application and it is this customisation of the device, to a specific application, which allows relatively modest circuitry to provide fast real time operation.
An example of a source dictionary, with its associated destination dictionary, is shown in Figure 4, consisting of a total of 58 entries. These entries represent the set of strings which are generated as prompts from the computer 16. In this example, words in the English language are translated into words in the French language. Thus, by the mere insertion of device 21, a system which generates prompts in English is immediately converted into a system which generates prompts in French. Alternatively, any other language may be used, indeed different terminals working within the environment may work with different languages and a plurality of devices may be provided at a specific terminal, allowing different operators at that terminal to work with different languages.
Alternatively, a device may be arranged to be re-programmed for another language and suitable programs may be down-loaded from the central computer.
Thus, the device provides a much more user friendly environment without requiring the system software to be modified.
In order to maximise the speed of operation, the software and dictionary stored within ROM 32 are configured specifically to the task in hand, thereby the number of comparisons made when a character is received is minimised.
A schematic representation of the algorithm employed by the circuits is illustrated in Figure 5.
The illustration is made with reference to the first 20 entries of the source table, although it will be appreciated that this, in practice, is extended to all of the entries, in this example all 58 entries.
The dictionary within ROM 32 is arranged as a plurality of lookup tables, which are configured such that as a result of a single comparing operation, pointers direct the operation from one lookup table to another, until an input string is matched to one precise entry in the source dictionary or until it is realised that a match cannot be made.
The translating algorithms will be described with reference to Figure 5. Strings representing the source set along with its corresponding destination set, as detailed in Figure 4, are stored in a lookup table 51. When a string is received which is equivalent to a string stored in the source dictionary 51, a translation is produced by reading the corresponding string from the destination dictionary.
Each location in the source dictionary is identified by a unique address, 300 to 357.
When a character is received it may or may not form part of a string which can be translated. If it does form part of a string which can be translated, it may be ambigious as to which particular string it belongs to. Thus, the first task of this system is to identify strings which cannot be translated and thereafter wait for the next character to arrive. The next step, for strings which can be translated, is to remove ambiguities as to which particular string is being sent. The final step is to compare each character of a string, on a one-by-one basis, until the end of the string, whereafter the corresponding translated string from the destination dictionary, may be read and supplied to the VDU 17.
When a null character is produced, 00, this is used to identify to the system that the character presently being processed does not form part of a string which can be translated, resulting in that particular character being ignored and the system being placed in a position so as to wait for the next character to arrive or be processed from its internal buffer. When translation is possible, the arrival of a new character results in non-zero lookup table address values being generated, resulting in progress through intermediate lookup tables until a character is received which removes in the ambiguity as to which string is being sent, such that a pointer may point directly to the source dictionary 51.
A null is also generated if a character is received which is not used in any of the translatable strings.
At the start of transmission, or following a reset after the system decides that a string cannot be translated, the program enters a state within a root directory 52, which includes all possible letters which may be transmitted by the system. For characters which are not used as the first character in a translatable string, the root directory points to the null, 00, value, thus initiating a reset.
As can be seen from the source set of strings shown in Figure 4, translatable strings start with the letters A, B, C and D but no strings start with letter E. Thus, as shown in the root directory 52, the arrival of a letter E at the start of a string generates value 00, thereby resetting the system.
If an A is received by the system, this could be the first character of 6 possible strings. Three of these strings are followed by the letter D, therefore four possible characters could follow the A as part of translatable strings. Consequently, the root directory points the state of the program towards the addresses of four locations in intermediate lookup table 53. The second character is received and the program compares this character with the character stored at location 01, 02, 03 and 04, looking for a match with a "/" a "D", a "G" or a "V". If the second character is different from any of these four, a 00 null output is produced and the system is reset back to the root position. On receiving a "/" as the second character, the translatable string becomes unambigious, in that the only translatable string having these characters as its first two characters is "A/C NO".Thus, after receiving an "A" followed by "/" the program can perform a one-for-one comparison with the character values in the string of the source dictionary. Thus, if the third character is not a C the system is reset, if the fourth character is not a space the system is reset, if the fifth character is not an N the system is reset and if the sixth character is not an 0 the system is reset. On receiving all six characters which match the string, the translation to "COMPTE" is performed and the system is reset.
After receiving an A, if the second character received is a D, string selection is still ambigious because these two letters could be the start of translatable strings "address, adult or advance Thus, for the third character, intermediate lookup table 56 is used, ensuring that the third character is compared to see if it is a D at location 101 a U at location 102 or a V at location 103. Again, if the third character is not a "D", a "U" or a "V", a null 00 character is generated and the system reset back to the root directory. On receiving a "D", a "U" or a "V", direct one-for-one comparison may be made at location 301, 302 or 303 respectively.
If the first character received is a "B", no intermediate lookup tables are required because the only translatable string which starts with a "B" is "BUSINESS CLASS". A similar situation arises for a string initiated by letter "H" because the only translatable string beginning with a "H" is "HOLDING INVENTORY".
If the first character of a translatable string begins with a "G", two possible translatable strings are available. However, in this case, the selection does not become unambigious until the arrival of the seventh character and, consequently, six intermediate lookup tables 54 are required before one for one comparison may be made.
Thus, it can be seen that it is not necessary to search the whole of the source set of translatable strings for each input string. Such a procedure would be particularly undesirable because the input source does not specify the start and end of translatable strings. The method of translating described makes an absolute minimum number of comparisons on a character by character basis and will translate a string irrespective of any characters preceding it or following it.
In order to achieve this, the generation of the root directory the source and destination dictionaries and intermediate lookup tables is specific to the particular function performed by the system, facilitating fast, real time translation with minimal hardware requirements.
The system has been described with particular reference to an airline booking environment, given that the operation of the system is best understood with reference to a real example. However, the invention may have many other applications in environments where prompts must be translated from one language to another. Furthermore, the translation from one language to another could be between machine readable languages rather than eye readable languages.
Thus, the invention may be employed to facilitate the emulation of one system or terminal device by another system or terminal device.
In the example disclosed herein, uppercase characters have been used but a mixture of uppercase and lowercase characters may be used, as provided by the ASCII standard. Furthemore, the system may be configured such that uppercase and lowercase are treated as different characters or treated as the same character for translation purposes.
The system has been described with translating devices located adjacent to the terminals. In an alternative arrangement, the devices may be grouped togehter in a rack at the site of the central computer.

Claims (12)

1. A data processing device connectable between an output device and a data source, comprising means for recognising an input data string, belonging to a source set of data strings; and means for producing a respective output data string, from a destination set of data strings, in response to said recognition.
2. A data processing device according to claim 1, wherein an output device is a visual display unit (VDU).
3. A data processing device according to claim 2, wherein said VDU is a cathode ray type display unit.
4. A data processing device according to claim 1, wherein said data source is a remote computer and the device is connectable in the vicinity of the output device by a local operator.
5. A data processing device according to claim 1, wherein said recognising data strings includes a microprocessor.
6. A data processing device according to claim 1, wherein data representing said first set of data strings and said second set along with a program for the microprocessor are stored in a ROM.
7. A data processing device according to claim 6, wherein said ROM is electronically erasable.
8. A method of processing data supplied from a data source prior to being supplied to an output device, comprising the steps of recognising an input data string belonging to a source set of strings; and producing a respective output data string from a destination set of strings, in response to said recognition.
9. A data processing device according to claim 8, wherein untranslated data is passed to the terminal and, on producing a translation, back-space characters are supplied to the terminal followed by the translated string.
10. A data processing device according to claim 8, wherein translated characters are sent to the terminal instead of the untranslated characters.
11. A method of translating data strings comprising examining a first character to determine whether said character is the frist character of a translatable string; comparing the next character with translatable combinations of characters; resetting the operation if the string cannot be translated; repeating said comparing step if a plurality of possible matches exist; checking subsequent characters where only one possible match exists, and resetting the operation if the checking step identifies a mismatch, or outputting the translated value if a match is found.
12. In a data processing system having a plurality of remote terminals communicatable with a central computer, a translating device connected between a terminal and its link to the computer comprising means for translating strings of data supplied from the computer by recognising a string belonging to a source set and producing a respective output string from a destination set, wherein said translating device: : (a) examines a first character to determine whether said character is the first character of a translatable string; (b) compares the next character with translatable combinations of characters; (c) resets the operation if the string cannot be translated (d) repeats said comparing step if a plurality of possible matches exist; (e) checks subsequent characters when only one possible match exists, and (f) resets the operation if the checking step identifies a mismatch, or outputs the translated value if a match is found.
GB9206607A 1992-03-26 1992-03-26 Language translation between CPU and terminal. Withdrawn GB2266390A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9206607A GB2266390A (en) 1992-03-26 1992-03-26 Language translation between CPU and terminal.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9206607A GB2266390A (en) 1992-03-26 1992-03-26 Language translation between CPU and terminal.

Publications (2)

Publication Number Publication Date
GB9206607D0 GB9206607D0 (en) 1992-05-06
GB2266390A true GB2266390A (en) 1993-10-27

Family

ID=10712894

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9206607A Withdrawn GB2266390A (en) 1992-03-26 1992-03-26 Language translation between CPU and terminal.

Country Status (1)

Country Link
GB (1) GB2266390A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0797156A1 (en) * 1996-03-21 1997-09-24 Sharp Kabushiki Kaisha Data processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4127896A (en) * 1977-08-10 1978-11-28 Bunker Ramo Corporation Bidirectional interface utilizing read-only memory, decoder and multiplexer
EP0047414A1 (en) * 1980-09-08 1982-03-17 KEARNEY &amp; TRECKER CORPORATION Method and apparatus for multilingual communications of computer-specified control messages
EP0150273A2 (en) * 1983-11-08 1985-08-07 International Business Machines Corporation Multi-lingual system across nodes
EP0388148A2 (en) * 1989-03-13 1990-09-19 Fujitsu Limited A multi-language conversion system
EP0449230A2 (en) * 1990-03-27 1991-10-02 Hitachi, Ltd. Translation method and system for commmunication between speakers of different languages

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4127896A (en) * 1977-08-10 1978-11-28 Bunker Ramo Corporation Bidirectional interface utilizing read-only memory, decoder and multiplexer
EP0047414A1 (en) * 1980-09-08 1982-03-17 KEARNEY &amp; TRECKER CORPORATION Method and apparatus for multilingual communications of computer-specified control messages
EP0150273A2 (en) * 1983-11-08 1985-08-07 International Business Machines Corporation Multi-lingual system across nodes
EP0388148A2 (en) * 1989-03-13 1990-09-19 Fujitsu Limited A multi-language conversion system
EP0449230A2 (en) * 1990-03-27 1991-10-02 Hitachi, Ltd. Translation method and system for commmunication between speakers of different languages

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0797156A1 (en) * 1996-03-21 1997-09-24 Sharp Kabushiki Kaisha Data processor
US5974371A (en) * 1996-03-21 1999-10-26 Sharp Kabushiki Kaisha Data processor for selectively translating only newly received text data

Also Published As

Publication number Publication date
GB9206607D0 (en) 1992-05-06

Similar Documents

Publication Publication Date Title
EP1016076B1 (en) System and method using natural language understanding for speech controlled application
KR100256458B1 (en) Language identifcation system and method for a peripheral unit
US4661924A (en) Multiple-parts-of-speech disambiguating method and apparatus for machine translation system
US4412305A (en) Sentence translation device
KR970003322B1 (en) Method for interchance code conversion of multi-byte character string characters
EP0036479B1 (en) Alpha content prescan method for automatic spelling error correction
JPH01251276A (en) Translating communication system
EP0424032A2 (en) Naturel language processing apparatus
US4468756A (en) Method and apparatus for processing languages
US5754842A (en) Preparation system for automatically preparing and processing a CAD library model
JPH09508741A (en) Test method and test equipment for native language support program
EP0403057B1 (en) Method of translating sentence including adverb phrase by using translating apparatus
EP0357370A2 (en) Computer assisted language translating machine
US5357430A (en) System for text translation
US5659769A (en) Text services manager
US5075851A (en) System for translating a source language word with a prefix into a target language word with multiple forms
GB2266390A (en) Language translation between CPU and terminal.
US4510583A (en) Keyboard terminal
JPH05266069A (en) Two-way machie translation system between chinese and japanese languages
JPS60108959A (en) Composition converter
KR100204068B1 (en) Language translation modified method
JP3385206B2 (en) Natural language processor
JP3267168B2 (en) Natural language conversion system
JPH0484322A (en) Device for preparing verification program
JPH05210629A (en) Display control system

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)