US20090144049A1 - Method and system for adaptive transliteration - Google Patents
Method and system for adaptive transliteration Download PDFInfo
- Publication number
- US20090144049A1 US20090144049A1 US12/248,422 US24842208A US2009144049A1 US 20090144049 A1 US20090144049 A1 US 20090144049A1 US 24842208 A US24842208 A US 24842208A US 2009144049 A1 US2009144049 A1 US 2009144049A1
- Authority
- US
- United States
- Prior art keywords
- tokens
- input
- output
- transliteration
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000003044 adaptive effect Effects 0.000 title claims description 5
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 13
- 238000013507 mapping Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000344 soap Substances 0.000 description 2
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 235000006545 Ziziphus mauritiana Nutrition 0.000 description 1
- 240000000038 Ziziphus mauritiana Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 235000021028 berry Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000013077 scoring method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
- G06F40/129—Handling non-Latin characters, e.g. kana-to-kanji conversion
Definitions
- the present disclosure relates to systems and methods for transliterating text, and in particular to transliteration between non-Roman character-based languages, such as Arabic, and Roman character-based languages, such as English.
- Modern (e.g., personal) computing systems and other electronic, information and communication devices typically include a processor, storage apparatus, and input/output apparatus through which the user of a device interacts to input or enter information into the device, and with which the device displays or outputs information back to the user.
- One input apparatus is a keyboard, which generally includes a plurality of keys or buttons corresponding to the letters of an alphabet and other common numerals or characters.
- a keyboard which generally includes a plurality of keys or buttons corresponding to the letters of an alphabet and other common numerals or characters.
- computer systems including an English-based keyboard with the letters of the English alphabet and the decimal numbers and other punctuation characters are available, and many major manufacturers of computing equipment produce products in English or Roman-based character sets only.
- most computer software and system and application programs are also created today with English speakers primarily or only in mind.
- Transliteration is a process used to transcribe text written in a character set into another character set. Transliteration allows users of computers or other electronic devices to express themselves in a language that is difficult to input into Roman-based computing systems for a number of reasons, including for example: the keyboard may not include the characters of the language; even if the keyboard includes the native language's characters, a user may not be familiar with the keyboard layout; and a user may not be fluent in the language, but knows the transliteration of certain names or phrases.
- Transliteration relates to conversion of text or character sets from one set to another, for example, form Arabic to Roman character-based languages such as English, and the reverse process (e.g., Roman to Arabic).
- Some transliteration systems use a one-to-one mapping from one character set to the other.
- most people are not trained in these rigid transliteration systems, and the systems and processes for using them remain inadequate and difficult to implement and use. Nonetheless ad-hoc transliteration systems are commonly used, relying on loose mappings. These mappings are generally based on phonetic similarities between Arabic and a Roman language the user is familiar with (for example English or French).
- mappings don't exist (for example in Arabic certain sounds have no equivalents in English, users tend to fall back on one or more commonly understood mappings, which can use alphabetic characters, numbers and/or punctuation (for example, “3” is commonly understood to be a transliteration for the Arabic ).
- the system includes a flexible transliteration system that, when given a Romanized word (non-Roman text written using Roman characters), produces a list of ranked transliteration candidates.
- the present disclosure provides a system and method for transliterating a Romanized Arabic word or phrase into its Arabic form in the Arabic character set.
- the present discussion should be understood to be extendable to transliteration between other character set pairs as well.
- the system's input includes a Roman character string.
- the system's output includes a list of Arabic word candidates ranked according to a score, ranking, or other quantitative metric.
- a “score” or quantitative measure of confidence can be assigned to one or more of a list of output candidate words or phrases.
- the score describes a level of confidence that a given output word is the Arabic word that the user meant to express using the Romanized input.
- the present system can be “fuzzy” because it is able to produce the same best guesses for a variety of reasonable inputs.
- the present system and method allow a user to input Arabic text without learning specific transliteration rules, and allow the system to improve its accuracy and efficiency for the same user in future uses as well as for other users if such information is used in more than one session or between sessions of multiple users.
- Some embodiments of the present system offer users a choice of Arabic word candidates. The user then selects which output word they wish to use. The system can use statistical information about these selections to refine the scoring system. This produces output rankings more in line with the users' expectations. The system is therefore adaptive.
- a user interface which has the following properties: it gives immediate feedback by showing transliteration candidates as the user types; it can display the meaning of the Arabic transliteration candidates; it allows the user to correct mistakes by modifying their transliteration selections at any time; it can automatically provide a best-guess transliteration if the user doesn't actively chose a transliteration; it remembers the user's previous transliteration selections; the transliteration rankings can be customized to a particular user, and; it can provide user selection feedback that can be used to improve the rankings of the transliteration system.
- One or more embodiments hereof can also be used to input non-Roman text in a number of applications, such as, but not limited to: inputting non-Roman text in a desktop computer application; inputting non-Roman text in a web-based application; and inputting non-Roman text on a mobile device, such as a cell phone.
- FIG. 1 illustrates an exemplary flowchart of acts in a process for transliteration
- FIG. 2 illustrates an exemplary weighted scoring method
- FIG. 3 illustrates an exemplary selection post-processing method
- FIG. 4 illustrates an exemplary selected Roman word and the candidate transliterations returned by the transliteration system
- FIG. 5 illustrates an exemplary selected Roman word and the candidate transliterations returned by the transliteration system, including word meanings
- FIG. 6 illustrates an exemplary selected Arabic word and the candidate transliterations obtained from the transliteration cache
- FIG. 7 illustrates an exemplary sequence of acts from a method implemented in a system for transliteration input and output.
- the present system and method provide for transliteration between two character systems, for example a Roman-based character system and the Arabic language.
- Some terms used herein are presented below, not by way of limitation or exhaustion, but rather as exemplary of the use of the term, which several of are known to those of skill in the art, and are intended to be taken as such where consistent therewith and where such differing usage is not required by the present illustrative examples.
- Roman word a string consisting of a combination of: lower case Roman alphabet characters; upper case Roman alphabet characters; roman numbers; and certain punctuation characters, such as the apostrophe.
- Transliteration The process of converting a Roman string into an Arabic string.
- Examples include:
- Harakat The Arabic language uses diactritic marks called harakat. Other non-Roman languages have similar annotations to differentiate sounds and meanings of similar tokens or strings.
- the harakat are often omitted from written Arabic, but are spoken. As a result, they play a role in the Romanization of Arabic words.
- Table I illustrates some common harakat from the example of the Arabic language.
- Token A data structure comprising one or more of: a Roman string, e.g., “ph”; a transliteration, e.g., an Arabic string which is a plausible transliteration of the Roman string, including harakats; e.g., ; or a positioning flag expressing how the Token's Roman string can be positioned in a Romanized string. For example in the: Start; Middle; End; Alone; Prefix; or Suffix.
- a “start” token in some embodiments is followed by a “middle” or “end” token.
- a “prefix” token is similar, but can also be followed by another “prefix” or “beginning” token.
- a “prefix” token is typically not part of the stem of the word.
- a “suffix” token is similar to an “end” token, but it indicates that the token is typically not part of the stem of the word.
- Metadata can be associated with a token or with each token, including:
- a quality score Used to distinguish between tokens that are based on same Romanized string. For example: “t” ⁇ has a higher quality score than “t” ⁇ ; and “T” ⁇ has a higher quality score than “T” ⁇ ;
- a popularity score Comprises a score that expresses how often a particular token is used. The value can be derived from collecting statistics from the user input patterns, or from analyzing Romanized Arabic text, in print or electronic form
- embodiments hereof employ some or all of the following elements.
- a token database This comprises a collection of tokens. Token databases are typically optimized for a particular usage scenario.
- a database can contain tokens optimized for the user's Roman language of choice.
- Spanish speakers may use different mappings from Roman to Arabic, compared to English speakers, because of phonetic differences between their two languages. For Spanish, a “j” [kh] ⁇ token makes sense, but not for English.
- the token database may also be optimized for differences within Arabic itself (for example Lebanese colloquial versus classical Arabic), or for differences according to a particular user's preferences.
- Intermediate transliteration quality database comprises a database of transliterations and their respective quality scores. These scores can be positive or negative. In some embodiments, the score is derived from the input language rules or Arabic spelling rules. Many alternative scoring techniques can be employed, and the present discussion is meant to comprehend such other variations and possible implementations. Note that in the case of the Arabic spelling rules, database entries may be generated according to a set of rules. For example:
- Arabic word database comprises a database of Arabic words, which can optionally include harakats. In some instances the database includes a large (or even all) words of the language. Each word can optionally be assigned a popularity score as described above.
- the popularity score may be determined by a combination of the following factors, such as: the frequency a word occurs in a set of Arabic publications, in print or electronic form; the frequency the Arabic word is input by the users; dialect variations.
- Lebanese colloquial may have words with differing popularity scores than classical Arabic; and application contextual information.
- a popularity database may be compiled that is geared towards technical users. In this case, technical words, uncommon in everyday usage, would be given a higher popularity score than otherwise.
- Transliteration popularity database this database can associate a popularity score with Romanized string/Arabic transliteration pair. The score captures how often a Roman string is input to produce the Arabic output.
- the transliteration popularity score can be compiled from a number of sources, such as: a statistical analysis of the users' input and selected output transliterations; or a statistical analysis of Romanized Arabic text, derived in paper or electronic form.
- An interface between the present system and external components is made possible in some embodiments to receive or otherwise exchange such information between the present system for transliteration and the outside world.
- an Internet or similar local or remote networks are coupled to the present transliteration system to send and/or receive information to and/or from the network.
- the present system and method can include some portions based on or including a scheme or algorithm, but are not necessarily so restricted, and the present disclosure is not directed strictly to algorithms as such, but may employ algorithms in various forms and embodiments embodied by the totality of the present systems and methods.
- hardware executing programmed instructions is implemented as part of the system and to carry out the present method.
- the algorithm can optionally use an intermediate transliteration quality database and/or an Arabic word database, which may be generalized to other languages than Arabic of course.
- a transliteration popularity database can be employed.
- the input to the algorithm comprises a Romanized Arabic word which the user wants to convert to native Arabic characters.
- the present system includes a processor that can execute stored instructions on data available to the system or stored thereon.
- the system includes a computer processor or similar apparatus such as those found on a personal computer (PC) or a handheld device like a personal digital assistant (PDA), smartphone, or other embedded system.
- the system may include hardware, firmware, and software in any combination.
- Various parts of the system can be included within one unit, in a box, or provided separately or obtained from different sources.
- an input is received at 100 (in a first character set).
- the input may be received from a human user or a machine (computer, software).
- the input is tokenized at 110 and the resultant tokens are scored at 120 according to any useful method, including the exemplary ones illustrated above.
- a sorting is done at 130 to arrange (sort) the possible outputs according to some criteria, including the exemplary ones illustrated above.
- An output is provided at 140 so that a human user or a machine (computer, software) obtains the sorted output.
- the highest scored result is presented first or as a default in a list of possible outputs.
- the user (again, can be a human user or a machine) provides some feedback at 150 by indicating which output choice was selected. This feedback is used to update a database at 160 so that a database containing information can be more useful in future scoring acts. Also, the feedback can provide other new information to build up the database and expand it.
- This feedback feature provides an adaptive aspect to the present system and method. It should be understood that the present schemes can be adapted for use with a number of front-end programming interfaces or user interfaces for inputting and outputting information therefrom.
- an exemplary method includes the following steps, which are not necessarily performed in the order presented for all instances:
- Tokenization finds the possible tokenizations of the input Roman word. Each tokenization in some instances fulfills the following conditions: the concatenation of the tokens' Roman strings must match the input word; and a token can only be used if it's positioning requirements are met. Again, these steps are presented for an exemplary embodiment or more of the present system and method and are not exhaustive or limiting of other possible examples. Nonetheless, in the exemplary embodiment here, Table II shows one possible tokenization for the input word “khawf”:
- Token Token Tokens string flag transliteration Token #1 kh start Token #2 a middle Token #3 w middle Token #4 f end
- Tokenization scoring an aggregate score is determined for each tokenization produced. This score is the weighted sum of multiple sub-scores. Sub-scores can be generated at three levels: a) token level b) intermediate level, and c) word level. Each of these is discussed in more detail below for the present exemplary embodiment:
- Token level sub-scores are computed by examining the properties of the Tokenization's constituent tokens.
- a token quality sub-score may be obtained by combining the individual tokens' quality scores;
- a token length sub-score may be obtained by combining the individual tokens' length scores;
- a token popularity sub-score may be obtained by combining the individual tokens' popularity scores. Note that any or all of the foregoing can be used in any combination, depending on the performance and implementation desired.
- intermediate level scoring is computed by examining groups of tokens in the tokenization. Each group corresponds to a Roman substring and an Arabic transliteration substring. The pair's score is obtained from the intermediate transliteration quality database. Sub-scores for all possible subgroups are combined to form an overall intermediate sub-score.
- Word level sub-scores are computed by examining the tokenization's transliteration as a whole, ignoring the specific tokenization, with the exception of prefixes. If the tokenization includes one or more prefix tokens, they may be stripped when calculating the word level sub-scores. Similarly, a suffix token may be stripped from the tokenization when computing the word-level subscore.
- a (positive) dictionary match sub-score may be assigned if the tokenization's transliteration has a strict match in the Arabic word database.
- prefixes and suffixes can be stripped from the transliteration.
- a smaller (positive) sub-score may be assigned if the transliteration has a loose match in the Arabic word database.
- FIG. 2 illustrates an exemplary outline of a scoring process employing token level scoring 200 that includes token quality score 202 , token length score 204 , and token popularity (or frequency) score 206 .
- an intermediate level scoring 210 includes scoring an intermediate transliteration quality 212 .
- a word level scoring 220 includes a dictionary match score 222 , an Arabic word popularity (or frequency) score 224 , and a transliteration popularity score 226 . Weighting of the scores can be applied at any stage that is useful, for example at 230 . An aggregate score is obtained after weighting at 240 . The weighted score can be used to determine an ordering or sorting of possible matches and outputs to be presented to a user.
- a loose dictionary match can be can be found by removing one or more short vowels (fatha, kasra, damma). For example, if the user enters “kabada” the system will produce (among others) the transliterations [kabada] . This transliteration may not be found in the word database with the short vowels. Stripping them gives [k-b-d] , which may exist in the word database. This is a loose match.
- a loose dictionary match may also be obtained by removing one or more shaddas (stress characters), e.g., [berri] may not be in the word database, but [beri] may be.
- shaddas stress characters
- a loose dictionary match may further be obtained by removing one or more maddas (extenders), or replacing one or more alef-maddas [CHAR-a1] with alef-hamzas [CHAR-a2], e.g., [aameen] may not be in the word database, but [ameen] or [‘ameen] may be.
- a loose dictionary match may be obtained by replacing one or more alef-hamzas [CHAR-a2] with alefs [CHAR-a], e.g., [akala] may not be in the word database, but [akal] may be.
- a score of 0 may be assigned if no matches for the transliteration can be found in the Arabic word database.
- a non-Roman, e.g., Arabic, word popularity sub-score may be obtained from the popularity score of the transliteration in the Arabic word database.
- the score is higher with higher popularity, although the relation between the popularity and the score need not be linear (it can be logarithmic, have steps, etc.).
- the existence sub-score the popularity score is higher if the match is strict. This score uses the same strict/loose matching rules as the existence score. For example, when the user enters “ana” the system will produce (among others) the transliterations [ana-1] and [ana-2] . However the use of [ana-2] is much more frequent then [ana-1] according to the Arabic word database and is therefore given a higher sub-score.
- a transliteration popularity sub-score may be obtained by looking up the Roman input/Arabic transliteration pair in the transliteration popularity database.
- the sub-score is 0 (zero) if the pair is not found in the database according to some embodiments. For example, “marhaba” ⁇ has a high sub-score, because it is very commonly used, whereas “marrhaba” ⁇ has a low sub-score, because it is not commonly used.
- the sub-score weights are preferably chosen to optimize or maximize the System's ability to produce a best-guess transliteration from a pre-defined database of frequently used Romanized Arabic words and their transliterations. Again, similar notions can be applied for other non-Roman alphabets and vocabularies.
- Tokenization sorting The list of tokenizations is sorted according to each tokenization's aggregate score.
- a new list is generated from the sorted tokenization list. This list contains the transliteration of each tokenization, as well as its associated score. Typically the transliteration is stripped of its harakats, since they are not typically used in written Arabic. However the transliteration can be provided with harakats, or with different combinations of harakats. If multiple harakat combinations are output, they can be ranked by order of popularity in the Arabic word database. The output is provided to the user in the form of a choice of transliterations.
- the user of the present system makes a selection of which candidate transliteration he or she wants to use. These steps can be carried out by a human, a machine in a system, or a combination of the two. A statistical analysis of the user's selections can be used to refine data
- Examples of the data that can be refined in this process include: the token popularity scores in the token database, reflecting e.g., how popular is the “th” [as in ‘this’] ⁇ token versus the “th” [as in ‘thus’] ⁇ token; the Arabic word popularity scores in the Arabic word database, reflecting e.g., how popular is the use of the word [keefik] ; the transliteration popularity score in the transliteration database, reflecting e.g., how popular is it to input “allah” to mean .
- the user selections can be used to infer the proper harakat form of a word. For example, if users frequently use “kabada” ⁇ , one can infer that the word [kabada] is written [k-b-d] with harakats. The Arabic word database can subsequently be updated to include this information. Additionally, frequently occurring input/output selection pairs can be added to the transliteration database used for optimizing the weights used in the scoring process.
- FIG. 3 illustrates an exemplary process for the post-processing of user selections in the present system and method.
- the user selects a selection from a list of presented transliteration candidates output to the user.
- the user selection is post-processed at 310 in any of several ways that result in enhancements to the system, database, algorithms, and future performance thereof.
- the post-processing 310 can result in additions, modifications, deletions, or improvements to a token database 320 , an Arabic word database 330 , a transliteration popularity (or frequency) database 340 , and a transliteration database for scoring weight optimization 350 .
- an input method can be used in any user interface element that allows textual input and selection.
- this can be an HTML INPUT element or an HTML TEXTAREA element.
- the present system and method provides a transliteration system that, given a Romanized word, produces a list of ranked transliteration candidates. In some embodiments this includes translations of selected words or phrases.
- the transliteration system can optionally provide the meaning of each transliteration candidate.
- Some embodiments of the system use a transliteration cache to locally store the transliteration candidates that are returned from the transliteration system for quick access.
- FIG. 4 illustrates an exemplary user interface 400 for presenting transliteration candidate outputs to a user.
- An output window 405 which can be displayed on a computer or hand-held device display monitor, holds visible information to convey the outputs to the user. Note that audible alternatives can be used instead of or in conjunction with the presently described visual output interface 400 to accommodate those with disabilities or other needs.
- An input “marhaba” is shown at 410 .
- the interface includes a highlighting element, such as a text highlighter 420 to show the presently-selected option 430 .
- Other options 432 , 434 , and 436 are available and shown, but not presently selected.
- the user can select the other options 432 , 434 , or 436 by using an input interface (e.g., touch screen, scroll wheel, mouse, keyboard, voice input, etc.) to move the highlighting 420 to the user's desired selection.
- an input interface e.g., touch screen, scroll wheel, mouse, keyboard, voice input, etc.
- the output options can be sorted as described herein by ordering them for example.
- FIG. 5 illustrates an exemplary user interface 500 that provides a translation feature.
- the system provides a list of sorted possible outputs.
- each possible output is given in its Arabic form ( 520 - 526 ) and also along with its corresponding English translation ( 530 - 536 ) respectively.
- FIG. 6 illustrates another exemplary user interface 600 that provides a root input word in a first character set and associates it with a group of outputs beneath a corresponding word in a second character set.
- the outputs are obtained from a cache as described above.
- FIG. 7 an exemplary system's logic flow is described below. It should be appreciated that this presents an exemplary and illustrative embodiment of the steps in a method, not intended to be limiting or exhaustive of other embodiments, where additional steps can be performed, or some of the indicated steps removed as appropriate.
- the user enters, or selects text in the textbox. This can include typing with the keyboard into the textbox, copying and pasting text into the textbox, or selecting existing text in the textbox, of other ways of entering information into a place adapted to receive user input.
- the selected word is identified. When typing, the currently typed word is considered to be selected. If multiple words are selected, the system does nothing further; if a single word is selected, the system proceeds.
- the system determines whether the selected word is comprised of exclusively Arabic characters, exclusively Roman characters, or neither of those two cases. If the selected word is neither, the system does nothing further; if the selected word is purely Roman, proceed to step 4 ; if the selected word is purely Arabic, the system proceeds as indicated; if the selected word is purely Roman, it is looked up in the Transliteration Cache. If transliteration candidates are found in the cache, the system proceeds as indicated.
- the system requests the transliteration candidates from the transliteration system. Once the transliteration candidates are received, they are stored in the transliteration cache at 708 , along with their meanings if available. If the selected word is Arabic, the system looks it up in the transliteration cache; if it is not found in the cache, the system does nothing further. Output messages and signals may be delivered from the system to another component or module or to a user (e.g., through a readable display) to indicate the .progress at each step of the process. If the selected word is found, the system retrieves the transliteration candidates from the cache.
- the system displays a user interface element listing the Romanized word and transliteration candidates. Each entry is selectable by the user. If available, the Arabic word's meaning can be displayed next to it.
- the original word is replaced by the new selection; the selection is stored, either locally or remotely. This will allow the selection to be remembered if the same word is input at a later time.
- Feedback can be provided to the transliteration system regarding the user selection. This feedback can help improve the accuracy of the transliteration system.
- the user may input special characters or key combinations into the textbox.
- One of these can be used to prevent the automatic transliteration of the preceding word. For example, if a user were to input CTRL-SPACE, the system could input a space character without automatically transliterating the preceding word.
- the system can also provide the user with a method to disable transliterations altogether.
- This can be in the form of a user interface element, such as a button, and/or a special character or key combination input into the textbox.
- a method can also be provided to re-enable the transliteration functionality.
- Textboxes in software applications can have a text direction setting.
- the text direction is either left-to-right or right-to-left.
- An application can either impose a text direction on a user, or it may provide a mechanism to switch the text direction, such as a button.
- a textbox has a left-to-right text direction, one may infer that either the application developer or the user intends to use the textbox for text written mostly in a left-to-right language, and vice-versa.
- the system can therefore detect the text-direction of the textbox, and automatically enable or disable the automatic transliteration features of the user interface.
- the system can infer than the user intends to input mostly roman text. It can therefore disable the automatic transliteration which would normally take place when punctuation is input.
- the system can infer than the user intends to input mostly Arabic text, and can enable the automatic transliteration.
- One or more embodiments of the present system and method can further accomplish ranking of transliteration options.
- the transliteration system can take into account one or more of the following factors when determining the transliteration candidates and their ranking, for example, in one or more embodiments:
- the user's native language This can be determined by the user actively choosing what language he or she prefers; the user's locale can be determined by examining the “Accept-Language” header in an HTTP request made by the user's browser; and/or the browser language setting, obtained for example using javascript.
- the transliteration language including, dialect variations. This can be based on the user's previous selections and/or the selections of a population of users. For example:
- users from the same geographic location users using the same input language; and/or users of a certain age group, or sharing other demographic attributes.
- the present system and method can provide communication functions.
- the transliteration system can run either locally or remotely.
- a remote transliteration system can be hosted on one or more servers.
- the request and response can be encoded in many different forms.
- the transliteration system can be hosted on a web server.
- a hyper text transfer protocol (HTTP) request can ask the web server for transliterations of a given word.
- This word, and other relevant information can be encoded in the uniform resource locator (URL), a cookie, HTTP POST header or body, SOAP transaction, XML document, etc.
- the list of transliteration candidates can be returned in the HTTP response's body, encoded in any number of formats, such as plain text, JSON, XML, SOAP, etc.
- the textbox can be any user interface element that receives text as input.
- the textbox can be any user interface element that receives text as input.
- an HTML or XHTML input element For example: an HTML or XHTML input element; an HTML or XHTML text area element; or a textbox or rich textbox control; and a custom text input element that allows text input and selection, such as a word processor or email editor.
- the present system and method can be applied to provide input and/or output to/from a transliterator. It should be also seen that the actual and precise nature of the transliterator or transliteration system associated with the present input and output system is not limiting of the present input and output system. That is, a number of transliteration engines, programs, machines, and algorithms are potentially suited for use herewith.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
Description
- This application claims the benefit under 35 U.S.C. § 120 to U.S. Provisional Pat. Appl. Ser. No. 60/978,643, entitled “System and Method for Adaptive Transliteration,” and to U.S. Provisional Pat. Appl. Ser. No. 60/978,628, entitled “System and Method for Transliteration Input and Output,” both to the present inventors and filed on Oct. 9, 2007, and both of which are hereby incorporated by reference. This application is also related to U.S. Provisional Pat. Appl. Ser. No. 61/030,739, entitled “System and Method for Advertising in a Transliteration-Based Text Input System,” filed on Feb. 22, 2008, and U.S. Provisional Pat. Appl. Ser. No. 61/059,134, entitled “Smart Search Transliteration Engine and Method,” filed on Jun. 5, 2008, both to the present inventors and both of which are also hereby incorporated by reference.
- The present disclosure relates to systems and methods for transliterating text, and in particular to transliteration between non-Roman character-based languages, such as Arabic, and Roman character-based languages, such as English.
- Now that computer use has become global, it is a technical challenge to provide speakers and readers of various languages with hardware and software adapted for use in their native languages and written character sets. Modern (e.g., personal) computing systems and other electronic, information and communication devices typically include a processor, storage apparatus, and input/output apparatus through which the user of a device interacts to input or enter information into the device, and with which the device displays or outputs information back to the user.
- One input apparatus is a keyboard, which generally includes a plurality of keys or buttons corresponding to the letters of an alphabet and other common numerals or characters. In the United States and most other countries, computer systems including an English-based keyboard with the letters of the English alphabet and the decimal numbers and other punctuation characters are available, and many major manufacturers of computing equipment produce products in English or Roman-based character sets only. Furthermore, most computer software and system and application programs are also created today with English speakers primarily or only in mind.
- However, for users in locations where the local language is not based on the same Roman character set as English, this requires adaptation of the keyboard, altering the user operation of the keyboard, customizing the system and application software, or all of the foregoing, to allow entry of information into the computer in the local native language. In many areas of the world, native keyboards and system and application software does not exist or is cumbersome to learn and use or is inadequate to provide natural and easy means for input and output of information to the computer in the native format or character set.
- One way non-Roman character users have adapted to the use of Roman based computing infrastructures is by way of transliteration. Transliteration is a process used to transcribe text written in a character set into another character set. Transliteration allows users of computers or other electronic devices to express themselves in a language that is difficult to input into Roman-based computing systems for a number of reasons, including for example: the keyboard may not include the characters of the language; even if the keyboard includes the native language's characters, a user may not be familiar with the keyboard layout; and a user may not be fluent in the language, but knows the transliteration of certain names or phrases.
- There still exists a need for better systems and techniques for transliteration between languages with different character sets. This includes in the apparatus for transliteration and underlying methods, as well as improvements in all ways of interacting with the transliteration system, including its user interface and architecture and design.
- Transliteration relates to conversion of text or character sets from one set to another, for example, form Arabic to Roman character-based languages such as English, and the reverse process (e.g., Roman to Arabic). Some transliteration systems use a one-to-one mapping from one character set to the other. However, most people are not trained in these rigid transliteration systems, and the systems and processes for using them remain inadequate and difficult to implement and use. Nonetheless ad-hoc transliteration systems are commonly used, relying on loose mappings. These mappings are generally based on phonetic similarities between Arabic and a Roman language the user is familiar with (for example English or French). Where phonetic mappings don't exist (for example in Arabic certain sounds have no equivalents in English, users tend to fall back on one or more commonly understood mappings, which can use alphabetic characters, numbers and/or punctuation (for example, “3” is commonly understood to be a transliteration for the Arabic ).
- In the absence of an input mechanism for entering a language in its native character set, users sometimes type equivalent or known code characters in the Roman character set to represent the non-Roman characters. This process is referred to herein as “Romanization.” Note that the present disclosure is described in the context of an example of transliteration between the Arabic and Roman character-based (e.g., English) languages, but the present concepts can be extended to other schemes and character sets. For example, aspects of the present disclosure can be extended to Arabic-French, Farsi-Spanish, or other transliteration pairs.
- Romanization can be performed in a number of ways. Converting Romanized text back into its original character set is difficult because multiple solutions may be available. In some embodiments, the system includes a flexible transliteration system that, when given a Romanized word (non-Roman text written using Roman characters), produces a list of ranked transliteration candidates.
- The present disclosure, in a preferred embodiment, provides a system and method for transliterating a Romanized Arabic word or phrase into its Arabic form in the Arabic character set. The present discussion should be understood to be extendable to transliteration between other character set pairs as well. In some embodiments, the system's input includes a Roman character string. In some embodiments, the system's output includes a list of Arabic word candidates ranked according to a score, ranking, or other quantitative metric.
- As discussed in greater detail elsewhere in this disclosure, a “score” or quantitative measure of confidence can be assigned to one or more of a list of output candidate words or phrases. The score describes a level of confidence that a given output word is the Arabic word that the user meant to express using the Romanized input.
- Different users might use a range of inputs to express the same desired output. The present system can be “fuzzy” because it is able to produce the same best guesses for a variety of reasonable inputs.
- In other aspects, the present system and method allow a user to input Arabic text without learning specific transliteration rules, and allow the system to improve its accuracy and efficiency for the same user in future uses as well as for other users if such information is used in more than one session or between sessions of multiple users.
- Some embodiments of the present system offer users a choice of Arabic word candidates. The user then selects which output word they wish to use. The system can use statistical information about these selections to refine the scoring system. This produces output rankings more in line with the users' expectations. The system is therefore adaptive.
- In one or more embodiments, a user interface is provided which has the following properties: it gives immediate feedback by showing transliteration candidates as the user types; it can display the meaning of the Arabic transliteration candidates; it allows the user to correct mistakes by modifying their transliteration selections at any time; it can automatically provide a best-guess transliteration if the user doesn't actively chose a transliteration; it remembers the user's previous transliteration selections; the transliteration rankings can be customized to a particular user, and; it can provide user selection feedback that can be used to improve the rankings of the transliteration system. Some or all of these features can be implemented in a computing system including a processor, memory, input/output structures, and executing programmed instructions.
- One or more embodiments hereof can also be used to input non-Roman text in a number of applications, such as, but not limited to: inputting non-Roman text in a desktop computer application; inputting non-Roman text in a web-based application; and inputting non-Roman text on a mobile device, such as a cell phone.
- For a fuller understanding of the nature and advantages of the present invention, reference is be made to the following detailed description of preferred embodiments in connection with the accompanying drawings, in which:
-
FIG. 1 illustrates an exemplary flowchart of acts in a process for transliteration; -
FIG. 2 illustrates an exemplary weighted scoring method; -
FIG. 3 illustrates an exemplary selection post-processing method; -
FIG. 4 illustrates an exemplary selected Roman word and the candidate transliterations returned by the transliteration system; -
FIG. 5 illustrates an exemplary selected Roman word and the candidate transliterations returned by the transliteration system, including word meanings; -
FIG. 6 illustrates an exemplary selected Arabic word and the candidate transliterations obtained from the transliteration cache; and -
FIG. 7 illustrates an exemplary sequence of acts from a method implemented in a system for transliteration input and output. - The present invention should not be considered limited to the particular embodiments described above, but rather should be understood to cover all aspects of the invention as fairly set out in the attached claims. Various modifications, equivalent processes, as well as numerous structures to which the present invention may be applicable, will be readily apparent to those skilled in the art upon review of the present disclosure. The claims are therefore intended to cover such modifications.
- As mentioned earlier, the present system and method provide for transliteration between two character systems, for example a Roman-based character system and the Arabic language. Some terms used herein are presented below, not by way of limitation or exhaustion, but rather as exemplary of the use of the term, which several of are known to those of skill in the art, and are intended to be taken as such where consistent therewith and where such differing usage is not required by the present illustrative examples.
- String: a sequence of characters.
- Roman word: a string consisting of a combination of: lower case Roman alphabet characters; upper case Roman alphabet characters; roman numbers; and certain punctuation characters, such as the apostrophe.
- Transliteration: The process of converting a Roman string into an Arabic string.
- Examples include:
-
-
-
- Harakat: The Arabic language uses diactritic marks called harakat. Other non-Roman languages have similar annotations to differentiate sounds and meanings of similar tokens or strings. The harakat are often omitted from written Arabic, but are spoken. As a result, they play a role in the Romanization of Arabic words. Table I illustrates some common harakat from the example of the Arabic language.
- Token: A data structure comprising one or more of: a Roman string, e.g., “ph”; a transliteration, e.g., an Arabic string which is a plausible transliteration of the Roman string, including harakats; e.g., ; or a positioning flag expressing how the Token's Roman string can be positioned in a Romanized string. For example in the: Start; Middle; End; Alone; Prefix; or Suffix.
- A “start” token in some embodiments is followed by a “middle” or “end” token. A “prefix” token is similar, but can also be followed by another “prefix” or “beginning” token. A “prefix” token is typically not part of the stem of the word. A “suffix” token is similar to an “end” token, but it indicates that the token is typically not part of the stem of the word.
- It is noted that multiple tokens may exist for a given Roman string, since multiple plausible transliterations are possible, and since the positioning flag may vary for a given Roman string and transliteration pair. For example:
-
-
-
- In some embodiments, metadata can be associated with a token or with each token, including:
-
-
- a popularity score: Comprises a score that expresses how often a particular token is used. The value can be derived from collecting statistics from the user input patterns, or from analyzing Romanized Arabic text, in print or electronic form
- In addition, embodiments hereof employ some or all of the following elements.
- A token database: This comprises a collection of tokens. Token databases are typically optimized for a particular usage scenario. A database can contain tokens optimized for the user's Roman language of choice. In one example, Spanish speakers may use different mappings from Roman to Arabic, compared to English speakers, because of phonetic differences between their two languages. For Spanish, a “j” [kh]→ token makes sense, but not for English.
- The token database may also be optimized for differences within Arabic itself (for example Lebanese colloquial versus classical Arabic), or for differences according to a particular user's preferences.
- Intermediate transliteration quality database: comprises a database of transliterations and their respective quality scores. These scores can be positive or negative. In some embodiments, the score is derived from the input language rules or Arabic spelling rules. Many alternative scoring techniques can be employed, and the present discussion is meant to comprehend such other variations and possible implementations. Note that in the case of the Arabic spelling rules, database entries may be generated according to a set of rules. For example:
-
-
-
- Arabic word database: comprises a database of Arabic words, which can optionally include harakats. In some instances the database includes a large (or even all) words of the language. Each word can optionally be assigned a popularity score as described above.
- In some, embodiments, the popularity score may be determined by a combination of the following factors, such as: the frequency a word occurs in a set of Arabic publications, in print or electronic form; the frequency the Arabic word is input by the users; dialect variations. For example, Lebanese colloquial may have words with differing popularity scores than classical Arabic; and application contextual information. For example, a popularity database may be compiled that is geared towards technical users. In this case, technical words, uncommon in everyday usage, would be given a higher popularity score than otherwise.
- Transliteration popularity database: this database can associate a popularity score with Romanized string/Arabic transliteration pair. The score captures how often a Roman string is input to produce the Arabic output. The transliteration popularity score can be compiled from a number of sources, such as: a statistical analysis of the users' input and selected output transliterations; or a statistical analysis of Romanized Arabic text, derived in paper or electronic form.
- An interface between the present system and external components is made possible in some embodiments to receive or otherwise exchange such information between the present system for transliteration and the outside world. In some embodiments, an Internet or similar local or remote networks are coupled to the present transliteration system to send and/or receive information to and/or from the network.
- The present system and method can include some portions based on or including a scheme or algorithm, but are not necessarily so restricted, and the present disclosure is not directed strictly to algorithms as such, but may employ algorithms in various forms and embodiments embodied by the totality of the present systems and methods. In some embodiments, hardware executing programmed instructions is implemented as part of the system and to carry out the present method.
- Specific embodiments employ the following token database. In addition, the algorithm can optionally use an intermediate transliteration quality database and/or an Arabic word database, which may be generalized to other languages than Arabic of course. In addition, a transliteration popularity database can be employed.
- In some embodiments, the input to the algorithm comprises a Romanized Arabic word which the user wants to convert to native Arabic characters. The present system includes a processor that can execute stored instructions on data available to the system or stored thereon. In specific examples, the system includes a computer processor or similar apparatus such as those found on a personal computer (PC) or a handheld device like a personal digital assistant (PDA), smartphone, or other embedded system. The system may include hardware, firmware, and software in any combination. Various parts of the system can be included within one unit, in a box, or provided separately or obtained from different sources.
- Referring to
FIG. 1 , a process is disclosed where an input is received at 100 (in a first character set). The input may be received from a human user or a machine (computer, software). The input is tokenized at 110 and the resultant tokens are scored at 120 according to any useful method, including the exemplary ones illustrated above. A sorting is done at 130 to arrange (sort) the possible outputs according to some criteria, including the exemplary ones illustrated above. An output is provided at 140 so that a human user or a machine (computer, software) obtains the sorted output. In one example, the highest scored result is presented first or as a default in a list of possible outputs. The user (again, can be a human user or a machine) provides some feedback at 150 by indicating which output choice was selected. This feedback is used to update a database at 160 so that a database containing information can be more useful in future scoring acts. Also, the feedback can provide other new information to build up the database and expand it. - This feedback feature provides an adaptive aspect to the present system and method. It should be understood that the present schemes can be adapted for use with a number of front-end programming interfaces or user interfaces for inputting and outputting information therefrom.
- The present system employs a method that can be programmed into a computing device to accomplish the present transliteration. In some embodiments, an exemplary method includes the following steps, which are not necessarily performed in the order presented for all instances:
- (1) Tokenization. The present exemplary method finds the possible tokenizations of the input Roman word. Each tokenization in some instances fulfills the following conditions: the concatenation of the tokens' Roman strings must match the input word; and a token can only be used if it's positioning requirements are met. Again, these steps are presented for an exemplary embodiment or more of the present system and method and are not exhaustive or limiting of other possible examples. Nonetheless, in the exemplary embodiment here, Table II shows one possible tokenization for the input word “khawf”:
-
- (2) Tokenization scoring: an aggregate score is determined for each tokenization produced. This score is the weighted sum of multiple sub-scores. Sub-scores can be generated at three levels: a) token level b) intermediate level, and c) word level. Each of these is discussed in more detail below for the present exemplary embodiment:
- Token level sub-scores are computed by examining the properties of the Tokenization's constituent tokens. A token quality sub-score may be obtained by combining the individual tokens' quality scores; a token length sub-score may be obtained by combining the individual tokens' length scores; and a token popularity sub-score may be obtained by combining the individual tokens' popularity scores. Note that any or all of the foregoing can be used in any combination, depending on the performance and implementation desired.
- intermediate level scoring is computed by examining groups of tokens in the tokenization. Each group corresponds to a Roman substring and an Arabic transliteration substring. The pair's score is obtained from the intermediate transliteration quality database. Sub-scores for all possible subgroups are combined to form an overall intermediate sub-score.
- Word level sub-scores are computed by examining the tokenization's transliteration as a whole, ignoring the specific tokenization, with the exception of prefixes. If the tokenization includes one or more prefix tokens, they may be stripped when calculating the word level sub-scores. Similarly, a suffix token may be stripped from the tokenization when computing the word-level subscore.
- In word-level scoring, a (positive) dictionary match sub-score may be assigned if the tokenization's transliteration has a strict match in the Arabic word database. When looking for a strict match, prefixes and suffixes can be stripped from the transliteration.
- A smaller (positive) sub-score may be assigned if the transliteration has a loose match in the Arabic word database.
-
FIG. 2 illustrates an exemplary outline of a scoring process employing token level scoring 200 that includestoken quality score 202,token length score 204, and token popularity (or frequency)score 206. Also, an intermediate level scoring 210 includes scoring anintermediate transliteration quality 212. A word level scoring 220 includes adictionary match score 222, an Arabic word popularity (or frequency)score 224, and atransliteration popularity score 226. Weighting of the scores can be applied at any stage that is useful, for example at 230. An aggregate score is obtained after weighting at 240. The weighted score can be used to determine an ordering or sorting of possible matches and outputs to be presented to a user. - In some embodiments, a loose dictionary match can be can be found by removing one or more short vowels (fatha, kasra, damma). For example, if the user enters “kabada” the system will produce (among others) the transliterations [kabada] . This transliteration may not be found in the word database with the short vowels. Stripping them gives [k-b-d] , which may exist in the word database. This is a loose match.
-
-
-
- According to some exemplary implementations, a score of 0 (zero) may be assigned if no matches for the transliteration can be found in the Arabic word database.
- A non-Roman, e.g., Arabic, word popularity sub-score may be obtained from the popularity score of the transliteration in the Arabic word database. The score is higher with higher popularity, although the relation between the popularity and the score need not be linear (it can be logarithmic, have steps, etc.). As in the case of the existence sub-score, the popularity score is higher if the match is strict. This score uses the same strict/loose matching rules as the existence score. For example, when the user enters “ana” the system will produce (among others) the transliterations [ana-1] and [ana-2] . However the use of [ana-2] is much more frequent then [ana-1] according to the Arabic word database and is therefore given a higher sub-score.
- A transliteration popularity sub-score may be obtained by looking up the Roman input/Arabic transliteration pair in the transliteration popularity database. The sub-score is 0 (zero) if the pair is not found in the database according to some embodiments. For example, “marhaba”→ has a high sub-score, because it is very commonly used, whereas “marrhaba”→ has a low sub-score, because it is not commonly used.
- The sub-score weights are preferably chosen to optimize or maximize the System's ability to produce a best-guess transliteration from a pre-defined database of frequently used Romanized Arabic words and their transliterations. Again, similar notions can be applied for other non-Roman alphabets and vocabularies.
- (3) Tokenization sorting. The list of tokenizations is sorted according to each tokenization's aggregate score.
- (4) Output. A new list is generated from the sorted tokenization list. This list contains the transliteration of each tokenization, as well as its associated score. Typically the transliteration is stripped of its harakats, since they are not typically used in written Arabic. However the transliteration can be provided with harakats, or with different combinations of harakats. If multiple harakat combinations are output, they can be ranked by order of popularity in the Arabic word database. The output is provided to the user in the form of a choice of transliterations.
- (5) User selection analysis. The user of the present system makes a selection of which candidate transliteration he or she wants to use. These steps can be carried out by a human, a machine in a system, or a combination of the two. A statistical analysis of the user's selections can be used to refine data
- Examples of the data that can be refined in this process include: the token popularity scores in the token database, reflecting e.g., how popular is the “th” [as in ‘this’]→ token versus the “th” [as in ‘thus’]→ token; the Arabic word popularity scores in the Arabic word database, reflecting e.g., how popular is the use of the word [keefik] ; the transliteration popularity score in the transliteration database, reflecting e.g., how popular is it to input “allah” to mean .
- If the Arabic word database does not include harakat information, the user selections can be used to infer the proper harakat form of a word. For example, if users frequently use “kabada”→, one can infer that the word [kabada] is written [k-b-d] with harakats. The Arabic word database can subsequently be updated to include this information. Additionally, frequently occurring input/output selection pairs can be added to the transliteration database used for optimizing the weights used in the scoring process.
-
FIG. 3 illustrates an exemplary process for the post-processing of user selections in the present system and method. At 300, the user (man or machine) selects a selection from a list of presented transliteration candidates output to the user. The user selection is post-processed at 310 in any of several ways that result in enhancements to the system, database, algorithms, and future performance thereof. For example, the post-processing 310 can result in additions, modifications, deletions, or improvements to atoken database 320, anArabic word database 330, a transliteration popularity (or frequency)database 340, and a transliteration database for scoringweight optimization 350. - As mentioned earlier, the present system and method provide for transliteration between two character systems, for example a Roman-based character system and the Arabic language. In one or more exemplary embodiments, an input method can be used in any user interface element that allows textual input and selection. For example, this can be an HTML INPUT element or an HTML TEXTAREA element. We will refer to the input user interface element as a textbox, but other user interface elements can be employed as well.
- In some aspects, the present system and method provides a transliteration system that, given a Romanized word, produces a list of ranked transliteration candidates. In some embodiments this includes translations of selected words or phrases. The transliteration system can optionally provide the meaning of each transliteration candidate. Some embodiments of the system use a transliteration cache to locally store the transliteration candidates that are returned from the transliteration system for quick access.
-
FIG. 4 illustrates anexemplary user interface 400 for presenting transliteration candidate outputs to a user. Anoutput window 405, which can be displayed on a computer or hand-held device display monitor, holds visible information to convey the outputs to the user. Note that audible alternatives can be used instead of or in conjunction with the presently describedvisual output interface 400 to accommodate those with disabilities or other needs. - An input “marhaba” is shown at 410. The interface includes a highlighting element, such as a
text highlighter 420 to show the presently-selectedoption 430.Other options other options -
FIG. 5 illustrates anexemplary user interface 500 that provides a translation feature. For a given input 510, the system provides a list of sorted possible outputs. In this case, each possible output is given in its Arabic form (520-526) and also along with its corresponding English translation (530-536) respectively. -
FIG. 6 illustrates anotherexemplary user interface 600 that provides a root input word in a first character set and associates it with a group of outputs beneath a corresponding word in a second character set. The outputs are obtained from a cache as described above. - Now referring to
FIG. 7 , an exemplary system's logic flow is described below. It should be appreciated that this presents an exemplary and illustrative embodiment of the steps in a method, not intended to be limiting or exhaustive of other embodiments, where additional steps can be performed, or some of the indicated steps removed as appropriate. - At 700, the user enters, or selects text in the textbox. This can include typing with the keyboard into the textbox, copying and pasting text into the textbox, or selecting existing text in the textbox, of other ways of entering information into a place adapted to receive user input.
- At 702, the selected word is identified. When typing, the currently typed word is considered to be selected. If multiple words are selected, the system does nothing further; if a single word is selected, the system proceeds.
- At 704, the system determines whether the selected word is comprised of exclusively Arabic characters, exclusively Roman characters, or neither of those two cases. If the selected word is neither, the system does nothing further; if the selected word is purely Roman, proceed to step 4; if the selected word is purely Arabic, the system proceeds as indicated; if the selected word is purely Roman, it is looked up in the Transliteration Cache. If transliteration candidates are found in the cache, the system proceeds as indicated.
- At 706, the system requests the transliteration candidates from the transliteration system. Once the transliteration candidates are received, they are stored in the transliteration cache at 708, along with their meanings if available. If the selected word is Arabic, the system looks it up in the transliteration cache; if it is not found in the cache, the system does nothing further. Output messages and signals may be delivered from the system to another component or module or to a user (e.g., through a readable display) to indicate the .progress at each step of the process. If the selected word is found, the system retrieves the transliteration candidates from the cache.
- At 710, the system displays a user interface element listing the Romanized word and transliteration candidates. Each entry is selectable by the user. If available, the Arabic word's meaning can be displayed next to it.
- When the user makes a selection the original word is replaced by the new selection; the selection is stored, either locally or remotely. This will allow the selection to be remembered if the same word is input at a later time.
- Feedback can be provided to the transliteration system regarding the user selection. This feedback can help improve the accuracy of the transliteration system.
- In some embodiments, the user may input special characters or key combinations into the textbox. One of these can be used to prevent the automatic transliteration of the preceding word. For example, if a user were to input CTRL-SPACE, the system could input a space character without automatically transliterating the preceding word.
- The system can also provide the user with a method to disable transliterations altogether. This can be in the form of a user interface element, such as a button, and/or a special character or key combination input into the textbox. A method can also be provided to re-enable the transliteration functionality.
- Textboxes in software applications can have a text direction setting. The text direction is either left-to-right or right-to-left. An application can either impose a text direction on a user, or it may provide a mechanism to switch the text direction, such as a button. When a textbox has a left-to-right text direction, one may infer that either the application developer or the user intends to use the textbox for text written mostly in a left-to-right language, and vice-versa. The system can therefore detect the text-direction of the textbox, and automatically enable or disable the automatic transliteration features of the user interface.
- In some specific embodiments, if the textbox direction is left-to-right, the system can infer than the user intends to input mostly roman text. It can therefore disable the automatic transliteration which would normally take place when punctuation is input. In other specific embodiments, if the textbox direction is right-to-left, the system can infer than the user intends to input mostly Arabic text, and can enable the automatic transliteration.
- One or more embodiments of the present system and method can further accomplish ranking of transliteration options. The transliteration system can take into account one or more of the following factors when determining the transliteration candidates and their ranking, for example, in one or more embodiments:
- The user's native language. This can be determined by the user actively choosing what language he or she prefers; the user's locale can be determined by examining the “Accept-Language” header in an HTTP request made by the user's browser; and/or the browser language setting, obtained for example using javascript.
- The transliteration language, including, dialect variations. This can be based on the user's previous selections and/or the selections of a population of users. For example:
- users from the same geographic location, users using the same input language; and/or users of a certain age group, or sharing other demographic attributes.
- In addition, the present system and method can provide communication functions. The transliteration system can run either locally or remotely. A remote transliteration system can be hosted on one or more servers. The request and response can be encoded in many different forms.
- In some embodiments, the transliteration system can be hosted on a web server. A hyper text transfer protocol (HTTP) request can ask the web server for transliterations of a given word. This word, and other relevant information, such as a user id, language, or other preferences, can be encoded in the uniform resource locator (URL), a cookie, HTTP POST header or body, SOAP transaction, XML document, etc. The list of transliteration candidates can be returned in the HTTP response's body, encoded in any number of formats, such as plain text, JSON, XML, SOAP, etc.
- Some embodiments hereof include the use of a textbox to accomplish a data input function. The textbox can be any user interface element that receives text as input. For example: an HTML or XHTML input element; an HTML or XHTML text area element; or a textbox or rich textbox control; and a custom text input element that allows text input and selection, such as a word processor or email editor.
- It can be seen that the present system and method can be applied to provide input and/or output to/from a transliterator. It should be also seen that the actual and precise nature of the transliterator or transliteration system associated with the present input and output system is not limiting of the present input and output system. That is, a number of transliteration engines, programs, machines, and algorithms are potentially suited for use herewith.
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/248,422 US8655643B2 (en) | 2007-10-09 | 2008-10-09 | Method and system for adaptive transliteration |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97862807P | 2007-10-09 | 2007-10-09 | |
US97864307P | 2007-10-09 | 2007-10-09 | |
US3073908P | 2008-02-22 | 2008-02-22 | |
US5913408P | 2008-06-05 | 2008-06-05 | |
US12/248,422 US8655643B2 (en) | 2007-10-09 | 2008-10-09 | Method and system for adaptive transliteration |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090144049A1 true US20090144049A1 (en) | 2009-06-04 |
US8655643B2 US8655643B2 (en) | 2014-02-18 |
Family
ID=40549555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/248,422 Expired - Fee Related US8655643B2 (en) | 2007-10-09 | 2008-10-09 | Method and system for adaptive transliteration |
Country Status (2)
Country | Link |
---|---|
US (1) | US8655643B2 (en) |
WO (1) | WO2009049049A1 (en) |
Cited By (189)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005086A1 (en) * | 2008-07-03 | 2010-01-07 | Google Inc. | Resource locator suggestions from input character sequence |
US20100023514A1 (en) * | 2008-07-24 | 2010-01-28 | Yahoo! Inc. | Tokenization platform |
US20100108122A1 (en) * | 2008-11-04 | 2010-05-06 | Shawn Everson | Combined diode, lead assembly incorporating an expansion joint |
US20100174818A1 (en) * | 2009-01-07 | 2010-07-08 | Microsoft Corporation | Input Service for Client Devices |
US20110040552A1 (en) * | 2009-08-17 | 2011-02-17 | Abraxas Corporation | Structured data translation apparatus, system and method |
US20110137635A1 (en) * | 2009-12-08 | 2011-06-09 | Microsoft Corporation | Transliterating semitic languages including diacritics |
US20120034939A1 (en) * | 2010-08-06 | 2012-02-09 | Al-Omari Hussein K | System and methods for cost-effective bilingual texting |
WO2012027672A1 (en) * | 2010-08-26 | 2012-03-01 | Google Inc. | Conversion of input text strings |
US20130249810A1 (en) * | 2012-03-22 | 2013-09-26 | Microsoft Corporation | Text entry mode selection |
US20130275117A1 (en) * | 2012-04-11 | 2013-10-17 | Morgan H. Winer | Generalized Phonetic Transliteration Engine |
US20140095143A1 (en) * | 2012-09-28 | 2014-04-03 | International Business Machines Corporation | Transliteration pair matching |
US8725491B2 (en) * | 2008-05-11 | 2014-05-13 | Blackberry Limited | Mobile electronic device and associated method enabling identification of previously entered data for transliteration of an input |
US8892446B2 (en) | 2010-01-18 | 2014-11-18 | Apple Inc. | Service orchestration for intelligent automated assistant |
US20150066474A1 (en) * | 2013-09-05 | 2015-03-05 | Acxiom Corporation | Method and Apparatus for Matching Misspellings Caused by Phonetic Variations |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US9190062B2 (en) | 2010-02-25 | 2015-11-17 | Apple Inc. | User profiling for voice input processing |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US9300784B2 (en) | 2013-06-13 | 2016-03-29 | Apple Inc. | System and method for emergency calls initiated by voice command |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9535906B2 (en) | 2008-07-31 | 2017-01-03 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
US9569983B2 (en) * | 2012-09-24 | 2017-02-14 | Muneera AL-MAADEED | Conversion wheel |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
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 |
US9633674B2 (en) | 2013-06-07 | 2017-04-25 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9646614B2 (en) | 2000-03-16 | 2017-05-09 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9683862B2 (en) * | 2015-08-24 | 2017-06-20 | International Business Machines Corporation | Internationalization during navigation |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US9697822B1 (en) | 2013-03-15 | 2017-07-04 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
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 |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9922642B2 (en) | 2013-03-15 | 2018-03-20 | Apple Inc. | Training an at least partial voice command system |
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 |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
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 |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
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 |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
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 |
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 |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
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 |
US10199051B2 (en) | 2013-02-07 | 2019-02-05 | Apple Inc. | Voice trigger for a digital assistant |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
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 |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US20190129935A1 (en) * | 2017-11-01 | 2019-05-02 | International Business Machines Corporation | Recognizing transliterated words |
US10283110B2 (en) | 2009-07-02 | 2019-05-07 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
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 |
US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10354011B2 (en) | 2016-06-09 | 2019-07-16 | Apple Inc. | Intelligent automated assistant in a home environment |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
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 |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
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 |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
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 |
US10540585B2 (en) * | 2018-05-23 | 2020-01-21 | Google Llc | Training sequence generation neural networks using quality scores |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
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 |
US10643611B2 (en) | 2008-10-02 | 2020-05-05 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
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 |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated 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 |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
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 |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US10791216B2 (en) | 2013-08-06 | 2020-09-29 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US10789410B1 (en) * | 2017-06-26 | 2020-09-29 | Amazon Technologies, Inc. | Identification of source languages for terms |
US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
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 |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
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 |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US11023513B2 (en) | 2007-12-20 | 2021-06-01 | Apple Inc. | Method and apparatus for searching using an active ontology |
US11062615B1 (en) * | 2011-03-01 | 2021-07-13 | Intelligibility Training LLC | Methods and systems for remote language learning in a pandemic-aware world |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
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 |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US20230222296A1 (en) * | 2022-01-11 | 2023-07-13 | Rassan Mohammad Tarabein | Arabic Latinized |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011087391A1 (en) * | 2010-01-18 | 2011-07-21 | Google Inc. | Automatic transliteration of a record in a first language to a word in a second language |
JP5090547B2 (en) * | 2011-03-04 | 2012-12-05 | 楽天株式会社 | Transliteration processing device, transliteration processing program, computer-readable recording medium recording transliteration processing program, and transliteration processing method |
US11062621B2 (en) * | 2018-12-26 | 2021-07-13 | Paypal, Inc. | Determining phonetic similarity using machine learning |
US20230129994A1 (en) | 2021-10-27 | 2023-04-27 | Bank Of America Corporation | System and Method for Transpilation of Machine Interpretable Languages |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5091950A (en) * | 1985-03-18 | 1992-02-25 | Ahmed Moustafa E | Arabic language translating device with pronunciation capability using language pronunciation rules |
US5640587A (en) * | 1993-04-26 | 1997-06-17 | Object Technology Licensing Corp. | Object-oriented rule-based text transliteration system |
US20030074185A1 (en) * | 2001-07-23 | 2003-04-17 | Pilwon Kang | Korean romanization system |
US20030097252A1 (en) * | 2001-10-18 | 2003-05-22 | Mackie Andrew William | Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal |
US20030200079A1 (en) * | 2002-03-28 | 2003-10-23 | Tetsuya Sakai | Cross-language information retrieval apparatus and method |
US20050216253A1 (en) * | 2004-03-25 | 2005-09-29 | Microsoft Corporation | System and method for reverse transliteration using statistical alignment |
US20060031239A1 (en) * | 2004-07-12 | 2006-02-09 | Koenig Daniel W | Methods and apparatus for authenticating names |
US20060080082A1 (en) * | 2004-08-23 | 2006-04-13 | Geneva Software Technologies Limited | System and method for product migration in multiple languages |
US20060089928A1 (en) * | 2004-10-20 | 2006-04-27 | Oracle International Corporation | Computer-implemented methods and systems for entering and searching for non-Roman-alphabet characters and related search systems |
US20060136220A1 (en) * | 2004-12-22 | 2006-06-22 | Rama Gurram | Controlling user interfaces with voice commands from multiple languages |
US20060256771A1 (en) * | 2005-05-12 | 2006-11-16 | Yahoo! Inc. | Proxy server for relaying VOIP messages |
US20070021956A1 (en) * | 2005-07-19 | 2007-01-25 | Yan Qu | Method and apparatus for generating ideographic representations of letter based names |
US7177794B2 (en) * | 2002-04-12 | 2007-02-13 | Babu V Mani | System and method for writing Indian languages using English alphabet |
US20070255567A1 (en) * | 2006-04-27 | 2007-11-01 | At&T Corp. | System and method for generating a pronunciation dictionary |
US7369986B2 (en) * | 2003-08-21 | 2008-05-06 | International Business Machines Corporation | Method, apparatus, and program for transliteration of documents in various Indian languages |
US20080270111A1 (en) * | 2007-04-30 | 2008-10-30 | Ram Prakash Hanumanthappa | System, method to generate transliteration and method for generating decision tree to obtain transliteration |
US20080319735A1 (en) * | 2007-06-22 | 2008-12-25 | International Business Machines Corporation | Systems and methods for automatic semantic role labeling of high morphological text for natural language processing applications |
US20090023119A1 (en) * | 2007-07-17 | 2009-01-22 | Samuel Gordon Breidner | Method for learning a foreign language |
US7596609B1 (en) * | 1998-01-30 | 2009-09-29 | Net-Express, Ltd. | WWW addressing |
US8200475B2 (en) * | 2004-02-13 | 2012-06-12 | Microsoft Corporation | Phonetic-based text input method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1280215C (en) * | 1987-09-28 | 1991-02-12 | Eddy Lee | Multilingual ordered data retrieval system |
US5432948A (en) * | 1993-04-26 | 1995-07-11 | Taligent, Inc. | Object-oriented rule-based text input transliteration system |
US6546388B1 (en) * | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
-
2008
- 2008-10-09 US US12/248,422 patent/US8655643B2/en not_active Expired - Fee Related
- 2008-10-09 WO PCT/US2008/079349 patent/WO2009049049A1/en active Application Filing
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5091950A (en) * | 1985-03-18 | 1992-02-25 | Ahmed Moustafa E | Arabic language translating device with pronunciation capability using language pronunciation rules |
US5640587A (en) * | 1993-04-26 | 1997-06-17 | Object Technology Licensing Corp. | Object-oriented rule-based text transliteration system |
US7596609B1 (en) * | 1998-01-30 | 2009-09-29 | Net-Express, Ltd. | WWW addressing |
US20030074185A1 (en) * | 2001-07-23 | 2003-04-17 | Pilwon Kang | Korean romanization system |
US20030097252A1 (en) * | 2001-10-18 | 2003-05-22 | Mackie Andrew William | Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal |
US20030200079A1 (en) * | 2002-03-28 | 2003-10-23 | Tetsuya Sakai | Cross-language information retrieval apparatus and method |
US7177794B2 (en) * | 2002-04-12 | 2007-02-13 | Babu V Mani | System and method for writing Indian languages using English alphabet |
US7369986B2 (en) * | 2003-08-21 | 2008-05-06 | International Business Machines Corporation | Method, apparatus, and program for transliteration of documents in various Indian languages |
US8200475B2 (en) * | 2004-02-13 | 2012-06-12 | Microsoft Corporation | Phonetic-based text input method |
US20050216253A1 (en) * | 2004-03-25 | 2005-09-29 | Microsoft Corporation | System and method for reverse transliteration using statistical alignment |
US20060031239A1 (en) * | 2004-07-12 | 2006-02-09 | Koenig Daniel W | Methods and apparatus for authenticating names |
US20060080082A1 (en) * | 2004-08-23 | 2006-04-13 | Geneva Software Technologies Limited | System and method for product migration in multiple languages |
US7376648B2 (en) * | 2004-10-20 | 2008-05-20 | Oracle International Corporation | Computer-implemented methods and systems for entering and searching for non-Roman-alphabet characters and related search systems |
US20060089928A1 (en) * | 2004-10-20 | 2006-04-27 | Oracle International Corporation | Computer-implemented methods and systems for entering and searching for non-Roman-alphabet characters and related search systems |
US20060136220A1 (en) * | 2004-12-22 | 2006-06-22 | Rama Gurram | Controlling user interfaces with voice commands from multiple languages |
US20060256771A1 (en) * | 2005-05-12 | 2006-11-16 | Yahoo! Inc. | Proxy server for relaying VOIP messages |
US20070021956A1 (en) * | 2005-07-19 | 2007-01-25 | Yan Qu | Method and apparatus for generating ideographic representations of letter based names |
US20070255567A1 (en) * | 2006-04-27 | 2007-11-01 | At&T Corp. | System and method for generating a pronunciation dictionary |
US20080270111A1 (en) * | 2007-04-30 | 2008-10-30 | Ram Prakash Hanumanthappa | System, method to generate transliteration and method for generating decision tree to obtain transliteration |
US20080319735A1 (en) * | 2007-06-22 | 2008-12-25 | International Business Machines Corporation | Systems and methods for automatic semantic role labeling of high morphological text for natural language processing applications |
US20090023119A1 (en) * | 2007-07-17 | 2009-01-22 | Samuel Gordon Breidner | Method for learning a foreign language |
Cited By (290)
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 |
US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US8942986B2 (en) | 2006-09-08 | 2015-01-27 | Apple Inc. | Determining user intent based on ontologies of domains |
US9117447B2 (en) | 2006-09-08 | 2015-08-25 | Apple Inc. | Using event alert text as input to an automated assistant |
US8930191B2 (en) | 2006-09-08 | 2015-01-06 | Apple Inc. | Paraphrasing of user requests and results by automated digital assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10568032B2 (en) | 2007-04-03 | 2020-02-18 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US11023513B2 (en) | 2007-12-20 | 2021-06-01 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US10381016B2 (en) | 2008-01-03 | 2019-08-13 | Apple Inc. | Methods and apparatus for altering audio output signals |
US9865248B2 (en) | 2008-04-05 | 2018-01-09 | Apple Inc. | Intelligent text-to-speech conversion |
US9626955B2 (en) | 2008-04-05 | 2017-04-18 | Apple Inc. | Intelligent text-to-speech conversion |
US8725491B2 (en) * | 2008-05-11 | 2014-05-13 | Blackberry Limited | Mobile electronic device and associated method enabling identification of previously entered data for transliteration of an input |
US20100005086A1 (en) * | 2008-07-03 | 2010-01-07 | Google Inc. | Resource locator suggestions from input character sequence |
US8745051B2 (en) * | 2008-07-03 | 2014-06-03 | Google Inc. | Resource locator suggestions from input character sequence |
US20140258892A1 (en) * | 2008-07-03 | 2014-09-11 | Google Inc. | Resource locator suggestions from input character sequence |
US9195738B2 (en) | 2008-07-24 | 2015-11-24 | Yahoo! Inc. | Tokenization platform |
US8301437B2 (en) * | 2008-07-24 | 2012-10-30 | Yahoo! Inc. | Tokenization platform |
US20100023514A1 (en) * | 2008-07-24 | 2010-01-28 | Yahoo! Inc. | Tokenization platform |
US9535906B2 (en) | 2008-07-31 | 2017-01-03 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
US10108612B2 (en) | 2008-07-31 | 2018-10-23 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
US11348582B2 (en) | 2008-10-02 | 2022-05-31 | 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 |
US20100108122A1 (en) * | 2008-11-04 | 2010-05-06 | Shawn Everson | Combined diode, lead assembly incorporating an expansion joint |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US20100174818A1 (en) * | 2009-01-07 | 2010-07-08 | Microsoft Corporation | Input Service for Client Devices |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10475446B2 (en) | 2009-06-05 | 2019-11-12 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
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 |
WO2011022109A1 (en) * | 2009-08-17 | 2011-02-24 | Anonymizer, Inc. | Structured data translation apparatus, system and method |
US8306807B2 (en) | 2009-08-17 | 2012-11-06 | N T repid Corporation | Structured data translation apparatus, system and method |
US20110040552A1 (en) * | 2009-08-17 | 2011-02-17 | Abraxas Corporation | Structured data translation apparatus, system and method |
US8612206B2 (en) * | 2009-12-08 | 2013-12-17 | Microsoft Corporation | Transliterating semitic languages including diacritics |
US20110137635A1 (en) * | 2009-12-08 | 2011-06-09 | Microsoft Corporation | Transliterating semitic languages including diacritics |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
US12087308B2 (en) | 2010-01-18 | 2024-09-10 | Apple Inc. | Intelligent automated assistant |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US9548050B2 (en) | 2010-01-18 | 2017-01-17 | Apple Inc. | Intelligent automated assistant |
US8903716B2 (en) | 2010-01-18 | 2014-12-02 | Apple Inc. | Personalized vocabulary for digital assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US8892446B2 (en) | 2010-01-18 | 2014-11-18 | Apple Inc. | Service orchestration for intelligent automated assistant |
US10706841B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Task flow identification based on user intent |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US9633660B2 (en) | 2010-02-25 | 2017-04-25 | Apple Inc. | User profiling for voice input processing |
US10692504B2 (en) | 2010-02-25 | 2020-06-23 | Apple Inc. | User profiling for voice input processing |
US9190062B2 (en) | 2010-02-25 | 2015-11-17 | Apple Inc. | User profiling for voice input processing |
US10049675B2 (en) | 2010-02-25 | 2018-08-14 | Apple Inc. | User profiling for voice input processing |
US8473280B2 (en) * | 2010-08-06 | 2013-06-25 | King Abdulaziz City for Science & Technology | System and methods for cost-effective bilingual texting |
US20120034939A1 (en) * | 2010-08-06 | 2012-02-09 | Al-Omari Hussein K | System and methods for cost-effective bilingual texting |
KR101890835B1 (en) * | 2010-08-26 | 2018-09-28 | 구글 엘엘씨 | Conversion of input text strings |
US20140163952A1 (en) * | 2010-08-26 | 2014-06-12 | Sascha B Brawer | Conversion of input text strings |
JP2013540304A (en) * | 2010-08-26 | 2013-10-31 | グーグル・インコーポレーテッド | Input text string conversion |
US10133737B2 (en) * | 2010-08-26 | 2018-11-20 | Google Llc | Conversion of input text strings |
CN103189859A (en) * | 2010-08-26 | 2013-07-03 | 谷歌公司 | Conversion of input text strings |
WO2012027672A1 (en) * | 2010-08-26 | 2012-03-01 | Google Inc. | Conversion of input text strings |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US11062615B1 (en) * | 2011-03-01 | 2021-07-13 | Intelligibility Training LLC | Methods and systems for remote language learning in a pandemic-aware world |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
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 |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US9798393B2 (en) | 2011-08-29 | 2017-10-24 | Apple Inc. | Text correction processing |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US20130249810A1 (en) * | 2012-03-22 | 2013-09-26 | Microsoft Corporation | Text entry mode selection |
US20130275117A1 (en) * | 2012-04-11 | 2013-10-17 | Morgan H. Winer | Generalized Phonetic Transliteration Engine |
US9953088B2 (en) | 2012-05-14 | 2018-04-24 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9971774B2 (en) | 2012-09-19 | 2018-05-15 | Apple Inc. | Voice-based media searching |
US9569983B2 (en) * | 2012-09-24 | 2017-02-14 | Muneera AL-MAADEED | Conversion wheel |
US20140095143A1 (en) * | 2012-09-28 | 2014-04-03 | International Business Machines Corporation | Transliteration pair matching |
US9176936B2 (en) * | 2012-09-28 | 2015-11-03 | International Business Machines Corporation | Transliteration pair matching |
US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
US10199051B2 (en) | 2013-02-07 | 2019-02-05 | Apple Inc. | Voice trigger for a digital assistant |
US10978090B2 (en) | 2013-02-07 | 2021-04-13 | Apple Inc. | Voice trigger for a digital assistant |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US9697822B1 (en) | 2013-03-15 | 2017-07-04 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9922642B2 (en) | 2013-03-15 | 2018-03-20 | Apple Inc. | Training an at least partial voice command system |
US9620104B2 (en) | 2013-06-07 | 2017-04-11 | 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 |
US9966060B2 (en) | 2013-06-07 | 2018-05-08 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9633674B2 (en) | 2013-06-07 | 2017-04-25 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
US9966068B2 (en) | 2013-06-08 | 2018-05-08 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
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 |
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 |
US9300784B2 (en) | 2013-06-13 | 2016-03-29 | Apple Inc. | System and method for emergency calls initiated by voice command |
US10791216B2 (en) | 2013-08-06 | 2020-09-29 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US9594742B2 (en) * | 2013-09-05 | 2017-03-14 | Acxiom Corporation | Method and apparatus for matching misspellings caused by phonetic variations |
US20150066474A1 (en) * | 2013-09-05 | 2015-03-05 | Acxiom Corporation | Method and Apparatus for Matching Misspellings Caused by Phonetic Variations |
US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US10878809B2 (en) | 2014-05-30 | 2020-12-29 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US10714095B2 (en) | 2014-05-30 | 2020-07-14 | Apple Inc. | Intelligent assistant for home automation |
US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US10169329B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Exemplar-based natural language processing |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10657966B2 (en) | 2014-05-30 | 2020-05-19 | Apple Inc. | Better resolution when referencing to concepts |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
US10083690B2 (en) | 2014-05-30 | 2018-09-25 | Apple Inc. | Better resolution when referencing to concepts |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9668024B2 (en) | 2014-06-30 | 2017-05-30 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10904611B2 (en) | 2014-06-30 | 2021-01-26 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
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 |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
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 |
US10390213B2 (en) | 2014-09-30 | 2019-08-20 | Apple Inc. | Social reminders |
US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9986419B2 (en) | 2014-09-30 | 2018-05-29 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US11556230B2 (en) | 2014-12-02 | 2023-01-17 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
US11087759B2 (en) | 2015-03-08 | 2021-08-10 | Apple Inc. | Virtual assistant activation |
US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
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 |
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 |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
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 |
US10681212B2 (en) | 2015-06-05 | 2020-06-09 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
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 |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
US9683862B2 (en) * | 2015-08-24 | 2017-06-20 | International Business Machines Corporation | Internationalization during navigation |
US9689699B2 (en) * | 2015-08-24 | 2017-06-27 | International Business Machines Corporation | Internationalization during navigation |
US9934219B2 (en) | 2015-08-24 | 2018-04-03 | International Business Machines Corporation | Internationalization during navigation |
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 |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital 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 |
US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
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 |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | 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 |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
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 |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
US10089072B2 (en) | 2016-06-11 | 2018-10-02 | Apple Inc. | Intelligent device arbitration and control |
US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
US10521466B2 (en) | 2016-06-11 | 2019-12-31 | Apple Inc. | Data driven natural language event detection and classification |
US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
US10297253B2 (en) | 2016-06-11 | 2019-05-21 | Apple Inc. | Application integration with a digital assistant |
US10269345B2 (en) | 2016-06-11 | 2019-04-23 | Apple Inc. | Intelligent task discovery |
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 |
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 |
US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
US10332518B2 (en) | 2017-05-09 | 2019-06-25 | Apple Inc. | User interface for correcting recognition errors |
US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10847142B2 (en) | 2017-05-11 | 2020-11-24 | Apple Inc. | Maintaining privacy of personal information |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | 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 |
US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
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 |
US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US10909171B2 (en) | 2017-05-16 | 2021-02-02 | Apple Inc. | Intelligent automated assistant for media exploration |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
US11217255B2 (en) | 2017-05-16 | 2022-01-04 | Apple Inc. | Far-field extension for digital assistant services |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10789410B1 (en) * | 2017-06-26 | 2020-09-29 | Amazon Technologies, Inc. | Identification of source languages for terms |
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 |
US11163950B2 (en) | 2017-11-01 | 2021-11-02 | International Business Machines Corporation | Recognizing transliterated words using suffix and/or prefix outputs |
US11694026B2 (en) | 2017-11-01 | 2023-07-04 | International Business Machines Corporation | Recognizing transliterated words using suffix and/or prefix outputs |
US10558748B2 (en) * | 2017-11-01 | 2020-02-11 | International Business Machines Corporation | Recognizing transliterated words using suffix and/or prefix outputs |
US20190129935A1 (en) * | 2017-11-01 | 2019-05-02 | International Business Machines Corporation | Recognizing transliterated words |
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 |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11699074B2 (en) | 2018-05-23 | 2023-07-11 | Google Llc | Training sequence generation neural networks using quality scores |
US10540585B2 (en) * | 2018-05-23 | 2020-01-21 | Google Llc | Training sequence generation neural networks using quality scores |
US10684703B2 (en) | 2018-06-01 | 2020-06-16 | 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 |
US10720160B2 (en) | 2018-06-01 | 2020-07-21 | 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 |
US11009970B2 (en) | 2018-06-01 | 2021-05-18 | Apple Inc. | Attention aware virtual assistant dismissal |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
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 |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11360739B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User activity shortcut suggestions |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US20230222296A1 (en) * | 2022-01-11 | 2023-07-13 | Rassan Mohammad Tarabein | Arabic Latinized |
Also Published As
Publication number | Publication date |
---|---|
WO2009049049A1 (en) | 2009-04-16 |
US8655643B2 (en) | 2014-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8655643B2 (en) | Method and system for adaptive transliteration | |
US8554537B2 (en) | Method and device for transliteration | |
US8386237B2 (en) | Automatic correction of user input based on dictionary | |
US9104244B2 (en) | All-in-one Chinese character input method | |
US8612206B2 (en) | Transliterating semitic languages including diacritics | |
US9098488B2 (en) | Translation of multilingual embedded phrases | |
US8745051B2 (en) | Resource locator suggestions from input character sequence | |
US7506254B2 (en) | Predictive conversion of user input | |
JP5608766B2 (en) | System and method for search using queries written in a different character set and / or language than the target page | |
KR100891358B1 (en) | System and its method for inputting character by predicting character sequence of user's next input | |
US9009030B2 (en) | Method and system for facilitating text input | |
CN101520786B (en) | Method for realizing input method dictionary and input method system | |
US20050027534A1 (en) | Phonetic and stroke input methods of Chinese characters and phrases | |
US8332208B2 (en) | Information processing apparatus, information processing method, and program | |
KR20130018205A (en) | Method for disambiguating multiple readings in language conversion | |
CN104850543A (en) | Voice conversation support apparatus and voice conversation support method | |
KR102552811B1 (en) | System for providing cloud based grammar checker service | |
JP2003288360A (en) | Language cross information retrieval device and method | |
CN111194457A (en) | Patent evaluation determination method, patent evaluation determination device, and patent evaluation determination program | |
Sharma et al. | Word prediction system for text entry in Hindi | |
US20210312144A1 (en) | Translation device, translation method, and program | |
JP2020021455A (en) | Patent evaluation determination method, patent evaluation determination device, and patent evaluation determination program | |
JP2005250525A (en) | Chinese classics analysis support apparatus, interlingual sentence processing apparatus and translation program | |
Lu et al. | Language model for Mongolian polyphone proofreading | |
Mahi et al. | PURAN: word prediction system for Punjabi language news |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LANGUAGE ANALYTICS, LLC, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JUREIDINI, IMAD;HADDAD, HABIB;SIGNING DATES FROM 20100706 TO 20100707;REEL/FRAME:024821/0172 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20220218 |