WO2014159473A2 - Automatic supplementation of word correction dictionaries - Google Patents

Automatic supplementation of word correction dictionaries Download PDF

Info

Publication number
WO2014159473A2
WO2014159473A2 PCT/US2014/023826 US2014023826W WO2014159473A2 WO 2014159473 A2 WO2014159473 A2 WO 2014159473A2 US 2014023826 W US2014023826 W US 2014023826W WO 2014159473 A2 WO2014159473 A2 WO 2014159473A2
Authority
WO
WIPO (PCT)
Prior art keywords
word
supplemental
determining
words
correction dictionary
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.)
Ceased
Application number
PCT/US2014/023826
Other languages
French (fr)
Other versions
WO2014159473A3 (en
Inventor
Morgan H. WINER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of WO2014159473A2 publication Critical patent/WO2014159473A2/en
Publication of WO2014159473A3 publication Critical patent/WO2014159473A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Definitions

  • the disclosed implementations relate generally to systems and methods for supplementing existing word correction dictionaries on electronic devices with additional dictionaries.
  • Modern electronic devices accept text inputs for many different purposes, such as for composing emails, text messages, documents, and the like.
  • inputting text can be cumbersome, slow, and prone to errors.
  • the small keyboards used by these devices (including both mechanical and touchscreen-based keyboards) make entering all but the shortest words difficult, and tend to increase spelling, grammar, and punctuation errors.
  • electronic devices provide word suggestion functions (e.g., spell-check and/or word-completion functions) to help increase input speed and decrease input errors.
  • word suggestion functions e.g., spell-check and/or word-completion functions
  • a mobile phone may consult a locally stored dictionary (e.g., a list of words) to determine that the word "teh" is misspelled because it does not appear in the dictionary.
  • the mobile phone may also provide suggestions of words that are in the dictionary that may be suitable replacements for the misspelled word (e.g., "the”).
  • the mobile phone receives a partial text string (e.g., "diet") and presents candidate complete words for that partial text string (e.g., "dictionary” and “diction”).
  • Handheld devices however, have limited memory and processing capacity, and it is not practical to store every possible word in a given language on these types of devices just to provide spell-check or word-completion functions.
  • a device determines that a user routinely inputs words relating to a certain subject (e.g., medical terms, legal terms, etc.), and will download, from a remote server, a supplemental dictionary of words related to that subject.
  • a certain subject e.g., medical terms, legal terms, etc.
  • the user receives robust spell- check and/or word suggestion functionality— even for highly specialized parlance— without requiring storage of thousands of arcane words for which they have no need.
  • Providing supplemental dictionaries specific to a user's needs helps eliminate several inconveniences associated with traditional spell check and word-completion technologies. First, it prevents false positive errors, such as when correctly spelled words are marked as incorrect or are automatically replaced with other, incorrect words. False positives can be bothersome, as a user' s text input can become riddled with nuisance underlines or highlights that are typical of spell checkers. In addition to simply looking unattractive, these make it difficult for a user to spot those words that are actually misspelled as opposed to those that are correctly spelled but are not found in the dictionary. Moreover, providing supplemental dictionaries helps prevent correctly spelled but out-of-dictionary words from being replaced with correctly spelled but incorrect words by an autocorrect feature. For example, autocorrect may convert the correctly spelled phrase "ex parte reexamination" to the nonsensical (though correctly spelled) "ex parts prefabrication.” By providing
  • the device will actually identify misspellings of the user's specialized vernacular, and provide corrected spellings of those words (e.g., as part of a spell check or an autocorrect function).
  • the device will offer the correct spelling of the misspelled words (“parte reexamination”), rather than offering no suggestions or only incorrect suggestions (e.g., "parts” and "reanimation”).
  • Some implementations provide a method for providing a supplemental word correction dictionary.
  • the method is performed at one or more electronic devices each having one or more processors and memory storing one or more programs for execution by the one or more processors.
  • the method includes receiving an at least partial word input by a user; determining that a use condition of the at least partial word is satisfied; and in response to determining that the use condition is satisfied, obtaining a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
  • the at least partial word is included in a plurality of words input by a user.
  • the supplemental word correction dictionary is selected from a plurality of supplemental word correction
  • the method is performed at a server system, and obtaining the supplemental word correction dictionary includes retrieving the supplemental word correction dictionary from a storage device associated with the server system. In some implementations, the method further includes sending the supplemental word correction dictionary to a client device remote from the server system.
  • the method is performed at a client device, and obtaining the supplemental word correction dictionary includes sending a request for the supplemental word correction dictionary to a server system remote from the client device; and receiving the supplemental word correction dictionary from the server system. In some implementations, the method further includes replacing a plurality of characters received at the client device with a word from the supplemental word correction dictionary.
  • determining that the use condition is satisfied includes determining that the at least partial word is not found in the existing word correction dictionary. In some implementations, determining that the use condition is satisfied further includes determining that the at least partial word is found in the supplemental dictionary.
  • determining that the use condition is satisfied includes determining that the at least partial word has been input by the user a predetermined number of times. In some implementations, determining that the use condition is satisfied further includes determining that the at least partial word has been input by the user the predetermined number of times within a predetermined time period.
  • determining that the use condition is satisfied includes determining that the plurality of words includes a predetermined number of words associated with the subject matter.
  • determining that the use condition is satisfied includes determining that words associated with the subject matter have been input by the user with a predetermined frequency.
  • determining that the use condition is satisfied includes determining that at least one of the plurality of words is found in a list of trigger words.
  • the list of trigger words is stored on the client device.
  • the list of trigger words associates trigger words with an identifier of the supplemental word correction dictionary.
  • the method further includes sending the identifier of the supplemental word correction dictionary from the client device to a server system; and receiving the supplemental word correction dictionary from the server system.
  • the at least partial word is input into any of the group consisting of: an email; a text message; a text document; a calendar entry; and a social networking post.
  • the method further includes, prior to obtaining the supplemental word correction dictionary, requesting user confirmation that the supplemental word correction dictionary should be obtained, wherein the supplemental word correction dictionary is obtained in response to receiving confirmation from the user.
  • an electronic device includes an input receiving unit configured to receive an at least partial word from a user.
  • the electronic device also includes a processing unit coupled to the input receiving unit.
  • the processing unit is configured to determine that a use condition of the at least partial word is satisfied; and in response to determining that the use condition is satisfied, obtain a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
  • an electronic device includes one or more processors, memory, and one or more programs; the one or more programs are stored in the memory and configured to be executed by the one or more processors and the one or more programs include instructions for performing the operations of any of the methods and/or techniques described herein.
  • a computer readable storage medium has stored therein instructions, which, when executed by an electronic device, cause the device to perform the operations of any of the methods and/or techniques described herein.
  • an electronic device includes means for performing the operations of any of the methods and/or techniques described herein.
  • an information processing apparatus for use in an electronic device includes means for performing the operations of any of the methods and/or techniques described herein.
  • Figure 1 is a block diagram illustrating a computer environment in which a method for automatically supplementing word correction dictionaries may be implemented, in accordance with some implementations
  • Figure 2 is a block diagram illustrating a computer system, in accordance with some implementations.
  • Figure 3 is a block diagram illustrating another computer system, in accordance with some implementations.
  • Figures 4A-4B illustrate exemplary data structures associated with providing a supplemental word correction dictionary, in accordance with some implementations.
  • Figures 5A-5B are flow charts illustrating a method for providing a
  • Figure 6 is a functional block diagram of an electronic device in accordance with some implementations.
  • Figure 1 illustrates a computer environment 100 in which a method for automatically supplementing word correction dictionaries may be implemented.
  • the computer environment 100 includes client computer system(s) 102-1 - 102-n (sometimes referred to as client computers or client devices), and a server computer system 104
  • Client computer systems 102-n include, but are not limited to, laptop computers, desktop computers, tablet computers, handheld and/or portable computers, PDAs, cellular phones, smartphones, video game systems, digital audio players, remote controls, watches, televisions, and the like.
  • a user enters words into a client computer 102 during normal use, such as when composing emails, text messages, documents, and the like, and the client computer 102 and/or the server computer 104 determine that one or more supplemental dictionaries should be added to the client computer 102.
  • supplemental dictionaries Various ways of determining whether to provide supplemental dictionaries (and which supplemental dictionaries) are discussed herein.
  • FIG. 2 is a block diagram depicting a client computer system 102 in accordance with some implementations.
  • the client computer system 102 is a laptop or desktop computer, tablet computer, smart phone, or the like.
  • the components described as being part of the client computer system 102 are distributed across multiple client computers, server computers (e.g., the server computer 104), or any combination of client and server computers.
  • the client computer system 102 is only one example of a suitable computer system, and some implementations have fewer or more components, combine two or more components, or have a different configuration or arrangement of the components than those shown in Figure 2.
  • the various components shown in Figure 2 may be
  • the client computer 102 includes memory 202 (which may include one or more computer readable storage mediums), one or more processing units (CPUs) 204, an input/output (I/O) interface 206, and a network communications interface 208. These components may communicate over one or more communication buses or signal lines 201. Communication buses or signal lines 201 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
  • the network communications interface 208 includes wired communications port 210 and/or RF (radio frequency) circuitry 212.
  • Network communications interface 208 (in some implementations, in conjunction with wired communications port 210 and/or RF circuitry 212) enables communication with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices.
  • WWW World Wide Web
  • LAN wireless local area network
  • MAN metropolitan area network
  • the network communications interface 208 facilitates communications between computer systems, such as between client and server computers.
  • Wired communications port 210 receives and sends communication signals via one or more wired interfaces.
  • Wired communications port 210 (e.g., Ethernet, Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.).
  • wired communications port 210 is a multi-pin connector (e.g., Applicant's "LIGHTNING" connector) that is the same as, or similar to and/or compatible with the connector used on Applicant's IPHONE ® , IPOD TOUCH ® , and IP AD ® devices.
  • the wired communications port is a modular port, such as an RJ type receptacle.
  • the radio Frequency (RF) circuitry 212 receives and sends RF signals, also called electromagnetic signals. RF circuitry 212 converts electrical signals to/from
  • RF circuitry 212 may include well- known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth.
  • Wireless communication may use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile
  • GSM Global System for Mobile Communications
  • EDGE Enhanced Data GSM Environment
  • HSDPA high-speed downlink packet access
  • HSUPA high-speed uplink packet access
  • W-CDMA wideband code division multiple access
  • CDMA code division multiple access
  • TDM A time division multiple access
  • Wi-Fi Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.
  • VoIP voice over Internet Protocol
  • Wi-MAX a protocol for e-mail (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS), or any other suitable communication protocol.
  • IMAP Internet message access protocol
  • POP post office protocol
  • instant messaging e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)
  • SMS Short Message Service
  • the I/O interface 206 couples input/output devices of the client computer 102, such as a display 214, a keyboard 216, a touch screen 218, a microphone 219, and a speaker 220 to the user interface module 226.
  • the I/O interface 206 may also include other input/output components, such as physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth.
  • the display 214 displays visual output to the user.
  • the visual output may include graphics, text, icons, video, and any combination thereof (collectively termed
  • the visual output corresponds to user- interface objects.
  • the visual output corresponds to text input fields and any other associated graphics and/or text (e.g., for receiving and displaying natural language text inputs).
  • the display 214 uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, LED (light emitting diode) technology, OLED technology, or any other suitable technology or output device.
  • the keyboard 216 allows a user to interact with the client computer 102 by inputting characters and controlling operational aspects of the client computer 102.
  • the keyboard 216 is a physical keyboard with a fixed key set.
  • the keyboard 216 is a touchscreen-based, or "virtual" keyboard, such that different key sets (corresponding to different alphabets, character layouts, etc.) may be displayed on the display 214, and input corresponding to selection of individual keys may be sensed by the touchscreen 218.
  • the touchscreen 218 has a touch- sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact.
  • the touchscreen 218 (along with any associated modules and/or sets of instructions in memory 202) detects contact (and any movement or breaking of the contact) on the touchscreen 218 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the display 214.
  • user-interface objects e.g., one or more soft keys, icons, web pages or images
  • the touchscreen 218 detects contact and any movement or breaking thereof using any of a plurality of suitable touch sensing technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touchscreen 218.
  • suitable touch sensing technologies including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touchscreen 218.
  • projected mutual capacitance sensing technology is used, such as that found in Applicant's IPHONE ® , IPOD TOUCH ® , and IPAD ® devices.
  • Memory 202 may include high-speed random access memory and may also include non- volatile and/or non-transitory computer readable storage media, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices.
  • memory 202, or the non-volatile and/or non- transitory computer readable storage media of memory 202 stores the following programs, modules, and data structures, or a subset thereof: operating system 222, communications module 224, user interface module 226, applications 228, spell-check module 230, word suggestion module 232, dictionaries 234, and usage monitoring module 240.
  • the operating system 222 e.g., DARWIN, RTXC, LINUX, UNIX, IOS, OS
  • X WINDOWS, or an embedded operating system such as VXWORKS
  • VXWORKS includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
  • general system tasks e.g., memory management, storage device control, power management, etc.
  • the communications module 224 facilitates communication with other devices over the network communications interface 208 and also includes various software components for handling data received by the RF circuitry 212 and/or the wired
  • the user interface module 226 receives commands and/or inputs from a user via the I/O interface (e.g., from the keyboard 216 and/or the touchscreen 218), and generates user interface objects on the display 214. In some implementations, the user interface module 226 provides virtual keyboards for entering text via the touchscreen 218.
  • Applications 228 may include programs and/or modules that are configured to be executed by the client computer 102.
  • the applications include the following modules (or sets of instructions), or a subset or superset thereof:
  • contacts module (sometimes called an address book or contact list);
  • widget modules which may include one or more of: weather widget, stocks widget, calculator widget, alarm clock widget, dictionary widget, and other widgets obtained by the user, as well as user-created widgets;
  • widget creator module for making user-created widgets
  • media player module which may be made up of a video player module and a music player module
  • Examples of other applications 228 that may be stored in memory 202 include word processing applications, image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication applications.
  • these applications (and/or other applications not listed) work together with the spell-check module 230 and the word suggestion module 232 (described below) to provide spell check and/or word selection functions for text that is input into the applications.
  • the spell-check module 230 determines whether words that are input by the user are correctly spelled. In some implementations, the spell-check module 230 compares each word entered by the user against the words in the dictionaries 234 to determine whether a match exists. If no match exists for a respective word, the user is alerted that the word may be misspelled. For example, the word may be highlighted (e.g., in yellow), underlined, or otherwise displayed in a distinctive manner. In some implementations, if no match exists, the user is alerted during a spell-check operation, where the user is sequentially alerted to all of the misspelled words in a document or text input.
  • the spell-check module 230 operates in conjunction with the word suggestion module 232 to provide alternative spellings for a misspelled word.
  • the spell-check module 230 and the word suggestion module 232 operate in conjunction with the user interface module 226 to display misspelled words in a distinctive manner and to provide user interface objects for word suggestions (e.g., lists of suggested words, additional letters following those that are already entered, etc.).
  • the spell-check module 230 identifies, to the user interface module 226, which words are misspelled, and the user interface module 226 causes those words to be displayed in a distinctive manner (e.g., with a red underline).
  • the user interface module 226 When the word is selected (e.g., by a finger press or mouse click), the user interface module 226 causes a list of selectable alternative spellings provided by the word suggestion module 232 to be displayed to the user (e.g., in a drop down menu or popup window).
  • the word suggestion module 232 determines alternative spellings (e.g., words that the user likely intended to enter) for user-entered words or text sequences that do not appear in the dictionaries 234. For example, in some implementations, when the spell-check module 230 determines that a user-entered word does not appear in the dictionaries 234, the word suggestion module 232 identifies one or more words from the dictionaries 234 that are similar to the misspelled word. Various techniques may be used to determine what words are similar to a misspelled word, such as approximate string matching (e.g., using Damerau- Levenshtein distance to determine the similarity between the misspelled word and candidate word suggestions), n-gram analysis, and the like.
  • approximate string matching e.g., using Damerau- Levenshtein distance to determine the similarity between the misspelled word and candidate word suggestions
  • n-gram analysis e.g., n-gram analysis, and the like.
  • one or more candidate word suggestions are presented to the user as possible replacements for a misspelled word (e.g., in a drop down menu or popup window and/or as part of a spell-check operation, as discussed above).
  • the word suggestion module provides an autocorrect function, where misspelled words are automatically replaced (as soon as they are input) with other words if it is determined that the other words were actually intended by the user. For example, this may occur when the word suggestion module 232 identifies only one candidate word for a misspelled word, or when one candidate word is substantially more similar to the misspelled word than any other candidate words, either of which indicates that the user most likely intended the candidate word.
  • the dictionaries 234 include an initial dictionary 236 and supplemental dictionaries 238-n.
  • the dictionaries 234 include lists of words, and are accessible to and/or used by the spell-check module 230 and the word suggestion module 232 (and/or any other programs or modules of the client computer 102).
  • the dictionaries 234 include additional information, such as pronunciation guides (human and/or machine readable), subject matter identifiers, definitions, part-of-speech information, common misspellings, usage statistics, etc.
  • the supplemental dictionaries 238-n relate to particular subjects.
  • supplemental dictionaries may be dictionaries of words related to legal terms, medical terms, sports terms (including, for example, team names, player rosters, etc.), music terms (including, for example, band names, artist names, song/album names, etc.), scientific terms, computer terms, and the like.
  • dictionaries for other subjects and sub-categories and super-categories of the listed subjects
  • supplemental dictionaries for sports terms such as dictionaries for specific sports (e.g., including team names and player rosters for all professional and college football teams), dictionaries for sports associated with a particular region (e.g., including team names and player rosters for all California professional sports teams), etc.
  • the supplemental dictionaries 238-n include words from different languages (e.g., Latin words may commonly appear in Medical and Legal supplemental dictionaries).
  • the supplemental dictionaries 238-n include dictionaries of foreign words. These may be particularly beneficial for users that input text into a device in several different languages, either as mixed text strings (e.g., "I'm all out of dinero!), or separate text strings (e.g., a bi-lingual user may use different languages at different times).
  • supplemental word correction dictionaries that include foreign words are full spell-check dictionaries (e.g., include all or substantially all of the words that would be in an initial dictionary for that language.
  • they include a smaller subset of foreign words, such as those words from the foreign language that are most commonly used by non-native speakers of that language.
  • the usage monitoring module 240 monitors text inputs for determining which
  • the usage monitoring module 240 includes a trigger word list 242 and usage logs 244.
  • the trigger word list (or lists) 242 includes words that are each associated with a subject for which a supplemental dictionary exists.
  • An example of a trigger word list 242 is shown in Figure 4A, in accordance with some implementations. As shown in Figure 4A, individual words may be associated with one or more subjects. For example, "syzgzy" is associated with the broader "scientific" subject, as well as the narrower "astronomy” subject.
  • the usage monitoring module 240 uses the trigger word list 242 to determine which supplemental dictionaries should be included on the client computer 102. For example, if a user enters a word that is found in the trigger words list 242, the
  • the usage logs 244 include a list of out-of-dictionary words that were entered by a user and were not corrected. For example, if a user enters the word "syzgzy" into a note taking application, and it is identified as misspelled but is not corrected by the user, that word may be included in a usage log 244. In some
  • usage logs include a listing of all of the words entered by a user. In some implementations, usage logs exclude common words, such as "the,” “and,” “be,” and the like. In some implementations, the usage monitoring module 240 uses the usage logs 244 to determine which supplemental dictionaries should be included on the client computer.
  • the usage logs 244 also include usage statistics for the words, such as the number of times that a word has been used, the frequency of its use, etc.
  • Figure 4B illustrates an example of a usage log 244 that includes a list of all words entered by a user, in accordance with some implementations.
  • the usage log 244 includes a column identifying the number of times that each word has been input by the user (e.g., the "# of instances").
  • usage logs 244 may be used by the usage monitoring module 240 to determine what supplemental dictionaries should be included in the client computer are discussed below with reference to Figures 5A-5B.
  • usage logs are provided to a remote computer system (e.g., the server computer 104).
  • the remote computer system uses the usage logs to determine what supplemental dictionaries should be provided to the client computer.
  • a user' s privacy can be maintained while also reducing the processing load on the client computer.
  • the usage log includes word lists that have been extracted from text inputs, but does not include the text inputs themselves, the contents of the user's communications and documents are not exposed.
  • users can disable the option of sending usage logs to the remote computer.
  • FIG. 3 is a block diagram depicting a server computer system 104 in accordance with some implementations.
  • the components described as being part of the server computer system 104 are distributed across multiple server computers, client computers, or any combination of client and server computers.
  • server computer system 104 is only one example of a suitable computer system, and some implementations have fewer or more components, combine two or more components, or have a different configuration or arrangement of the components than those shown in Figure 3.
  • the various components shown in Figure 3 may be
  • the server computer 104 includes memory 302 (which may include one or more computer readable storage mediums), one or more processing units (CPUs) 304, an input/output (I/O) interface 306, and a network communications interface 308. These components may communicate over one or more communication buses or signal lines 301. Communication buses or signal lines 301 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
  • the network communications interface 308 includes wired communications port 310 and/or RF (radio frequency) circuitry 312.
  • Network communications interface 308 (in some implementations, in conjunction with wired communications port 310 and/or RF circuitry 312) enables communication with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices.
  • WWW World Wide Web
  • LAN wireless local area network
  • MAN metropolitan area network
  • the network communications interface 308 facilitates communications between computer systems, such as between client and server computers.
  • Wired communications port 310 receives and sends communication signals via one or more wired interfaces.
  • Wired communications port 310 e.g., Ethernet, Universal Serial Bus (USB), FIREWIRE, etc.
  • a network e.g., the Internet, wireless LAN, etc.
  • the wired communications port is a modular port, such as an RJ type receptacle.
  • the radio Frequency (RF) circuitry 312 receives and sends RF signals, also called electromagnetic signals. RF circuitry 312 converts electrical signals to/from
  • RF circuitry 312 may include well- known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth.
  • Wireless communication may use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile
  • GSM Global System for Mobile Communications
  • EDGE Enhanced Data GSM Environment
  • HSDPA high-speed downlink packet access
  • HSUPA high-speed uplink packet access
  • W-CDMA wideband code division multiple access
  • CDMA code division multiple access
  • TDM A time division multiple access
  • Wi-Fi Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.
  • VoIP voice over Internet Protocol
  • Wi-MAX a protocol for e-mail (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS), or any other suitable communication protocol.
  • IMAP Internet message access protocol
  • POP post office protocol
  • instant messaging e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)
  • SMS Short Message Service
  • the I/O interface 306 couples input/output devices of the server computer 104, such as a display 314 and a keyboard 316 to the user interface module 326.
  • the I/O interface 306 may also include other input/output components, such as physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth.
  • the display 314 displays visual output to the user.
  • the visual output may include graphics, text, icons, video, and any combination thereof (collectively termed
  • the display 314 uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, LED (light emitting diode) technology, OLED technology, or any other suitable technology or output device.
  • LCD liquid crystal display
  • LPD light emitting polymer display
  • LED light emitting diode
  • OLED organic light emitting diode
  • the keyboard 316 allows a user to interact with the server computer 104 by inputting characters and controlling operational aspects of the server computer 104.
  • the keyboard 316 is a physical keyboard with a fixed key set.
  • the keyboard 316 is a touchscreen-based, or "virtual" keyboard, such that different key sets (corresponding to different alphabets, character layouts, etc.) may be displayed on the display 314, and input corresponding to selection of individual keys may be sensed by one or more touch- sensitive sensors and/or surfaces.
  • Memory 302 may include high-speed random access memory and may also include non- volatile and/or non-transitory computer readable storage media, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices.
  • memory 302, or the non-volatile and/or non- transitory computer readable storage media of memory 302 stores the following programs, modules, and data structures, or a subset thereof: operating system 322, communications module 324, user interface module 326, supplemental dictionaries 328-n, and usage monitoring module 330.
  • the operating system 322 e.g., DARWIN, RTXC, LINUX, UNIX, IOS, OS
  • X WINDOWS, or an embedded operating system such as VXWORKS
  • VXWORKS includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
  • general system tasks e.g., memory management, storage device control, power management, etc.
  • the communications module 324 facilitates communication with other devices over the network communications interface 308 and also includes various software components for handling data received by the RF circuitry 312 and/or the wired
  • the user interface module 326 receives commands and/or inputs from a user via the I/O interface (e.g., from the keyboard 316 and/or the touchscreen 318), and generates user interface objects on the display 314. In some implementations, the user interface module 326 provides virtual keyboards for entering text via the touchscreen 318.
  • Supplemental dictionaries 328-n include the various supplemental dictionaries that can be provided to client computers to supplement an initial word correction dictionary on those devices (e.g., the initial dictionary 236, Figure 2). In some implementations, the supplemental dictionaries 328-n include terms related to a particular subject matter.
  • supplemental dictionaries 328 include a legal dictionary 328- 1, a medical dictionary 328-2, a scientific dictionary 328-3, a sports dictionary 328-4, and so forth. Individual supplemental dictionaries are provided to a client device based on a request from the client device for that dictionary (e.g., because the client device determined that a use condition has been satisfied indicating a need for that dictionary), and/or because a server computer determined that the use condition has been met.
  • the client computer 102 initiates the transfer of a supplemental dictionary from a server
  • the server computer 104 initiates the transfer.
  • both the server 104 and the client 102 are able to initiate the transfer of a supplemental dictionary.
  • the usage monitoring module 330 monitors word usage from one or more client computers, and determines which (if any) supplemental dictionaries 328 should be provided to the respective client computers. In some implementations,
  • the usage monitoring module 330 receives usage logs from client computers (e.g., the usage logs 244, Figure 2), and compares the words in the usage logs against the words in the supplemental dictionaries 328 to determine if certain use conditions are met (e.g., whether a user has input a predetermined number of words in a given supplemental dictionary).
  • the usage monitoring module 330 includes a trigger word list 332, similar to the trigger word list 242 discussed above with respect to Figures 2 and 4A. Trigger word lists 332 include subsets of words from respective supplemental dictionaries.
  • the usage monitoring module 330 uses the trigger word list 332 to determine which supplemental dictionaries should be included on the client computer. Specific techniques for determining which dictionaries to include are discussed below with reference to Figures 5A-5B.
  • comparing a user' s word usage against all of the words in the supplemental dictionaries provides a robust analysis of what subjects the user is interested in (and hence what dictionaries would be useful to him or her), because any user- inputted word that appears in the supplemental dictionaries will be identified.
  • comparing word usage against the trigger word list 332, which includes only a subset of the words in the supplemental dictionaries may adequately identify dictionaries that will be useful to a user, while reducing processing time and memory usage.
  • Figures 5A-5B are flow diagrams representing a method 500 for providing a supplemental word correction dictionary, according to certain implementations.
  • the methods are, optionally, governed by instructions that are stored in a computer memory or non- transitory computer readable storage medium (e.g., memory 202 of the client computer 102, memory 302 of the server computer 104) and that are executed by one or more processors of one or more computer systems, including, but not limited to, the client computer system 102 and/or the server computer system 104.
  • the computer readable storage medium may include a magnetic or optical disk storage device, solid state storage devices such as Flash memory, or other non-volatile memory device or devices.
  • the computer readable instructions stored on the computer readable storage medium may include one or more of: source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors.
  • some operations in each method may be combined and/or the order of some operations may be changed from the order shown in the figures.
  • operations shown in separate figures and/or discussed in association with separate methods may be combined to form other methods, and operations shown in the same figure and/or discussed in association with the same method may be separated into different methods.
  • the method 500 is performed at one or more electronic devices each having one or more processors and memory storing one or more programs for execution by the one or more processors (e.g., the client computer 102 and/or the server computer 104).
  • the following discussion describes several of the steps of the method 500 as being performed by a computer system, which includes, in some implementations, the client computer 102, the server computer 104, or both (and/or other computer systems as well).
  • the computer system receives an at least partial word input by a user (502).
  • the at least partial word is included in a plurality of words input by the user (503).
  • Words are input, for example, into a text entry field in an email, a text/instant message, a text document (e.g., a word processing document, a note taking application, etc.), a calendar entry, a social networking post, and the like.
  • the words may be input into a text field via a speech-to-text function (e.g., a user can speak the words, and the speech-to-text function will provide textual representations of the words for input into the text field.)
  • the computer system is a server computer system
  • the plurality of words are input into a client device, and are received by the server computer.
  • the plurality of words are sent to the server computer in one or more usage logs 244 ( Figures 2 and 4B).
  • the computer system determines that a use condition of at least one word of the plurality of words is satisfied (504).
  • step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step 1) determining that the use condition is satisfied).
  • the 504 includes determining that the at least partial word is not found in the existing word correction dictionary (506). For example, a client device (e.g., the client computer 102) will determine as part of a spell-check operation (e.g., with the spell-check module 230) that the at least partial word that was input by a user does not appear in the initial dictionary 236. In some implementations, the computer system determines that the at least partial word is not found in the existing word correction dictionary, and is also not corrected by the user (since a user correcting a word indicates that it was misspelled, and not merely out-of-dictionary).
  • a client device e.g., the client computer 102 will determine as part of a spell-check operation (e.g., with the spell-check module 230) that the at least partial word that was input by a user does not appear in the initial dictionary 236.
  • the computer system determines that the at least partial word is not found in the existing word correction dictionary, and is also not corrected by the user (since a
  • the computer system will not attempt to obtain a supplemental dictionary based on the word “teh,” even though it did not appear in the existing dictionary.
  • a word is not found in the existing dictionary, but corresponds to a common misspelling of another word (e.g., "teh” for "the), the use condition will not be satisfied with respect to that word.
  • the electronic device determines whether the use condition is satisfied for a partial word, instead of a complete word, such as by determining that a partial word most likely corresponds to a particular word, and then determining whether a use condition is satisfied for that particular word. For example, if a user enters the partial word "szyg,” the electronic device can determine that the most likely (or possibly the only) word that starts with these letters is "szygzy,” and determine whether the use condition for the complete word is satisfied. [0074] In some implementations, determining that the use condition is satisfied (step
  • step (504) further includes determining that the at least partial word is found in the supplemental dictionary (508). Thus, if a word is not found in an existing dictionary, but it is found in a supplemental dictionary, then the use condition is satisfied, and the supplemental dictionary will be obtained. If the word is not found in either the existing or the supplemental dictionaries, the use condition is not satisfied, and no supplemental dictionary will be obtained.
  • step (508) includes sending the at least one word to a remote computer (e.g., the server system 104) so that the remote computer can search among stored supplemental dictionaries (e.g., supplemental dictionaries 328) for the at least partial word.
  • the at least partial word is sent to the remote computer in one or more usage logs (e.g., usage log 244, Figures 2 and 4B).
  • step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step 1) determining that the use condition is satisfied).
  • the 504 includes determining that the at least partial word has been input by the user a predetermined number of times (510). For example, in some implementations, if a word that does not appear in an existing dictionary (but that does appear in a supplemental dictionary) has been input by a user twice, then a supplemental dictionary in which that word appears is obtained. In some implementations, the predetermined number of times is 2, 3, 4, or 5, or any other appropriate number. In some implementations, if the word does not appear in any supplemental dictionary, then the use condition is not satisfied and no supplemental dictionary is obtained, regardless of how many times the word has been entered.
  • step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step ) determining that the use condition is satisfied).
  • the 504) further includes determining that the at least partial word has been input by the user the predetermined number of times within a predetermined time period (512). For example, in some implementations, the use condition is satisfied if the word is input twice in a single day. Other usage frequencies are used in various implementations, such as if the word is used five times per day, once per week, etc.
  • step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step ) determining that the use condition is satisfied).
  • the 504 includes determining that the plurality of words includes a predetermined number of words associated with the subject matter (514). Thus, it can be determined whether a user is using enough different words of a particular subject matter to justify obtaining the supplemental dictionary for that subject matter. Additionally, it can be inferred that a user would benefit from that supplemental dictionary without relying on the user entering just a single word a predetermined number of times and/or with a predetermined frequency. In some implementations, the use condition is satisfied if 2, 5, 10, or more user-entered words are found in a supplemental dictionary for a particular subject matter.
  • a user enters any two words (e.g., "Favre” and "Pujols") that are found in a particular supplemental dictionary (e.g., including "Sports" terms), then that supplemental dictionary is obtained.
  • the use condition is satisfied if a predetermined number of words associated with the subject matter are input into a single text input field (e.g., an email body, a text/instant message, a text document, etc.).
  • step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step 1) determining that the use condition is satisfied).
  • a predetermined frequency e.g., 1 word per day, 5 words per day, 50 words per week, etc.
  • step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step (step ) determining that the use condition is satisfied).
  • the computer system stores one or more lists of trigger words (e.g., the trigger word list 242, Figures 2 and 4A), and if the user enters a word that appears on the trigger word list, a supplemental dictionary of the same subject matter of that word is obtained. For example, if a user entered the word "reexamination,” which is listed as a "legal” word on the trigger word list 242 ( Figure 4A), a supplemental dictionary for "legal" terms will be obtained.
  • trigger words e.g., the trigger word list 242, Figures 2 and 4A
  • the list of trigger words is stored on a client device (e.g., the client device 102), and the client device determines whether the at least one of the plurality of words appear in the list of trigger words (e.g., with the usage monitoring module 240). In some implementations, if the client device determines that a trigger word associated with a particular word correction dictionary has been used, it sends an identifier of the supplemental word correction dictionary to a server system (e.g., the server system 104), and receives the supplemental word correction dictionary from the server system, as discussed below with reference to step (522).
  • a server system e.g., the server system 104
  • the client device only requests the supplemental dictionary from the server system when the client device is coupled to a high-speed network and/or a network that is not associated with a data-limited service (e.g., a Wi-Fi rather than a cellular data network).
  • a data-limited service e.g., a Wi-Fi rather than a cellular data network
  • any of the use conditions described above are used in conjunction with the trigger word list.
  • the use condition is satisfied when a user inputs a word that appears on a trigger word list a predetermined number of times and/or with a predetermined frequency.
  • the use condition is satisfied when a user inputs a plurality of words that both appear on a trigger word list and are associated with a particular subject matter a particular number of times and/or with a predetermined frequency. For example, the use condition may be satisfied if a user inputs 5 "sports" words that are each contained in the trigger word list 242.
  • the user conditions are used in conjunction with entire dictionaries, such as when usage logs are sent to a remote server, and the remote server determines if the use conditions are satisfied with respect to any word found in any of the supplemental dictionaries.
  • the computer system requests user confirmation that the supplemental word correction dictionary should be obtained (519).
  • the computer system will cause a prompt to be presented to the user that identifies the particular supplemental dictionary that is to be obtained and allows the user to accept or reject the dictionary.
  • a prompt may include the text "It looks like you use quite a few [subject matter] words. Would you like to download a dictionary that will help make sure these words are correctly spelled?"
  • the prompt is displayed graphically.
  • the prompt is spoken to the user, such as by a digital assistant (e.g., Applicants' SIRI ® ).
  • the dictionary will be obtained. If the user rejects the dictionary, it will not be obtained. This way, if a word was simply mistyped, represents an isolated usage by the user, or is associated with several different (and potentially unrelated) subjects, an unnecessary supplemental dictionary will not be obtained.
  • the computer system In response to determining that the use condition is satisfied (and, in some implementations, determining that the user has confirmed that the dictionary should be obtained), the computer system obtains a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary (520).
  • the supplemental word correction dictionary supplements an existing word correction dictionary (520).
  • the computer system obtains a supplemental word correction dictionary that includes other words associated with the subject matter of "science” or "astronomy.”
  • obtaining the supplemental word correction dictionary includes sending a request for the supplemental word correction dictionary to a server system remote from the client device, and receiving the supplemental word correction dictionary from the server system (522).
  • the request includes an identifier of a particular supplemental dictionary (e.g., "sports,” "legal,” etc.).
  • obtaining the supplemental word correction dictionary includes retrieving the supplemental word correction dictionary from a storage device associated with the server system (524).
  • the method then further includes sending the supplemental word correction dictionary to a client device (e.g., the client computer 102) remote from the server system (526).
  • the computer system replaces a plurality of characters received at the client device with a word from the supplemental word correction dictionary (528). For example, once the client device 102 receives and stores a supplemental word correction dictionary, the client device 102 replaces a plurality of user-entered characters (e.g., a misspelled word) with a word from the supplemental dictionary (e.g., as part of a spell-check operation). In another example, the client device 102 replaces one or more user-entered characters with a selected candidate word from the supplemental dictionary, such as when an auto- suggest and/or auto-complete function provides one or more candidate complete words based on one or more initial letters (e.g., suggesting
  • Figure 6 shows a functional block diagram of electronic device 600 configured in accordance with the principles of the invention as described above.
  • the functional blocks of the device may be implemented by hardware, software, or a combination of hardware and software to carry out the principles of the invention. It is understood by persons of skill in the art that the functional blocks described in Figure 6 may be combined or separated into sub-blocks to implement the principles of the invention as described above. Therefore, the description herein may support any possible combination or separation or further definition of the functional blocks described herein.
  • electronic device 600 includes an input receiving unit
  • the electronic device 600 configured to receive an at least partial word from a user.
  • the at least partial word is input into any of the group consisting of: an email; a text message; a text document; a calendar entry; and a social networking post.
  • the electronic device 600 also includes processing unit 606 coupled to the input receiving unit 600.
  • processing unit 606 includes a use condition determining unit 608, a word correction dictionary obtaining unit 609, a dictionary requesting unit 610, and a word suggesting/replacing unit 612.
  • the processing unit 606 is configured to determine that a use condition of the at least partial word is satisfied (e.g., with the use condition determining unit 608); and in response to determining that the use condition is satisfied, obtain a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word (e.g., with the word correction dictionary obtaining unit 609), wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
  • the at least partial word is included in a plurality of words input by a user.
  • the supplemental word correction dictionary is selected from a plurality of supplemental word correction dictionaries, each associated with a respective subject matter.
  • the electronic device 600 obtains the supplemental word correction dictionary by sending a request for the supplemental word correction dictionary to a server system remote from the electronic device 600 device (e.g., with the dictionary requesting unit 610); and receives the supplemental word correction dictionary from the server system (e.g., with the word correction dictionary obtaining unit 609).
  • the electronic device 600 is further configured to replace a plurality of characters received at the electronic device with a word from the supplemental word correction dictionary (e.g., with the word suggesting/replacing unit 612).
  • determining that the use condition is satisfied includes determining that the at least partial word is not found in the existing word correction dictionary. In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) further includes determining that the at least partial word is found in the supplemental dictionary.
  • determining that the use condition is satisfied includes determining that the at least partial word has been input by the user a predetermined number of times. In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) further includes determining that the at least partial word has been input by the user the predetermined number of times within a predetermined time period.
  • determining that the use condition is satisfied includes determining that the plurality of words includes a predetermined number of words associated with the subject matter.
  • determining that the use condition is satisfied includes determining that words associated with the subject matter have been input by the user with a predetermined frequency.
  • determining that the use condition is satisfied includes determining that at least one of the plurality of words is found in a list of trigger words.
  • the list of trigger words is stored on the electronic device.
  • the list of trigger words associates trigger words with an identifier of the supplemental word correction dictionary.
  • the electronic device 600 sends the identifier of the supplemental word correction dictionary from the electronic device to a server system (e.g., with the dictionary requesting unit 612); and receives the supplemental word correction dictionary from the server system (e.g., with the word correction dictionary obtaining unit 609).

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Methods and systems for providing a supplemental word correction dictionary are provided. The method is performed at one or more electronic devices each having one or more processors and memory storing one or more programs for execution by the one or more processors. The method includes receiving an at least partial word input by a user. In some implementations, the at least partial word is input into a text field, such as an email body. The method includes determining that a use condition of the at least partial word is satisfied, such as whether the word appears in a trigger word list. The method further includes, in response to determining that the use condition is satisfied, obtaining a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary.

