WO2015006944A1 - Predictive text - Google Patents

Predictive text Download PDF

Info

Publication number
WO2015006944A1
WO2015006944A1 PCT/CN2013/079551 CN2013079551W WO2015006944A1 WO 2015006944 A1 WO2015006944 A1 WO 2015006944A1 CN 2013079551 W CN2013079551 W CN 2013079551W WO 2015006944 A1 WO2015006944 A1 WO 2015006944A1
Authority
WO
WIPO (PCT)
Prior art keywords
character string
predictive text
text dictionary
dictionary
user
Prior art date
Application number
PCT/CN2013/079551
Other languages
French (fr)
Inventor
Hongrui SHEN
Naichen CUI
Lu Liu
Xiaoping Li
Changjiang Zhang
Original Assignee
Nokia Corporation
Nokia (China) Investment Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corporation, Nokia (China) Investment Co., Ltd. filed Critical Nokia Corporation
Priority to PCT/CN2013/079551 priority Critical patent/WO2015006944A1/en
Publication of WO2015006944A1 publication Critical patent/WO2015006944A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

  • Example embodiments of the present invention relate generally to providing predictive text functionality for text input.
  • Modern communication devices are configured to receive input from users in a variety of forms— text, graphics, voice, option selection, etc.
  • text input users have grown to rely on suggestions or automatic corrections of typographical errors in the user-entered text.
  • the scope and effectiveness of predictive text functionality is often limited by the accuracy and completeness of the dictionaries from which the "correct" terms are pulled.
  • an apparatus, method, and computer program product can automatically modify a predictive text dictionary upon receiving user input that copies and pastes user-selected character strings into text user interfaces, such as text messages and email messages.
  • an apparatus may be provided that includes at least one processor and at least one memory including computer program code.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to at least receive a user input pasting a character string from a clipboard into a text user interface and automatically modify a predictive text dictionary with respect to the character string in response to receipt of the user input.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically add the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
  • the text user interface may be an electronic message. Additionally or alternatively, the user input may form at least part of a drag and drop operation.
  • the character string may comprise a plurality of words
  • the at least one memory and computer program code may be configured to, with the processor, cause the apparatus to automatically add each of the plurality of words to the predictive text dictionary as a separate entry.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically increase the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
  • a method and a computer program product are described for automatically modifying a predictive text dictionary by receiving a user input pasting a character string from a clipboard into a text user interface and automatically modifying a predictive text dictionary with respect to the character string in response to receipt of the user input.
  • the character string may be automatically added to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
  • the text user interface may be an electronic message.
  • the user input may form at least part of a drag and drop operation.
  • the character string may comprise a plurality of words
  • automatically modifying the predictive text dictionary may comprise automatically adding each of the plurality of words to the predictive text dictionary as a separate entry.
  • Automatically modifying the predictive text dictionary may comprise automatically increasing the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
  • an apparatus for automatically modifying a predictive text dictionary.
  • the apparatus may include means for receiving a user input pasting a character string from a clipboard into a text user interface and means for modifying a predictive text dictionary with respect to the character string in response to receipt of the user input.
  • the apparatus may further comprise means for adding the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
  • the text user interface may be an electronic message. Additionally or alternatively, the user input may form at least part of a drag and drop operation.
  • the character string may comprise a plurality of words
  • the apparatus may further comprise means for automatically adding each of the plurality of words to the predictive text dictionary as a separate entry.
  • the means for automatically modifying the predictive text dictionary may further comprise means for automatically increasing the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
  • FIG. 1 illustrates a schematic block diagram of an apparatus for modifying a predictive text dictionary in response to receipt of first and second user inputs according to an example embodiment of the present invention
  • FIG. 2 illustrates an apparatus displaying content including a character string that a user desires to use in a text user interface according to an example embodiment of the present invention
  • FIG. 3 illustrates a text user interface comprising an email in which the user desires to use the character string of Fig. 2 according to an example embodiment of the present invention
  • FIG. 4 illustrates a flowchart of methods of modifying a predictive text dictionary in response to receipt of first and second user inputs according to an example embodiment of the present invention.
  • circuitry refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present.
  • This definition of 'circuitry' applies to all uses of this term herein, including in any claims.
  • the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.
  • the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
  • a "computer-readable storage medium,” which refers to a physical storage medium (e.g., volatile or non-volatile memory device), can be
  • Predictive text functionality is an input technology that attempts to "predict" a word or words that a user intends to input so as to provide the desired word or words for the user automatically.
  • predictive text functionality may automatically complete a word that is partially entered by the user (e.g., displaying the word “reminder” upon receiving input from the user typing "r-e-m-i-n”).
  • predictive text functionality may propose a spelling correction for a word that is fully or partially typed by the user (e.g., proposing the word "dysfunctional” upon receiving input from the user typing "d-i-s-f-u-n-c").
  • predictive text functionality may decode an ambiguous text input, such as an ambiguous text input made on an ITU-T keyboard (in which multiple letters are associated with a particular key) or on a QWERTY keyboard that uses shape-writing input technology (which translates input in the form of the user sliding his finger across the screen in a continuous stroke that passes over all of the letters desired to be inputted into a particular word or words).
  • Predictive text functionality may further interpret a handwritten input and convert the input into a corresponding text input.
  • predictive text functionality is provided by attempting to match the user input (e.g., the input being a portion of the desired word, the misspelled word, the continuous keystroke, etc.) with a corresponding word stored in a predictive text dictionary.
  • the predictive text dictionary may, for example, be a database or other repository of words, such as words that are commonly used in the user's language, words that the user has previously typed, and/or words that are otherwise manually included in the predictive text dictionary by the user.
  • the predictive text dictionary may include multiple dictionaries that may be accessed during a predictive text operation.
  • one or more dictionaries may be supplied with a user device or program application, while at the same time the user may be allowed to add his or her own words either directly into the supplied dictionary or into an extra "custom" dictionary (e.g., via manual entry of the word into the dictionary or based on the user's typing of words that are not otherwise included in the supplied dictionary).
  • conventional predictive text functionality may, upon recognizing that the user has provided input that does not correspond to a term included in the predictive text dictionary, provide the user with a list of words that are found in the supplier dictionary and/or the custom dictionary and allow the user to either select one of the displayed terms as a replacement for the user-entered term or request the user's authorization to allow the addition of the user-entered term into the respective dictionary.
  • Words may, thus, be added to a dictionary when they are selected by the user during a predictive text operation. For example, a user may enter the word "Formby" into a text input field, and the word may not be recognized as a word that is included in a supplied or custom dictionary.
  • the user may be presented with three word options to choose from, which may include (in this example) the originally entered word and two alternatives proposed based on corresponding terms found in the supplied or custom dictionaries: "Formby,” “Formerly,” and “Form.”
  • the term "Formby” may be automatically added to the predictive text dictionary (e.g., the custom dictionary).
  • information that the user receives may be parsed so as to identify words to be added to the predictive text dictionary.
  • a user may receive a short message service (SMS) message asking if he liked the movie Prometheus.
  • SMS short message service
  • Predictive text functionality may identify the term "Prometheus" as a new term to be added to the dictionary (e.g., the custom dictionary) and may automatically add that term. In this way, when the user responds back to that message to provide his thoughts on the movie, he would not receive any indications that Prometheus is a misspelled word.
  • conventional predictive text functionality may provide an interface to allow the user to directly modify the contents of a predictive text dictionary, such as by deleting certain terms and adding others.
  • users may be allowed to supplement their dictionaries with word lists that are accessed and/or downloaded from other sources, such as the Internet, or are received from and/or shared amongst friends.
  • a user may want to enter a particular word in a text user interface, such as an electronic message (e.g., email, text message, instant message, SMS message, etc.), a document, a calendar entry, or other text input field that is not included in a supplied dictionary or a custom dictionary.
  • a proper noun such as the name of a person, a location, a medical condition, or some other pronoun, specialty term, or colloquial term that is not found in the supplied dictionary or the custom dictionary.
  • a user may have to decline selecting any of the displayed proposed terms or otherwise affirmatively indicate that the entered term (which was initially deemed inaccurate or misspelled) is actually the desired word.
  • the user must take the time to provide input in addition to the input required to type all or part of the word, where the additional input essentially confirms the user's intent to type the term that the system has initially determined to be wrong.
  • the user may not want to be distracted with seeing options for alternative words or spellings in instances in which the user is fairly certain that the word is correctly spelled.
  • the user may have taken a difficult or uncommon word directly from an authoritative source and pasted it into a text user interface, such as an email.
  • the user may, for example, have been reading a medical website and may have copied a medical term from the website and pasted it into an email.
  • embodiments of the present invention provide for automatic modification of a predictive text dictionary in response to receipt of a first user input copying the character string and a second user input pasting the character string into a text user interface.
  • a user who is copying and pasting a word from one source into a text user interface is not unnecessarily bothered with alternative spellings or words when the copied and pasted word is one that was not previously included in the user's predictive text dictionary.
  • Fig. 1 which depicts certain elements of an apparatus 50 for automatically modifying a predictive text dictionary.
  • the apparatus 50 may be employed, for example, with a mobile terminal, such as a portable digital assistant (PDA), mobile telephone, pager, mobile television, gaming device, laptop computer, camera, tablet computer, touch surface, wearable device, video recorder, audio/video player, radio, electronic book, positioning device (e.g., global positioning system (GPS) device), or any combination of the aforementioned.
  • PDA portable digital assistant
  • mobile telephone pager
  • mobile television gaming device
  • laptop computer camera
  • tablet computer touch surface
  • wearable device video recorder
  • audio/video player radio
  • electronic book electronic book
  • positioning device e.g., global positioning system (GPS) device
  • GPS global positioning system
  • the apparatus 50 may also be employed in connection with a variety of other devices, both mobile and fixed, and therefore, embodiments of the present invention should not be limited to application on devices such as a mobile terminal.
  • the apparatus 50 may be employed on a personal computer, a tablet, a mobile telephone, or other user terminal. Moreover, in some cases, part or all of the apparatus 50 may be on a fixed device such as a server or other service platform and the content may be presented (e.g., via a server/client relationship) on a remote device such as a user terminal (e.g., a mobile terminal) based on processing that occurs at the fixed device.
  • a server or other service platform such as a server or other service platform and the content may be presented (e.g., via a server/client relationship) on a remote device such as a user terminal (e.g., a mobile terminal) based on processing that occurs at the fixed device.
  • FIG. 1 illustrates one example of a configuration of an apparatus for 50 for automatically modifying a predictive text dictionary
  • numerous other configurations may also be used to implement embodiments of the present invention.
  • devices or elements are shown as being in communication with each other, hereinafter such devices or elements should be considered to be capable of being embodied within a same device or element and, thus, devices or elements shown in communication should be understood to alternatively be portions of the same device or element.
  • the apparatus 50 for automatically modifying a predictive text dictionary may include or otherwise be in communication with a processor 70, a user interface transceiver 72, a communication interface 74, and a memory device 76.
  • the processor 70 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor 70) may be in
  • the memory device 76 may include, for example, one or more volatile and/or non-volatile memories.
  • the memory device 76 may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor 70).
  • the memory device 76 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention.
  • the memory device 76 could be configured to buffer input data for processing by the processor 70. Additionally or alternatively, the memory device 76 could be configured to store instructions for execution by the processor 70.
  • the apparatus 50 may, in some embodiments, be a mobile terminal (e.g., mobile terminal 10) or a fixed communication device or computing device configured to employ an example embodiment of the present invention. However, in some embodiments, the apparatus 50 may be embodied as a chip or chip set. In other words, the apparatus 50 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon.
  • the apparatus 50 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip.”
  • a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
  • the processor 70 may be embodied in a number of different ways.
  • the processor 70 may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC
  • the processor 70 may include one or more processing cores configured to perform independently.
  • a multi-core processor may enable multiprocessing within a single physical package.
  • the processor 70 may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
  • the processor 70 may be configured to execute instructions stored in the memory device 76 or otherwise accessible to the processor 70. Alternatively or additionally, the processor 70 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 70 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor 70 is embodied as an ASIC, FPGA or the like, the processor 70 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 70 is embodied as an executor of software instructions, the instructions may specifically configure the processor 70 to perform the algorithms and/or operations described herein when the instructions are executed.
  • the processor 70 may be a processor of a specific device (e.g., a mobile terminal or network device) adapted for employing an embodiment of the present invention by further configuration of the processor 70 by instructions for performing the algorithms and/or operations described herein.
  • the processor 70 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 70.
  • ALU arithmetic logic unit
  • the communication interface 74 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 50.
  • the communication interface 74 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network.
  • the communication interface 74 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s).
  • the communication interface 74 may alternatively or also support wired communication.
  • the communication interface 74 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
  • DSL digital subscriber line
  • USB universal serial bus
  • the user interface transceiver 72 may be in communication with the processor 70 to receive an indication of a user input and/or to cause provision of an audible, visual, mechanical or other output to the user.
  • the user interface transceiver 72 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen(s), touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms.
  • the processor 70 may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as, for example, a speaker, ringer, microphone, display, and/or the like.
  • the processor 70 and/or user interface circuitry comprising the processor 70 may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 70 (e.g., memory device 76, and/or the like).
  • an apparatus 50 (shown in Fig. 1 ) is provided, such as an apparatus embodied by a mobile terminal (e.g., a cellular phone).
  • the apparatus 50 may have or be otherwise associated with a display 100, such as a touch screen display.
  • the apparatus may comprise at least one processor (e.g., processor 70 of Fig. 1 ) and at least one memory (e.g., memory device 76 of Fig. 1 ) including computer program code.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to at least receive a first user input copying a character string 105 that is being displayed to the user, receive a second user input pasting the character string into a text user interface, and
  • Fig. 2 for example, the user is reading an article from a website regarding the common cold on the display 100 of his cellular phone. After reading the article, the user may decide to send his friend, who is currently experiencing symptoms of a cold, some advice regarding what medicines the friend may take to ease his discomfort. In this example, the user may select the word "antihistamines" 105 and may copy the word to the memory device 76 of the apparatus 50 shown in Fig. 1 .
  • the operation copying the selected term may temporarily save the term to an area of the memory device 76 that may be set aside to temporarily hold data so that it may be transferred from one place to another, such as a "clipboard.”
  • the first user input received may be a copy operation, in which a selected word or group of words is copied to the clipboard (e.g., by selecting a "copy" option with respect to the selected text).
  • the user may open an email application and begin typing up an email 1 10 to his friend, Jeff.
  • the user may paste the previously copied word 105 into the message.
  • the second user input received may be a paste operation, in which the copied word or group of words is pasted from the clipboard (e.g., by selecting a "paste" option with respect to the copied text). The user may then proceed with typing the rest of his message to Jeff.
  • the user's predictive text dictionary may be modified.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically add the character string 105 to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
  • the apparatus 50 may, for example, be caused to check the predictive text dictionary for the copied and pasted character string 105, and if the character string is not found, the character string may be added as a new entry.
  • the term "antihistamines” may not be part of the predictive text dictionary, and so the character string corresponding to the copied term "antihistamines" may be automatically added to the user's predictive text dictionary in response to receipt of the first and second user inputs.
  • the user may later type the word antihistamines into text user interfaces without receiving indications of alternative spellings or other words identified by the predictive text functionality that could replace the entered term, as the term has now been added and can be found in the predictive text dictionary.
  • the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically increase the priority of the character string 105 with respect to a group of associated words found in the predictive text dictionary.
  • the particular copied and pasted term in the previous example, "antihistamines”
  • the particular copied and pasted term may already be part of the predictive text dictionary and may be associated with two other terms having a similar spelling or other shared characteristics, such that entry by the user of a particular character string may trigger the display of the associated words according to their respective priorities.
  • the term “antihistamines” may be associated with the term “anti-history,” and both terms may already be entries in the predictive text dictionary.
  • the term "anti- history,” in this example, however, may have a higher priority than the term
  • the predictive text dictionary may be modified to increase the priority of the character string as compared to the other associated terms, such that (for example) the user would see “antihistamines” suggested first, followed by the (now) lower priority term “anti-history.”
  • the first user input may be a drag operation and the second user input may be a drop operation.
  • the user may select a particular character string 105 to be transferred to a text user interface and may "copy" the character string by dragging the selected character string from the source content to the desired destination text user interface 1 10 (shown in Fig. 3).
  • the drag operation may, for example comprise highlighting the character string (e.g., with a user input device, such as a mouse), clicking down on the highlighted input string (e.g., using a button of the mouse) and, while continuing to hold the mouse button down, moving the selected character string to the desired location (such as a position within a text user interface, as shown in Fig. 3).
  • the user may then release the mouse button to "drop" the selected character string at the desired location. In this way, the character string 105 may be "pasted" via the drop operation.
  • the character string may comprise a plurality of words, such that two, three, or more words are selected and copied via a first user input.
  • the at least one memory and computer program code may be configured to, with the processor, cause the apparatus to automatically add each of the plurality of words to the predictive text dictionary as a separate entry. For example, in reading an article about disorders of the heart on the Internet, a user may come across the phrase "patent ductus arteriosus" and may wish to include this medical condition in a research paper she is writing for a medical journal.
  • the user may thus highlight the three words "patent ductus arteriosus” and either copy the character string to the clipboard of her device and then paste the character string in her document, or drag the selected character string from the web article and drop it into her document.
  • the apparatus may be caused to add each of the words to the predictive text dictionary as a separate entry, such that "patent,” "ductus,” and “arteriosus” are separately included in the predictive text dictionary.
  • the term would be recognized as being included in the predictive text dictionary, despite the absence of the terms "patent” and "arteriosus.”
  • the other two terms in this example may nonetheless be automatically added as separate entries into the predictive text dictionary.
  • the text user interface may be any interface provided to the user that is capable of receiving text inputs.
  • the text user interface may be an electronic message, such as an email, a text message, an SMS message, an instant message, etc.
  • the text user interface may be an address book entry, a calendar entry, a document, a spreadsheet, or any other text input field.
  • embodiments of the invention are configured to automatically modify a predictive text dictionary (e.g., adding terms or changing the priority associated with an already included term) based on user inputs serving to transfer a particular character string (one or multiple words) from source content to a destination text user interface.
  • a predictive text dictionary e.g., adding terms or changing the priority associated with an already included term
  • the predictive text dictionary will not become overpopulated with inappropriate or irrelevant words or with other people's misspellings (e.g., in the event the user examines non-authoritative or amateur source content).
  • the user does not need to manually enter the words into the predictive text dictionary, which would require more effort on the part of the user and may risk introducing inaccuracies and misspellings into the entries.
  • Fig. 4 illustrates a flowchart of systems, methods, and computer program products according to example embodiments of the invention. It will be understood that each block of the flowchart, and combinations of blocks in the flowchart, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device of an apparatus employing an example embodiment of the present invention and executed by a processor in the apparatus.
  • any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart block(s).
  • These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart block(s).
  • the computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart block(s).
  • blocks of the flowchart support combinations of means for performing the specified functions, combinations of operations for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
  • FIG. 4 depicts an example embodiment of a method for automatically modifying a predictive text dictionary that includes receiving a first user input copying a character string that is being displayed to a user at block 200 and receiving a second user input pasting the character string into a text user interface at block 210.
  • a predictive text dictionary may then be automatically modified with respect to the character string in response to receipt of the first and second user inputs at block 220.
  • the character string may be automatically added to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
  • the priority of the character string may be increased with respect to a group of associated words found in the predictive text dictionary.
  • the character string may comprise a plurality of words, and modification of the predictive text dictionary may include automatically adding each of the plurality of words to the predictive text dictionary as a separate entry.
  • the text user interface may be an electronic message.
  • the first user input may be a drag operation and the second user input may be a drop operation.
  • an apparatus for performing the methods of Fig. 4 above may comprise a processor (e.g., the processor 70 of Fig. 1 ) configured to perform some or each of the operations (200-220) described above.
  • the processor may, for example, be configured to perform the operations (200-220) by performing hardware implemented logical functions, executing stored instructions, or executing algorithms for performing each of the operations.
  • the apparatus may comprise means for performing each of the operations described above.
  • examples of means for performing at least portions of operations 200 and 210 may comprise, for example, the user interface transceiver 72, the processor 70, the memory device 76, and/or a device or circuit for executing instructions or executing an algorithm for processing information as described above.
  • examples of means for performing operation 220 may comprise, for example, the processor 70, the memory device 76, and/or a device or circuit for executing instructions or executing an algorithm for processing information as described above.

