WO2008120036A1 - Method at a central server for managing a translation dictionary and a translation server system - Google Patents

Method at a central server for managing a translation dictionary and a translation server system Download PDF

Info

Publication number
WO2008120036A1
WO2008120036A1 PCT/IB2007/001811 IB2007001811W WO2008120036A1 WO 2008120036 A1 WO2008120036 A1 WO 2008120036A1 IB 2007001811 W IB2007001811 W IB 2007001811W WO 2008120036 A1 WO2008120036 A1 WO 2008120036A1
Authority
WO
WIPO (PCT)
Prior art keywords
translation
dictionary
data
translated data
client
Prior art date
Application number
PCT/IB2007/001811
Other languages
French (fr)
Inventor
John Rieman
Minna Hekanaho
Minna Koutonen
Tero Rantonen
Original Assignee
Nokia 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
Application filed by Nokia Corporation filed Critical Nokia Corporation
Publication of WO2008120036A1 publication Critical patent/WO2008120036A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Definitions

  • the present invention relates to downloadable dictionaries, and more particularly to a method and system at a central server and a client translation device for managing a translation dictionary.
  • the mobile device is provided with a local dictionary that can be accessed during translations performed on the PDA.
  • the content of the local translation dictionary will be the limiting factor for the performance of the device when it comes to the produced translations.
  • the user of a PDA translation device may work in a specific subject area, where many subject area associated words and phrases are needed to perform a translation request. If the subject area is under development, many new terms are invented and needs to be put in the local dictionary. Therefore, the local translation dictionary tends to lack the words and phrases that are common for users or user groups within a specific subject area. If the dictionaries are specially adapted to the subject they are static and hence pass the best-before date too quickly.
  • a method at a central server for managing a translation dictionary comprises the steps of: - receiving a plurality of translation requests from a user group, which group comprises at least one user, wherein each translation request comprises a data post for non-translated data and a data post for translated data; - identifying the most common non-translated data and corresponding translated data;
  • the main purpose of the method is to collect translating data, i.e. non-translated data and the corresponding translated data, from many users in a specific user group, and identify the most common words and phrases used in these user group specific translations.
  • the identified data is then used to build, or update, a central dictionary.
  • the use of many translations done by many different users in the same group of users helps improve the accuracy of the dictionary, since an ambiguous word can be disambiguated more accurately if it is seen in several phrases.
  • the data post for translated data is set to a predefined value if no translated data exists.
  • the method then further comprises the steps of for each translation request having the data post for translated data set to the predefined value: - performing a translation of the corresponding non- translated data, thereby producing translated data; and returning the produced translated data to the respective user of said user group.
  • the collection of translations may also include actually performing a translation of the non- translated data, and hence the method offers a convenient flexibility concerning the user specific translation knowledge or access to an appropriate dictionary. The user simply sends a translation request with only non- translated data, without having to give a translation suggestion .
  • the step of performing a translation further comprise the step of:
  • the server may request translated data corresponding to the non-translated data from an external dictionary.
  • the central dictionary substance matter is increased.
  • a central server for managing a translation dictionary as defined in claim 4, there is provided a method wherein the user group is defined on basis of related translation data received from different users.
  • the central dictionary can then utilize the relationship in translation data and build a group specific subset of translation data in the central dictionary.
  • the method further comprises the step of providing a client with said central dictionary.
  • the client is associated with a specific user group, and the step of providing said client with said central dictionary comprises providing only a user group associated subset of said central dictionary .
  • a translation of an ambiguous word of the translation request is chosen based on a criteria set for the respective user group.
  • the criteria is to use a translation which is the most likely one to be a word or phrase used by said user group.
  • information about the user group helps the process of determining what translation is correct for an ambiguous word, since the probability of a certain translation for an ambiguous word is higher for one given user group than another.
  • a method at a client translation device comprising a local translation dictionary, as defined in claim 9, the method comprising the steps of: receiving a translation request, wherein the translation request comprises a data post for non- translated data and a data post for translated data, wherein the data post for translated data is set to a predefined value if no translated data exists; and if the data post for translated data is set to the predefined value performing the steps of:
  • a translation request can be made, and if the local dictionary contains relevant translated data, the translation is done locally. If the local dictionary does not contain relevant translated data, the translation request is transmitted to a server translation application which have more resources to access more complete dictionaries. On one hand it is beneficial to make the translation locally when the communication to the server is unreliable or slow, but on the other hand it is more beneficial to make the translation at the server when the resources at the client translation device are insufficient .
  • the method further comprises the steps of: occasionally receiving the central dictionary; and updating the current client dictionary by replacing the current client dictionary with said central dictionary.
  • Occasional updating of the client dictionary is beneficial because this offers an over time non-static local dictionary, that may increase its subject matter of translated data in an easy way. In this way a system manager is able to provide many client translation devices at once with an updated version of the central dictionary.
  • the method further comprises the steps of: occasionally receiving a subset of the central dictionary; and updating the current client dictionary by adding the subset of the central dictionary;
  • the central dictionary may include huge amounts of translation data that a specific user hardly ever utilizes in his or her user specific translations. Therefore it is beneficial to update the client dictionary with subsets of the central dictionary that are of special relevance to the user. This limits the amount of translation data to be stored at the client translation device, and if this translation data is also stored in fast memories, like a cache memory, the data will be much faster to access than translation data stored in a hard drive memory.
  • the client translation device comprising a local translation dictionary, as defined in claim 12
  • the client translation device is associated with a specific user group and the subset of the central dictionary is a user group associated subset of the central dictionary.
  • the user belongs to a specific group of users it is advantageous to the user to receive a user group associated subset of the central dictionary so that he or she may receive translated data that are connected to the specific area of interest for that user group.
  • New terms in a specific area is sometimes hard to find in an ordinary dictionary.
  • this user group subset is used to update the current client dictionary for users in the group, this new data is easy to find.
  • the translation request contributes to building said central dictionary by constituting statistic data for translation data of a specific user group.
  • each translation requests helps show the server what contents the translation data of that specific user group contains. If the central dictionary at the server does not contain the requested translated data it can be arranged to look for it elsewhere.
  • translation server system for client translation devices capable of communicatinq with said server, as defined in claim 14.
  • the system comprises: - means for receiving translation requests from a plurality of client translation devices.
  • Each translation request comprises a data post for non-translated data and a data post for translated data, which data post for translated data is set to a predefined value if no translated data exists;
  • - translation means for translating non-translated data if the data post for translated data is set to the predefined value, and thereby producing translated data
  • processing means for identifying the most common translated data and corresponding non-translated data; and - means for updating said central dictionary with said identified data.
  • the system according to the invention is configured to update a central dictionary by identifying common translation data from the client translation devices.
  • the dictionary is configured on basis of the most common translations from many users in a specific user group, the dictionary is allowed to grow much faster than it would with translations from a single individual.
  • the client translation device can take advantage of the resources on the server, when it comes to both processing power and access to relevant dictionaries.
  • the system further comprises means for providing produced translated data associated to a translation request to a respective client translation device.
  • the client translation devices receives the translated data from the server.
  • the translation means further comprises means for accessing external dictionaries.
  • the translation means further comprises means for accessing a further dictionary on the server.
  • the server may access other databases or dictionaries or the Internet to find translated data corresponding to the non-translated data even when the central dictionary does not contain the requested translation data which is beneficial.
  • the words that are found on these other dictionaries may then be incorporated in the central dictionary.
  • the plurality of client translation devices are associated to a specific user group.
  • system further comprises server means for providing the updated central dictionary to the plurality of client translation devices.
  • the system further comprises means for storing the central dictionary in a database.
  • computer program products in a computer- readable medium as defined in claims 21 to 23.
  • Fig. 1 shows a block diagram of an embodiment of a system in accordance with the present invention
  • Fig. 2 shows a flow chart of an embodiment of a method at a central server for managing a translation dictionary according to the present invention
  • Fig. 3 shows a flow chart of an embodiment of a method at a central server for managing a translation dictionary according to the present invention.
  • Fig. 1 shows how an embodiment of a system according to the present invention is implemented.
  • the system comprises a server 100 and a plurality of client translation devices 300, which are capable of communicating with the server 100 via a communication line 200.
  • a client translation device 300 is preferably implemented with a handheld pocket-PC, a Personal Digital Assistant (PDA) , or some other mobile device suitable for the same purpose.
  • the translation device 300 is configured with means 310 for receiving translation requests from a user, processing means 320 for processing the translation requests, and translation means 330.
  • the translation means 330 is implemented as a translation application, i.e. a computer program, which is executed by the processing means 320.
  • the translation device 300 is further configured with a non-volatile main memory 340, e.g. a flash ROM or a
  • DRAM Dynamic Random Access Memory
  • the device 300 For fast access the device 300 also has a cache memory 350, which acts as a memory bank that bridges the main memory 340 and the processing means 320 for fast access to stored data. Some of the cache memory space is allocated for storing a local dictionary 360.
  • the cache 350 is preferably implemented with a static RAM (SRAM) .
  • the server 100 has means 110 for receiving translation requests from translation devices 300, processing means 120 for processing the translation requests, and translation means 130.
  • the translation means 130 is provided with means 132 for accessing other, typically external, dictionaries in the form of databases and the Internet 160. Further, the translation means 130 comprises means 134 for accessing an additional dictionary on the server.
  • the translation means 130 is implemented as a translation application, i.e. a computer program, which is executed by the processing means 120.
  • the server 100 is further configured with an internal memory 140 capable of storing a central dictionary 150.
  • the communication 200 between the translation devices 300 and the server 100 is preferably implemented with means for wireless access to an intranet or extranet via technologies such as Wireless Wide-Area Network (WWAN) , built in Wireless Local Area Networks (WLAN) or Wireless Fidelity (Wi-Fi) .
  • WWAN Wireless Wide-Area Network
  • WLAN Wireless Local Area Networks
  • Wi-Fi Wireless Fidelity
  • the server 100 as well as the translation devices 300 comprise means 110 and 370, respectively, for transmitting and receiving translation data, which according to the present invention, comprises translation requests, translated data and copies of at least parts of the central dictionary 120.
  • the translation requests 210 are designed to comprise a data post 220 for non-translated data and a data post 230 for translated data.
  • the translation request may contain only non-translated data, but then the data post for translated data is set to a predefined value to indicate that no translated data exists.
  • the predefined value is preferably a number or a string. In an alternative embodiment the predefined value is null, i.e. the data post is allowed to be empty.
  • the client translation device 300 If a user of a client translation device 300 requests a translation and the local translation dictionary 360 does not include the translated data corresponding to the non-translated data, i.e. words or phrases in the text that needs to be translated, which translated data is needed to perform a translation locally, the client translation device 300 will request that the translation be carried out at the server 100 by transmitting a translation request to the server 100.
  • the server 100 receives the translation request, and if the data post for translated data is set to the predefined value indicating that translated data does not exist, the server performs the translation and produces translated data.
  • the translation application 130 utilize the central dictionary 150 for performing the translation.
  • the translation application 130 accesses an external dictionary 140, which external dictionary is located on a database or at the Internet, for performing the translation.
  • the translation application 130 accesses another dictionary 170 arranged on the server for performing the translation.
  • Using the server 100 for performing translations increases the translation quality because it has more processing power and, according to the different embodiments of the present invention, is able to access more dictionary data than the client translation device 300.
  • the translated data and the non-translated data is then further analyzed by the translation data processing means 130. If the central translation dictionary 150 contains more than one translated data that could correspond to the non-translated data, then the best translated data is selected using one or more criteria, which are predefined depending on the situation in which the system is used. Some examples of possible criteria are the most frequently suggested translation, - the translation selected by the most senior user, the translation most frequently associated with other translated or non-translated data that are similar to data submitted at the same time as the current translation request, i.e. the content is checked, the translation most likely to be a word or a phrase used by the user group to which the submitter of the request belongs, based on computerized analysis of the user group' s translation requests compared to a larger text corpuses .
  • the post for translated data is filled with the identified data and the translation request is transmitted back to the client translation device 300.
  • the server 100 returns multiple translation suggestions to ambiguous v/ords to the client translation device 300.
  • the multiple translation suggestions may be prioritized using criteria as described above.
  • the server returns a translation to the client translation device 300.
  • the user is then given the option to reject translations that are incorrect, whereby the server marks the translation as suspect and performs another try on (part of) the rejected translation request.
  • the server can also return multiple translations on ambiguous words and update the central translation dictionary 150 weightings accordingly. If the translation request, received at the server 100, already contains translated data, the translation request is directly used for identifying the most common translated data and the corresponding non-translated data .
  • the identified data is then used to update the central dictionary 150 which will then build a translation dictionary containing the most common words used by the users of the client translation devices.
  • the users of the client translation devices 300 are associated to a specific user group.
  • the user group is a group of users that are specialized in a particular faculty, field of technology, sports or science, e.g. within medicine, biology or boxing. Fortunately, individuals and groups tend to have speech patterns that repeat some words and phrases more than others. This repetition will make identifying the most common translated data valuable. That is, once something has been translated, the chance that it needs to be translated again increases considerably .
  • the server system for client translation devices preferably provide a copy of the updated central dictionary 150 to the client translation devices 300 with some suitable time interval for updating the local translation dictionary 360, which is preferably implemented in a the cache memory 350.
  • the hit rate of the local translation dictionary 360 will be better if it is based on the translations of several users within a common user group, for example all employees from a small company, or all employees from a group within a larger company.
  • an embodiment of a method performed at a central server for managing a translation dictionary in accordance with the present invention comprises the steps as follows.
  • each translation request TRl, TR2, ...,TRN comprises a data post for non-translated data and a data post for translated data.
  • each request it is determined whether it contains translated data. If it does, the process proceeds to step 401, where the non-translated data and the corresponding translated data for the request is compared with that of previously received requests to identify the most common translated data.
  • the most common translated data i.e. frequently used words and phrases in the translations including frequently used words and phrases that are used in several translations, is identified, and then the procedure continues to step 402.
  • a central dictionary 120 is updated with the identified translated data. In updating the central dictionary new words and their corresponding translations are added to the central dictionary 120, and for words already present in the central dictionary 120 new translations of the words are added. If it is determined, in step 400, that the translation request does not comprise translated data in the data post for translated data the process continues to step 403. If translated data does not exist in the translation request a predefined value is set in the data post for translated data. In this embodiment the predefined value is allowed to be null, i.e. the data post for translated data is empty. In an alternative embodiment the predefined value is set to a string or a number. At step 403 a translation procedure is begun by determining whether a translation exists in the central dictionary. If a translation, that thus constitutes translation data, is found, the process proceeds to step 405. At step 405 the translated data is returned to the client translation device 300 from which the translation request was received.
  • step 407 a further dictionary within the server or an external dictionary is accessed to perform the translation.
  • This step may in an alternative embodiment include searching the Internet for translated data corresponding to the non-translated data of the translation request.
  • step 409 the translated data is returned to the client translation device 300.
  • the method then proceeds by continuing to step 401 where the method continues through steps 401 and 402 as described above.
  • the server 100 can retrieve the translations from a database of user translation data, i.e. non-translated and translated text files .
  • the identification of translated data includes defining a user group on basis of the related translation data in the translation requests. This is done by matching users of client translation devices on basis on the contents, i.e. used words and phrases, of the translation requests. This is done by letting the server perform matching of user groups based on some of the following methods: a) by matching words against predefined categories, like for example Doug Lenats ' s CYC project, b) by letting the server gradually building its own categories utilizing machine learning tasks, e.g.
  • the server searches its large corpus and finds that all those words are likely to occur in paragraphs and sentences together. So it puts those two users in the same subgroup (here associated to "farm terms") .
  • a third user wants translations for "cursor” and “RAM” and “processor”. In fact "processor” sometimes occurs with farm terms, but the other words don't. So this user goes in under a different subgroup, along with people who ask about "CPU” and "modem”.
  • step 402 where the central dictionary 120 is updated, proceeds to a step 410 in which the central dictionary is provided to the client translation devices.
  • the client translation devices of a particular user group are provided with a sub-set of the central dictionary 120 which is associated with data identified within the user group translation requests.
  • a method at a client translation device 300 comprising a local translation dictionary 320 as described hereinafter and with reference to Fig. 4 and Fig. 1.
  • the client translation device 300 receives a translation request from a user of the device 300.
  • the user inputs the request by means of an input means/user interface, such as a key pad or touch sensitive display. It is first assumed that the translation request contains only non-translated data.
  • the client translation device checks if translated data corresponding to the non-translated data is present in local translation dictionary 320, i.e. if the local translation dictionary contains translations for the word(s) or phrase (s) in the user translation request. If the local translation dictionary 320 is sufficient, the method proceeds to a step 502, wherein the translation is performed locally at the client translation device, whereupon the produced translation is received and presented to the user at step 503. If the translation dictionary 320 is found not to be sufficient, at step 501, the method proceeds to a step 504, wherein the translation request is sent to the central server 100, where a translation is performed as described above.
  • step 504 the method proceeds to step 503, where the translation is received and presented to the user.
  • the method further comprises a step 505 and a step 506, see Fig. 5, in which step 505 the client translation device 300 occasionally receives a copy of the central dictionary 120 and, at step 506, updates the current client translation dictionary 320.
  • the time- interval for receiving the copy of the central dictionary 320 is set either periodical or as a function of to what extent the central dictionary 150 has been upgraded since the last upgrade of the local translation dictionary 320 at the client translation device 300. In the latter case the central server 100 sends a upgrading request to the client to activate step 505.
  • a subset of the central dictionary 120 is received and used for the upgrading of the local translation dictionary 320, at step 506.
  • the client translation device 300 of users with a common subject area, which they write and perform translations about, form a user group
  • the user group client translation devices are most preferably upgraded with copies of the central dictionary 120 that contains words and phrases of the subject area. Since the central dictionary 120 may contain words and phrases from a huge amount of subject areas, only a subset of the central dictionary 120 associated to the specific user group needs to be occasionally received by the client translation devices of users belonging to that particular user group.
  • the translation requests of the individual users in the user groups that are sent to the central server 100 for translation or, as in an alternative embodiment, are retrieved by the server 100, are preferably used in the method at a central server for managing a translation dictionary according to the present invention to contribute to building said central dictionary by constituting statistic data for translation data of a specific user group.