Description

AUTOMATIC SUPPLEMENTATION OF WORD CORRECTION
DICTIONARIES
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This Application claims the benefit of U.S. Provisional Application No.
61/785,703, filed on March 14, 2013, entitled AUTOMATIC SUPPLEMENTATION OF WORD CORRECTION DICTIONARIES, which is hereby incorporated by reference in its entity for all purposes.
TECHNICAL FIELD
[0002] The disclosed implementations relate generally to systems and methods for supplementing existing word correction dictionaries on electronic devices with additional dictionaries.
BACKGROUND
[0003] Modern electronic devices accept text inputs for many different purposes, such as for composing emails, text messages, documents, and the like. In the case of small, handheld electronic devices, inputting text can be cumbersome, slow, and prone to errors. In particular, the small keyboards used by these devices (including both mechanical and touchscreen-based keyboards) make entering all but the shortest words difficult, and tend to increase spelling, grammar, and punctuation errors. In some cases, electronic devices provide word suggestion functions (e.g., spell-check and/or word-completion functions) to help increase input speed and decrease input errors. These devices typically rely on locally stored dictionaries in order to identify errors and suggest corrections, and/or to suggest complete words based on partially entered text strings. For example, a mobile phone may consult a locally stored dictionary (e.g., a list of words) to determine that the word "teh" is misspelled because it does not appear in the dictionary. The mobile phone may also provide suggestions of words that are in the dictionary that may be suitable replacements for the misspelled word (e.g., "the"). In another example, the mobile phone receives a partial text string (e.g., "diet") and presents candidate complete words for that partial text string (e.g., "dictionary" and "diction"). [0004] Handheld devices, however, have limited memory and processing capacity, and it is not practical to store every possible word in a given language on these types of devices just to provide spell-check or word-completion functions. Moreover, many words relate to specialized subjects, and are only used by a subset of the general population. For example, legal words and/or phrases (e.g., "ex parte," "affidavit," "appurtenant," etc.) are less likely to be used by non-lawyers, and names of professional athletes are less likely to be used by non-sports fans. Thus, while a comprehensive dictionary that includes all of these types of words will provide robust spell-check and word suggestion functionalities to all users, it requires more storage space and results in longer processing times. At the same time, the absence of these words can be an inconvenience for users who use them frequently.
SUMMARY
[0005] Accordingly, there is a need to provide systems and methods for automatically supplementing on-device dictionaries to provide high quality spell-check and/or word- completion functions without placing undue storage and processing demands on the device. As described herein, existing on-device dictionaries are supplemented with supplemental dictionaries based on individual users' needs. Moreover, determining that a given user would benefit from a particular supplemental dictionary is determined automatically, so the user need not separately request it, or even know that it has been acquired. For example, in some implementations, a device determines that a user routinely inputs words relating to a certain subject (e.g., medical terms, legal terms, etc.), and will download, from a remote server, a supplemental dictionary of words related to that subject. Thus, the user receives robust spell- check and/or word suggestion functionality— even for highly specialized parlance— without requiring storage of thousands of arcane words for which they have no need.
[0006] Providing supplemental dictionaries specific to a user's needs helps eliminate several inconveniences associated with traditional spell check and word-completion technologies. First, it prevents false positive errors, such as when correctly spelled words are marked as incorrect or are automatically replaced with other, incorrect words. False positives can be bothersome, as a user' s text input can become riddled with nuisance underlines or highlights that are typical of spell checkers. In addition to simply looking unattractive, these make it difficult for a user to spot those words that are actually misspelled as opposed to those that are correctly spelled but are not found in the dictionary. Moreover, providing supplemental dictionaries helps prevent correctly spelled but out-of-dictionary words from being replaced with correctly spelled but incorrect words by an autocorrect feature. For example, autocorrect may convert the correctly spelled phrase "ex parte reexamination" to the nonsensical (though correctly spelled) "ex parts prefabrication." By providing
supplemental dictionaries (for legal terms, in this example), such mistakes can be avoided.
[0007] Second, by providing supplemental dictionaries, the device will actually identify misspellings of the user's specialized vernacular, and provide corrected spellings of those words (e.g., as part of a spell check or an autocorrect function). Thus, if a user enters the phrase "ex partr rexanimation," the device will offer the correct spelling of the misspelled words ("parte reexamination"), rather than offering no suggestions or only incorrect suggestions (e.g., "parts" and "reanimation").
[0008] Some implementations provide a method for providing a supplemental word correction dictionary. The method is performed at one or more electronic devices each having one or more processors and memory storing one or more programs for execution by the one or more processors. The method includes receiving an at least partial word input by a user; determining that a use condition of the at least partial word is satisfied; and in response to determining that the use condition is satisfied, obtaining a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary. In some implementations, the at least partial word is included in a plurality of words input by a user. In some implementations, the supplemental word correction dictionary is selected from a plurality of supplemental word correction
dictionaries, each associated with a respective subject matter.
[0009] In some implementations, the method is performed at a server system, and obtaining the supplemental word correction dictionary includes retrieving the supplemental word correction dictionary from a storage device associated with the server system. In some implementations, the method further includes sending the supplemental word correction dictionary to a client device remote from the server system.
[0010] In some implementations, the method is performed at a client device, and obtaining the supplemental word correction dictionary includes sending a request for the supplemental word correction dictionary to a server system remote from the client device; and receiving the supplemental word correction dictionary from the server system. In some implementations, the method further includes replacing a plurality of characters received at the client device with a word from the supplemental word correction dictionary.
[0011] In some implementations, determining that the use condition is satisfied includes determining that the at least partial word is not found in the existing word correction dictionary. In some implementations, determining that the use condition is satisfied further includes determining that the at least partial word is found in the supplemental dictionary.
[0012] In some implementations, determining that the use condition is satisfied includes determining that the at least partial word has been input by the user a predetermined number of times. In some implementations, determining that the use condition is satisfied further includes determining that the at least partial word has been input by the user the predetermined number of times within a predetermined time period.
[0013] In some implementations, where the at least partial word is included in a plurality of words input by the user, determining that the use condition is satisfied includes determining that the plurality of words includes a predetermined number of words associated with the subject matter.
[0014] In some implementations, determining that the use condition is satisfied includes determining that words associated with the subject matter have been input by the user with a predetermined frequency.
[0015] In some implementations, where the at least partial word is included in a plurality of words input by the user, determining that the use condition is satisfied includes determining that at least one of the plurality of words is found in a list of trigger words. In some implementations, the list of trigger words is stored on the client device. In some implementations, the list of trigger words associates trigger words with an identifier of the supplemental word correction dictionary. In some implementations, the method further includes sending the identifier of the supplemental word correction dictionary from the client device to a server system; and receiving the supplemental word correction dictionary from the server system. [0016] In some implementations, the at least partial word is input into any of the group consisting of: an email; a text message; a text document; a calendar entry; and a social networking post.
[0017] In some implementations, the method further includes, prior to obtaining the supplemental word correction dictionary, requesting user confirmation that the supplemental word correction dictionary should be obtained, wherein the supplemental word correction dictionary is obtained in response to receiving confirmation from the user.
[0018] In accordance with some implementations, an electronic device includes an input receiving unit configured to receive an at least partial word from a user. The electronic device also includes a processing unit coupled to the input receiving unit. The processing unit is configured to determine that a use condition of the at least partial word is satisfied; and in response to determining that the use condition is satisfied, obtain a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
[0019] In accordance with some implementations, an electronic device includes one or more processors, memory, and one or more programs; the one or more programs are stored in the memory and configured to be executed by the one or more processors and the one or more programs include instructions for performing the operations of any of the methods and/or techniques described herein. In accordance with some implementations, a computer readable storage medium has stored therein instructions, which, when executed by an electronic device, cause the device to perform the operations of any of the methods and/or techniques described herein. In accordance with some implementations, an electronic device includes means for performing the operations of any of the methods and/or techniques described herein. In accordance with some implementations, an information processing apparatus, for use in an electronic device includes means for performing the operations of any of the methods and/or techniques described herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 is a block diagram illustrating a computer environment in which a method for automatically supplementing word correction dictionaries may be implemented, in accordance with some implementations
[0021] Figure 2 is a block diagram illustrating a computer system, in accordance with some implementations.
[0022] Figure 3 is a block diagram illustrating another computer system, in accordance with some implementations.
[0023] Figures 4A-4B illustrate exemplary data structures associated with providing a supplemental word correction dictionary, in accordance with some implementations.
[0024] Figures 5A-5B are flow charts illustrating a method for providing a
supplemental word correction dictionary, in accordance with some implementations.
[0025] Figure 6 is a functional block diagram of an electronic device in accordance with some implementations.
[0026] Like reference numerals refer to corresponding parts throughout the drawings.
DESCRIPTION OF IMPLEMENTATIONS
[0027] Figure 1 illustrates a computer environment 100 in which a method for automatically supplementing word correction dictionaries may be implemented. The computer environment 100 includes client computer system(s) 102-1 - 102-n (sometimes referred to as client computers or client devices), and a server computer system 104
(sometimes referred to as a server computer), connected via a network 106 (e.g., the Internet). Client computer systems 102-n include, but are not limited to, laptop computers, desktop computers, tablet computers, handheld and/or portable computers, PDAs, cellular phones, smartphones, video game systems, digital audio players, remote controls, watches, televisions, and the like.
[0028] As described in more detail with respect to Figures 2-3, the client computers
102-n and/or the server computer 104 provide hardware, programs, and/or modules to enable automatic supplementation of word correction dictionaries. For example, in some implementations, a user enters words into a client computer 102 during normal use, such as when composing emails, text messages, documents, and the like, and the client computer 102 and/or the server computer 104 determine that one or more supplemental dictionaries should be added to the client computer 102. Various ways of determining whether to provide supplemental dictionaries (and which supplemental dictionaries) are discussed herein.
[0029] Figure 2 is a block diagram depicting a client computer system 102 in accordance with some implementations. In some implementations, the client computer system 102 is a laptop or desktop computer, tablet computer, smart phone, or the like. In some implementations, the components described as being part of the client computer system 102 are distributed across multiple client computers, server computers (e.g., the server computer 104), or any combination of client and server computers.
[0030] Moreover, the client computer system 102 is only one example of a suitable computer system, and some implementations have fewer or more components, combine two or more components, or have a different configuration or arrangement of the components than those shown in Figure 2. The various components shown in Figure 2 may be
implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
[0031] Returning to Figure 2, in some implementations, the client computer 102 includes memory 202 (which may include one or more computer readable storage mediums), one or more processing units (CPUs) 204, an input/output (I/O) interface 206, and a network communications interface 208. These components may communicate over one or more communication buses or signal lines 201. Communication buses or signal lines 201 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
[0032] The network communications interface 208 includes wired communications port 210 and/or RF (radio frequency) circuitry 212. Network communications interface 208 (in some implementations, in conjunction with wired communications port 210 and/or RF circuitry 212) enables communication with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices. In some implementations, the network communications interface 208 facilitates communications between computer systems, such as between client and server computers. Wired communications port 210 receives and sends communication signals via one or more wired interfaces. Wired communications port 210 (e.g., Ethernet, Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.). In some implementations, wired communications port 210 is a multi-pin connector (e.g., Applicant's "LIGHTNING" connector) that is the same as, or similar to and/or compatible with the connector used on Applicant's IPHONE®, IPOD TOUCH®, and IP AD® devices. In some implementations, the wired communications port is a modular port, such as an RJ type receptacle.
[0033] The radio Frequency (RF) circuitry 212 receives and sends RF signals, also called electromagnetic signals. RF circuitry 212 converts electrical signals to/from
electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. RF circuitry 212 may include well- known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. Wireless communication may use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile
Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDM A), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802. l lg and/or IEEE 802.11η), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for e-mail (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS), or any other suitable communication protocol.
[0034] The I/O interface 206 couples input/output devices of the client computer 102, such as a display 214, a keyboard 216, a touch screen 218, a microphone 219, and a speaker 220 to the user interface module 226. The I/O interface 206 may also include other input/output components, such as physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth.
[0035] The display 214 displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively termed
"graphics"). In some implementations, some or all of the visual output corresponds to user- interface objects. For example, in some implementations, the visual output corresponds to text input fields and any other associated graphics and/or text (e.g., for receiving and displaying natural language text inputs). In some implementations, the display 214 uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, LED (light emitting diode) technology, OLED technology, or any other suitable technology or output device.
[0036] The keyboard 216 allows a user to interact with the client computer 102 by inputting characters and controlling operational aspects of the client computer 102. In some implementations, the keyboard 216 is a physical keyboard with a fixed key set. In some implementations, the keyboard 216 is a touchscreen-based, or "virtual" keyboard, such that different key sets (corresponding to different alphabets, character layouts, etc.) may be displayed on the display 214, and input corresponding to selection of individual keys may be sensed by the touchscreen 218.
[0037] The touchscreen 218 has a touch- sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact. The touchscreen 218 (along with any associated modules and/or sets of instructions in memory 202) detects contact (and any movement or breaking of the contact) on the touchscreen 218 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the display 214.
[0038] The touchscreen 218 detects contact and any movement or breaking thereof using any of a plurality of suitable touch sensing technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touchscreen 218. In an exemplary implementation, projected mutual capacitance sensing technology is used, such as that found in Applicant's IPHONE®, IPOD TOUCH®, and IPAD® devices. [0039] Memory 202 may include high-speed random access memory and may also include non- volatile and/or non-transitory computer readable storage media, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. In some implementations, memory 202, or the non-volatile and/or non- transitory computer readable storage media of memory 202, stores the following programs, modules, and data structures, or a subset thereof: operating system 222, communications module 224, user interface module 226, applications 228, spell-check module 230, word suggestion module 232, dictionaries 234, and usage monitoring module 240.
[0040] The operating system 222 (e.g., DARWIN, RTXC, LINUX, UNIX, IOS, OS
X, WINDOWS, or an embedded operating system such as VXWORKS) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
[0041] The communications module 224 facilitates communication with other devices over the network communications interface 208 and also includes various software components for handling data received by the RF circuitry 212 and/or the wired
communications port 210.
[0042] The user interface module 226 receives commands and/or inputs from a user via the I/O interface (e.g., from the keyboard 216 and/or the touchscreen 218), and generates user interface objects on the display 214. In some implementations, the user interface module 226 provides virtual keyboards for entering text via the touchscreen 218.
[0043] Applications 228 may include programs and/or modules that are configured to be executed by the client computer 102. In some implementations, the applications include the following modules (or sets of instructions), or a subset or superset thereof:
• contacts module (sometimes called an address book or contact list);
• telephone module;
• video conferencing module;
• e-mail client module;
• instant messaging (IM) module;
• text messaging module; • workout support module;
• camera module for still and/or video images;
• image management module;
• browser module;
• calendar module;
• widget modules, which may include one or more of: weather widget, stocks widget, calculator widget, alarm clock widget, dictionary widget, and other widgets obtained by the user, as well as user-created widgets;
• widget creator module for making user-created widgets;
• search module;
• media player module, which may be made up of a video player module and a music player module;
• notes module;
• map module; and/or
• online video module.
[0044] Examples of other applications 228 that may be stored in memory 202 include word processing applications, image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication applications. In some implementations, these applications (and/or other applications not listed) work together with the spell-check module 230 and the word suggestion module 232 (described below) to provide spell check and/or word selection functions for text that is input into the applications.
[0045] The spell-check module 230 determines whether words that are input by the user are correctly spelled. In some implementations, the spell-check module 230 compares each word entered by the user against the words in the dictionaries 234 to determine whether a match exists. If no match exists for a respective word, the user is alerted that the word may be misspelled. For example, the word may be highlighted (e.g., in yellow), underlined, or otherwise displayed in a distinctive manner. In some implementations, if no match exists, the user is alerted during a spell-check operation, where the user is sequentially alerted to all of the misspelled words in a document or text input. In some implementations, the spell-check module 230 operates in conjunction with the word suggestion module 232 to provide alternative spellings for a misspelled word. In some implementations, the spell-check module 230 and the word suggestion module 232 operate in conjunction with the user interface module 226 to display misspelled words in a distinctive manner and to provide user interface objects for word suggestions (e.g., lists of suggested words, additional letters following those that are already entered, etc.). For example, in some implementations, the spell-check module 230 identifies, to the user interface module 226, which words are misspelled, and the user interface module 226 causes those words to be displayed in a distinctive manner (e.g., with a red underline). When the word is selected (e.g., by a finger press or mouse click), the user interface module 226 causes a list of selectable alternative spellings provided by the word suggestion module 232 to be displayed to the user (e.g., in a drop down menu or popup window).
[0046] The word suggestion module 232 determines alternative spellings (e.g., words that the user likely intended to enter) for user-entered words or text sequences that do not appear in the dictionaries 234. For example, in some implementations, when the spell-check module 230 determines that a user-entered word does not appear in the dictionaries 234, the word suggestion module 232 identifies one or more words from the dictionaries 234 that are similar to the misspelled word. Various techniques may be used to determine what words are similar to a misspelled word, such as approximate string matching (e.g., using Damerau- Levenshtein distance to determine the similarity between the misspelled word and candidate word suggestions), n-gram analysis, and the like. In some implementations, one or more candidate word suggestions are presented to the user as possible replacements for a misspelled word (e.g., in a drop down menu or popup window and/or as part of a spell-check operation, as discussed above). In some implementations, the word suggestion module provides an autocorrect function, where misspelled words are automatically replaced (as soon as they are input) with other words if it is determined that the other words were actually intended by the user. For example, this may occur when the word suggestion module 232 identifies only one candidate word for a misspelled word, or when one candidate word is substantially more similar to the misspelled word than any other candidate words, either of which indicates that the user most likely intended the candidate word. [0047] The dictionaries 234 include an initial dictionary 236 and supplemental dictionaries 238-n. The dictionaries 234 include lists of words, and are accessible to and/or used by the spell-check module 230 and the word suggestion module 232 (and/or any other programs or modules of the client computer 102). In some implementations, the dictionaries 234 include additional information, such as pronunciation guides (human and/or machine readable), subject matter identifiers, definitions, part-of-speech information, common misspellings, usage statistics, etc. In some implementations, the supplemental dictionaries 238-n relate to particular subjects. For example, supplemental dictionaries may be dictionaries of words related to legal terms, medical terms, sports terms (including, for example, team names, player rosters, etc.), music terms (including, for example, band names, artist names, song/album names, etc.), scientific terms, computer terms, and the like. Of course, dictionaries for other subjects (and sub-categories and super-categories of the listed subjects) may be provided as well. For example, there may be numerous different supplemental dictionaries for sports terms, such as dictionaries for specific sports (e.g., including team names and player rosters for all professional and college football teams), dictionaries for sports associated with a particular region (e.g., including team names and player rosters for all California professional sports teams), etc. In some implementations, the supplemental dictionaries 238-n include words from different languages (e.g., Latin words may commonly appear in Medical and Legal supplemental dictionaries).
[0048] In some implementations, the supplemental dictionaries 238-n include dictionaries of foreign words. These may be particularly beneficial for users that input text into a device in several different languages, either as mixed text strings (e.g., "I'm all out of dinero!"), or separate text strings (e.g., a bi-lingual user may use different languages at different times). In some implementations, supplemental word correction dictionaries that include foreign words are full spell-check dictionaries (e.g., include all or substantially all of the words that would be in an initial dictionary for that language. In some implementations, they include a smaller subset of foreign words, such as those words from the foreign language that are most commonly used by non-native speakers of that language.
[0049] The usage monitoring module 240 monitors text inputs for determining which
(if any) supplemental dictionaries should be included in a client computer. In some implementations, the usage monitoring module 240 includes a trigger word list 242 and usage logs 244. The trigger word list (or lists) 242 includes words that are each associated with a subject for which a supplemental dictionary exists. An example of a trigger word list 242 is shown in Figure 4A, in accordance with some implementations. As shown in Figure 4A, individual words may be associated with one or more subjects. For example, "syzgzy" is associated with the broader "scientific" subject, as well as the narrower "astronomy" subject. In some implementations, the usage monitoring module 240 uses the trigger word list 242 to determine which supplemental dictionaries should be included on the client computer 102. For example, if a user enters a word that is found in the trigger words list 242, the
supplemental dictionary associated with that word is downloaded to the client computer. Specific techniques for determining which dictionaries to include are discussed below with reference to Figures 5A-5B.
[0050] In some implementations, the usage logs 244 include a list of out-of-dictionary words that were entered by a user and were not corrected. For example, if a user enters the word "syzgzy" into a note taking application, and it is identified as misspelled but is not corrected by the user, that word may be included in a usage log 244. In some
implementations, usage logs include a listing of all of the words entered by a user. In some implementations, usage logs exclude common words, such as "the," "and," "be," and the like. In some implementations, the usage monitoring module 240 uses the usage logs 244 to determine which supplemental dictionaries should be included on the client computer.
[0051] In some implementations, the usage logs 244 also include usage statistics for the words, such as the number of times that a word has been used, the frequency of its use, etc. Figure 4B illustrates an example of a usage log 244 that includes a list of all words entered by a user, in accordance with some implementations. In this example, the usage log 244 includes a column identifying the number of times that each word has been input by the user (e.g., the "# of instances"). Various ways in which usage logs 244 may be used by the usage monitoring module 240 to determine what supplemental dictionaries should be included in the client computer are discussed below with reference to Figures 5A-5B.
[0052] In some implementations, usage logs are provided to a remote computer system (e.g., the server computer 104). The remote computer system then uses the usage logs to determine what supplemental dictionaries should be provided to the client computer. By providing usage logs to the remote computer system for analysis, a user' s privacy can be maintained while also reducing the processing load on the client computer. In particular, because the usage log includes word lists that have been extracted from text inputs, but does not include the text inputs themselves, the contents of the user's communications and documents are not exposed. In some implementations, where analysis of usage logs occurs on a server or other computer remote from the client computer, users can disable the option of sending usage logs to the remote computer.
[0053] Figure 3 is a block diagram depicting a server computer system 104 in accordance with some implementations. In some implementations, the components described as being part of the server computer system 104 are distributed across multiple server computers, client computers, or any combination of client and server computers.
[0054] Moreover, the server computer system 104 is only one example of a suitable computer system, and some implementations have fewer or more components, combine two or more components, or have a different configuration or arrangement of the components than those shown in Figure 3. The various components shown in Figure 3 may be
implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
[0055] Returning to Figure 3, in some implementations, the server computer 104 includes memory 302 (which may include one or more computer readable storage mediums), one or more processing units (CPUs) 304, an input/output (I/O) interface 306, and a network communications interface 308. These components may communicate over one or more communication buses or signal lines 301. Communication buses or signal lines 301 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
[0056] The network communications interface 308 includes wired communications port 310 and/or RF (radio frequency) circuitry 312. Network communications interface 308 (in some implementations, in conjunction with wired communications port 310 and/or RF circuitry 312) enables communication with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices. In some implementations, the network communications interface 308 facilitates communications between computer systems, such as between client and server computers. Wired communications port 310 receives and sends communication signals via one or more wired interfaces. Wired communications port 310 (e.g., Ethernet, Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.). In some implementations, the wired communications port is a modular port, such as an RJ type receptacle.
[0057] The radio Frequency (RF) circuitry 312 receives and sends RF signals, also called electromagnetic signals. RF circuitry 312 converts electrical signals to/from
electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. RF circuitry 312 may include well- known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. Wireless communication may use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile
Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDM A), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802. l lg and/or IEEE 802.11η), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for e-mail (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS), or any other suitable communication protocol.
[0058] The I/O interface 306 couples input/output devices of the server computer 104, such as a display 314 and a keyboard 316 to the user interface module 326. The I/O interface 306 may also include other input/output components, such as physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth.
[0059] The display 314 displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively termed
"graphics"). In some implementations, the display 314 uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, LED (light emitting diode) technology, OLED technology, or any other suitable technology or output device.
[0060] The keyboard 316 allows a user to interact with the server computer 104 by inputting characters and controlling operational aspects of the server computer 104. In some implementations, the keyboard 316 is a physical keyboard with a fixed key set. In some implementations, the keyboard 316 is a touchscreen-based, or "virtual" keyboard, such that different key sets (corresponding to different alphabets, character layouts, etc.) may be displayed on the display 314, and input corresponding to selection of individual keys may be sensed by one or more touch- sensitive sensors and/or surfaces.
[0061] Memory 302 may include high-speed random access memory and may also include non- volatile and/or non-transitory computer readable storage media, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. In some implementations, memory 302, or the non-volatile and/or non- transitory computer readable storage media of memory 302, stores the following programs, modules, and data structures, or a subset thereof: operating system 322, communications module 324, user interface module 326, supplemental dictionaries 328-n, and usage monitoring module 330.
[0062] The operating system 322 (e.g., DARWIN, RTXC, LINUX, UNIX, IOS, OS
X, WINDOWS, or an embedded operating system such as VXWORKS) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
[0063] The communications module 324 facilitates communication with other devices over the network communications interface 308 and also includes various software components for handling data received by the RF circuitry 312 and/or the wired
communications port 310.
[0064] The user interface module 326 receives commands and/or inputs from a user via the I/O interface (e.g., from the keyboard 316 and/or the touchscreen 318), and generates user interface objects on the display 314. In some implementations, the user interface module 326 provides virtual keyboards for entering text via the touchscreen 318. [0065] Supplemental dictionaries 328-n include the various supplemental dictionaries that can be provided to client computers to supplement an initial word correction dictionary on those devices (e.g., the initial dictionary 236, Figure 2). In some implementations, the supplemental dictionaries 328-n include terms related to a particular subject matter. For example, as shown in Figure 3, supplemental dictionaries 328 include a legal dictionary 328- 1, a medical dictionary 328-2, a scientific dictionary 328-3, a sports dictionary 328-4, and so forth. Individual supplemental dictionaries are provided to a client device based on a request from the client device for that dictionary (e.g., because the client device determined that a use condition has been satisfied indicating a need for that dictionary), and/or because a server computer determined that the use condition has been met. Thus, in some implementations, the client computer 102 initiates the transfer of a supplemental dictionary from a server, and in some implementations, the server computer 104 initiates the transfer. In some
implementations, both the server 104 and the client 102 are able to initiate the transfer of a supplemental dictionary.
[0066] In some implementations, the usage monitoring module 330 monitors word usage from one or more client computers, and determines which (if any) supplemental dictionaries 328 should be provided to the respective client computers. In some
implementations, the usage monitoring module 330 receives usage logs from client computers (e.g., the usage logs 244, Figure 2), and compares the words in the usage logs against the words in the supplemental dictionaries 328 to determine if certain use conditions are met (e.g., whether a user has input a predetermined number of words in a given supplemental dictionary). In some implementations, the usage monitoring module 330 includes a trigger word list 332, similar to the trigger word list 242 discussed above with respect to Figures 2 and 4A. Trigger word lists 332 include subsets of words from respective supplemental dictionaries. In some implementations, the usage monitoring module 330 uses the trigger word list 332 to determine which supplemental dictionaries should be included on the client computer. Specific techniques for determining which dictionaries to include are discussed below with reference to Figures 5A-5B.
[0067] In some implementations, comparing a user' s word usage against all of the words in the supplemental dictionaries provides a robust analysis of what subjects the user is interested in (and hence what dictionaries would be useful to him or her), because any user- inputted word that appears in the supplemental dictionaries will be identified. On the other hand, comparing word usage against the trigger word list 332, which includes only a subset of the words in the supplemental dictionaries, may adequately identify dictionaries that will be useful to a user, while reducing processing time and memory usage.
[0068] Figures 5A-5B are flow diagrams representing a method 500 for providing a supplemental word correction dictionary, according to certain implementations. The methods are, optionally, governed by instructions that are stored in a computer memory or non- transitory computer readable storage medium (e.g., memory 202 of the client computer 102, memory 302 of the server computer 104) and that are executed by one or more processors of one or more computer systems, including, but not limited to, the client computer system 102 and/or the server computer system 104. The computer readable storage medium may include a magnetic or optical disk storage device, solid state storage devices such as Flash memory, or other non-volatile memory device or devices. The computer readable instructions stored on the computer readable storage medium may include one or more of: source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors. In various implementations, some operations in each method may be combined and/or the order of some operations may be changed from the order shown in the figures. Also, in some implementations, operations shown in separate figures and/or discussed in association with separate methods may be combined to form other methods, and operations shown in the same figure and/or discussed in association with the same method may be separated into different methods.
[0069] In some implementations, the method 500 is performed at one or more electronic devices each having one or more processors and memory storing one or more programs for execution by the one or more processors (e.g., the client computer 102 and/or the server computer 104). For simplicity, the following discussion describes several of the steps of the method 500 as being performed by a computer system, which includes, in some implementations, the client computer 102, the server computer 104, or both (and/or other computer systems as well).
[0070] Turning to Figure 5A, the computer system receives an at least partial word input by a user (502). In some implementations, the at least partial word is included in a plurality of words input by the user (503). Words are input, for example, into a text entry field in an email, a text/instant message, a text document (e.g., a word processing document, a note taking application, etc.), a calendar entry, a social networking post, and the like. In some implementations, the words may be input into a text field via a speech-to-text function (e.g., a user can speak the words, and the speech-to-text function will provide textual representations of the words for input into the text field.) In some implementations where the computer system is a server computer system, the plurality of words are input into a client device, and are received by the server computer. In some implementations, the plurality of words are sent to the server computer in one or more usage logs 244 (Figures 2 and 4B).
[0071] The computer system determines that a use condition of at least one word of the plurality of words is satisfied (504).
[0072] In some implementations, determining that the use condition is satisfied (step
504) includes determining that the at least partial word is not found in the existing word correction dictionary (506). For example, a client device (e.g., the client computer 102) will determine as part of a spell-check operation (e.g., with the spell-check module 230) that the at least partial word that was input by a user does not appear in the initial dictionary 236. In some implementations, the computer system determines that the at least partial word is not found in the existing word correction dictionary, and is also not corrected by the user (since a user correcting a word indicates that it was misspelled, and not merely out-of-dictionary). Thus, for example, if a user enters the word "teh" but subsequently corrects it to "the," the computer system will not attempt to obtain a supplemental dictionary based on the word "teh," even though it did not appear in the existing dictionary. In some implementations, if a word is not found in the existing dictionary, but corresponds to a common misspelling of another word (e.g., "teh" for "the"), the use condition will not be satisfied with respect to that word.
[0073] In some implementations, the electronic device determines whether the use condition is satisfied for a partial word, instead of a complete word, such as by determining that a partial word most likely corresponds to a particular word, and then determining whether a use condition is satisfied for that particular word. For example, if a user enters the partial word "szyg," the electronic device can determine that the most likely (or possibly the only) word that starts with these letters is "szygzy," and determine whether the use condition for the complete word is satisfied. [0074] In some implementations, determining that the use condition is satisfied (step
504) further includes determining that the at least partial word is found in the supplemental dictionary (508). Thus, if a word is not found in an existing dictionary, but it is found in a supplemental dictionary, then the use condition is satisfied, and the supplemental dictionary will be obtained. If the word is not found in either the existing or the supplemental dictionaries, the use condition is not satisfied, and no supplemental dictionary will be obtained. In some implementations, such as where the method takes place on a client computer, step (508) includes sending the at least one word to a remote computer (e.g., the server system 104) so that the remote computer can search among stored supplemental dictionaries (e.g., supplemental dictionaries 328) for the at least partial word. In some implementations, the at least partial word is sent to the remote computer in one or more usage logs (e.g., usage log 244, Figures 2 and 4B).
[0075] In some implementations, determining that the use condition is satisfied (step
504) includes determining that the at least partial word has been input by the user a predetermined number of times (510). For example, in some implementations, if a word that does not appear in an existing dictionary (but that does appear in a supplemental dictionary) has been input by a user twice, then a supplemental dictionary in which that word appears is obtained. In some implementations, the predetermined number of times is 2, 3, 4, or 5, or any other appropriate number. In some implementations, if the word does not appear in any supplemental dictionary, then the use condition is not satisfied and no supplemental dictionary is obtained, regardless of how many times the word has been entered.
[0076] In some implementations, determining that the use condition is satisfied (step
504) further includes determining that the at least partial word has been input by the user the predetermined number of times within a predetermined time period (512). For example, in some implementations, the use condition is satisfied if the word is input twice in a single day. Other usage frequencies are used in various implementations, such as if the word is used five times per day, once per week, etc.
[0077] In some implementations, determining that the use condition is satisfied (step
504) includes determining that the plurality of words includes a predetermined number of words associated with the subject matter (514). Thus, it can be determined whether a user is using enough different words of a particular subject matter to justify obtaining the supplemental dictionary for that subject matter. Additionally, it can be inferred that a user would benefit from that supplemental dictionary without relying on the user entering just a single word a predetermined number of times and/or with a predetermined frequency. In some implementations, the use condition is satisfied if 2, 5, 10, or more user-entered words are found in a supplemental dictionary for a particular subject matter. As a specific example, in some implementations, if a user enters any two words (e.g., "Favre" and "Pujols") that are found in a particular supplemental dictionary (e.g., including "Sports" terms), then that supplemental dictionary is obtained. In some implementations, the use condition is satisfied if a predetermined number of words associated with the subject matter are input into a single text input field (e.g., an email body, a text/instant message, a text document, etc.).
[0078] In some implementations, determining that the use condition is satisfied (step
504) includes determining that words associated with the subject matter have been input by the user with a predetermined frequency (516). Thus, if a user inputs words that appear in a "medical" supplemental dictionary (even if they are different words) with a predetermined frequency (e.g., 1 word per day, 5 words per day, 50 words per week, etc.), the use condition is satisfied.
[0079] In some implementations, determining that the use condition is satisfied (step
504) includes determining that at least one of the plurality of words is found in a list of trigger words (518). In some implementations, the computer system stores one or more lists of trigger words (e.g., the trigger word list 242, Figures 2 and 4A), and if the user enters a word that appears on the trigger word list, a supplemental dictionary of the same subject matter of that word is obtained. For example, if a user entered the word "reexamination," which is listed as a "legal" word on the trigger word list 242 (Figure 4A), a supplemental dictionary for "legal" terms will be obtained. In some implementations, the list of trigger words is stored on a client device (e.g., the client device 102), and the client device determines whether the at least one of the plurality of words appear in the list of trigger words (e.g., with the usage monitoring module 240). In some implementations, if the client device determines that a trigger word associated with a particular word correction dictionary has been used, it sends an identifier of the supplemental word correction dictionary to a server system (e.g., the server system 104), and receives the supplemental word correction dictionary from the server system, as discussed below with reference to step (522). In some implementations, the client device only requests the supplemental dictionary from the server system when the client device is coupled to a high-speed network and/or a network that is not associated with a data-limited service (e.g., a Wi-Fi rather than a cellular data network).
[0080] In some implementations, any of the use conditions described above are used in conjunction with the trigger word list. For example, in some implementations, the use condition is satisfied when a user inputs a word that appears on a trigger word list a predetermined number of times and/or with a predetermined frequency. In some
implementations, the use condition is satisfied when a user inputs a plurality of words that both appear on a trigger word list and are associated with a particular subject matter a particular number of times and/or with a predetermined frequency. For example, the use condition may be satisfied if a user inputs 5 "sports" words that are each contained in the trigger word list 242. On the other hand, in some implementations, the user conditions are used in conjunction with entire dictionaries, such as when usage logs are sent to a remote server, and the remote server determines if the use conditions are satisfied with respect to any word found in any of the supplemental dictionaries.
[0081] Turning to Figure 5B, in some implementations, the computer system requests user confirmation that the supplemental word correction dictionary should be obtained (519). For example, the computer system will cause a prompt to be presented to the user that identifies the particular supplemental dictionary that is to be obtained and allows the user to accept or reject the dictionary. Specifically, a prompt may include the text "It looks like you use quite a few [subject matter] words. Would you like to download a dictionary that will help make sure these words are correctly spelled?" In some implementations, the prompt is displayed graphically. In some implementations, the prompt is spoken to the user, such as by a digital assistant (e.g., Applicants' SIRI®). If the user accepts the dictionary (e.g., by pressing an "accept" button, speaking words of assent, or any other appropriate way), the dictionary will be obtained. If the user rejects the dictionary, it will not be obtained. This way, if a word was simply mistyped, represents an isolated usage by the user, or is associated with several different (and potentially unrelated) subjects, an unnecessary supplemental dictionary will not be obtained.
[0082] In response to determining that the use condition is satisfied (and, in some implementations, determining that the user has confirmed that the dictionary should be obtained), the computer system obtains a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary (520). Thus, as a specific example, if a use condition is satisfied for the word "szygzy" (e.g., it is not found in an existing word correction dictionary on a client device), the computer system obtains a supplemental word correction dictionary that includes other words associated with the subject matter of "science" or "astronomy."
[0083] In some implementations where parts of the method 500 are performed at a client device (e.g. the client computer 102), obtaining the supplemental word correction dictionary includes sending a request for the supplemental word correction dictionary to a server system remote from the client device, and receiving the supplemental word correction dictionary from the server system (522). In some implementations, the request includes an identifier of a particular supplemental dictionary (e.g., "sports," "legal," etc.).
[0084] In some implementations where parts of the method 500 are performed at a server system (e.g., the server system 104), obtaining the supplemental word correction dictionary includes retrieving the supplemental word correction dictionary from a storage device associated with the server system (524). In some implementations, the method then further includes sending the supplemental word correction dictionary to a client device (e.g., the client computer 102) remote from the server system (526).
[0085] In some implementations, the computer system replaces a plurality of characters received at the client device with a word from the supplemental word correction dictionary (528). For example, once the client device 102 receives and stores a supplemental word correction dictionary, the client device 102 replaces a plurality of user-entered characters (e.g., a misspelled word) with a word from the supplemental dictionary (e.g., as part of a spell-check operation). In another example, the client device 102 replaces one or more user-entered characters with a selected candidate word from the supplemental dictionary, such as when an auto- suggest and/or auto-complete function provides one or more candidate complete words based on one or more initial letters (e.g., suggesting
"reexamination" when the user enters "reex").
[0086] In accordance with some implementations, Figure 6 shows a functional block diagram of electronic device 600 configured in accordance with the principles of the invention as described above. The functional blocks of the device may be implemented by hardware, software, or a combination of hardware and software to carry out the principles of the invention. It is understood by persons of skill in the art that the functional blocks described in Figure 6 may be combined or separated into sub-blocks to implement the principles of the invention as described above. Therefore, the description herein may support any possible combination or separation or further definition of the functional blocks described herein.
[0087] As shown in Figure 6, electronic device 600 includes an input receiving unit
602 configured to receive an at least partial word from a user. In some implementations, the at least partial word is input into any of the group consisting of: an email; a text message; a text document; a calendar entry; and a social networking post. The electronic device 600 also includes processing unit 606 coupled to the input receiving unit 600. In some
implementations, processing unit 606 includes a use condition determining unit 608, a word correction dictionary obtaining unit 609, a dictionary requesting unit 610, and a word suggesting/replacing unit 612.
[0088] The processing unit 606 is configured to determine that a use condition of the at least partial word is satisfied (e.g., with the use condition determining unit 608); and in response to determining that the use condition is satisfied, obtain a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word (e.g., with the word correction dictionary obtaining unit 609), wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
[0089] In some implementations, the at least partial word is included in a plurality of words input by a user. In some implementations, the supplemental word correction dictionary is selected from a plurality of supplemental word correction dictionaries, each associated with a respective subject matter.
[0090] In some implementations, the electronic device 600 obtains the supplemental word correction dictionary by sending a request for the supplemental word correction dictionary to a server system remote from the electronic device 600 device (e.g., with the dictionary requesting unit 610); and receives the supplemental word correction dictionary from the server system (e.g., with the word correction dictionary obtaining unit 609). [0091] In some implementations, the electronic device 600 is further configured to replace a plurality of characters received at the electronic device with a word from the supplemental word correction dictionary (e.g., with the word suggesting/replacing unit 612).
[0092] In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) includes determining that the at least partial word is not found in the existing word correction dictionary. In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) further includes determining that the at least partial word is found in the supplemental dictionary.
[0093] In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) includes determining that the at least partial word has been input by the user a predetermined number of times. In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) further includes determining that the at least partial word has been input by the user the predetermined number of times within a predetermined time period.
[0094] In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) includes determining that the plurality of words includes a predetermined number of words associated with the subject matter.
[0095] In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) includes determining that words associated with the subject matter have been input by the user with a predetermined frequency.
[0096] In some implementations, determining that the use condition is satisfied (e.g., with the use condition determining unit 608) includes determining that at least one of the plurality of words is found in a list of trigger words. In some implementations, the list of trigger words is stored on the electronic device. In some embodiments, the list of trigger words associates trigger words with an identifier of the supplemental word correction dictionary.
[0097] In some implementations, the electronic device 600 sends the identifier of the supplemental word correction dictionary from the electronic device to a server system (e.g., with the dictionary requesting unit 612); and receives the supplemental word correction dictionary from the server system (e.g., with the word correction dictionary obtaining unit 609).
[0098] The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the disclosed implementations to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain the principles and practical applications of the disclosed ideas, to thereby enable others skilled in the art to best utilize them with various modifications as are suited to the particular use contemplated.
[0099] It will be understood that, although the terms "first," "second," etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.
[0100] The terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting of the claims. As used in the description of the implementations and the appended claims, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0101] As used herein, the term "if may be construed to mean "when" or "upon" or
"in response to determining" or "in accordance with a determination" or "in response to detecting," that a stated condition precedent is true, depending on the context. Similarly, the phrase "if it is determined [that a stated condition precedent is true]" or "if [a stated condition precedent is true]" or "when [a stated condition precedent is true]" may be construed to mean "upon determining" or "upon a determination that" or "in response to determining" or "in accordance with a determination" or "upon detecting" or "in response to detecting" that the stated condition precedent is true, depending on the context.