Abstract

Apparatuses, methods, and computer program products are provided that automatically modify a predictive text dictionary based on the receipt of first and second user inputs copying and pasting the character string from a source to a destination text user interface. Selected character strings may be added to the predictive text dictionary, or the priority associated with an already included character string may be updated as a result of the first and second inputs. In some cases, the predictive text dictionary may be modified in response to a first user input directly copying the term(s) from source content (such as a webpage) and a second user input pasting the term into a destination text user interface. In other cases, the particular character string may be dragged from the source and dropped into the desired text user interface, thereby triggering the automatic modification of the predictive text dictionary.

Description

PREDICTIVE TEXT
TECHNOLOGICAL FIELD
Example embodiments of the present invention relate generally to providing predictive text functionality for text input. BACKGROUND
Modern communication devices are configured to receive input from users in a variety of forms— text, graphics, voice, option selection, etc. With respect to text input, users have grown to rely on suggestions or automatic corrections of typographical errors in the user-entered text. The scope and effectiveness of predictive text functionality, however, is often limited by the accuracy and completeness of the dictionaries from which the "correct" terms are pulled.
Accordingly, it may be desirable to provide improved dictionaries for enhancing predictive text functionality. BRIEF SUMMARY OF EXAMPLE EMBODIMENTS
Accordingly, embodiments of an apparatus, method, and computer program product are described that can automatically modify a predictive text dictionary upon receiving user input that copies and pastes user-selected character strings into text user interfaces, such as text messages and email messages.
In some embodiments, an apparatus may be provided that includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to at least receive a user input pasting a character string from a clipboard into a text user interface and automatically modify a predictive text dictionary with respect to the character string in response to receipt of the user input. The at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically add the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary. In some cases, the text user interface may be an electronic message. Additionally or alternatively, the user input may form at least part of a drag and drop operation.
In some cases, the character string may comprise a plurality of words, and the at least one memory and computer program code may be configured to, with the processor, cause the apparatus to automatically add each of the plurality of words to the predictive text dictionary as a separate entry. The at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically increase the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
In other embodiments, a method and a computer program product are described for automatically modifying a predictive text dictionary by receiving a user input pasting a character string from a clipboard into a text user interface and automatically modifying a predictive text dictionary with respect to the character string in response to receipt of the user input. The character string may be automatically added to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary. In some cases, the text user interface may be an electronic message.
Additionally or alternatively, the user input may form at least part of a drag and drop operation.
In some cases, the character string may comprise a plurality of words, and automatically modifying the predictive text dictionary may comprise automatically adding each of the plurality of words to the predictive text dictionary as a separate entry.
Automatically modifying the predictive text dictionary may comprise automatically increasing the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
In still other embodiments, an apparatus is provided for automatically modifying a predictive text dictionary. The apparatus may include means for receiving a user input pasting a character string from a clipboard into a text user interface and means for modifying a predictive text dictionary with respect to the character string in response to receipt of the user input. The apparatus may further comprise means for adding the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary. In some cases, the text user interface may be an electronic message. Additionally or alternatively, the user input may form at least part of a drag and drop operation.
In some cases, the character string may comprise a plurality of words, and the apparatus may further comprise means for automatically adding each of the plurality of words to the predictive text dictionary as a separate entry. The means for automatically modifying the predictive text dictionary may further comprise means for automatically increasing the priority of the character string with respect to a group of associated words found in the predictive text dictionary. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
Having thus described certain example embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1 illustrates a schematic block diagram of an apparatus for modifying a predictive text dictionary in response to receipt of first and second user inputs according to an example embodiment of the present invention;
FIG. 2 illustrates an apparatus displaying content including a character string that a user desires to use in a text user interface according to an example embodiment of the present invention;
FIG. 3 illustrates a text user interface comprising an email in which the user desires to use the character string of Fig. 2 according to an example embodiment of the present invention; and
FIG. 4 illustrates a flowchart of methods of modifying a predictive text dictionary in response to receipt of first and second user inputs according to an example embodiment of the present invention.
DETAILED DESCRIPTION
Some example embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms "data," "content," "information," and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, as used herein, the term 'circuitry' refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
As defined herein, a "computer-readable storage medium," which refers to a physical storage medium (e.g., volatile or non-volatile memory device), can be
differentiated from a "computer-readable transmission medium," which refers to an electromagnetic signal.
Predictive text functionality is an input technology that attempts to "predict" a word or words that a user intends to input so as to provide the desired word or words for the user automatically. For example, predictive text functionality may automatically complete a word that is partially entered by the user (e.g., displaying the word "reminder" upon receiving input from the user typing "r-e-m-i-n"). As another example, predictive text functionality may propose a spelling correction for a word that is fully or partially typed by the user (e.g., proposing the word "dysfunctional" upon receiving input from the user typing "d-i-s-f-u-n-c"). As yet another example, predictive text functionality may decode an ambiguous text input, such as an ambiguous text input made on an ITU-T keyboard (in which multiple letters are associated with a particular key) or on a QWERTY keyboard that uses shape-writing input technology (which translates input in the form of the user sliding his finger across the screen in a continuous stroke that passes over all of the letters desired to be inputted into a particular word or words). Predictive text functionality may further interpret a handwritten input and convert the input into a corresponding text input.
In general, predictive text functionality is provided by attempting to match the user input (e.g., the input being a portion of the desired word, the misspelled word, the continuous keystroke, etc.) with a corresponding word stored in a predictive text dictionary. The predictive text dictionary may, for example, be a database or other repository of words, such as words that are commonly used in the user's language, words that the user has previously typed, and/or words that are otherwise manually included in the predictive text dictionary by the user. In some cases, the predictive text dictionary may include multiple dictionaries that may be accessed during a predictive text operation. For example, one or more dictionaries may be supplied with a user device or program application, while at the same time the user may be allowed to add his or her own words either directly into the supplied dictionary or into an extra "custom" dictionary (e.g., via manual entry of the word into the dictionary or based on the user's typing of words that are not otherwise included in the supplied dictionary).
For example, conventional predictive text functionality may, upon recognizing that the user has provided input that does not correspond to a term included in the predictive text dictionary, provide the user with a list of words that are found in the supplier dictionary and/or the custom dictionary and allow the user to either select one of the displayed terms as a replacement for the user-entered term or request the user's authorization to allow the addition of the user-entered term into the respective dictionary. Words may, thus, be added to a dictionary when they are selected by the user during a predictive text operation. For example, a user may enter the word "Formby" into a text input field, and the word may not be recognized as a word that is included in a supplied or custom dictionary. As a result of predictive text functionality, the user may be presented with three word options to choose from, which may include (in this example) the originally entered word and two alternatives proposed based on corresponding terms found in the supplied or custom dictionaries: "Formby," "Formerly," and "Form." Upon the user's selection of the original character string, the term "Formby" may be automatically added to the predictive text dictionary (e.g., the custom dictionary).
In other conventional predictive text systems, methods, and devices, information that the user receives may be parsed so as to identify words to be added to the predictive text dictionary. For example, a user may receive a short message service (SMS) message asking if he liked the movie Prometheus. Predictive text functionality may identify the term "Prometheus" as a new term to be added to the dictionary (e.g., the custom dictionary) and may automatically add that term. In this way, when the user responds back to that message to provide his thoughts on the movie, he would not receive any indications that Prometheus is a misspelled word.
Moreover, in some cases, conventional predictive text functionality may provide an interface to allow the user to directly modify the contents of a predictive text dictionary, such as by deleting certain terms and adding others. In still other conventional cases, users may be allowed to supplement their dictionaries with word lists that are accessed and/or downloaded from other sources, such as the Internet, or are received from and/or shared amongst friends.
Often, however, a user may want to enter a particular word in a text user interface, such as an electronic message (e.g., email, text message, instant message, SMS message, etc.), a document, a calendar entry, or other text input field that is not included in a supplied dictionary or a custom dictionary. For example, the user may want to enter a proper noun, such as the name of a person, a location, a medical condition, or some other pronoun, specialty term, or colloquial term that is not found in the supplied dictionary or the custom dictionary. In conventional cases, a user may have to decline selecting any of the displayed proposed terms or otherwise affirmatively indicate that the entered term (which was initially deemed inaccurate or misspelled) is actually the desired word. In other words, the user must take the time to provide input in addition to the input required to type all or part of the word, where the additional input essentially confirms the user's intent to type the term that the system has initially determined to be wrong.
Moreover, the user may not want to be distracted with seeing options for alternative words or spellings in instances in which the user is fairly certain that the word is correctly spelled. For example, the user may have taken a difficult or uncommon word directly from an authoritative source and pasted it into a text user interface, such as an email. The user may, for example, have been reading a medical website and may have copied a medical term from the website and pasted it into an email.
Accordingly, embodiments of the present invention provide for automatic modification of a predictive text dictionary in response to receipt of a first user input copying the character string and a second user input pasting the character string into a text user interface. In this way, a user who is copying and pasting a word from one source into a text user interface is not unnecessarily bothered with alternative spellings or words when the copied and pasted word is one that was not previously included in the user's predictive text dictionary.
An example embodiment of the invention will now be described with reference to
Fig. 1 , which depicts certain elements of an apparatus 50 for automatically modifying a predictive text dictionary. The apparatus 50 may be employed, for example, with a mobile terminal, such as a portable digital assistant (PDA), mobile telephone, pager, mobile television, gaming device, laptop computer, camera, tablet computer, touch surface, wearable device, video recorder, audio/video player, radio, electronic book, positioning device (e.g., global positioning system (GPS) device), or any combination of the aforementioned. However, it should be noted that the apparatus 50 may also be employed in connection with a variety of other devices, both mobile and fixed, and therefore, embodiments of the present invention should not be limited to application on devices such as a mobile terminal. For example, the apparatus 50 may be employed on a personal computer, a tablet, a mobile telephone, or other user terminal. Moreover, in some cases, part or all of the apparatus 50 may be on a fixed device such as a server or other service platform and the content may be presented (e.g., via a server/client relationship) on a remote device such as a user terminal (e.g., a mobile terminal) based on processing that occurs at the fixed device.
It should also be noted that while Fig. 1 illustrates one example of a configuration of an apparatus for 50 for automatically modifying a predictive text dictionary, numerous other configurations may also be used to implement embodiments of the present invention. As such, in some embodiments, although devices or elements are shown as being in communication with each other, hereinafter such devices or elements should be considered to be capable of being embodied within a same device or element and, thus, devices or elements shown in communication should be understood to alternatively be portions of the same device or element.
Referring to Fig. 1 , the apparatus 50 for automatically modifying a predictive text dictionary may include or otherwise be in communication with a processor 70, a user interface transceiver 72, a communication interface 74, and a memory device 76. In some embodiments, the processor 70 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor 70) may be in
communication with the memory device 76 via a bus for passing information among components of the apparatus 50. The memory device 76 may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device 76 may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor 70). The memory device 76 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention. For example, the memory device 76 could be configured to buffer input data for processing by the processor 70. Additionally or alternatively, the memory device 76 could be configured to store instructions for execution by the processor 70.
The apparatus 50 may, in some embodiments, be a mobile terminal (e.g., mobile terminal 10) or a fixed communication device or computing device configured to employ an example embodiment of the present invention. However, in some embodiments, the apparatus 50 may be embodied as a chip or chip set. In other words, the apparatus 50 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus 50 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip." As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
The processor 70 may be embodied in a number of different ways. For example, the processor 70 may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC
(application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processor 70 may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor 70 may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
In an example embodiment, the processor 70 may be configured to execute instructions stored in the memory device 76 or otherwise accessible to the processor 70. Alternatively or additionally, the processor 70 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 70 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor 70 is embodied as an ASIC, FPGA or the like, the processor 70 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 70 is embodied as an executor of software instructions, the instructions may specifically configure the processor 70 to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor 70 may be a processor of a specific device (e.g., a mobile terminal or network device) adapted for employing an embodiment of the present invention by further configuration of the processor 70 by instructions for performing the algorithms and/or operations described herein. The processor 70 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 70.
Meanwhile, the communication interface 74 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 50. In this regard, the communication interface 74 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface 74 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface 74 may alternatively or also support wired communication. As such, for example, the communication interface 74 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
The user interface transceiver 72 may be in communication with the processor 70 to receive an indication of a user input and/or to cause provision of an audible, visual, mechanical or other output to the user. As such, the user interface transceiver 72 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen(s), touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms.
Alternatively or additionally, the processor 70 may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as, for example, a speaker, ringer, microphone, display, and/or the like. The processor 70 and/or user interface circuitry comprising the processor 70 may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 70 (e.g., memory device 76, and/or the like).
Turning now to Fig. 2, in general, an apparatus 50 (shown in Fig. 1 ) is provided, such as an apparatus embodied by a mobile terminal (e.g., a cellular phone). The apparatus 50 may have or be otherwise associated with a display 100, such as a touch screen display. As described above, the apparatus may comprise at least one processor (e.g., processor 70 of Fig. 1 ) and at least one memory (e.g., memory device 76 of Fig. 1 ) including computer program code. The at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to at least receive a first user input copying a character string 105 that is being displayed to the user, receive a second user input pasting the character string into a text user interface, and
automatically modify a predictive text dictionary with respect to the character string in response to receipt of the first and second user inputs.
In Fig. 2, for example, the user is reading an article from a website regarding the common cold on the display 100 of his cellular phone. After reading the article, the user may decide to send his friend, who is currently experiencing symptoms of a cold, some advice regarding what medicines the friend may take to ease his discomfort. In this example, the user may select the word "antihistamines" 105 and may copy the word to the memory device 76 of the apparatus 50 shown in Fig. 1 . In some embodiments, the operation copying the selected term may temporarily save the term to an area of the memory device 76 that may be set aside to temporarily hold data so that it may be transferred from one place to another, such as a "clipboard." Thus, the first user input received may be a copy operation, in which a selected word or group of words is copied to the clipboard (e.g., by selecting a "copy" option with respect to the selected text).
Turning to Fig. 3, the user may open an email application and begin typing up an email 1 10 to his friend, Jeff. Instead of manually typing the word "antihistamines" in the body of the email, and potentially misspelling the word, the user (Kevin) may paste the previously copied word 105 into the message. Thus, the second user input received may be a paste operation, in which the copied word or group of words is pasted from the clipboard (e.g., by selecting a "paste" option with respect to the copied text). The user may then proceed with typing the rest of his message to Jeff.
According to example embodiments of the invention, upon receipt of the first and second inputs (e.g., the copy and paste operations), the user's predictive text dictionary may be modified. For example, the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically add the character string 105 to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary. The apparatus 50 may, for example, be caused to check the predictive text dictionary for the copied and pasted character string 105, and if the character string is not found, the character string may be added as a new entry. In the example described above, the term "antihistamines" may not be part of the predictive text dictionary, and so the character string corresponding to the copied term "antihistamines" may be automatically added to the user's predictive text dictionary in response to receipt of the first and second user inputs. Thus, in such embodiments, the user may later type the word antihistamines into text user interfaces without receiving indications of alternative spellings or other words identified by the predictive text functionality that could replace the entered term, as the term has now been added and can be found in the predictive text dictionary.
In other embodiments, the at least one memory and the computer program code may be configured to, with the processor, cause the apparatus to automatically increase the priority of the character string 105 with respect to a group of associated words found in the predictive text dictionary. For example, the particular copied and pasted term (in the previous example, "antihistamines") may already be part of the predictive text dictionary and may be associated with two other terms having a similar spelling or other shared characteristics, such that entry by the user of a particular character string may trigger the display of the associated words according to their respective priorities. For example, the term "antihistamines" may be associated with the term "anti-history," and both terms may already be entries in the predictive text dictionary. The term "anti- history," in this example, however, may have a higher priority than the term
"antihistamines," such that a user's entry of the letters "a-n-t-i-h-i-s-t-a" may trigger the display of the word "anti-history" first, followed by the term "antihistamines." In response to receipt of the first and second user inputs (e.g., the copy and paste operations) with respect to the character string 105, however, the predictive text dictionary may be modified to increase the priority of the character string as compared to the other associated terms, such that (for example) the user would see "antihistamines" suggested first, followed by the (now) lower priority term "anti-history."
In some embodiments, the first user input may be a drag operation and the second user input may be a drop operation. For example, with reference to Fig. 2, the user may select a particular character string 105 to be transferred to a text user interface and may "copy" the character string by dragging the selected character string from the source content to the desired destination text user interface 1 10 (shown in Fig. 3). The drag operation may, for example comprise highlighting the character string (e.g., with a user input device, such as a mouse), clicking down on the highlighted input string (e.g., using a button of the mouse) and, while continuing to hold the mouse button down, moving the selected character string to the desired location (such as a position within a text user interface, as shown in Fig. 3). The user may then release the mouse button to "drop" the selected character string at the desired location. In this way, the character string 105 may be "pasted" via the drop operation.
In still other embodiments, the character string may comprise a plurality of words, such that two, three, or more words are selected and copied via a first user input. The at least one memory and computer program code may be configured to, with the processor, cause the apparatus to automatically add each of the plurality of words to the predictive text dictionary as a separate entry. For example, in reading an article about disorders of the heart on the Internet, a user may come across the phrase "patent ductus arteriosus" and may wish to include this medical condition in a research paper she is writing for a medical journal. The user may thus highlight the three words "patent ductus arteriosus" and either copy the character string to the clipboard of her device and then paste the character string in her document, or drag the selected character string from the web article and drop it into her document. Upon receiving the respective first and second inputs associated with inserting the character string into her document, the apparatus may be caused to add each of the words to the predictive text dictionary as a separate entry, such that "patent," "ductus," and "arteriosus" are separately included in the predictive text dictionary. Thus, if the user at a later time uses only one of the terms (for example, "ductus"), the term would be recognized as being included in the predictive text dictionary, despite the absence of the terms "patent" and "arteriosus." In still other cases, if one of the words making up the selected character string is already included in the predictive text dictionary (e.g., from a previous predictive text operation or as part of a supplied dictionary), the other two terms (in this example) may nonetheless be automatically added as separate entries into the predictive text dictionary.
Although the examples above reference a text user interface that is an email (as shown in Fig. 3) or a document (e.g., a document created by the user through a word processing application), the text user interface may be any interface provided to the user that is capable of receiving text inputs. In this regard, the text user interface may be an electronic message, such as an email, a text message, an SMS message, an instant message, etc. Moreover, the text user interface may be an address book entry, a calendar entry, a document, a spreadsheet, or any other text input field.
Thus, embodiments of the invention are configured to automatically modify a predictive text dictionary (e.g., adding terms or changing the priority associated with an already included term) based on user inputs serving to transfer a particular character string (one or multiple words) from source content to a destination text user interface. By allowing the receipt of first and second inputs to trigger the modification of the predictive text dictionary (e.g., as opposed to indiscriminately adding any terms that are viewed by the user on a webpage), the predictive text dictionary will not become overpopulated with inappropriate or irrelevant words or with other people's misspellings (e.g., in the event the user examines non-authoritative or amateur source content). Moreover, the user does not need to manually enter the words into the predictive text dictionary, which would require more effort on the part of the user and may risk introducing inaccuracies and misspellings into the entries.
Fig. 4 illustrates a flowchart of systems, methods, and computer program products according to example embodiments of the invention. It will be understood that each block of the flowchart, and combinations of blocks in the flowchart, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device of an apparatus employing an example embodiment of the present invention and executed by a processor in the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart block(s). These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart block(s). The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart block(s).
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions, combinations of operations for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In this regard, one example embodiment of a method for automatically modifying a predictive text dictionary in response to first and second user inputs is shown in Fig. 4. Fig. 4 depicts an example embodiment of a method for automatically modifying a predictive text dictionary that includes receiving a first user input copying a character string that is being displayed to a user at block 200 and receiving a second user input pasting the character string into a text user interface at block 210. A predictive text dictionary may then be automatically modified with respect to the character string in response to receipt of the first and second user inputs at block 220.
For example, the character string may be automatically added to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary. Alternatively or additionally, the priority of the character string may be increased with respect to a group of associated words found in the predictive text dictionary.
The character string may comprise a plurality of words, and modification of the predictive text dictionary may include automatically adding each of the plurality of words to the predictive text dictionary as a separate entry. In some cases, the text user interface may be an electronic message. In still other embodiments the first user input may be a drag operation and the second user input may be a drop operation.
In some embodiments, certain ones of the operations above may be modified or further amplified as described below. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination. In an example embodiment, an apparatus for performing the methods of Fig. 4 above may comprise a processor (e.g., the processor 70 of Fig. 1 ) configured to perform some or each of the operations (200-220) described above. The processor may, for example, be configured to perform the operations (200-220) by performing hardware implemented logical functions, executing stored instructions, or executing algorithms for performing each of the operations. Alternatively, the apparatus may comprise means for performing each of the operations described above. In this regard, according to an example embodiment, examples of means for performing at least portions of operations 200 and 210 may comprise, for example, the user interface transceiver 72, the processor 70, the memory device 76, and/or a device or circuit for executing instructions or executing an algorithm for processing information as described above. Examples of means for performing operation 220 may comprise, for example, the processor 70, the memory device 76, and/or a device or circuit for executing instructions or executing an algorithm for processing information as described above.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

WHAT IS CLAIMED IS:
1 . An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least:
receive a user input pasting a character string from a clipboard into a text user interface; and
automatically modify a predictive text dictionary with respect to the character string in response to receipt of the user input.
2. An apparatus according to Claim 1 , wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to automatically add the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
3. An apparatus according to any of Claims 1 and 2, wherein the text user interface is an electronic message.
4. An apparatus according to any of Claims 1 -3, wherein the user input forms at least part of a drag and drop operation.
5. An apparatus according to any of Claims 1 -4, wherein the character string comprises a plurality of words, and wherein the at least one memory and computer program code are configured to, with the processor, cause the apparatus to automatically add each of the plurality of words to the predictive text dictionary as a separate entry.
6. An apparatus according to any of Claims 1 -5, wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to automatically increase the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
7. A method comprising:
receiving a user input pasting a character string from a clipboard into a text user interface; and
automatically modifying a predictive text dictionary with respect to the character string in response to receipt of the user input.
8. A method according to Claim 7 further comprising automatically adding the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
9. A method according to any of Claims 7 and 8, wherein the text user interface is an electronic message.
10. A method according to any of Claims 7-9, wherein the user input forms at least part of a drag and drop operation.
1 1 . A method according to any of Claims 7-10, wherein the character string comprises a plurality of words, and wherein automatically modifying the predictive text dictionary comprises automatically adding each of the plurality of words to the predictive text dictionary as a separate entry.
12. A method according to any of Claims 7-1 1 , wherein automatically modifying the predictive text dictionary comprises automatically increasing the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
13. A computer program product comprising at least one computer-readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions comprising program code instructions for: receiving a user input pasting a character string from a clipboard into a text user interface; and
automatically modifying a predictive text dictionary with respect to the character string in response to receipt of the user input.
14. A computer program product according to Claim 13, wherein the program code instructions configured for automatically modifying the predictive text dictionary are further configured for adding the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
15. A computer program product according to any of Claims 13 and 14, wherein the text user interface is an electronic message.
16. A computer program product according to any of Claims 13-15, wherein the user input forms at least part of a drag and drop operation.
17. A computer program product according to any of Claims 13-16, wherein the character string comprises a plurality of words, and wherein the program code
instructions configured for automatically modifying the predictive text dictionary are further configured for automatically adding each of the plurality of words to the predictive text dictionary as a separate entry.
18. A computer program product according to any of Claims 13-17, wherein the program code instructions configured for automatically modifying the predictive text dictionary are further configured for automatically increasing the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
19. A apparatus comprising:
means for receiving a user input pasting a character string from a clipboard into a text user interface; and
means for modifying a predictive text dictionary with respect to the character string in response to receipt of the user input.
20. An apparatus according to Claim 19 further comprising means for adding the character string to the predictive text dictionary in an instance in which the character string is not found in the predictive text dictionary.
21 . An apparatus according to any of Claims 19-20, wherein the text user interface is an electronic message.
22. An apparatus according to any of Claims 19-21 , wherein the user input forms at least part of a drag and drop operation.
23. An apparatus according to any of Claims 19-22, wherein the character string comprises a plurality of words, and wherein the apparatus further comprises means for automatically adding each of the plurality of words to the predictive text dictionary as a separate entry.
24. An apparatus according to any of Claims 19-23, wherein the means for automatically modifying the predictive text dictionary further comprises means for automatically increasing the priority of the character string with respect to a group of associated words found in the predictive text dictionary.
PCT/CN2013/079551 2013-07-17 2013-07-17 Predictive text WO2015006944A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/079551 WO2015006944A1 (en) 2013-07-17 2013-07-17 Predictive text

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/079551 WO2015006944A1 (en) 2013-07-17 2013-07-17 Predictive text

Publications (1)

Publication Number Publication Date
WO2015006944A1 true WO2015006944A1 (en) 2015-01-22

Family

ID=52345708

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/079551 WO2015006944A1 (en) 2013-07-17 2013-07-17 Predictive text

Country Status (1)

Country Link
WO (1) WO2015006944A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928232B2 (en) 2015-02-27 2018-03-27 Microsoft Technology Licensing, Llc Topically aware word suggestions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050188029A1 (en) * 2003-12-18 2005-08-25 Pauli Asikainen Forming a message from information shown on display
US20080243736A1 (en) * 2007-03-29 2008-10-02 Nokia Corporation Club dictionaries
US20110202836A1 (en) * 2010-02-12 2011-08-18 Microsoft Corporation Typing assistance for editing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050188029A1 (en) * 2003-12-18 2005-08-25 Pauli Asikainen Forming a message from information shown on display
US20080243736A1 (en) * 2007-03-29 2008-10-02 Nokia Corporation Club dictionaries
US20110202836A1 (en) * 2010-02-12 2011-08-18 Microsoft Corporation Typing assistance for editing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928232B2 (en) 2015-02-27 2018-03-27 Microsoft Technology Licensing, Llc Topically aware word suggestions

Similar Documents

Publication Publication Date Title
US11172338B1 (en) Techniques for enhancing group communication on a mobile device
JP6404267B2 (en) Correction of language input
JP6077689B2 (en) Network-based custom dictionary, automatic correction and text input preference
US20190205372A1 (en) Text Correction for Dyslexic Users on an Online Social Network
US20180081886A1 (en) Associating a task with a user based on user selection of a query suggestion
US20220036311A1 (en) Reusable components for collaborative content items
US20140040741A1 (en) Smart Auto-Completion
JP6599127B2 (en) Information retrieval system and method
WO2018022439A1 (en) Automatically generating spelling suggestions and corrections based on user context
KR102339296B1 (en) Incorporating selectable application links into conversations with personal assistant modules
CN106462613B (en) Ranking suggestions based on user attributes
US20130300664A1 (en) Providing a vertical candidate bar with an on-screen keyboard
US20170163770A1 (en) Performing autocomplete of content
JP6507541B2 (en) INFORMATION DISPLAY DEVICE, INFORMATION DISPLAY PROGRAM, AND INFORMATION DISPLAY METHOD
US20160171106A1 (en) Webpage content storage and review
US10878180B2 (en) Text editing method and electronic device supporting same
EP2909702B1 (en) Contextually-specific automatic separators
US20180157767A1 (en) Method of forming a user query
CN110598188A (en) Method and device for displaying annotations and computer-readable storage medium
WO2015006944A1 (en) Predictive text
US20170083481A1 (en) Method and apparatus for rendering a screen-representation of an electronic document
JP6315599B2 (en) Marking support method, marking support server and computer
Walbank et al. dēmiourgoi
Johnston fideicommissa
CN117015779A (en) Information processing method, device, terminal and storage medium

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: 13889713

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13889713

Country of ref document: EP

Kind code of ref document: A1