Abstract

This invention relates to methods for managing a downloadable translation dictionary which is constructed by at a central server performing a plurality of translation requests from client translation devices of a user group, identifying the most common translation data within the translations, and updating a central dictionary with the identified data. The central dictionary is then occasionally provided to the client translation devices of the user group, whereby offline translation requests may be performed locally at the client translation device utilizing a copy of the user group specific central translation dictionary.

Description

METHOD AT A CENTRAL SERVER FOR MANAGING A TRANSLATION DICTIONARY AND A TRANSLATION SERVER SYSTEM
FIELD OF THE INVENTION
The present invention relates to downloadable dictionaries, and more particularly to a method and system at a central server and a client translation device for managing a translation dictionary.
BACKGROUND OF THE INVENTION
Online translation capabilities far exceed those available on mobile systems like for instance translation devices implemented on Personal Digital Assistants (PDA:s) or Pocket PC : s . This is both because of the larger amount of processing power and because of that the available corpus data is so much bigger for online translator applications than for a handheld translation device. Ideally, any text to be translated on a PDA would be uploaded to a powerful server for translation and the translation would then be downloaded. This would happen as needed, in real time. However, connections to a central server for transfer of data are not always reliable for a mobile device and even when the connection to a central server is available the server may be down or slow. Thus, the situation with handsets, e.g. PDA translation devices, differs from network and multi-user computers because the handset's connection to the central server is not reliable.
Therefore the mobile device is provided with a local dictionary that can be accessed during translations performed on the PDA. When the PDA translation device is offline, i.e. not connected to a network, the content of the local translation dictionary will be the limiting factor for the performance of the device when it comes to the produced translations. The user of a PDA translation device may work in a specific subject area, where many subject area associated words and phrases are needed to perform a translation request. If the subject area is under development, many new terms are invented and needs to be put in the local dictionary. Therefore, the local translation dictionary tends to lack the words and phrases that are common for users or user groups within a specific subject area. If the dictionaries are specially adapted to the subject they are static and hence pass the best-before date too quickly.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a method and a system at a central server and at a client translation device for managing a translation dictionary that alleviates the above-mentioned drawbacks of the prior art.
This object is achieved by a method and a system according to the present invention as defined in claims 1, 7 and 12.
Thus, in accordance with an aspect of the present invention, there is provided a method at a central server for managing a translation dictionary. The method comprises the steps of: - receiving a plurality of translation requests from a user group, which group comprises at least one user, wherein each translation request comprises a data post for non-translated data and a data post for translated data; - identifying the most common non-translated data and corresponding translated data;
- updating a central dictionary with the identified data; Thus the main purpose of the method is to collect translating data, i.e. non-translated data and the corresponding translated data, from many users in a specific user group, and identify the most common words and phrases used in these user group specific translations. The identified data is then used to build, or update, a central dictionary. The use of many translations done by many different users in the same group of users helps improve the accuracy of the dictionary, since an ambiguous word can be disambiguated more accurately if it is seen in several phrases. For example one user in a group might ask for a translation of "I picked a bat." If other users in the same group had asked for translations of "We ran out of rope" or "The stalagmites were wet" then the system could guess that this was a group of cave explorers, and "bat" meant the flying mammal, not a baseball bat.
In accordance with an embodiment of the method at a central server for managing a translation dictionary, as defined in claim 2, the data post for translated data is set to a predefined value if no translated data exists. The method then further comprises the steps of for each translation request having the data post for translated data set to the predefined value: - performing a translation of the corresponding non- translated data, thereby producing translated data; and returning the produced translated data to the respective user of said user group. Thus, the collection of translations may also include actually performing a translation of the non- translated data, and hence the method offers a convenient flexibility concerning the user specific translation knowledge or access to an appropriate dictionary. The user simply sends a translation request with only non- translated data, without having to give a translation suggestion .
In accordance with an embodiment of the method at a central server for managing a translation dictionary, as defined in claim 3, the step of performing a translation further comprise the step of:
- accessing an external dictionary. In the case that the proper translation for the non- translated data is not present in the central dictionary at the server, the server may request translated data corresponding to the non-translated data from an external dictionary. Hence, as the translated data is updated in the central dictionary, the central dictionary substance matter is increased.
In accordance with an embodiment of the method at a central server for managing a translation dictionary, as defined in claim 4, there is provided a method wherein the user group is defined on basis of related translation data received from different users.
Thus, by identifying the translation data in the translations of a specific user, the user is included in a group of users that use similar translation data. The central dictionary can then utilize the relationship in translation data and build a group specific subset of translation data in the central dictionary.
In accordance with an embodiment of the method at a central server for managing a translation dictionary, as defined in claim 5, the method further comprises the step of providing a client with said central dictionary. In accordance with an embodiment of the method at a central server for managing a translation dictionary, as defined in claim β, the client is associated with a specific user group, and the step of providing said client with said central dictionary comprises providing only a user group associated subset of said central dictionary . In accordance with an embodiment of the method at a central server for managing a translation dictionary, as defined in claim 7, a translation of an ambiguous word of the translation request is chosen based on a criteria set for the respective user group. In accordance with an embodiment of the method at a central server for managing a translation dictionary, as defined in claim 8, the criteria is to use a translation which is the most likely one to be a word or phrase used by said user group. Hence, information about the user group helps the process of determining what translation is correct for an ambiguous word, since the probability of a certain translation for an ambiguous word is higher for one given user group than another.
In accordance with another aspect of the invention there is provided a method at a client translation device comprising a local translation dictionary, as defined in claim 9, the method comprising the steps of: receiving a translation request, wherein the translation request comprises a data post for non- translated data and a data post for translated data, wherein the data post for translated data is set to a predefined value if no translated data exists; and if the data post for translated data is set to the predefined value performing the steps of:
checking if translated data corresponding to the non-translated data is present in the local translation dictionary; and if the translated data is present in the local dictionary, then: ■ present the translated data; else perform the steps of: transmitting the translation request to a central server, comprising a central dictionary; and if the post for translated data is set to the predefined value: receiving translated data from the central server. Hence, at the client translation device a translation request can be made, and if the local dictionary contains relevant translated data, the translation is done locally. If the local dictionary does not contain relevant translated data, the translation request is transmitted to a server translation application which have more resources to access more complete dictionaries. On one hand it is beneficial to make the translation locally when the communication to the server is unreliable or slow, but on the other hand it is more beneficial to make the translation at the server when the resources at the client translation device are insufficient .
In accordance with an embodiment of the method at a client translation device comprising a local translation dictionary, as defined in claim 10, the method further comprises the steps of: occasionally receiving the central dictionary; and updating the current client dictionary by replacing the current client dictionary with said central dictionary.
Occasional updating of the client dictionary is beneficial because this offers an over time non-static local dictionary, that may increase its subject matter of translated data in an easy way. In this way a system manager is able to provide many client translation devices at once with an updated version of the central dictionary.
In accordance with an embodiment of the method at a client translation device comprising a local translation dictionary, as defined in claim 11, the method further comprises the steps of: occasionally receiving a subset of the central dictionary; and updating the current client dictionary by adding the subset of the central dictionary;
The central dictionary may include huge amounts of translation data that a specific user hardly ever utilizes in his or her user specific translations. Therefore it is beneficial to update the client dictionary with subsets of the central dictionary that are of special relevance to the user. This limits the amount of translation data to be stored at the client translation device, and if this translation data is also stored in fast memories, like a cache memory, the data will be much faster to access than translation data stored in a hard drive memory. In accordance with an embodiment of the method at a client translation device comprising a local translation dictionary, as defined in claim 12, the client translation device is associated with a specific user group and the subset of the central dictionary is a user group associated subset of the central dictionary. If the user belongs to a specific group of users it is advantageous to the user to receive a user group associated subset of the central dictionary so that he or she may receive translated data that are connected to the specific area of interest for that user group. New terms in a specific area is sometimes hard to find in an ordinary dictionary. When co-users in the same group have already added translated data for the new term in the central dictionary and this user group subset is used to update the current client dictionary for users in the group, this new data is easy to find.
In accordance with an embodiment of the method at a client translation device comprising a local translation dictionary, as defined in claim 13, the translation request contributes to building said central dictionary by constituting statistic data for translation data of a specific user group. Thus, by making translation requests to the server translation application, each translation requests helps show the server what contents the translation data of that specific user group contains. If the central dictionary at the server does not contain the requested translated data it can be arranged to look for it elsewhere.
In accordance with another aspect of the invention there is provided translation server system for client translation devices capable of communicatinq with said server, as defined in claim 14. The system comprises: - means for receiving translation requests from a plurality of client translation devices. Each translation request comprises a data post for non-translated data and a data post for translated data, which data post for translated data is set to a predefined value if no translated data exists;
- a central dictionary;
- translation means for translating non-translated data if the data post for translated data is set to the predefined value, and thereby producing translated data;
- processing means for identifying the most common translated data and corresponding non-translated data; and - means for updating said central dictionary with said identified data.
Hence, the system according to the invention is configured to update a central dictionary by identifying common translation data from the client translation devices. As the dictionary is configured on basis of the most common translations from many users in a specific user group, the dictionary is allowed to grow much faster than it would with translations from a single individual. By sending the translation request to the central server, the client translation device can take advantage of the resources on the server, when it comes to both processing power and access to relevant dictionaries.
In accordance with an embodiment of the translation server system for client translation devices, as defined in claim 15, the system further comprises means for providing produced translated data associated to a translation request to a respective client translation device. Hence, the client translation devices receives the translated data from the server. In accordance with an embodiment of the translation server system for client translation devices, as defined in claim 16, the translation means further comprises means for accessing external dictionaries.
In accordance with an embodiment of the translation server system for client translation devices, as defined in claim 17, the translation means further comprises means for accessing a further dictionary on the server.
The server may access other databases or dictionaries or the Internet to find translated data corresponding to the non-translated data even when the central dictionary does not contain the requested translation data which is beneficial. The words that are found on these other dictionaries may then be incorporated in the central dictionary.
In accordance with an embodiment of the translation server system for client translation devices, as defined in claim 18, the plurality of client translation devices are associated to a specific user group.
In accordance with an embodiment of the translation server system for client translation devices, as defined in claim 19, the system further comprises server means for providing the updated central dictionary to the plurality of client translation devices.
By keeping a local, updated translation dictionary stored at the client translation unit, the response time for performing translations are minimized. Further the local access to a relevant translation dictionary reduces the network traffic, and the performance of the unit is less dependent of the shifting level of performance of the network connection. In accordance with an embodiment of the translation server system for client translation devices, as defined in claim 20, the system further comprises means for storing the central dictionary in a database. In accordance with another aspect of the invention, there is provided computer program products in a computer- readable medium as defined in claims 21 to 23. These and other aspects, features, and advantages of the present invention will be apparent from and elucidated with reference to the embodiments described hereinafter .
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will now be described in more detail and with reference to the appended drawings in which:
Fig. 1 shows a block diagram of an embodiment of a system in accordance with the present invention;
Fig. 2 shows a flow chart of an embodiment of a method at a central server for managing a translation dictionary according to the present invention; and
Fig. 3 shows a flow chart of an embodiment of a method at a central server for managing a translation dictionary according to the present invention.
DESCRIPTION OF PREFERRED EMBODIMENTS
With reference now to the figures, Fig. 1 shows how an embodiment of a system according to the present invention is implemented. The system comprises a server 100 and a plurality of client translation devices 300, which are capable of communicating with the server 100 via a communication line 200. A client translation device 300 is preferably implemented with a handheld pocket-PC, a Personal Digital Assistant (PDA) , or some other mobile device suitable for the same purpose. The translation device 300 is configured with means 310 for receiving translation requests from a user, processing means 320 for processing the translation requests, and translation means 330. Preferably the translation means 330 is implemented as a translation application, i.e. a computer program, which is executed by the processing means 320. The translation device 300 is further configured with a non-volatile main memory 340, e.g. a flash ROM or a
Dynamic Random Access Memory (DRAM), in order to store application files and working files. For fast access the device 300 also has a cache memory 350, which acts as a memory bank that bridges the main memory 340 and the processing means 320 for fast access to stored data. Some of the cache memory space is allocated for storing a local dictionary 360. The cache 350 is preferably implemented with a static RAM (SRAM) .
The server 100 has means 110 for receiving translation requests from translation devices 300, processing means 120 for processing the translation requests, and translation means 130. The translation means 130 is provided with means 132 for accessing other, typically external, dictionaries in the form of databases and the Internet 160. Further, the translation means 130 comprises means 134 for accessing an additional dictionary on the server. Preferably the translation means 130 is implemented as a translation application, i.e. a computer program, which is executed by the processing means 120. The server 100 is further configured with an internal memory 140 capable of storing a central dictionary 150.
The communication 200 between the translation devices 300 and the server 100 is preferably implemented with means for wireless access to an intranet or extranet via technologies such as Wireless Wide-Area Network (WWAN) , built in Wireless Local Area Networks (WLAN) or Wireless Fidelity (Wi-Fi) . The server 100 as well as the translation devices 300 comprise means 110 and 370, respectively, for transmitting and receiving translation data, which according to the present invention, comprises translation requests, translated data and copies of at least parts of the central dictionary 120.
The translation requests 210 are designed to comprise a data post 220 for non-translated data and a data post 230 for translated data. The translation request may contain only non-translated data, but then the data post for translated data is set to a predefined value to indicate that no translated data exists. The predefined value is preferably a number or a string. In an alternative embodiment the predefined value is null, i.e. the data post is allowed to be empty.
If a user of a client translation device 300 requests a translation and the local translation dictionary 360 does not include the translated data corresponding to the non-translated data, i.e. words or phrases in the text that needs to be translated, which translated data is needed to perform a translation locally, the client translation device 300 will request that the translation be carried out at the server 100 by transmitting a translation request to the server 100. The server 100 receives the translation request, and if the data post for translated data is set to the predefined value indicating that translated data does not exist, the server performs the translation and produces translated data. The translation application 130 utilize the central dictionary 150 for performing the translation. Alternatively the translation application 130 accesses an external dictionary 140, which external dictionary is located on a database or at the Internet, for performing the translation. In yet another alternative the translation application 130 accesses another dictionary 170 arranged on the server for performing the translation.
Using the server 100 for performing translations increases the translation quality because it has more processing power and, according to the different embodiments of the present invention, is able to access more dictionary data than the client translation device 300.
The translated data and the non-translated data is then further analyzed by the translation data processing means 130. If the central translation dictionary 150 contains more than one translated data that could correspond to the non-translated data, then the best translated data is selected using one or more criteria, which are predefined depending on the situation in which the system is used. Some examples of possible criteria are the most frequently suggested translation, - the translation selected by the most senior user, the translation most frequently associated with other translated or non-translated data that are similar to data submitted at the same time as the current translation request, i.e. the content is checked, the translation most likely to be a word or a phrase used by the user group to which the submitter of the request belongs, based on computerized analysis of the user group' s translation requests compared to a larger text corpuses .
After the selection is made, the post for translated data is filled with the identified data and the translation request is transmitted back to the client translation device 300.
In an alternative embodiment the server 100 returns multiple translation suggestions to ambiguous v/ords to the client translation device 300. The multiple translation suggestions may be prioritized using criteria as described above.
In another alternative embodiment the server returns a translation to the client translation device 300. The user is then given the option to reject translations that are incorrect, whereby the server marks the translation as suspect and performs another try on (part of) the rejected translation request. In this embodiment the server can also return multiple translations on ambiguous words and update the central translation dictionary 150 weightings accordingly. If the translation request, received at the server 100, already contains translated data, the translation request is directly used for identifying the most common translated data and the corresponding non-translated data .
The identified data is then used to update the central dictionary 150 which will then build a translation dictionary containing the most common words used by the users of the client translation devices. In accordance with an embodiment of the server system for client translation devices the users of the client translation devices 300 are associated to a specific user group. The user group is a group of users that are specialized in a particular faculty, field of technology, sports or science, e.g. within medicine, biology or boxing. Fortunately, individuals and groups tend to have speech patterns that repeat some words and phrases more than others. This repetition will make identifying the most common translated data valuable. That is, once something has been translated, the chance that it needs to be translated again increases considerably . The server system for client translation devices preferably provide a copy of the updated central dictionary 150 to the client translation devices 300 with some suitable time interval for updating the local translation dictionary 360, which is preferably implemented in a the cache memory 350. The hit rate of the local translation dictionary 360 will be better if it is based on the translations of several users within a common user group, for example all employees from a small company, or all employees from a group within a larger company.
A person skilled in the art is able to produce a hardware implementation of the system described above by using hardware parts known as such, which will therefore not described in further detail here. Referring now to Figs. 2 and 3, an embodiment of a method performed at a central server for managing a translation dictionary in accordance with the present invention, comprises the steps as follows.
At step 400 the server 100 receives a number N of translation requests TRl, TR2, ...,TRN from the mobile client translation devices 300. As described above, each translation request TRl, TR2, ..., TRN comprises a data post for non-translated data and a data post for translated data. For each request it is determined whether it contains translated data. If it does, the process proceeds to step 401, where the non-translated data and the corresponding translated data for the request is compared with that of previously received requests to identify the most common translated data. The most common translated data, i.e. frequently used words and phrases in the translations including frequently used words and phrases that are used in several translations, is identified, and then the procedure continues to step 402.
At step 402 a central dictionary 120 is updated with the identified translated data. In updating the central dictionary new words and their corresponding translations are added to the central dictionary 120, and for words already present in the central dictionary 120 new translations of the words are added. If it is determined, in step 400, that the translation request does not comprise translated data in the data post for translated data the process continues to step 403. If translated data does not exist in the translation request a predefined value is set in the data post for translated data. In this embodiment the predefined value is allowed to be null, i.e. the data post for translated data is empty. In an alternative embodiment the predefined value is set to a string or a number. At step 403 a translation procedure is begun by determining whether a translation exists in the central dictionary. If a translation, that thus constitutes translation data, is found, the process proceeds to step 405. At step 405 the translated data is returned to the client translation device 300 from which the translation request was received.
If, at step 403, no translation is found in the central dictionary, the process proceeds to step 407. At step 407 a further dictionary within the server or an external dictionary is accessed to perform the translation. This step may in an alternative embodiment include searching the Internet for translated data corresponding to the non-translated data of the translation request. When a translation, i.e. translated data, has been found, the process proceeds to step 409, where the translated data is returned to the client translation device 300. The method then proceeds by continuing to step 401 where the method continues through steps 401 and 402 as described above.
In an alternative embodiment the server 100 can retrieve the translations from a database of user translation data, i.e. non-translated and translated text files .
In an alternative embodiment of the method at a central server for managing a translation dictionary in accordance with the present invention, the identification of translated data, at step 401, includes defining a user group on basis of the related translation data in the translation requests. This is done by matching users of client translation devices on basis on the contents, i.e. used words and phrases, of the translation requests. This is done by letting the server perform matching of user groups based on some of the following methods: a) by matching words against predefined categories, like for example Doug Lenats's CYC project, b) by letting the server gradually building its own categories utilizing machine learning tasks, e.g. procedural methods or neural networks, c)by letting the server "bootstrap" the categories using a large corpus of text - books, newspapers, articles etc., in which method the server searches for the corpus for all the words closely associated with the translation requests it gets from each user. That forms clusters containing many more words. Users whose translation requests triggered clusters with many words in common are placed into the same user group, or subgroup. The subgroups don't need a name - they are just "those people who would be likely to need words from this cluster". For example, imagine that one user wants translations of animal names ("chicken", "horse", etc), and another asks for words like "barn", "fence" "tractor", and "market". The server searches its large corpus and finds that all those words are likely to occur in paragraphs and sentences together. So it puts those two users in the same subgroup (here associated to "farm terms") . A third user wants translations for "cursor" and "RAM" and "processor". In fact "processor" sometimes occurs with farm terms, but the other words don't. So this user goes in under a different subgroup, along with people who ask about "CPU" and "modem".
By identifying the user groups the translations of this user group forms the basis of a subset in the central dictionary 120 which is connected to a certain area of technology or the like. In an alternative embodiment of the method at a server for managing a translation dictionary, step 402, where the central dictionary 120 is updated, proceeds to a step 410 in which the central dictionary is provided to the client translation devices. In a preferred embodiment the client translation devices of a particular user group are provided with a sub-set of the central dictionary 120 which is associated with data identified within the user group translation requests.
In another aspect of the present invention, there is provided a method at a client translation device 300 comprising a local translation dictionary 320 as described hereinafter and with reference to Fig. 4 and Fig. 1.
At a step 500 the client translation device 300 receives a translation request from a user of the device 300. Typically, the user inputs the request by means of an input means/user interface, such as a key pad or touch sensitive display. It is first assumed that the translation request contains only non-translated data. Then, at step 501, the client translation device checks if translated data corresponding to the non-translated data is present in local translation dictionary 320, i.e. if the local translation dictionary contains translations for the word(s) or phrase (s) in the user translation request. If the local translation dictionary 320 is sufficient, the method proceeds to a step 502, wherein the translation is performed locally at the client translation device, whereupon the produced translation is received and presented to the user at step 503. If the translation dictionary 320 is found not to be sufficient, at step 501, the method proceeds to a step 504, wherein the translation request is sent to the central server 100, where a translation is performed as described above.
After the translation has been performed, at step 504, the method proceeds to step 503, where the translation is received and presented to the user.
In an alternative embodiment of the method at a client translation device in accordance with the present invention, the method further comprises a step 505 and a step 506, see Fig. 5, in which step 505 the client translation device 300 occasionally receives a copy of the central dictionary 120 and, at step 506, updates the current client translation dictionary 320. The time- interval for receiving the copy of the central dictionary 320 is set either periodical or as a function of to what extent the central dictionary 150 has been upgraded since the last upgrade of the local translation dictionary 320 at the client translation device 300. In the latter case the central server 100 sends a upgrading request to the client to activate step 505.
In a preferred embodiment according to the inventive method at a client translation device, at step 505 only a subset of the central dictionary 120 is received and used for the upgrading of the local translation dictionary 320, at step 506. By letting the client translation device 300 of users with a common subject area, which they write and perform translations about, form a user group, the user group client translation devices are most preferably upgraded with copies of the central dictionary 120 that contains words and phrases of the subject area. Since the central dictionary 120 may contain words and phrases from a huge amount of subject areas, only a subset of the central dictionary 120 associated to the specific user group needs to be occasionally received by the client translation devices of users belonging to that particular user group.
The translation requests of the individual users in the user groups that are sent to the central server 100 for translation or, as in an alternative embodiment, are retrieved by the server 100, are preferably used in the method at a central server for managing a translation dictionary according to the present invention to contribute to building said central dictionary by constituting statistic data for translation data of a specific user group.
It should be clear that the order of the steps in the description of the inventive methods in the present application is not intended to limit the invention, since in other embodiments the order of the steps may be different .
Above, embodiments of the methods and system according to the present invention as defined in the appended claims have been described. These should be seen as merely non-limiting examples. As understood by a skilled person, many modifications and alternative embodiments are possible within the scope of the invention .
It is to be noted, that for the purposes of this application, and in particular with regard to the appended claims, the word "comprising" does not exclude other elements or steps, that the word "a" or "an", does not exclude a plurality, which per se will be apparent to a person skilled in the art.