Claims

What is claimed is:
1. A method for providing a supplemental word correction dictionary, comprising:
at one or more electronic devices each having one or more processors and memory storing one or more programs for execution by the one or more processors:
receiving, an at least partial word input by a user;
determining that a use condition of the at least partial word is satisfied; and in response to determining that the use condition is satisfied, obtaining a
supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
2. The method of claim 1, wherein the at least partial word is included in a plurality of words input by a user.
3. The method of any of claims 1-2, wherein the supplemental word correction dictionary is selected from a plurality of supplemental word
correction dictionaries, each associated with a respective subject matter.
4. The method of any of claims 1-3, wherein the method is performed at a server system, and wherein obtaining the supplemental word correction dictionary includes retrieving the supplemental word correction dictionary from a storage device associated with the server
system;
the method further comprising sending the supplemental word correction dictionary to
a client device remote from the server system.
5. The method of any of claims 1-3, wherein the method is performed at a client device, and wherein obtaining the supplemental word correction dictionary includes:
sending a request for the supplemental word correction dictionary to a server system remote from the client device; and
receiving the supplemental word correction dictionary from the server system.
6. The method of claim 5, further comprising replacing a plurality of characters received at the client device with a word from the supplemental word correction dictionary.
7. The method of any of claims 1-6, wherein determining that the use condition is satisfied includes determining that the at least partial word is not found in the existing word correction dictionary.
8. The method of any of claims 1-7, wherein determining that the use condition is satisfied includes determining that the at least partial word is found in the supplemental dictionary.
9. The method of any of claims 1-8, wherein determining that the use condition is satisfied includes determining that the at least partial word has been input by the user a predetermined number of times.
10. The method of any of claims 1-9, wherein determining that the use condition is satisfied includes determining that the at least partial word has been input by the user the predetermined number of times within a
predetermined time period.
11. The method of any of claims 2-10, wherein determining that the use condition is satisfied includes determining that the plurality of words includes a predetermined number of words associated with the subject matter.
12. The method of claim 1, wherein determining that the use condition is satisfied includes determining that words associated with the subject matter have been input by the user with a predetermined frequency.
13. The method of any of claims 2-12, wherein determining that the use condition is satisfied includes determining that at least one of the plurality of words is found in a list of trigger words.
14. The method of claim 13, wherein the list of trigger words is stored on the client device.
15. The method of claim 14, wherein the list of trigger words associates trigger words with an identifier of the supplemental word correction
dictionary.
16. The method of claim 15, further comprising:
sending the identifier of the supplemental word correction dictionary from the client device to a server system; and
receiving the supplemental word correction dictionary from the server system.
17. The method of claim 1, wherein determining that the use condition is satisfied includes any of the group consisting of:
determining that the at least partial word is not found in the existing word correction dictionary;
determining that the at least partial word has been input by the user with a predetermined frequency;
determining that the at least partial word has been input by the user a predetermined number of times; and
determining that words associated with the subject matter have been input by the user with a predetermined frequency.
18. The method of claim 2, wherein determining that the use condition is satisfied includes any of the group consisting of:
determining that the plurality of words includes a predetermined number of words associated with the subject matter; and
determining that at least one of the plurality of words input by the user is found in a list of trigger words.
19. The method of any of claims 1-18, wherein the at least partial word is input into any of the group consisting of:
an email;
a text message;
a text document;
a calendar entry; and
a social networking post.
20. The method of any of claims 1-19, further comprising, prior to obtaining the supplemental word correction dictionary, requesting user confirmation that the supplemental word correction dictionary should be obtained, wherein the supplemental word correction dictionary is obtained in response to receiving confirmation from the user.
21. A system, comprising:
one or more processors; and
memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:
receiving an at least partial word input by a user;
determining that a use condition of the at least partial word is satisfied; and in response to determining that the use condition is satisfied, obtaining a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
22. The system of claim 21, wherein the one or more programs
further include instructions for performing any of the methods of
claims 2-20.
23. An electronic device,
comprising: a display;
a touch-sensitive
surface; one or
more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods of claims 1-20.
24. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with a display, a touch- sensitive surface cause the device to perform any of the methods of claims 1- 20.
25. An electronic device,
comprising: a display;
a touch- sensitive surface; and
means for performing any of the methods of claims 1-20.
26. An information processing apparatus for use in an electronic device with a display, a touch- sensitive surface, comprising:
means for performing any of the methods of claims 1-20.
27. An electronic device, comprising:
an input receiving unit configured to receive an at least partial word from a user; and a processing unit coupled to the input receiving unit, the processing unit configured
to:
determine that a use condition of the at least partial word is satisfied; and in response to determining that the use condition is satisfied, obtain a supplemental word correction dictionary that includes words associated with a same subject matter as the at least partial word, wherein the supplemental word correction dictionary supplements an existing word correction dictionary.
28. The electronic device of claim 27, wherein the at least partial word is included in a plurality of words input by a user.
29. The electronic device of any of claims 27-28, wherein the
supplemental word correction dictionary is selected from a plurality of
supplemental word correction dictionaries, each associated with a
respective subject matter.
30. The electronic device of any of claims 27-29, the processing unit further configured to obtain the supplemental word correction dictionary by:
sending a request for the supplemental word correction dictionary to a server system remote from the electronic device; and
receiving the supplemental word correction dictionary from the server system.
31. The electronic device of any of claims 27-30, the processing unit further configured to replace a plurality of characters received at the electronic device with a word from the supplemental word correction dictionary.
32. The electronic device of any of claims 27-31, wherein determining that the use condition is satisfied includes determining that the at least partial word is not found in the existing word correction dictionary.
33. The electronic device of any of claims 27-32, wherein determining that the use condition is satisfied includes determining that the at least partial word is found in the supplemental dictionary.
34. The electronic device of any of claims 27-33, wherein determining that the use condition is satisfied includes determining that the at least partial word has been input by the user a predetermined number of times.
35. The electronic device of any of claims 27-34, wherein determining that the use condition is satisfied includes determining that the at least partial word has been input by the user the predetermined number of times within a predetermined time period.
36. The electronic device of any of claims 28-35, wherein determining that the use condition is satisfied includes determining that the plurality of words includes a predetermined number of words associated with the
subject matter.
37. The electronic device of claim 27, wherein determining that the use condition is satisfied includes determining that words associated with the subject matter have been input by the user with a predetermined frequency.
38. The electronic device of any of claims 28-37, wherein determining that the use condition is satisfied includes determining that at least one of the plurality of words is found in a list of trigger words.
39. The electronic device of claim 38, wherein the list of trigger words is stored on the electronic device.
40. The electronic device of any of claims 38-39, wherein the list of trigger words associates trigger words with an identifier of the supplemental word correction dictionary.
41. The electronic device of claim 40, the processing unit further configured to: send the identifier of the supplemental word correction dictionary from the client device to a server system; and
receive the supplemental word correction dictionary from the server system.
42. The electronic device of any of claims 27-41, wherein the at least partial word is input
into any of the group consisting of:
an email;
a text message;
a text document;
a calendar entry; and
a social networking post.
PCT/US2014/023826 2013-03-14 2014-03-11 Automatic supplementation of word correction dictionaries Ceased WO2014159473A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361785703P 2013-03-14 2013-03-14
US61/785,703 2013-03-14

Publications (2)

Publication Number Publication Date
WO2014159473A2 true WO2014159473A2 (en) 2014-10-02
WO2014159473A3 WO2014159473A3 (en) 2014-11-20

Family

ID=50771555

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/023826 Ceased WO2014159473A2 (en) 2013-03-14 2014-03-11 Automatic supplementation of word correction dictionaries

Country Status (2)

Country Link
US (1) US9977779B2 (en)
WO (1) WO2014159473A2 (en)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated 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
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE112014000709B4 (en) 2013-02-07 2021-12-30 Apple Inc. METHOD AND DEVICE FOR OPERATING A VOICE TRIGGER FOR A DIGITAL ASSISTANT
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101959188B1 (en) 2013-06-09 2019-07-02 애플 인크. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
KR101749009B1 (en) 2013-08-06 2017-06-19 애플 인크. Auto-activating smart responses based on activities from remote devices
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9684694B2 (en) 2014-09-23 2017-06-20 International Business Machines Corporation Identifying and scoring data values
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10078651B2 (en) 2015-04-27 2018-09-18 Rovi Guides, Inc. Systems and methods for updating a knowledge graph through user input
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9697194B2 (en) * 2015-06-08 2017-07-04 International Business Machines Corporation Contextual auto-correct dictionary
US10885593B2 (en) * 2015-06-09 2021-01-05 Microsoft Technology Licensing, Llc Hybrid classification system
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10394868B2 (en) * 2015-10-23 2019-08-27 International Business Machines Corporation Generating important values from a variety of server log files
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
JP6675078B2 (en) * 2016-03-15 2020-04-01 パナソニックIpマネジメント株式会社 Misrecognition and correction method, misrecognition and correction device, and misrecognition and correction program
US12223282B2 (en) 2016-06-09 2025-02-11 Apple Inc. Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US12197817B2 (en) 2016-06-11 2025-01-14 Apple Inc. Intelligent device arbitration and control
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10468015B2 (en) * 2017-01-12 2019-11-05 Vocollect, Inc. Automated TTS self correction system
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. Low-latency intelligent automated assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. Far-field extension for digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US11282528B2 (en) * 2017-08-14 2022-03-22 Lenovo (Singapore) Pte. Ltd. Digital assistant activation based on wake word association
JP7013172B2 (en) * 2017-08-29 2022-01-31 株式会社東芝 Speech synthesis dictionary distribution device, speech synthesis distribution system and program
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10915183B2 (en) * 2018-03-30 2021-02-09 AVAST Software s.r.o. Automatic language selection in messaging application
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
US10685180B2 (en) * 2018-05-10 2020-06-16 International Business Machines Corporation Using remote words in data streams from remote devices to autocorrect input text
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (en) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. Virtual assistant operation in multi-device environments
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US20200403818A1 (en) * 2019-06-24 2020-12-24 Dropbox, Inc. Generating improved digital transcripts utilizing digital transcription models that analyze dynamic meeting contexts
US11689379B2 (en) 2019-06-24 2023-06-27 Dropbox, Inc. Generating customized meeting insights based on user interactions and meeting media
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
JP2021168049A (en) * 2020-04-10 2021-10-21 富士フイルムビジネスイノベーション株式会社 Information processing equipment and programs
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US12301635B2 (en) 2020-05-11 2025-05-13 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US20220005566A1 (en) * 2020-07-02 2022-01-06 Enlitic, Inc. Medical scan labeling system with ontology-based autocomplete and methods for use therewith
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
TWI825467B (en) * 2021-08-23 2023-12-11 緯創資通股份有限公司 Data analysis system and data analysis method
US12153879B2 (en) 2022-04-19 2024-11-26 International Business Machines Corporation Syntactic and semantic autocorrect learning
US20240020472A1 (en) * 2022-07-15 2024-01-18 Courtney Toombs System and method for providing predictive text in for individuals working in specialized industries
CN116644737A (en) * 2023-02-09 2023-08-25 一贯智服(杭州)技术有限公司 Proper noun error correction method based on automatic thesaurus update and prefix tree structure
US20240304183A1 (en) * 2023-03-07 2024-09-12 International Business Machines Corporation Voice Recognition for Voice to Text Generated Typeahead In Suggested Application