Claims

1. A method at a central server for managing a translation dictionary comprising the steps of: - receiving a plurality of translation requests from a user group, which group comprises at least one user, wherein each translation request comprises a data post for non-translated data and a data post for translated data; - identifying the most common non-translated data and corresponding translated data; updating a central dictionary with the identified data .
2. A method at a central server for managing a translation dictionary according to claim 1, wherein said data post for translated data is set to a predefined value if no translated data exists, said method further comprising the steps of: for each translation request having said data post for translated data set to said predefined value: performing a translation of the corresponding non- translated data, thereby producing translated data; and - returning said produced translated data to the respective user of said user group;
3. A method at a central server for managing a translation dictionary according to claim 2, wherein said _, step of performing a translation comprises the step of: accessing an external dictionary.
4. A method at a central server for managing a translation dictionary according to any one of the previous claims, wherein said user group is defined on basis of related translation data received from different users .
5. A method at a central server for managing a translation dictionary according to any one of the previous claims, further comprising the step of providing a client with said central dictionary.
6. A method at a central server for managing a translation dictionary according claim 5, wherein said client is associated with a specific user group, and wherein the step of providing said client with said central dictionary comprises providing only a user group associated subset of said central dictionary.
7. A method at a central server for managing a translation dictionary according to any one of the previous claims, wherein a translation of an ambiguous word of said translation request is chosen based on a criteria set for the respective user group.
8. A method at a central server for managing a translation dictionary according to claim 7, wherein said criteria is to use a translation which is the most likely one to be a word or phrase used by said user group.
9. A method at a client translation device comprising a local translation dictionary, said method comprising the steps of: receiving a translation request, wherein said translation request comprises a data post for non- translated data and a data post for translated data, wherein said data post for translated data is set to a predefined value if no translated data exists; and if said data post for translated data is set to said predefined value performing the steps of: - checking if translated data corresponding to said non-translated data is present in said local translation dictionary; and if said translated data is present in said local dictionary, then:
- present said translated data; else perform the step of:
- transmitting said translation request to a central server, comprising a central dictionary; and
- if said post for translated data is set to said predefined value:
- receiving translated data from said central server.
10. A method at a client translation device comprising a local translation dictionary according to claim 9, said method further comprising the steps of: occasionally receiving said central dictionary; and updating the current client dictionary by replacing said current client dictionary with said central dictionary.
11. A method at a client translation device comprising a local translation dictionary according to claim 9, said method further comprising the steps of: occasionally receiving a subset of said central dictionary; and - updating the current client dictionary by adding said subset of said central dictionary;
12. A method at a client translation device comprising a local translation dictionary according to claim 11, wherein said client translation device is associated with a specific user group, wherein said subset of said central dictionary is a user group associated subset of said central dictionary.
13. A method at a client translation device comprising a local translation dictionary according to claim 9, wherein said translation request contributes to building said central dictionary by constituting statistic data for translation data of a specific user group.
14. A translation server system for client translation devices capable of communicating with said server, wherein said system comprises: means for receiving translation requests from a plurality of client translation devices, wherein each translation request comprises a data post for non- translated data and a data post for translated data, which data post for translated data is set to a predefined value if no translated data exists; a central dictionary; translation means for translating non-translated data if said data post for translated data is set to said predefined value, and thereby producing translated data; processing means for identifying the most common translated data and corresponding non-translated data; and means for updating said central dictionary with said identified data.
15. A translation server system for client translation devices according to claim 14, further comprising means for providing produced translated data associated with a translation request to a respective client translation device .
16. A translation server system for client translation devices according any of claims 14 or 15, wherein said translation means further comprises means for accessing external dictionaries.
17. A translation server system for client translation devices according to any of claims 14 to lβ, wherein said translation means further comprises means for accessing a further dictionary on said server.
18. A translation server system for client translation devices according to any one of claims 14 to 17, wherein said plurality of client translation devices are associated with a specific user group.
19. A translation server system for client translation devices according to any one of claims 14 to 18, further comprising server means for providing the updated central dictionary to said plurality of client translation devices .
20. A translation server system for client translation devices according to any of claims 14 to 19, further comprising means for storing the central dictionary in a database .
21. A computer program product in a computer-readable medium for use in a data processing system for managing a translation dictionary, the computer program product comprising : first instructions for receiving a plurality of translation reguests from a user group, wherein each translation request comprises a data post for non-translated data and a data post for translated data; second instructions for identifying the most common non-translated data and corresponding translated data; third instructions for updating a central dictionary with the identified data.
22. A computer program product in a computer-readable medium for use in a data processing system for managing a translation dictionary according to claim 21, wherein said translation request data post for translated data is set to a predefined value if no translated data exists, and wherein the program further comprising: - fourth instructions for determining if said data post for translated data is set to said predefined value; fifth instructions for, if said data post for translated data is set to said predefined value, performing a translation of the non-translated data, thereby producing translated data; and sixth instructions for returning said produced data to the respective user of said user group.
23. A computer program product in a computer-readable medium for use in a data processing system for managing a translation dictionary according to claim 22, further comprising : seventh instructions for providing a client with at least a subset of said central dictionary.
24. A method at a central server for managing a translation dictionary comprising the steps of: receiving a plurality of translation requests from a user group, which group comprises at least one user, wherein each translation request comprises a data post for non-translated data and a data post for translated data; identifying the most common non-translated data and corresponding translated data; updating a central dictionary with the identified data .
25. A method at a central server for managing a translation dictionary according to claim 24, wherein said data post for translated data is set to a predefined value if no translated data exists, said method further comprising the steps of: for each translation request having said data post for translated data set to said predefined value: performing a translation of the corresponding non- translated data, thereby producing translated data; and returning said produced translated data to the respective user of said user group;
26. A method at a central server for managing a translation dictionary according to claim 25, wherein said step of performing a translation comprises the step of: accessing an external dictionary.
27. A method at a central server for managing a translation dictionary according to claim 24, wherein said user group is defined on basis of related translation data received from different users.
28. A method at a central server for managing a translation dictionary according to claim 24, further comprising the step of providing a client with said central dictionary.
29. A method at a central server for managing a translation dictionary according claim 28, wherein said client is associated with a specific user group, and wherein the step of providing said client with said central dictionary comprises providing only a user group associated subset of said central dictionary.
30. A method at a central server for managing a translation dictionary according to claim 24, wherein a translation of an ambiguous word of said translation request is chosen based on a criteria set for the respective user group.
31. A method at a central server for managing a translation dictionary according to claim 30, wherein said criteria is to use a translation which is the most likely one to be a word or phrase used by said user group .
32. A method at a client translation device comprising a local translation dictionary, said method comprising the steps of: receiving a translation request, wherein said translation request comprises a data post for non- translated data and a data post for translated data, wherein said data post for translated data is set to a predefined value if no translated data exists; and if said data post for translated data is set to said predefined value performing the steps of: - checking if translated data corresponding to said non-translated data is present in said local translation dictionary; and if said translated data is present in said local dictionary, then:
- present said translated data; else perform the step of:
- transmitting said translation request to a central server, comprising a central dictionary; and
- if said post for translated data is set to said predefined value:
- receiving translated data from said central server.
33. A method at a client translation device comprising a local translation dictionary according to claim 32, said method further comprising the steps of: - occasionally receiving said central dictionary; and updating the current client dictionary by replacing said current client dictionary with said central dictionary.
34. A method at a client translation device comprising a local translation dictionary according to claim 32, said method further comprising the steps of: occasionally receiving a subset of said central dictionary; and updating the current client dictionary by adding said subset of said central dictionary;
35. A method at a client translation device comprising a local translation dictionary according to claim 34, wherein said client translation device is associated with a specific user group, wherein said subset of said central dictionary is a user group associated subset of said central dictionary.
36. A method at a client translation device comprising a local translation dictionary according to claim 32, wherein said translation request contributes to building said central dictionary by constituting statistic data for translation data of a specific user group.
37. A translation server system for client translation devices capable of communicating with said server, wherein said system comprises: means for receiving translation requests from a plurality of client translation devices, wherein each translation request comprises a data post for non- translated data and a data post for translated data, which data post for translated data is set to a predefined value if no translated data exists; a central dictionary; translation means for translating non-translated data if said data post for translated data is set to said predefined value, and thereby producing translated data; processing means for identifying the most common translated data and corresponding non-translated data; and means for updating said central dictionary with said identified data.
38. A translation server system for client translation devices according to claim 37, further comprising means for providing produced translated data associated with a translation request to a respective client translation device .
39. A translation server system for client translation devices according to claim 37 or 38, wherein said translation means further comprises means for accessing external dictionaries.
40. A translation server system for client translation devices according to claim 37, wherein said translation means further comprises means for accessing a further dictionary on said server.
41. A translation server system for client translation devices according to claim 37, wherein said plurality of client translation devices are associated with a specific user group.
42. A translation server system for client translation devices according to claim 37, further comprising server means for providing the updated central dictionary to said plurality of client translation devices.
43. A translation server system for client translation devices according to claim 37, further comprising means for storing the central dictionary in a database.
44. A computer program product in a computer-readable medium for use in a data processing system for managing a translation dictionary, the computer program product comprising : first instructions for receiving a plurality of translation requests from a user group, wherein each translation request comprises a data post for non-translated data and a data post for translated data; second instructions for identifying the most common non-translated data and corresponding translated data; - third instructions for updating a central dictionary with the identified data.
45. A computer program product in a computer-readable medium for use in a data processing system for managing a translation dictionary according to claim 44, wherein said translation request data post for translated data is set to a predefined value if no translated data exists, and wherein the program further comprising: fourth instructions for determining if said data post for translated data is set to said predefined value; fifth instructions for, if said data post for translated data is set to said predefined value, performing a translation of the non-translated data, thereby producing translated data; and sixth instructions for returning said produced data to the respective user of said user group.
46. A computer program product in a computer-readable medium for use in a data processing system for managing a translation dictionary according to claim 45, further comprising : seventh instructions for providing a client with at least a subset of said central dictionary.
PCT/IB2007/001811 2007-03-29 2007-06-06 Method at a central server for managing a translation dictionary and a translation server system WO2008120036A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US90880907P 2007-03-29 2007-03-29
US60/908,809 2007-03-29