Family Cites Families (631)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3828132A (en) 1970-10-30 1974-08-06 Bell Telephone Labor Inc Speech synthesis by concatenation of formant encoded words
US3704345A (en) 1971-03-19 1972-11-28 Bell Telephone Labor Inc Conversion of printed text into synthetic speech
US3979557A (en) 1974-07-03 1976-09-07 International Telephone And Telegraph Corporation Speech processor system for pitch period extraction using prediction filters
BG24190A1 (en) 1976-09-08 1978-01-10 Antonov Method of synthesis of speech and device for effecting same
JPS597120B2 (en) 1978-11-24 1984-02-16 日本電気株式会社 speech analysis device
US4310721A (en) 1980-01-23 1982-01-12 The United States Of America As Represented By The Secretary Of The Army Half duplex integral vocoder modem system
US4348553A (en) 1980-07-02 1982-09-07 International Business Machines Corporation Parallel pattern verifier with dynamic time warping
US5047617A (en) 1982-01-25 1991-09-10 Symbol Technologies, Inc. Narrow-bodied, single- and twin-windowed portable laser scanning head for reading bar code symbols
DE3382806T2 (en) 1982-06-11 1996-11-14 Mitsubishi Electric Corp Vector quantizer
US4688195A (en) 1983-01-28 1987-08-18 Texas Instruments Incorporated Natural-language interface generating system
JPS603056A (en) 1983-06-21 1985-01-09 Toshiba Corp Information rearranging device
DE3335358A1 (en) 1983-09-29 1985-04-11 Siemens AG, 1000 Berlin und 8000 München METHOD FOR DETERMINING LANGUAGE SPECTRES FOR AUTOMATIC VOICE RECOGNITION AND VOICE ENCODING
US5164900A (en) 1983-11-14 1992-11-17 Colman Bernath Method and device for phonetically encoding Chinese textual data for data processing entry
US4726065A (en) 1984-01-26 1988-02-16 Horst Froessl Image manipulation by speech signals
US4955047A (en) 1984-03-26 1990-09-04 Dytel Corporation Automated attendant with direct inward system access
US4811243A (en) 1984-04-06 1989-03-07 Racine Marsh V Computer aided coordinate digitizing system
US4692941A (en) 1984-04-10 1987-09-08 First Byte Real-time text-to-speech conversion system
US4783807A (en) 1984-08-27 1988-11-08 John Marley System and method for sound recognition with feature selection synchronized to voice pitch
US4718094A (en) 1984-11-19 1988-01-05 International Business Machines Corp. Speech recognition system
US5165007A (en) 1985-02-01 1992-11-17 International Business Machines Corporation Feneme-based Markov models for words
US4944013A (en) 1985-04-03 1990-07-24 British Telecommunications Public Limited Company Multi-pulse speech coder
US4819271A (en) 1985-05-29 1989-04-04 International Business Machines Corporation Constructing Markov model word baseforms from multiple utterances by concatenating model sequences for word segments
US4833712A (en) 1985-05-29 1989-05-23 International Business Machines Corporation Automatic generation of simple Markov model stunted baseforms for words in a vocabulary
EP0218859A3 (en) 1985-10-11 1989-09-06 International Business Machines Corporation Signal processor communication interface
US4776016A (en) 1985-11-21 1988-10-04 Position Orientation Systems, Inc. Voice control system
JPH0833744B2 (en) 1986-01-09 1996-03-29 株式会社東芝 Speech synthesizer
US4724542A (en) 1986-01-22 1988-02-09 International Business Machines Corporation Automatic reference adaptation during dynamic signature verification
US5128752A (en) 1986-03-10 1992-07-07 Kohorn H Von System and method for generating and redeeming tokens
US5759101A (en) 1986-03-10 1998-06-02 Response Reward Systems L.C. Central and remote evaluation of responses of participatory broadcast audience with automatic crediting and couponing
US5032989A (en) 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
DE3779351D1 (en) 1986-03-28 1992-07-02 American Telephone And Telegraph Co., New York, N.Y., Us
US4903305A (en) 1986-05-12 1990-02-20 Dragon Systems, Inc. Method for representing word models for use in speech recognition
EP0262938B1 (en) 1986-10-03 1993-12-15 BRITISH TELECOMMUNICATIONS public limited company Language translation system
DE3750221T2 (en) 1986-10-16 1994-11-17 Mitsubishi Electric Corp AMPLITUDE ADAPTIVE VECTOR QUANTIZER.
US4829576A (en) 1986-10-21 1989-05-09 Dragon Systems, Inc. Voice recognition system
US4852168A (en) 1986-11-18 1989-07-25 Sprague Richard P Compression of stored waveforms for artificial speech
US4727354A (en) 1987-01-07 1988-02-23 Unisys Corporation System for selecting best fit vector code in vector quantization encoding
US4827520A (en) 1987-01-16 1989-05-02 Prince Corporation Voice actuated control system for use in a vehicle
US5179627A (en) 1987-02-10 1993-01-12 Dictaphone Corporation Digital dictation system
US4965763A (en) 1987-03-03 1990-10-23 International Business Machines Corporation Computer method for automatic extraction of commonly specified information from business correspondence
US5644727A (en) 1987-04-15 1997-07-01 Proprietary Financial Products, Inc. System for the operation and management of one or more financial accounts through the use of a digital communication and computation system for exchange, investment and borrowing
CA1295064C (en) 1987-05-29 1992-01-28 Kuniyoshi Marui Voice recognition system used in telephone apparatus
DE3723078A1 (en) 1987-07-11 1989-01-19 Philips Patentverwaltung METHOD FOR DETECTING CONTINUOUSLY SPOKEN WORDS
CA1288516C (en) 1987-07-31 1991-09-03 Leendert M. Bijnagte Apparatus and method for communicating textual and image information between a host computer and a remote display terminal
US4974191A (en) 1987-07-31 1990-11-27 Syntellect Software Inc. Adaptive natural language computer interface system
US4827518A (en) 1987-08-06 1989-05-02 Bell Communications Research, Inc. Speaker verification system using integrated circuit cards
US5022081A (en) 1987-10-01 1991-06-04 Sharp Kabushiki Kaisha Information recognition system
US4852173A (en) 1987-10-29 1989-07-25 International Business Machines Corporation Design and construction of a binary-tree system for language modelling
US5072452A (en) 1987-10-30 1991-12-10 International Business Machines Corporation Automatic determination of labels and Markov word models in a speech recognition system
DE3876379T2 (en) 1987-10-30 1993-06-09 Ibm AUTOMATIC DETERMINATION OF LABELS AND MARKOV WORD MODELS IN A VOICE RECOGNITION SYSTEM.
US4914586A (en) 1987-11-06 1990-04-03 Xerox Corporation Garbage collector for hypermedia systems
US4992972A (en) 1987-11-18 1991-02-12 International Business Machines Corporation Flexible context searchable on-line information system with help files and modules for on-line computer system documentation
US5220657A (en) 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US4984177A (en) 1988-02-05 1991-01-08 Advanced Products And Technologies, Inc. Voice language translator
US5194950A (en) 1988-02-29 1993-03-16 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
US4914590A (en) 1988-05-18 1990-04-03 Emhart Industries, Inc. Natural language understanding system
FR2636163B1 (en) 1988-09-02 1991-07-05 Hamon Christian METHOD AND DEVICE FOR SYNTHESIZING SPEECH BY ADDING-COVERING WAVEFORMS
US4839853A (en) 1988-09-15 1989-06-13 Bell Communications Research, Inc. Computer information retrieval using latent semantic structure
JPH0293597A (en) 1988-09-30 1990-04-04 Nippon I B M Kk Speech recognition device
US4905163A (en) 1988-10-03 1990-02-27 Minnesota Mining & Manufacturing Company Intelligent optical navigator dynamic information presentation and navigation system
US5282265A (en) 1988-10-04 1994-01-25 Canon Kabushiki Kaisha Knowledge information processing system
DE3837590A1 (en) 1988-11-05 1990-05-10 Ant Nachrichtentech PROCESS FOR REDUCING THE DATA RATE OF DIGITAL IMAGE DATA
DE68913669T2 (en) 1988-11-23 1994-07-21 Digital Equipment Corp Pronunciation of names by a synthesizer.
US5027406A (en) 1988-12-06 1991-06-25 Dragon Systems, Inc. Method for interactive speech recognition and training
US5127055A (en) 1988-12-30 1992-06-30 Kurzweil Applied Intelligence, Inc. Speech recognition apparatus & method having dynamic reference pattern adaptation
US5293448A (en) 1989-10-02 1994-03-08 Nippon Telegraph And Telephone Corporation Speech analysis-synthesis method and apparatus therefor
SE466029B (en) 1989-03-06 1991-12-02 Ibm Svenska Ab DEVICE AND PROCEDURE FOR ANALYSIS OF NATURAL LANGUAGES IN A COMPUTER-BASED INFORMATION PROCESSING SYSTEM
JPH0782544B2 (en) 1989-03-24 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーション DP matching method and apparatus using multi-template
US4977598A (en) 1989-04-13 1990-12-11 Texas Instruments Incorporated Efficient pruning algorithm for hidden markov model speech recognition
US5197005A (en) 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5010574A (en) 1989-06-13 1991-04-23 At&T Bell Laboratories Vector quantizer search arrangement
JP2940005B2 (en) 1989-07-20 1999-08-25 日本電気株式会社 Audio coding device
US5091945A (en) 1989-09-28 1992-02-25 At&T Bell Laboratories Source dependent channel coding with error protection
CA2027705C (en) 1989-10-17 1994-02-15 Masami Akamine Speech coding system utilizing a recursive computation technique for improvement in processing speed
US5020112A (en) 1989-10-31 1991-05-28 At&T Bell Laboratories Image recognition method using two-dimensional stochastic grammars
US5220639A (en) 1989-12-01 1993-06-15 National Science Council Mandarin speech input method for Chinese computers and a mandarin speech recognition machine
US5021971A (en) 1989-12-07 1991-06-04 Unisys Corporation Reflective binary encoder for vector quantization
US5179652A (en) 1989-12-13 1993-01-12 Anthony I. Rozmanith Method and apparatus for storing, transmitting and retrieving graphical and tabular data
CH681573A5 (en) 1990-02-13 1993-04-15 Astral Automatic teller arrangement involving bank computers - is operated by user data card carrying personal data, account information and transaction records
EP0443548B1 (en) 1990-02-22 2003-07-23 Nec Corporation Speech coder
US5301109A (en) 1990-06-11 1994-04-05 Bell Communications Research, Inc. Computerized cross-language document retrieval using latent semantic indexing
JP3266246B2 (en) 1990-06-15 2002-03-18 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Natural language analysis apparatus and method, and knowledge base construction method for natural language analysis
US5202952A (en) 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
GB9017600D0 (en) 1990-08-10 1990-09-26 British Aerospace An assembly and method for binary tree-searched vector quanisation data compression processing
US5309359A (en) 1990-08-16 1994-05-03 Boris Katz Method and apparatus for generating and utlizing annotations to facilitate computer text retrieval
US5404295A (en) 1990-08-16 1995-04-04 Katz; Boris Method and apparatus for utilizing annotations to facilitate computer retrieval of database material
US5297170A (en) 1990-08-21 1994-03-22 Codex Corporation Lattice and trellis-coded quantization
US5400434A (en) 1990-09-04 1995-03-21 Matsushita Electric Industrial Co., Ltd. Voice source for synthetic speech system
US5216747A (en) 1990-09-20 1993-06-01 Digital Voice Systems, Inc. Voiced/unvoiced estimation of an acoustic signal
US5128672A (en) 1990-10-30 1992-07-07 Apple Computer, Inc. Dynamic predictive keyboard
US5325298A (en) 1990-11-07 1994-06-28 Hnc, Inc. Methods for generating or revising context vectors for a plurality of word stems
US5317507A (en) 1990-11-07 1994-05-31 Gallant Stephen I Method for document retrieval and for word sense disambiguation using neural networks
US5247579A (en) 1990-12-05 1993-09-21 Digital Voice Systems, Inc. Methods for speech transmission
US5345536A (en) 1990-12-21 1994-09-06 Matsushita Electric Industrial Co., Ltd. Method of speech recognition
US5127053A (en) 1990-12-24 1992-06-30 General Electric Company Low-complexity method for improving the performance of autocorrelation-based pitch detectors
US5133011A (en) 1990-12-26 1992-07-21 International Business Machines Corporation Method and apparatus for linear vocal control of cursor position
US5268990A (en) 1991-01-31 1993-12-07 Sri International Method for recognizing speech using linguistically-motivated hidden Markov models
GB9105367D0 (en) 1991-03-13 1991-04-24 Univ Strathclyde Computerised information-retrieval database systems
US5303406A (en) 1991-04-29 1994-04-12 Motorola, Inc. Noise squelch circuit with adaptive noise shaping
US5475587A (en) 1991-06-28 1995-12-12 Digital Equipment Corporation Method and apparatus for efficient morphological text analysis using a high-level language for compact specification of inflectional paradigms
US5293452A (en) 1991-07-01 1994-03-08 Texas Instruments Incorporated Voice log-in using spoken name input
US5687077A (en) 1991-07-31 1997-11-11 Universal Dynamics Limited Method and apparatus for adaptive control
US5199077A (en) 1991-09-19 1993-03-30 Xerox Corporation Wordspotting for voice editing and indexing
JP2662120B2 (en) 1991-10-01 1997-10-08 インターナショナル・ビジネス・マシーンズ・コーポレイション Speech recognition device and processing unit for speech recognition
US5222146A (en) 1991-10-23 1993-06-22 International Business Machines Corporation Speech recognition apparatus having a speech coder outputting acoustic prototype ranks
KR940002854B1 (en) 1991-11-06 1994-04-04 한국전기통신공사 Sound synthesizing system
US5386494A (en) 1991-12-06 1995-01-31 Apple Computer, Inc. Method and apparatus for controlling a speech recognition function using a cursor control device
US6081750A (en) 1991-12-23 2000-06-27 Hoffberg; Steven Mark Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US5903454A (en) 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
US5502790A (en) 1991-12-24 1996-03-26 Oki Electric Industry Co., Ltd. Speech recognition method and system using triphones, diphones, and phonemes
US5349645A (en) 1991-12-31 1994-09-20 Matsushita Electric Industrial Co., Ltd. Word hypothesizer for continuous speech decoding using stressed-vowel centered bidirectional tree searches
US5267345A (en) 1992-02-10 1993-11-30 International Business Machines Corporation Speech recognition apparatus which predicts word classes from context and words from word classes
ES2128390T3 (en) 1992-03-02 1999-05-16 At & T Corp TRAINING METHOD AND DEVICE FOR VOICE RECOGNITION.
US6055514A (en) 1992-03-20 2000-04-25 Wren; Stephen Corey System for marketing foods and services utilizing computerized centraland remote facilities
US5317647A (en) 1992-04-07 1994-05-31 Apple Computer, Inc. Constrained attribute grammars for syntactic pattern recognition
US5412804A (en) 1992-04-30 1995-05-02 Oracle Corporation Extending the semantics of the outer join operator for un-nesting queries to a data base
DE69323874T2 (en) 1992-05-20 1999-12-02 Industrial Research Ltd., Lower Hutt IMPROVEMENTS IN A BROADBAND REVERBERATION SYSTEM
US5293584A (en) 1992-05-21 1994-03-08 International Business Machines Corporation Speech recognition system for natural language translation
US5434777A (en) 1992-05-27 1995-07-18 Apple Computer, Inc. Method and apparatus for processing natural language
US5390281A (en) 1992-05-27 1995-02-14 Apple Computer, Inc. Method and apparatus for deducing user intent and providing computer implemented services
US5734789A (en) 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
US5333275A (en) 1992-06-23 1994-07-26 Wheatley Barbara J System and method for time aligning speech
US5325297A (en) 1992-06-25 1994-06-28 System Of Multiple-Colored Images For Internationally Listed Estates, Inc. Computer implemented method and system for storing and retrieving textual data and compressed image data
JPH0619965A (en) 1992-07-01 1994-01-28 Canon Inc Natural language processor
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
GB9220404D0 (en) 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
US5412806A (en) 1992-08-20 1995-05-02 Hewlett-Packard Company Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database
US5333236A (en) 1992-09-10 1994-07-26 International Business Machines Corporation Speech recognizer having a speech coder for an acoustic match based on context-dependent speech-transition acoustic models
US5384893A (en) 1992-09-23 1995-01-24 Emerson & Stern Associates, Inc. Method and apparatus for speech synthesis based on prosodic analysis
FR2696036B1 (en) 1992-09-24 1994-10-14 France Telecom Method of measuring resemblance between sound samples and device for implementing this method.
JPH0772840B2 (en) 1992-09-29 1995-08-02 日本アイ・ビー・エム株式会社 Speech model configuration method, speech recognition method, speech recognition device, and speech model training method
US5758313A (en) 1992-10-16 1998-05-26 Mobile Information Systems, Inc. Method and apparatus for tracking vehicle location
US6101468A (en) 1992-11-13 2000-08-08 Dragon Systems, Inc. Apparatuses and methods for training and operating speech recognition systems
US5455888A (en) 1992-12-04 1995-10-03 Northern Telecom Limited Speech bandwidth extension method and apparatus
US5412756A (en) 1992-12-22 1995-05-02 Mitsubishi Denki Kabushiki Kaisha Artificial intelligence software shell for plant operation simulation
US5734791A (en) 1992-12-31 1998-03-31 Apple Computer, Inc. Rapid tree-based method for vector quantization
US5390279A (en) 1992-12-31 1995-02-14 Apple Computer, Inc. Partitioning speech rules by context for speech recognition
US5613036A (en) 1992-12-31 1997-03-18 Apple Computer, Inc. Dynamic categories for a speech recognition system
US5384892A (en) 1992-12-31 1995-01-24 Apple Computer, Inc. Dynamic language model for speech recognition
US6122616A (en) 1993-01-21 2000-09-19 Apple Computer, Inc. Method and apparatus for diphone aliasing
US5864844A (en) 1993-02-18 1999-01-26 Apple Computer, Inc. System and method for enhancing a user interface with a computer based training tool
CA2091658A1 (en) 1993-03-15 1994-09-16 Matthew Lennig Method and apparatus for automation of directory assistance using speech recognition
US6055531A (en) 1993-03-24 2000-04-25 Engate Incorporated Down-line transcription system having context sensitive searching capability
US5536902A (en) 1993-04-14 1996-07-16 Yamaha Corporation Method of and apparatus for analyzing and synthesizing a sound by extracting and controlling a sound parameter
US5444823A (en) 1993-04-16 1995-08-22 Compaq Computer Corporation Intelligent search engine for associated on-line documentation having questionless case-based knowledge base
US5574823A (en) 1993-06-23 1996-11-12 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Communications Frequency selective harmonic coding
US5515475A (en) 1993-06-24 1996-05-07 Northern Telecom Limited Speech recognition method using a two-pass search
JPH0756933A (en) 1993-06-24 1995-03-03 Xerox Corp Method for retrieval of document
JP3685812B2 (en) 1993-06-29 2005-08-24 ソニー株式会社 Audio signal transmitter / receiver
US5794207A (en) 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
WO1995002221A1 (en) 1993-07-07 1995-01-19 Inference Corporation Case-based organizing and querying of a database
US5495604A (en) 1993-08-25 1996-02-27 Asymetrix Corporation Method and apparatus for the modeling and query of database structures using natural language-like constructs
US5619694A (en) 1993-08-26 1997-04-08 Nec Corporation Case database storage/retrieval system
US5940811A (en) 1993-08-27 1999-08-17 Affinity Technology Group, Inc. Closed loop financial transaction method and apparatus
US5377258A (en) 1993-08-30 1994-12-27 National Medical Research Council Method and apparatus for an automated and interactive behavioral guidance system
US5873056A (en) 1993-10-12 1999-02-16 The Syracuse University Natural language processing system for semantic vector representation which accounts for lexical ambiguity
US5578808A (en) 1993-12-22 1996-11-26 Datamark Services, Inc. Data card that can be used for transactions involving separate card issuers
AU1554795A (en) 1993-12-23 1995-07-10 Diacom Technologies, Inc. Method and apparatus for implementing user feedback
US5621859A (en) 1994-01-19 1997-04-15 Bbn Corporation Single tree method for grammar directed, very large vocabulary speech recognizer
US5584024A (en) 1994-03-24 1996-12-10 Software Ag Interactive database query system and method for prohibiting the selection of semantically incorrect query parameters
US5642519A (en) 1994-04-29 1997-06-24 Sun Microsystems, Inc. Speech interpreter with a unified grammer compiler
DE69520302T2 (en) 1994-05-25 2001-08-09 Victor Company Of Japan, Ltd. Data transfer device with variable transmission rate
US5493677A (en) 1994-06-08 1996-02-20 Systems Research & Applications Corporation Generation, archiving, and retrieval of digital images with evoked suggestion-set captions and natural language interface
US5675819A (en) 1994-06-16 1997-10-07 Xerox Corporation Document information retrieval using global word co-occurrence patterns
JPH0869470A (en) 1994-06-21 1996-03-12 Canon Inc Natural language processing apparatus and method thereof
US5948040A (en) 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US5682539A (en) 1994-09-29 1997-10-28 Conrad; Donovan Anticipated meaning natural language interface
GB2293667B (en) 1994-09-30 1998-05-27 Intermation Limited Database management system
US5715468A (en) 1994-09-30 1998-02-03 Budzinski; Robert Lucius Memory system for storing and retrieving experience and knowledge with natural language
US5845255A (en) 1994-10-28 1998-12-01 Advanced Health Med-E-Systems Corporation Prescription management system
US5577241A (en) 1994-12-07 1996-11-19 Excite, Inc. Information retrieval system and method with implementation extensible query architecture
US5748974A (en) 1994-12-13 1998-05-05 International Business Machines Corporation Multimodal natural language interface for cross-application tasks
US5794050A (en) 1995-01-04 1998-08-11 Intelligent Text Processing, Inc. Natural language understanding system
CN1312549C (en) 1995-02-13 2007-04-25 英特特拉斯特技术公司 Systems and methods for secure transaction management and electronic rights protection
US5701400A (en) 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US5749081A (en) 1995-04-06 1998-05-05 Firefly Network, Inc. System and method for recommending items to a user
US5642464A (en) 1995-05-03 1997-06-24 Northern Telecom Limited Methods and apparatus for noise conditioning in digital speech compression systems using linear predictive coding
US5664055A (en) 1995-06-07 1997-09-02 Lucent Technologies Inc. CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity
US5710886A (en) 1995-06-16 1998-01-20 Sellectsoft, L.C. Electric couponing method and apparatus
JP3284832B2 (en) 1995-06-22 2002-05-20 セイコーエプソン株式会社 Speech recognition dialogue processing method and speech recognition dialogue device
US6038533A (en) 1995-07-07 2000-03-14 Lucent Technologies Inc. System and method for selecting training text
US6026388A (en) 1995-08-16 2000-02-15 Textwise, Llc User interface and other enhancements for natural language information retrieval system and method
JP3697748B2 (en) 1995-08-21 2005-09-21 セイコーエプソン株式会社 Terminal, voice recognition device
US5712957A (en) 1995-09-08 1998-01-27 Carnegie Mellon University Locating and correcting erroneously recognized portions of utterances by rescoring based on two n-best lists
US5737734A (en) 1995-09-15 1998-04-07 Infonautics Corporation Query word relevance adjustment in a search of an information retrieval system
US5790978A (en) 1995-09-15 1998-08-04 Lucent Technologies, Inc. System and method for determining pitch contours
US6173261B1 (en) 1998-09-30 2001-01-09 At&T Corp Grammar fragment acquisition using syntactic and semantic clustering
US5884323A (en) 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5799276A (en) 1995-11-07 1998-08-25 Accent Incorporated Knowledge-based speech recognition system and methods having frame length computed based upon estimated pitch period of vocalic intervals
US5794237A (en) 1995-11-13 1998-08-11 International Business Machines Corporation System and method for improving problem source identification in computer systems employing relevance feedback and statistical source ranking
US5706442A (en) 1995-12-20 1998-01-06 Block Financial Corporation System for on-line financial services using distributed objects
US6119101A (en) 1996-01-17 2000-09-12 Personal Agents, Inc. Intelligent agents for electronic commerce
CA2242874A1 (en) 1996-01-17 1997-07-24 Personal Agents, Inc. Intelligent agents for electronic commerce
US6125356A (en) 1996-01-18 2000-09-26 Rosefaire Development, Ltd. Portable sales presentation system with selective scripted seller prompts
US5987404A (en) 1996-01-29 1999-11-16 International Business Machines Corporation Statistical natural language understanding using hidden clumpings
US5729694A (en) 1996-02-06 1998-03-17 The Regents Of The University Of California Speech coding, reconstruction and recognition using acoustics and electromagnetic waves
US6076088A (en) 1996-02-09 2000-06-13 Paik; Woojin Information extraction system and method using concept relation concept (CRC) triples
US5835893A (en) 1996-02-15 1998-11-10 Atr Interpreting Telecommunications Research Labs Class-based word clustering for speech recognition using a three-level balanced hierarchical similarity
US5901287A (en) 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
US5867799A (en) 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5987140A (en) 1996-04-26 1999-11-16 Verifone, Inc. System, method and article of manufacture for secure network electronic payment and credit collection
US5963924A (en) 1996-04-26 1999-10-05 Verifone, Inc. System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce
US5913193A (en) 1996-04-30 1999-06-15 Microsoft Corporation Method and system of runtime acoustic unit selection for speech synthesis
US5857184A (en) 1996-05-03 1999-01-05 Walden Media, Inc. Language and method for creating, organizing, and retrieving data from a database
US5828999A (en) 1996-05-06 1998-10-27 Apple Computer, Inc. Method and system for deriving a large-span semantic language model for large-vocabulary recognition systems
FR2748342B1 (en) 1996-05-06 1998-07-17 France Telecom METHOD AND DEVICE FOR FILTERING A SPEECH SIGNAL BY EQUALIZATION, USING A STATISTICAL MODEL OF THIS SIGNAL
US5826261A (en) 1996-05-10 1998-10-20 Spencer; Graham System and method for querying multiple, distributed databases by selective sharing of local relative significance information for terms related to the query
US6366883B1 (en) 1996-05-15 2002-04-02 Atr Interpreting Telecommunications Concatenation of speech segments by use of a speech synthesizer
US5727950A (en) 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
US5966533A (en) 1996-06-11 1999-10-12 Excite, Inc. Method and system for dynamically synthesizing a computer program by differentially resolving atoms based on user context data
US5915249A (en) 1996-06-14 1999-06-22 Excite, Inc. System and method for accelerated query evaluation of very large full-text databases
US5987132A (en) 1996-06-17 1999-11-16 Verifone, Inc. System, method and article of manufacture for conditionally accepting a payment method utilizing an extensible, flexible architecture
US5825881A (en) 1996-06-28 1998-10-20 Allsoft Distributing Inc. Public network merchandising system
US6070147A (en) 1996-07-02 2000-05-30 Tecmark Services, Inc. Customer identification and marketing analysis systems
US5987440A (en) 1996-07-22 1999-11-16 Cyva Research Corporation Personal information security and exchange tool
US6453281B1 (en) 1996-07-30 2002-09-17 Vxi Corporation Portable audio database device with icon-based graphical user-interface
EP0829811A1 (en) 1996-09-11 1998-03-18 Nippon Telegraph And Telephone Corporation Method and system for information retrieval
US6181935B1 (en) 1996-09-27 2001-01-30 Software.Com, Inc. Mobility extended telephone application programming interface and method of use
US5794182A (en) 1996-09-30 1998-08-11 Apple Computer, Inc. Linear predictive speech encoding systems with efficient combination pitch coefficients computation
US5721827A (en) 1996-10-02 1998-02-24 James Logan System for electrically distributing personalized information
US5732216A (en) 1996-10-02 1998-03-24 Internet Angles, Inc. Audio message exchange system
US5913203A (en) 1996-10-03 1999-06-15 Jaesent Inc. System and method for pseudo cash transactions
US5930769A (en) 1996-10-07 1999-07-27 Rose; Andrea System and method for fashion shopping
US5836771A (en) 1996-12-02 1998-11-17 Ho; Chi Fai Learning method and system based on questioning
US6665639B2 (en) 1996-12-06 2003-12-16 Sensory, Inc. Speech recognition in consumer electronic products
US6078914A (en) 1996-12-09 2000-06-20 Open Text Corporation Natural language meta-search system and method
US5839106A (en) 1996-12-17 1998-11-17 Apple Computer, Inc. Large-vocabulary speech recognition using an integrated syntactic and semantic statistical language model
US5966126A (en) 1996-12-23 1999-10-12 Szabo; Andrew J. Graphic user interface for database system
US5932869A (en) 1996-12-27 1999-08-03 Graphic Technology, Inc. Promotional system with magnetic stripe and visual thermo-reversible print surfaced medium
JP3579204B2 (en) 1997-01-17 2004-10-20 富士通株式会社 Document summarizing apparatus and method
US5941944A (en) 1997-03-03 1999-08-24 Microsoft Corporation Method for providing a substitute for a requested inaccessible object by identifying substantially similar objects using weights corresponding to object features
US5930801A (en) 1997-03-07 1999-07-27 Xerox Corporation Shared-data environment in which each file has independent security properties
US6076051A (en) 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
EP1019877A1 (en) 1997-03-20 2000-07-19 SCHLUMBERGER Systèmes System and method of transactional taxation using secure stored data devices
US5822743A (en) 1997-04-08 1998-10-13 1215627 Ontario Inc. Knowledge-based information retrieval system
US5970474A (en) 1997-04-24 1999-10-19 Sears, Roebuck And Co. Registry information system for shoppers
US5895464A (en) 1997-04-30 1999-04-20 Eastman Kodak Company Computer program product and a method for using natural language for the description, search and retrieval of multi-media objects
WO1999001834A1 (en) 1997-07-02 1999-01-14 Coueignoux, Philippe, J., M. System and method for the secure discovery, exploitation and publication of information
US5860063A (en) 1997-07-11 1999-01-12 At&T Corp Automated meaningful phrase clustering
US5933822A (en) 1997-07-22 1999-08-03 Microsoft Corporation Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision
US5974146A (en) 1997-07-30 1999-10-26 Huntington Bancshares Incorporated Real time bank-centric universal payment system
US6016476A (en) 1997-08-11 2000-01-18 International Business Machines Corporation Portable information and transaction processing system and method utilizing biometric authorization and digital certificate security
US5895466A (en) 1997-08-19 1999-04-20 At&T Corp Automated natural language understanding customer service system
US6081774A (en) 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US6404876B1 (en) 1997-09-25 2002-06-11 Gte Intelligent Network Services Incorporated System and method for voice activated dialing and routing under open access network control
US6023684A (en) 1997-10-01 2000-02-08 Security First Technologies, Inc. Three tier financial transaction system with cache memory
EP0911808B1 (en) 1997-10-23 2002-05-08 Sony International (Europe) GmbH Speech interface in a home network environment
US6108627A (en) 1997-10-31 2000-08-22 Nortel Networks Corporation Automatic transcription tool
US5943670A (en) 1997-11-21 1999-08-24 International Business Machines Corporation System and method for categorizing objects in combined categories
US5960422A (en) 1997-11-26 1999-09-28 International Business Machines Corporation System and method for optimized source selection in an information retrieval system
US6026375A (en) 1997-12-05 2000-02-15 Nortel Networks Corporation Method and apparatus for processing orders from customers in a mobile environment
US6064960A (en) 1997-12-18 2000-05-16 Apple Computer, Inc. Method and apparatus for improved duration modeling of phonemes
US6094649A (en) 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6173287B1 (en) 1998-03-11 2001-01-09 Digital Equipment Corporation Technique for ranking multimedia annotations of interest
US6195641B1 (en) 1998-03-27 2001-02-27 International Business Machines Corp. Network universal spoken language vocabulary
US6026393A (en) 1998-03-31 2000-02-15 Casebank Technologies Inc. Configuration knowledge as an aid to case retrieval
US6233559B1 (en) 1998-04-01 2001-05-15 Motorola, Inc. Speech control of multiple applications using applets
US6173279B1 (en) 1998-04-09 2001-01-09 At&T Corp. Method of using a natural language interface to retrieve information from one or more data resources
US6088731A (en) 1998-04-24 2000-07-11 Associative Computing, Inc. Intelligent assistant for use with a local computer and with the internet
EP1076865B1 (en) 1998-04-27 2002-12-18 BRITISH TELECOMMUNICATIONS public limited company Database access tool
US6016471A (en) 1998-04-29 2000-01-18 Matsushita Electric Industrial Co., Ltd. Method and apparatus using decision trees to generate and score multiple pronunciations for a spelled word
US6029132A (en) 1998-04-30 2000-02-22 Matsushita Electric Industrial Co. Method for letter-to-sound in text-to-speech synthesis
US6285786B1 (en) 1998-04-30 2001-09-04 Motorola, Inc. Text recognizer and method using non-cumulative character scoring in a forward search
US6144938A (en) 1998-05-01 2000-11-07 Sun Microsystems, Inc. Voice user interface with personality
US7711672B2 (en) 1998-05-28 2010-05-04 Lawrence Au Semantic network methods to disambiguate natural language meaning
US20070094222A1 (en) 1998-05-28 2007-04-26 Lawrence Au Method and system for using voice input for performing network functions
US6778970B2 (en) 1998-05-28 2004-08-17 Lawrence Au Topological methods to organize semantic network data flows for conversational applications
US6144958A (en) 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
US6105865A (en) 1998-07-17 2000-08-22 Hardesty; Laurence Daniel Financial transaction system with retirement saving benefit
US6434524B1 (en) 1998-09-09 2002-08-13 One Voice Technologies, Inc. Object interactive user interface using speech recognition and natural language processing
US6499013B1 (en) 1998-09-09 2002-12-24 One Voice Technologies, Inc. Interactive user interface using speech recognition and natural language processing
US6792082B1 (en) 1998-09-11 2004-09-14 Comverse Ltd. Voice mail system with personal assistant provisioning
US6266637B1 (en) 1998-09-11 2001-07-24 International Business Machines Corporation Phrase splicing and variable substitution using a trainable speech synthesizer
DE29825146U1 (en) 1998-09-11 2005-08-18 Püllen, Rainer Audio on demand system
US6317831B1 (en) 1998-09-21 2001-11-13 Openwave Systems Inc. Method and apparatus for establishing a secure connection over a one-way data path
US6275824B1 (en) 1998-10-02 2001-08-14 Ncr Corporation System and method for managing data privacy in a database management system
CN100472500C (en) 1998-10-02 2009-03-25 联想(新加坡)私人有限公司 Session browser and session system
GB9821969D0 (en) 1998-10-08 1998-12-02 Canon Kk Apparatus and method for processing natural language
US6928614B1 (en) 1998-10-13 2005-08-09 Visteon Global Technologies, Inc. Mobile office with speech recognition
US6453292B2 (en) 1998-10-28 2002-09-17 International Business Machines Corporation Command boundary identifier for conversational natural language
US6208971B1 (en) 1998-10-30 2001-03-27 Apple Computer, Inc. Method and apparatus for command recognition using data-driven semantic inference
US6321092B1 (en) 1998-11-03 2001-11-20 Signal Soft Corporation Multiple input data management for wireless location-based applications
US6519565B1 (en) 1998-11-10 2003-02-11 Voice Security Systems, Inc. Method of comparing utterances for security control
US6446076B1 (en) 1998-11-12 2002-09-03 Accenture Llp. Voice interactive web-based agent system responsive to a user location for prioritizing and formatting information
US6606599B2 (en) 1998-12-23 2003-08-12 Interactive Speech Technologies, Llc Method for integrating computing processes with an interface controlled by voice actuated grammars
WO2000030069A2 (en) 1998-11-13 2000-05-25 Lernout & Hauspie Speech Products N.V. Speech synthesis using concatenation of speech waveforms
US6246981B1 (en) 1998-11-25 2001-06-12 International Business Machines Corporation Natural language task-oriented dialog manager and method
US7082397B2 (en) 1998-12-01 2006-07-25 Nuance Communications, Inc. System for and method of creating and browsing a voice web
US6260024B1 (en) 1998-12-02 2001-07-10 Gary Shkedy Method and apparatus for facilitating buyer-driven purchase orders on a commercial network system
US7881936B2 (en) 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US6317707B1 (en) 1998-12-07 2001-11-13 At&T Corp. Automatic clustering of tokens from a corpus for grammar acquisition
US6308149B1 (en) 1998-12-16 2001-10-23 Xerox Corporation Grouping words with equivalent substrings by automatic clustering based on suffix relationships
US6523172B1 (en) 1998-12-17 2003-02-18 Evolutionary Technologies International, Inc. Parser translator system and method
US6460029B1 (en) 1998-12-23 2002-10-01 Microsoft Corporation System for improving search text
US6851115B1 (en) 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US7036128B1 (en) 1999-01-05 2006-04-25 Sri International Offices Using a community of distributed electronic agents to support a highly mobile, ambient computing environment
US6757718B1 (en) 1999-01-05 2004-06-29 Sri International Mobile navigation of network-based electronic information using spoken input
US6513063B1 (en) 1999-01-05 2003-01-28 Sri International Accessing network-based electronic information through scripted online interfaces using spoken input
US6523061B1 (en) 1999-01-05 2003-02-18 Sri International, Inc. System, method, and article of manufacture for agent-based navigation in a speech-based data navigation system
US6742021B1 (en) 1999-01-05 2004-05-25 Sri International, Inc. Navigating network-based electronic information using spoken input with multimodal error feedback
US7152070B1 (en) 1999-01-08 2006-12-19 The Regents Of The University Of California System and method for integrating and accessing multiple data sources within a data warehouse architecture
US6505183B1 (en) 1999-02-04 2003-01-07 Authoria, Inc. Human resource knowledge modeling and delivery system
US6317718B1 (en) 1999-02-26 2001-11-13 Accenture Properties (2) B.V. System, method and article of manufacture for location-based filtering for shopping agent in the physical world
GB9904662D0 (en) 1999-03-01 1999-04-21 Canon Kk Natural language search method and apparatus
US6356905B1 (en) 1999-03-05 2002-03-12 Accenture Llp System, method and article of manufacture for mobile communication utilizing an interface support framework
US6928404B1 (en) 1999-03-17 2005-08-09 International Business Machines Corporation System and methods for acoustic and language modeling for automatic speech recognition with large vocabularies
US6584464B1 (en) 1999-03-19 2003-06-24 Ask Jeeves, Inc. Grammar template query system
EP1088299A2 (en) 1999-03-26 2001-04-04 Scansoft, Inc. Client-server speech recognition
US6356854B1 (en) 1999-04-05 2002-03-12 Delphi Technologies, Inc. Holographic object position and type sensing system and method
US6631346B1 (en) 1999-04-07 2003-10-07 Matsushita Electric Industrial Co., Ltd. Method and apparatus for natural language parsing using multiple passes and tags
WO2000060435A2 (en) 1999-04-07 2000-10-12 Rensselaer Polytechnic Institute System and method for accessing personal information
US6647260B2 (en) 1999-04-09 2003-11-11 Openwave Systems Inc. Method and system facilitating web based provisioning of two-way mobile communications devices
US6924828B1 (en) 1999-04-27 2005-08-02 Surfnotes Method and apparatus for improved information representation
US6697780B1 (en) 1999-04-30 2004-02-24 At&T Corp. Method and apparatus for rapid acoustic unit selection from a large speech corpus
ATE443946T1 (en) * 1999-05-27 2009-10-15 Tegic Communications Inc KEYBOARD SYSTEM WITH AUTOMATIC CORRECTION
AU5451800A (en) 1999-05-28 2000-12-18 Sehda, Inc. Phrase-based dialogue modeling with particular application to creating recognition grammars for voice-controlled user interfaces
US20020032564A1 (en) 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
US6931384B1 (en) 1999-06-04 2005-08-16 Microsoft Corporation System and method providing utility-based decision making about clarification dialog given communicative uncertainty
US6598039B1 (en) 1999-06-08 2003-07-22 Albert-Inc. S.A. Natural language interface for searching database
US7711565B1 (en) 1999-06-10 2010-05-04 Gazdzinski Robert F “Smart” elevator system and method
US8065155B1 (en) 1999-06-10 2011-11-22 Gazdzinski Robert F Adaptive advertising apparatus and methods
US7093693B1 (en) 1999-06-10 2006-08-22 Gazdzinski Robert F Elevator access control system and method
US6615175B1 (en) 1999-06-10 2003-09-02 Robert F. Gazdzinski “Smart” elevator system and method
US6711585B1 (en) 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US6785869B1 (en) * 1999-06-17 2004-08-31 International Business Machines Corporation Method and apparatus for providing a central dictionary and glossary server
JP3361291B2 (en) 1999-07-23 2003-01-07 コナミ株式会社 Speech synthesis method, speech synthesis device, and computer-readable medium recording speech synthesis program
US6421672B1 (en) 1999-07-27 2002-07-16 Verizon Services Corp. Apparatus for and method of disambiguation of directory listing searches utilizing multiple selectable secondary search keys
EP1079387A3 (en) 1999-08-26 2003-07-09 Matsushita Electric Industrial Co., Ltd. Mechanism for storing information about recorded television broadcasts
US6912499B1 (en) 1999-08-31 2005-06-28 Nortel Networks Limited Method and apparatus for training a multilingual speech model set
US6601234B1 (en) 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6697824B1 (en) 1999-08-31 2004-02-24 Accenture Llp Relationship management in an E-commerce application framework
US7127403B1 (en) 1999-09-13 2006-10-24 Microstrategy, Inc. System and method for personalizing an interactive voice broadcast of a voice service based on particulars of a request
US6601026B2 (en) 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
US6505175B1 (en) 1999-10-06 2003-01-07 Goldman, Sachs & Co. Order centric tracking system
US6625583B1 (en) 1999-10-06 2003-09-23 Goldman, Sachs & Co. Handheld trading system interface
US7020685B1 (en) 1999-10-08 2006-03-28 Openwave Systems Inc. Method and apparatus for providing internet content to SMS-based wireless devices
KR100812109B1 (en) 1999-10-19 2008-03-12 소니 일렉트로닉스 인코포레이티드 Natural Language Interface Control System
US6807574B1 (en) 1999-10-22 2004-10-19 Tellme Networks, Inc. Method and apparatus for content personalization over a telephone interface
JP2001125896A (en) 1999-10-26 2001-05-11 Victor Co Of Japan Ltd Natural language interactive system
US7310600B1 (en) 1999-10-28 2007-12-18 Canon Kabushiki Kaisha Language recognition using a similarity measure
US9076448B2 (en) 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US6615172B1 (en) 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US6665640B1 (en) 1999-11-12 2003-12-16 Phoenix Solutions, Inc. Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US7725307B2 (en) 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US6532446B1 (en) 1999-11-24 2003-03-11 Openwave Systems Inc. Server based speech recognition user interface for wireless devices
US6526382B1 (en) 1999-12-07 2003-02-25 Comverse, Inc. Language-oriented user interfaces for voice activated services
US7024363B1 (en) 1999-12-14 2006-04-04 International Business Machines Corporation Methods and apparatus for contingent transfer and execution of spoken language interfaces
US6526395B1 (en) 1999-12-31 2003-02-25 Intel Corporation Application of personality models and interaction with synthetic characters in a computing system
US6556983B1 (en) 2000-01-12 2003-04-29 Microsoft Corporation Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space
US6546388B1 (en) 2000-01-14 2003-04-08 International Business Machines Corporation Metadata search results ranking system
US6701294B1 (en) 2000-01-19 2004-03-02 Lucent Technologies, Inc. User interface for translating natural language inquiries into database queries and data presentations
US6829603B1 (en) 2000-02-02 2004-12-07 International Business Machines Corp. System, method and program product for interactive natural dialog
US6895558B1 (en) 2000-02-11 2005-05-17 Microsoft Corporation Multi-access mode electronic personal assistant
US6640098B1 (en) 2000-02-14 2003-10-28 Action Engine Corporation System for obtaining service-related information for local interactive wireless devices
EP1272912A2 (en) 2000-02-25 2003-01-08 Synquiry Technologies, Ltd Conceptual factoring and unification of graphs representing semantic models
US6449620B1 (en) 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US6895380B2 (en) 2000-03-02 2005-05-17 Electro Standards Laboratories Voice actuation with contextual learning for intelligent machine control
US6757362B1 (en) 2000-03-06 2004-06-29 Avaya Technology Corp. Personal virtual assistant
EP1275042A2 (en) 2000-03-06 2003-01-15 Kanisa Inc. A system and method for providing an intelligent multi-step dialog with a user
US6466654B1 (en) 2000-03-06 2002-10-15 Avaya Technology Corp. Personal virtual assistant with semantic tagging
US6477488B1 (en) 2000-03-10 2002-11-05 Apple Computer, Inc. Method for dynamic context scope selection in hybrid n-gram+LSA language modeling
US6615220B1 (en) 2000-03-14 2003-09-02 Oracle International Corporation Method and mechanism for data consolidation
US6510417B1 (en) 2000-03-21 2003-01-21 America Online, Inc. System and method for voice access to internet-based information
GB2366009B (en) 2000-03-22 2004-07-21 Canon Kk Natural language machine interface
US20020035474A1 (en) 2000-07-18 2002-03-21 Ahmet Alpdemir Voice-interactive marketplace providing time and money saving benefits and real-time promotion publishing and feedback
US6934684B2 (en) 2000-03-24 2005-08-23 Dialsurf, Inc. Voice-interactive marketplace providing promotion and promotion tracking, loyalty reward and redemption, and other features
JP3728172B2 (en) 2000-03-31 2005-12-21 キヤノン株式会社 Speech synthesis method and apparatus
US7177798B2 (en) 2000-04-07 2007-02-13 Rensselaer Polytechnic Institute Natural language interface using constrained intermediate dictionary of results
US6810379B1 (en) 2000-04-24 2004-10-26 Sensory, Inc. Client/server architecture for text-to-speech synthesis
US20020010584A1 (en) 2000-05-24 2002-01-24 Schultz Mitchell Jay Interactive voice communication method and system for information and entertainment
US6684187B1 (en) 2000-06-30 2004-01-27 At&T Corp. Method and system for preselection of suitable units for concatenative speech
US6691111B2 (en) 2000-06-30 2004-02-10 Research In Motion Limited System and method for implementing a natural language user interface
US6505158B1 (en) 2000-07-05 2003-01-07 At&T Corp. Synthesis-based pre-selection of suitable units for concatenative speech
JP3949356B2 (en) 2000-07-12 2007-07-25 三菱電機株式会社 Spoken dialogue system
US7139709B2 (en) 2000-07-20 2006-11-21 Microsoft Corporation Middleware layer between speech related applications and engines
US20060143007A1 (en) 2000-07-24 2006-06-29 Koh V E User interaction with voice information services
JP2002041276A (en) 2000-07-24 2002-02-08 Sony Corp Interactive operation support system, interactive operation support method, and storage medium
US7092928B1 (en) 2000-07-31 2006-08-15 Quantum Leap Research, Inc. Intelligent portal engine
US7853664B1 (en) 2000-07-31 2010-12-14 Landmark Digital Services Llc Method and system for purchasing pre-recorded music
US6778951B1 (en) 2000-08-09 2004-08-17 Concerto Software, Inc. Information retrieval method with natural language interface
US6766320B1 (en) 2000-08-24 2004-07-20 Microsoft Corporation Search engine with natural language-based robust parsing for user query and relevance feedback learning
DE10042944C2 (en) 2000-08-31 2003-03-13 Siemens Ag Grapheme-phoneme conversion
US6799098B2 (en) 2000-09-01 2004-09-28 Beltpack Corporation Remote control system for a locomotive using voice commands
US7689832B2 (en) 2000-09-11 2010-03-30 Sentrycom Ltd. Biometric-based system and method for enabling authentication of electronic messages sent over a network
WO2002023523A2 (en) 2000-09-15 2002-03-21 Lernout & Hauspie Speech Products N.V. Fast waveform synchronization for concatenation and time-scale modification of speech
US7216080B2 (en) 2000-09-29 2007-05-08 Mindfabric Holdings Llc Natural-language voice-activated personal assistant
US6832194B1 (en) 2000-10-26 2004-12-14 Sensory, Incorporated Audio recognition peripheral system
US7027974B1 (en) 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US7006969B2 (en) 2000-11-02 2006-02-28 At&T Corp. System and method of pattern recognition in very high-dimensional space
US6772123B2 (en) 2000-11-30 2004-08-03 3Com Corporation Method and system for performing speech recognition for an internet appliance using a remotely located speech recognition application
EP1346344A1 (en) 2000-12-18 2003-09-24 Koninklijke Philips Electronics N.V. Store speech, select vocabulary to recognize word
US20040190688A1 (en) 2003-03-31 2004-09-30 Timmins Timothy A. Communications methods and systems using voiceprints
TW490655B (en) 2000-12-27 2002-06-11 Winbond Electronics Corp Method and device for recognizing authorized users using voice spectrum information
US6937986B2 (en) 2000-12-28 2005-08-30 Comverse, Inc. Automatic dynamic speech recognition vocabulary based on external sources of information
AU2001255568A1 (en) 2000-12-29 2002-07-16 General Electric Company Method and system for identifying repeatedly malfunctioning equipment
US7257537B2 (en) 2001-01-12 2007-08-14 International Business Machines Corporation Method and apparatus for performing dialog management in a computer conversational interface
JP2002229955A (en) 2001-02-02 2002-08-16 Matsushita Electric Ind Co Ltd Information terminal device and authentication system
US6964023B2 (en) 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
US7171365B2 (en) 2001-02-16 2007-01-30 International Business Machines Corporation Tracking time using portable recorders and speech recognition
US7290039B1 (en) 2001-02-27 2007-10-30 Microsoft Corporation Intent based processing
US6721728B2 (en) 2001-03-02 2004-04-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System, method and apparatus for discovering phrases in a database
EP1490790A2 (en) 2001-03-13 2004-12-29 Intelligate Ltd. Dynamic natural language understanding
US6996531B2 (en) 2001-03-30 2006-02-07 Comverse Ltd. Automated database assistance using a telephone for a speech based or text based multimedia communication mode
US6654740B2 (en) 2001-05-08 2003-11-25 Sunflare Co., Ltd. Probabilistic information retrieval based on differential latent semantic space
CN1236423C (en) 2001-05-10 2006-01-11 皇家菲利浦电子有限公司 Background learning of speaker voices
US7085722B2 (en) 2001-05-14 2006-08-01 Sony Computer Entertainment America Inc. System and method for menu-driven voice control of characters in a game environment
US6944594B2 (en) 2001-05-30 2005-09-13 Bellsouth Intellectual Property Corporation Multi-context conversational environment system and method
US20020194003A1 (en) 2001-06-05 2002-12-19 Mozer Todd F. Client-server security system and method
US20020198714A1 (en) 2001-06-26 2002-12-26 Guojun Zhou Statistical spoken dialog system
US7139722B2 (en) 2001-06-27 2006-11-21 Bellsouth Intellectual Property Corporation Location and time sensitive wireless calendaring
US6604059B2 (en) 2001-07-10 2003-08-05 Koninklijke Philips Electronics N.V. Predictive calendar
US7987151B2 (en) 2001-08-10 2011-07-26 General Dynamics Advanced Info Systems, Inc. Apparatus and method for problem solving using intelligent agents
US6813491B1 (en) 2001-08-31 2004-11-02 Openwave Systems Inc. Method and apparatus for adapting settings of wireless communication devices in accordance with user proximity
US7953447B2 (en) 2001-09-05 2011-05-31 Vocera Communications, Inc. Voice-controlled communications system and method using a badge application
US7403938B2 (en) 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
JP3452558B2 (en) 2001-09-25 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system, and program for associating a dictionary to be translated with a domain dictionary
US6985865B1 (en) 2001-09-26 2006-01-10 Sprint Spectrum L.P. Method and system for enhanced response to voice commands in a voice command platform
US7101185B2 (en) 2001-09-26 2006-09-05 Scientific Learning Corporation Method and apparatus for automated training of language learning skills
US6650735B2 (en) 2001-09-27 2003-11-18 Microsoft Corporation Integrated voice access to a variety of personal information services
US7324947B2 (en) 2001-10-03 2008-01-29 Promptu Systems Corporation Global speech user interface
US7167832B2 (en) 2001-10-15 2007-01-23 At&T Corp. Method for dialog management
US7296019B1 (en) * 2001-10-23 2007-11-13 Microsoft Corporation System and methods for providing runtime spelling analysis and correction
GB2381409B (en) 2001-10-27 2004-04-28 Hewlett Packard Ltd Asynchronous access to synchronous voice services
NO316480B1 (en) 2001-11-15 2004-01-26 Forinnova As Method and system for textual examination and discovery
US20030101054A1 (en) 2001-11-27 2003-05-29 Ncc, Llc Integrated system and method for electronic speech recognition and transcription
TW541517B (en) 2001-12-25 2003-07-11 Univ Nat Cheng Kung Speech recognition system
US7197460B1 (en) 2002-04-23 2007-03-27 At&T Corp. System for handling frequently asked questions in a natural language dialog service
US6847966B1 (en) 2002-04-24 2005-01-25 Engenium Corporation Method and system for optimally searching a document database using a representative semantic space
US7546382B2 (en) 2002-05-28 2009-06-09 International Business Machines Corporation Methods and systems for authoring of mixed-initiative multi-modal interactions and related browsing mechanisms
US7398209B2 (en) 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7233790B2 (en) 2002-06-28 2007-06-19 Openwave Systems, Inc. Device capability based discovery, packaging and provisioning of content for wireless mobile devices
US7299033B2 (en) 2002-06-28 2007-11-20 Openwave Systems Inc. Domain-based management of distribution of digital content from multiple suppliers to multiple wireless services subscribers
US7693720B2 (en) 2002-07-15 2010-04-06 Voicebox Technologies, Inc. Mobile systems and methods for responding to natural language speech utterance
US7467087B1 (en) 2002-10-10 2008-12-16 Gillick Laurence S Training and using pronunciation guessers in speech recognition
US7783486B2 (en) 2002-11-22 2010-08-24 Roy Jonathan Rosser Response generator for mimicking human-computer natural language conversation
US7684985B2 (en) 2002-12-10 2010-03-23 Richard Dominach Techniques for disambiguating speech input using multimodal interfaces
US7386449B2 (en) 2002-12-11 2008-06-10 Voice Enabling Systems Technology Inc. Knowledge-based flexible natural speech dialogue system
US7956766B2 (en) 2003-01-06 2011-06-07 Panasonic Corporation Apparatus operating system
US7529671B2 (en) 2003-03-04 2009-05-05 Microsoft Corporation Block synchronous decoding
US6980949B2 (en) 2003-03-14 2005-12-27 Sonum Technologies, Inc. Natural language processor
US20060217967A1 (en) 2003-03-20 2006-09-28 Doug Goertzen System and methods for storing and presenting personal information
US7496498B2 (en) 2003-03-24 2009-02-24 Microsoft Corporation Front-end architecture for a multi-lingual text-to-speech system
US20040220798A1 (en) 2003-05-01 2004-11-04 Visteon Global Technologies, Inc. Remote voice identification system
US7421393B1 (en) 2004-03-01 2008-09-02 At&T Corp. System for developing a dialog manager using modular spoken-dialog components
US7200559B2 (en) 2003-05-29 2007-04-03 Microsoft Corporation Semantic object synchronous understanding implemented with speech application language tags
US7720683B1 (en) 2003-06-13 2010-05-18 Sensory, Inc. Method and apparatus of specifying and performing speech recognition operations
US7475010B2 (en) 2003-09-03 2009-01-06 Lingospot, Inc. Adaptive and scalable method for resolving natural language ambiguities
US7418392B1 (en) 2003-09-25 2008-08-26 Sensory, Inc. System and method for controlling the operation of a device by voice commands
US7155706B2 (en) 2003-10-24 2006-12-26 Microsoft Corporation Administrative tool environment
US7584092B2 (en) 2004-11-15 2009-09-01 Microsoft Corporation Unsupervised learning of paraphrase/translation alternations and selective application thereof
US7412385B2 (en) 2003-11-12 2008-08-12 Microsoft Corporation System for identifying paraphrases using machine translation
US7447630B2 (en) 2003-11-26 2008-11-04 Microsoft Corporation Method and apparatus for multi-sensory speech enhancement
JP4533845B2 (en) 2003-12-05 2010-09-01 株式会社ケンウッド Audio device control apparatus, audio device control method, and program
ES2312851T3 (en) 2003-12-16 2009-03-01 Loquendo Spa VOICE TEXT PROCEDURE AND SYSTEM AND THE ASSOCIATED INFORMATIC PROGRAM.
US7427024B1 (en) 2003-12-17 2008-09-23 Gazdzinski Mark J Chattel management apparatus and methods
US7552055B2 (en) 2004-01-10 2009-06-23 Microsoft Corporation Dialog component re-use in recognition systems
US7567896B2 (en) 2004-01-16 2009-07-28 Nuance Communications, Inc. Corpus-based speech synthesis based on segment recombination
US20050165607A1 (en) 2004-01-22 2005-07-28 At&T Corp. System and method to disambiguate and clarify user intention in a spoken dialog system
EP1560200B8 (en) 2004-01-29 2009-08-05 Harman Becker Automotive Systems GmbH Method and system for spoken dialogue interface
JP4262113B2 (en) 2004-02-13 2009-05-13 シチズン電子株式会社 Backlight
KR100462292B1 (en) 2004-02-26 2004-12-17 엔에이치엔(주) A method for providing search results list based on importance information and a system thereof
US7693715B2 (en) 2004-03-10 2010-04-06 Microsoft Corporation Generating large units of graphonemes with mutual information criterion for letter to sound conversion
US7409337B1 (en) 2004-03-30 2008-08-05 Microsoft Corporation Natural language processing interface
US7496512B2 (en) 2004-04-13 2009-02-24 Microsoft Corporation Refining of segmental boundaries in speech waveforms using contextual-dependent models
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US20050273626A1 (en) 2004-06-02 2005-12-08 Steven Pearson System and method for portable authentication
US8972444B2 (en) * 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
US7720674B2 (en) 2004-06-29 2010-05-18 Sap Ag Systems and methods for processing natural language queries
TWI252049B (en) 2004-07-23 2006-03-21 Inventec Corp Sound control system and method
US7725318B2 (en) 2004-07-30 2010-05-25 Nice Systems Inc. System and method for improving the accuracy of audio searching
US7853574B2 (en) 2004-08-26 2010-12-14 International Business Machines Corporation Method of generating a context-inferenced search query and of sorting a result of the query
US7716056B2 (en) 2004-09-27 2010-05-11 Robert Bosch Corporation Method and system for interactive conversational dialogue for cognitively overloaded device users
US8107401B2 (en) 2004-09-30 2012-01-31 Avaya Inc. Method and apparatus for providing a virtual assistant to a communication participant
US7552046B2 (en) 2004-11-15 2009-06-23 Microsoft Corporation Unsupervised learning of paraphrase/translation alternations and selective application thereof
US7546235B2 (en) 2004-11-15 2009-06-09 Microsoft Corporation Unsupervised learning of paraphrase/translation alternations and selective application thereof
US7702500B2 (en) 2004-11-24 2010-04-20 Blaedow Karen R Method and apparatus for determining the meaning of natural language
CN1609859A (en) 2004-11-26 2005-04-27 孙斌 Search result clustering method
US7376645B2 (en) 2004-11-29 2008-05-20 The Intellection Group, Inc. Multimodal natural language query system and architecture for processing voice and proximity-based queries
US20060122834A1 (en) 2004-12-03 2006-06-08 Bennett Ian M Emotion detection device & method for use in distributed systems
US8214214B2 (en) 2004-12-03 2012-07-03 Phoenix Solutions, Inc. Emotion detection device and method for use in distributed systems
US7636657B2 (en) 2004-12-09 2009-12-22 Microsoft Corporation Method and apparatus for automatic grammar generation from data entries
US7873654B2 (en) 2005-01-24 2011-01-18 The Intellection Group, Inc. Multimodal natural language query system for processing and analyzing voice and proximity-based queries
US7508373B2 (en) 2005-01-28 2009-03-24 Microsoft Corporation Form factor and input method for language input
GB0502259D0 (en) 2005-02-03 2005-03-09 British Telecomm Document searching tool and method
US7676026B1 (en) 2005-03-08 2010-03-09 Baxtech Asia Pte Ltd Desktop telephony system
US7925525B2 (en) 2005-03-25 2011-04-12 Microsoft Corporation Smart reminders
US7721301B2 (en) 2005-03-31 2010-05-18 Microsoft Corporation Processing files from a mobile device using voice commands
WO2006129967A1 (en) 2005-05-30 2006-12-07 Daumsoft, Inc. Conversation system and method using conversational agent
US8041570B2 (en) 2005-05-31 2011-10-18 Robert Bosch Corporation Dialogue management using scripts
US8024195B2 (en) 2005-06-27 2011-09-20 Sensory, Inc. Systems and methods of performing speech recognition using historical information
US7826945B2 (en) 2005-07-01 2010-11-02 You Zhang Automobile speech-recognition interface
US7640160B2 (en) 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US8271549B2 (en) 2005-08-05 2012-09-18 Intel Corporation System and method for automatically managing media content
US7620549B2 (en) 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
US20070041361A1 (en) 2005-08-15 2007-02-22 Nokia Corporation Apparatus and methods for implementing an in-call voice user interface using context information
US7949529B2 (en) 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US8265939B2 (en) 2005-08-31 2012-09-11 Nuance Communications, Inc. Hierarchical methods and apparatus for extracting user intent from spoken utterances
EP1934971A4 (en) 2005-08-31 2010-10-27 Voicebox Technologies Inc Dynamic speech sharpening
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
JP4908094B2 (en) 2005-09-30 2012-04-04 株式会社リコー Information processing system, information processing method, and information processing program
US7930168B2 (en) 2005-10-04 2011-04-19 Robert Bosch Gmbh Natural language processing of disfluent sentences
US8620667B2 (en) 2005-10-17 2013-12-31 Microsoft Corporation Flexible speech-activated command and control
US7707032B2 (en) 2005-10-20 2010-04-27 National Cheng Kung University Method and system for matching speech data
US20070106674A1 (en) 2005-11-10 2007-05-10 Purusharth Agrawal Field sales process facilitation systems and methods
US20070185926A1 (en) 2005-11-28 2007-08-09 Anand Prahlad Systems and methods for classifying and transferring information in a storage network
KR100810500B1 (en) 2005-12-08 2008-03-07 한국전자통신연구원 Method for enhancing usability in a spoken dialog system
DE102005061365A1 (en) 2005-12-21 2007-06-28 Siemens Ag Background applications e.g. home banking system, controlling method for use over e.g. user interface, involves associating transactions and transaction parameters over universal dialog specification, and universally operating applications
US7996228B2 (en) 2005-12-22 2011-08-09 Microsoft Corporation Voice initiated network operations
US7599918B2 (en) 2005-12-29 2009-10-06 Microsoft Corporation Dynamic search with implicit user intention mining
JP2007183864A (en) 2006-01-10 2007-07-19 Fujitsu Ltd File search method and system
US20070174188A1 (en) 2006-01-25 2007-07-26 Fish Robert D Electronic marketplace that facilitates transactions between consolidated buyers and/or sellers
IL174107A0 (en) 2006-02-01 2006-08-01 Grois Dan Method and system for advertising by means of a search engine over a data network
KR100764174B1 (en) 2006-03-03 2007-10-08 삼성전자주식회사 Voice chat service device and method
US7752152B2 (en) 2006-03-17 2010-07-06 Microsoft Corporation Using predictive user models for language modeling on a personal device with user behavior models based on statistical modeling
JP4734155B2 (en) 2006-03-24 2011-07-27 株式会社東芝 Speech recognition apparatus, speech recognition method, and speech recognition program
US7707027B2 (en) 2006-04-13 2010-04-27 Nuance Communications, Inc. Identification and rejection of meaningless input during natural language classification
US8423347B2 (en) 2006-06-06 2013-04-16 Microsoft Corporation Natural language personal information management
US7483894B2 (en) 2006-06-07 2009-01-27 Platformation Technologies, Inc Methods and apparatus for entity search
US20100257160A1 (en) 2006-06-07 2010-10-07 Yu Cao Methods & apparatus for searching with awareness of different types of information
US7523108B2 (en) 2006-06-07 2009-04-21 Platformation, Inc. Methods and apparatus for searching with awareness of geography and languages
KR100776800B1 (en) 2006-06-16 2007-11-19 한국전자통신연구원 Method and system for providing customized service using intelligent gadget
US7548895B2 (en) 2006-06-30 2009-06-16 Microsoft Corporation Communication-prompted user assistance
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8214208B2 (en) 2006-09-28 2012-07-03 Reqall, Inc. Method and system for sharing portable voice profiles
US20080082338A1 (en) 2006-09-29 2008-04-03 O'neil Michael P Systems and methods for secure voice identification and medical device interface
US8073681B2 (en) 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US20080129520A1 (en) 2006-12-01 2008-06-05 Apple Computer, Inc. Electronic device with enhanced audio feedback
EP1939759A1 (en) * 2006-12-29 2008-07-02 Vodafone Holding GmbH Method for providing content to a mobile device, gateway for providing content and mobile device
WO2008085742A2 (en) 2007-01-07 2008-07-17 Apple Inc. Portable multifunction device, method and graphical user interface for interacting with user input elements in displayed content
KR100883657B1 (en) 2007-01-26 2009-02-18 삼성전자주식회사 Speech recognition based music search method and device
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US7912700B2 (en) * 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
US7822608B2 (en) 2007-02-27 2010-10-26 Nuance Communications, Inc. Disambiguating a speech recognition grammar in a multimodal application
US20080221901A1 (en) 2007-03-07 2008-09-11 Joseph Cerra Mobile general search environment speech processing facility
US20080256613A1 (en) 2007-03-13 2008-10-16 Grover Noel J Voice print identification portal
US7801729B2 (en) 2007-03-13 2010-09-21 Sensory, Inc. Using multiple attributes to create a voice search playlist
US8219406B2 (en) 2007-03-15 2012-07-10 Microsoft Corporation Speech-centric multimodal user interface design in mobile technology
TWI502380B (en) * 2007-03-29 2015-10-01 Nokia Corp Method, apparatus, server, system and computer program product for use with predictive text input
WO2008120036A1 (en) 2007-03-29 2008-10-09 Nokia Corporation Method at a central server for managing a translation dictionary and a translation server system
US7809610B2 (en) 2007-04-09 2010-10-05 Platformation, Inc. Methods and apparatus for freshness and completeness of information
US7983915B2 (en) 2007-04-30 2011-07-19 Sonic Foundry, Inc. Audio content search engine
US8032383B1 (en) 2007-05-04 2011-10-04 Foneweb, Inc. Speech controlled services and devices using internet
US8055708B2 (en) 2007-06-01 2011-11-08 Microsoft Corporation Multimedia spaces
US8204238B2 (en) 2007-06-08 2012-06-19 Sensory, Inc Systems and methods of sonic communication
KR20080109322A (en) 2007-06-12 2008-12-17 엘지전자 주식회사 Service providing method and device according to user's intuitive intention
KR100757496B1 (en) 2007-06-26 2007-09-11 우영배 Water tank with water treatment device
US8190627B2 (en) 2007-06-28 2012-05-29 Microsoft Corporation Machine assisted query formulation
US8019606B2 (en) 2007-06-29 2011-09-13 Microsoft Corporation Identification and selection of a software application via speech
JP2009036999A (en) 2007-08-01 2009-02-19 Infocom Corp Interactive method by computer, interactive system, computer program, and computer-readable storage medium
KR101359715B1 (en) 2007-08-24 2014-02-10 삼성전자주식회사 Method and apparatus for providing mobile voice web
US8190359B2 (en) 2007-08-31 2012-05-29 Proxpro, Inc. Situation-aware personal information management for a mobile device
US20090058823A1 (en) 2007-09-04 2009-03-05 Apple Inc. Virtual Keyboards in Multi-Language Environment
US8713144B2 (en) 2007-09-14 2014-04-29 Ricoh Co., Ltd. Workflow-enabled client
KR100920267B1 (en) 2007-09-17 2009-10-05 한국전자통신연구원 Voice dialogue analysis system and method
US8706476B2 (en) 2007-09-18 2014-04-22 Ariadne Genomics, Inc. Natural language processing method by analyzing primitive sentences, logical clauses, clause types and verbal blocks
US8165886B1 (en) 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
US8036901B2 (en) 2007-10-05 2011-10-11 Sensory, Incorporated Systems and methods of performing speech recognition using sensory inputs of human position
US20090112677A1 (en) 2007-10-24 2009-04-30 Rhett Randolph L Method for automatically developing suggested optimal work schedules from unsorted group and individual task lists
US7840447B2 (en) 2007-10-30 2010-11-23 Leonard Kleinrock Pricing and auctioning of bundled items among multiple sellers and buyers
US7983997B2 (en) 2007-11-02 2011-07-19 Florida Institute For Human And Machine Cognition, Inc. Interactive complex task teaching system that allows for natural language input, recognizes a user's intent, and automatically performs tasks in document object model (DOM) nodes
US8112280B2 (en) 2007-11-19 2012-02-07 Sensory, Inc. Systems and methods of performing speech recognition with barge-in for use in a bluetooth system
US8140335B2 (en) 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
CA2710245C (en) 2007-12-21 2018-01-23 Bce Inc. Method and apparatus for interrupting an active telephony session to deliver information to a subscriber
US8219407B1 (en) 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
KR101334066B1 (en) 2008-02-11 2013-11-29 이점식 Self-evolving Artificial Intelligent cyber robot system and offer method
US8099289B2 (en) 2008-02-13 2012-01-17 Sensory, Inc. Voice interface and search for electronic devices including bluetooth headsets and remote systems
US8958848B2 (en) 2008-04-08 2015-02-17 Lg Electronics Inc. Mobile terminal and menu control method thereof
US8666824B2 (en) 2008-04-23 2014-03-04 Dell Products L.P. Digital media content location and purchasing system
US8285344B2 (en) 2008-05-21 2012-10-09 DP Technlogies, Inc. Method and apparatus for adjusting audio for a user environment
US8589161B2 (en) 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8694355B2 (en) 2008-05-30 2014-04-08 Sri International Method and apparatus for automated assistance with task management
US8180630B2 (en) 2008-06-06 2012-05-15 Zi Corporation Of Canada, Inc. Systems and methods for an automated personalized dictionary generator for portable devices
US8423288B2 (en) 2009-11-30 2013-04-16 Apple Inc. Dynamic alerts for calendar events
US8166019B1 (en) 2008-07-21 2012-04-24 Sprint Communications Company L.P. Providing suggested actions in response to textual communications
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9200913B2 (en) 2008-10-07 2015-12-01 Telecommunication Systems, Inc. User interface for predictive traffic
US20100114887A1 (en) * 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US8442824B2 (en) 2008-11-26 2013-05-14 Nuance Communications, Inc. Device, system, and method of liveness detection utilizing voice biometrics
US8140328B2 (en) 2008-12-01 2012-03-20 At&T Intellectual Property I, L.P. User intention based on N-best list of recognition hypotheses for utterances in a dialog
WO2010075623A1 (en) 2008-12-31 2010-07-08 Bce Inc. System and method for unlocking a device
US8326637B2 (en) 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US8805823B2 (en) 2009-04-14 2014-08-12 Sri International Content processing systems and methods
CN102405463B (en) 2009-04-30 2015-07-29 三星电子株式会社 User intent reasoning device and method using multimodal information
KR101032792B1 (en) 2009-04-30 2011-05-06 주식회사 코오롱 Polyester fabric for airbag and manufacturing method thereof
KR101581883B1 (en) 2009-04-30 2016-01-11 삼성전자주식회사 Speech detection apparatus and method using motion information
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
KR101562792B1 (en) 2009-06-10 2015-10-23 삼성전자주식회사 Apparatus and method for providing target prediction interface
US8527278B2 (en) 2009-06-29 2013-09-03 Abraham Ben David Intelligent home automation
US20110047072A1 (en) 2009-08-07 2011-02-24 Visa U.S.A. Inc. Systems and Methods for Propensity Analysis and Validation
US8768313B2 (en) 2009-08-17 2014-07-01 Digimarc Corporation Methods and systems for image or audio recognition processing
WO2011028844A2 (en) 2009-09-02 2011-03-10 Sri International Method and apparatus for tailoring the output of an intelligent automated assistant to a user
US8321527B2 (en) 2009-09-10 2012-11-27 Tribal Brands System and method for tracking user location and associated activity and responsively providing mobile device updates
KR20110036385A (en) 2009-10-01 2011-04-07 삼성전자주식회사 User Intention Analysis Apparatus and Method
US9197736B2 (en) 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US20110099507A1 (en) 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US20120137367A1 (en) 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US9171541B2 (en) 2009-11-10 2015-10-27 Voicebox Technologies Corporation System and method for hybrid processing in a natural language voice services environment
US9502025B2 (en) 2009-11-10 2016-11-22 Voicebox Technologies Corporation System and method for providing a natural language content dedication service
US8712759B2 (en) 2009-11-13 2014-04-29 Clausal Computing Oy Specializing disambiguation of a natural language expression
KR101960835B1 (en) 2009-11-24 2019-03-21 삼성전자주식회사 Schedule Management System Using Interactive Robot and Method Thereof
US8396888B2 (en) 2009-12-04 2013-03-12 Google Inc. Location-based searching using a search area that corresponds to a geographical location of a computing device
KR101622111B1 (en) 2009-12-11 2016-05-18 삼성전자 주식회사 Dialog system and conversational method thereof
US20110161309A1 (en) 2009-12-29 2011-06-30 Lx1 Technology Limited Method Of Sorting The Result Set Of A Search Engine
US8494852B2 (en) 2010-01-05 2013-07-23 Google Inc. Word-level correction of speech input
US8334842B2 (en) 2010-01-15 2012-12-18 Microsoft Corporation Recognizing user intent in motion capture system
US8626511B2 (en) 2010-01-22 2014-01-07 Google Inc. Multi-dimensional disambiguation of voice commands
US20110218855A1 (en) 2010-03-03 2011-09-08 Platformation, Inc. Offering Promotions Based on Query Analysis
KR101369810B1 (en) 2010-04-09 2014-03-05 이초강 Empirical Context Aware Computing Method For Robot
US8265928B2 (en) 2010-04-14 2012-09-11 Google Inc. Geotagged environmental audio for enhanced speech recognition accuracy
US20110279368A1 (en) 2010-05-12 2011-11-17 Microsoft Corporation Inferring user intent to engage a motion capture system
US8694313B2 (en) 2010-05-19 2014-04-08 Google Inc. Disambiguation of contact information using historical data
US8522283B2 (en) 2010-05-20 2013-08-27 Google Inc. Television remote control data transfer
US8468012B2 (en) 2010-05-26 2013-06-18 Google Inc. Acoustic model adaptation using geographic information
ES2534047T3 (en) 2010-06-08 2015-04-16 Vodafone Holding Gmbh Smart card with microphone
US20110306426A1 (en) 2010-06-10 2011-12-15 Microsoft Corporation Activity Participation Based On User Intent
US8234111B2 (en) 2010-06-14 2012-07-31 Google Inc. Speech and noise models for speech recognition
US8411874B2 (en) 2010-06-30 2013-04-02 Google Inc. Removing noise from audio
US8775156B2 (en) 2010-08-05 2014-07-08 Google Inc. Translating languages in response to device motion
US8359020B2 (en) 2010-08-06 2013-01-22 Google Inc. Automatically monitoring for voice input based on context
US8473289B2 (en) 2010-08-06 2013-06-25 Google Inc. Disambiguating input based on context
CN103370705B (en) * 2011-01-05 2018-01-02 谷歌公司 For facilitating the method and system of text input
US20120271676A1 (en) 2011-04-25 2012-10-25 Murali Aravamudan System and method for an intelligent personal timeline assistant
US8386926B1 (en) * 2011-10-06 2013-02-26 Google Inc. Network-based custom dictionary, auto-correction and text entry preferences
US9229924B2 (en) 2012-08-24 2016-01-05 Microsoft Technology Licensing, Llc Word detection and domain dictionary recommendation
US9218333B2 (en) * 2012-08-31 2015-12-22 Microsoft Technology Licensing, Llc Context sensitive auto-correction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Also Published As