Publications (1)

Publication Number Publication Date
WO2008120036A1 true WO2008120036A1 (en) 2008-10-09

Family

ID=38756831

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2007/001811 WO2008120036A1 (en) 2007-03-29 2007-06-06 Method at a central server for managing a translation dictionary and a translation server system

Country Status (1)

Country Link
WO (1) WO2008120036A1 (en)

Cited By (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014159473A3 (en) * 2013-03-14 2014-11-20 Apple Inc. Automatic supplementation of word correction dictionaries
US9412392B2 (en) 2008-10-02 2016-08-09 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9548050B2 (en) 2010-01-18 2017-01-17 Apple Inc. Intelligent automated assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9626955B2 (en) 2008-04-05 2017-04-18 Apple Inc. Intelligent text-to-speech conversion
US9633660B2 (en) 2010-02-25 2017-04-25 Apple Inc. User profiling for voice input processing
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668024B2 (en) 2014-06-30 2017-05-30 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9953088B2 (en) 2012-05-14 2018-04-24 Apple Inc. Crowd sourcing information to fulfill user requests
US9966068B2 (en) 2013-06-08 2018-05-08 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9971774B2 (en) 2012-09-19 2018-05-15 Apple Inc. Voice-based media searching
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10079014B2 (en) 2012-06-08 2018-09-18 Apple Inc. Name recognition system
US10083690B2 (en) 2014-05-30 2018-09-25 Apple Inc. Better resolution when referencing to concepts
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10102359B2 (en) 2011-03-21 2018-10-16 Apple Inc. Device access using voice authentication
US10108612B2 (en) 2008-07-31 2018-10-23 Apple Inc. Mobile device having human language translation capability with positional feedback
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10169329B2 (en) 2014-05-30 2019-01-01 Apple Inc. Exemplar-based natural language processing
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10283110B2 (en) 2009-07-02 2019-05-07 Apple Inc. Methods and apparatuses for automatic speech recognition
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10318871B2 (en) 2005-09-08 2019-06-11 Apple Inc. Method and apparatus for building an intelligent automated assistant
US10332518B2 (en) 2017-05-09 2019-06-25 Apple Inc. User interface for correcting recognition errors
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10356243B2 (en) 2015-06-05 2019-07-16 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US10381016B2 (en) 2008-01-03 2019-08-13 Apple Inc. Methods and apparatus for altering audio output signals
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10410637B2 (en) 2017-05-12 2019-09-10 Apple Inc. User-specific acoustic models
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10482874B2 (en) 2017-05-15 2019-11-19 Apple Inc. Hierarchical belief states for digital assistants
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US10497365B2 (en) 2014-05-30 2019-12-03 Apple Inc. Multi-command single utterance input method
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10684703B2 (en) 2018-06-01 2020-06-16 Apple Inc. Attention aware virtual assistant dismissal
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10755703B2 (en) 2017-05-11 2020-08-25 Apple Inc. Offline personal assistant
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US10789945B2 (en) 2017-05-12 2020-09-29 Apple Inc. Low-latency intelligent automated assistant
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10795541B2 (en) 2009-06-05 2020-10-06 Apple Inc. Intelligent organization of tasks items
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11023513B2 (en) 2007-12-20 2021-06-01 Apple Inc. Method and apparatus for searching using an active ontology
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US11069336B2 (en) 2012-03-02 2021-07-20 Apple Inc. Systems and methods for name pronunciation
US11080012B2 (en) 2009-06-05 2021-08-03 Apple Inc. Interface for a virtual digital assistant
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11217255B2 (en) 2017-05-16 2022-01-04 Apple Inc. Far-field extension for digital assistant services
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US11350253B2 (en) 2011-06-03 2022-05-31 Apple Inc. Active transport based notifications
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002086737A1 (en) * 2001-04-20 2002-10-31 Wordsniffer, Inc. Method and apparatus for integrated, user-directed web site text translation
US20030009320A1 (en) * 2001-07-06 2003-01-09 Nec Corporation Automatic language translation system
WO2004021148A2 (en) * 2002-08-30 2004-03-11 Speechgear, Inc. Translation system
WO2006016477A1 (en) * 2004-08-09 2006-02-16 Cross Language Inc. Translation system, translation server, translation server processing method, program information storage medium, and translation device
WO2007005945A2 (en) * 2005-06-30 2007-01-11 Google Inc. Nonstandard locality-based text entry

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002086737A1 (en) * 2001-04-20 2002-10-31 Wordsniffer, Inc. Method and apparatus for integrated, user-directed web site text translation
US20030009320A1 (en) * 2001-07-06 2003-01-09 Nec Corporation Automatic language translation system
WO2004021148A2 (en) * 2002-08-30 2004-03-11 Speechgear, Inc. Translation system
WO2006016477A1 (en) * 2004-08-09 2006-02-16 Cross Language Inc. Translation system, translation server, translation server processing method, program information storage medium, and translation device
WO2007005945A2 (en) * 2005-06-30 2007-01-11 Google Inc. Nonstandard locality-based text entry

Cited By (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US10318871B2 (en) 2005-09-08 2019-06-11 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11023513B2 (en) 2007-12-20 2021-06-01 Apple Inc. Method and apparatus for searching using an active ontology
US10381016B2 (en) 2008-01-03 2019-08-13 Apple Inc. Methods and apparatus for altering audio output signals
US9626955B2 (en) 2008-04-05 2017-04-18 Apple Inc. Intelligent text-to-speech conversion
US9865248B2 (en) 2008-04-05 2018-01-09 Apple Inc. Intelligent text-to-speech conversion
US10108612B2 (en) 2008-07-31 2018-10-23 Apple Inc. Mobile device having human language translation capability with positional feedback
US9412392B2 (en) 2008-10-02 2016-08-09 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10643611B2 (en) 2008-10-02 2020-05-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11080012B2 (en) 2009-06-05 2021-08-03 Apple Inc. Interface for a virtual digital assistant
US10795541B2 (en) 2009-06-05 2020-10-06 Apple Inc. Intelligent organization of tasks items
US10283110B2 (en) 2009-07-02 2019-05-07 Apple Inc. Methods and apparatuses for automatic speech recognition
US9548050B2 (en) 2010-01-18 2017-01-17 Apple Inc. Intelligent automated assistant
US10706841B2 (en) 2010-01-18 2020-07-07 Apple Inc. Task flow identification based on user intent
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US9633660B2 (en) 2010-02-25 2017-04-25 Apple Inc. User profiling for voice input processing
US10049675B2 (en) 2010-02-25 2018-08-14 Apple Inc. User profiling for voice input processing
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US10417405B2 (en) 2011-03-21 2019-09-17 Apple Inc. Device access using voice authentication
US10102359B2 (en) 2011-03-21 2018-10-16 Apple Inc. Device access using voice authentication
US11350253B2 (en) 2011-06-03 2022-05-31 Apple Inc. Active transport based notifications
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US11069336B2 (en) 2012-03-02 2021-07-20 Apple Inc. Systems and methods for name pronunciation
US9953088B2 (en) 2012-05-14 2018-04-24 Apple Inc. Crowd sourcing information to fulfill user requests
US10079014B2 (en) 2012-06-08 2018-09-18 Apple Inc. Name recognition system
US9971774B2 (en) 2012-09-19 2018-05-15 Apple Inc. Voice-based media searching
US9977779B2 (en) 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
WO2014159473A3 (en) * 2013-03-14 2014-11-20 Apple Inc. Automatic supplementation of word correction dictionaries
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9966060B2 (en) 2013-06-07 2018-05-08 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US10657961B2 (en) 2013-06-08 2020-05-19 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9966068B2 (en) 2013-06-08 2018-05-08 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10714095B2 (en) 2014-05-30 2020-07-14 Apple Inc. Intelligent assistant for home automation
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10657966B2 (en) 2014-05-30 2020-05-19 Apple Inc. Better resolution when referencing to concepts
US10169329B2 (en) 2014-05-30 2019-01-01 Apple Inc. Exemplar-based natural language processing
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10497365B2 (en) 2014-05-30 2019-12-03 Apple Inc. Multi-command single utterance input method
US10083690B2 (en) 2014-05-30 2018-09-25 Apple Inc. Better resolution when referencing to concepts
US10904611B2 (en) 2014-06-30 2021-01-26 Apple Inc. Intelligent automated assistant for TV user interactions
US9668024B2 (en) 2014-06-30 2017-05-30 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10431204B2 (en) 2014-09-11 2019-10-01 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9986419B2 (en) 2014-09-30 2018-05-29 Apple Inc. Social reminders
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10453443B2 (en) 2014-09-30 2019-10-22 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10311871B2 (en) 2015-03-08 2019-06-04 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10356243B2 (en) 2015-06-05 2019-07-16 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10354652B2 (en) 2015-12-02 2019-07-16 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US11069347B2 (en) 2016-06-08 2021-07-20 Apple Inc. Intelligent automated assistant for media exploration
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US10942702B2 (en) 2016-06-11 2021-03-09 Apple Inc. Intelligent device arbitration and control
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10553215B2 (en) 2016-09-23 2020-02-04 Apple Inc. Intelligent automated assistant
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10332518B2 (en) 2017-05-09 2019-06-25 Apple Inc. User interface for correcting recognition errors
US10755703B2 (en) 2017-05-11 2020-08-25 Apple Inc. Offline personal assistant
US10847142B2 (en) 2017-05-11 2020-11-24 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10410637B2 (en) 2017-05-12 2019-09-10 Apple Inc. User-specific acoustic models
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US10789945B2 (en) 2017-05-12 2020-09-29 Apple Inc. Low-latency intelligent automated assistant
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10482874B2 (en) 2017-05-15 2019-11-19 Apple Inc. Hierarchical belief states for digital assistants
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US11217255B2 (en) 2017-05-16 2022-01-04 Apple Inc. Far-field extension for digital assistant services
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10684703B2 (en) 2018-06-01 2020-06-16 Apple Inc. Attention aware virtual assistant dismissal
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10984798B2 (en) 2018-06-01 2021-04-20 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance

Similar Documents

Publication Publication Date Title
WO2008120036A1 (en) Method at a central server for managing a translation dictionary and a translation server system
CN104216913B (en) Question answering method, system and computer-readable medium
US8073877B2 (en) Scalable semi-structured named entity detection
US9542476B1 (en) Refining search queries
US8332434B2 (en) Method and system for finding appropriate semantic web ontology terms from words
KR102263637B1 (en) Third party search applications for a search system
CN109508458B (en) Legal entity identification method and device
CN110377886A (en) Project duplicate checking method, apparatus, equipment and storage medium
US11875590B2 (en) Self-supervised document-to-document similarity system
US20200134537A1 (en) System and method for generating employment candidates
WO2023226262A1 (en) Intelligent association-based disease content pushing method and apparatus, device, and medium
Li et al. Getting work done on the web: supporting transactional queries
JP2001084256A (en) Device and method for processing database and computer readable storage medium with database processing program recorded therein
CN112330400A (en) Product recommendation method and device, computer equipment and storage medium
US20220343087A1 (en) Matching service requester with service providers
CN110188201A (en) A kind of information matching method and equipment
US11347780B2 (en) System and method for automatic suggestion and or correcting of search keywords
CN115114415A (en) Question-answer knowledge base updating method and device, computer equipment and storage medium
Rachmawati et al. Transfer learning for closed domain question answering in COVID-19
Cai et al. Question recommendation in medical community-based question answering
Gupta Top K Relevant Passage Retrieval for Biomedical Question Answering
CN117435648B (en) Method, device, equipment and storage medium for associating college teacher with scientific research result
KR102615973B1 (en) System and Method for Providing Personal Dictionary Building Service
JP2013536519A (en) Method and search engine for searching a large number of data records
US20220245467A1 (en) Methods and apparatus for retrieving relevant information from an unstructured knowledge base

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07734920

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07734920

Country of ref document: EP

Kind code of ref document: A1