Publication number Publication date
WO2014159473A3 (en) 2014-11-20
US20140281944A1 (en) 2014-09-18
US9977779B2 (en) 2018-05-22

Similar Documents

Publication Publication Date Title
US9977779B2 (en) Automatic supplementation of word correction dictionaries
US9508028B2 (en) Converting text strings into number strings, such as via a touchscreen input
US9715489B2 (en) Displaying a prediction candidate after a typing mistake
US20140035823A1 (en) Dynamic Context-Based Language Determination
CN101840300B (en) Method and system for receiving text input on a touch-sensitive display device
AU2014212844B2 (en) Character and word level language models for out-of-vocabulary text input
US10824656B2 (en) Method and system for providing adaptive keyboard interface, and method for inputting reply using adaptive keyboard based on content of conversation
US10614154B2 (en) Methods, devices, and computer-readable medium for predicting the intended input from a user of an application in an electronic device
CN106415531A (en) Context specific language model for input method editor
CN106406559A (en) Modification of input based on language content background
JP4891438B2 (en) Eliminate ambiguity in keypad text entry
EP2909702B1 (en) Contextually-specific automatic separators
US9189158B2 (en) Methods, devices and systems for entering textual representations of words into a computing device by processing user physical and verbal interactions with the computing device
US10025772B2 (en) Information processing apparatus, information processing method, and program
CN110633017A (en) An input method, device and device for input
CN107797676B (en) Single character input method and device
KR101858544B1 (en) Information processing method and apparatus
CN110780749B (en) A string error correction method and device
WO2014134769A1 (en) An apparatus and associated methods
CN114510154B (en) Input method, device and device for input
CN113807082B (en) Target user determining method and device for determining target user
CN109992120A (en) A kind of input error correction method and device
CN109271094B (en) Text editing method, device and equipment
WO2026051603A1 (en) Text detection model training method and apparatus, text detection method and apparatus, and computer device, medium, and program product

Legal Events

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

Ref document number: 14725792

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 14725792

Country of ref document: EP

Kind code of ref document: A2