WO2012073005A1 - Predictive text entry methods and systems - Google Patents

Predictive text entry methods and systems Download PDF

Info

Publication number
WO2012073005A1
WO2012073005A1 PCT/GB2011/052337 GB2011052337W WO2012073005A1 WO 2012073005 A1 WO2012073005 A1 WO 2012073005A1 GB 2011052337 W GB2011052337 W GB 2011052337W WO 2012073005 A1 WO2012073005 A1 WO 2012073005A1
Authority
WO
WIPO (PCT)
Prior art keywords
string
entities
characters
subset
user
Prior art date
Application number
PCT/GB2011/052337
Other languages
French (fr)
Inventor
Ugochukwu Akuwudike
Toby Hudson
David William Binns
Muzoora Edmund Bishanga
Original Assignee
Ugochukwu Akuwudike
Toby Hudson
David William Binns
Muzoora Edmund Bishanga
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 Ugochukwu Akuwudike, Toby Hudson, David William Binns, Muzoora Edmund Bishanga filed Critical Ugochukwu Akuwudike
Publication of WO2012073005A1 publication Critical patent/WO2012073005A1/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/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/274Converting codes to words; Guess-ahead of partial word inputs

Definitions

  • the present invention relates to methods and systems for context based predictive text entry.
  • the present invention relates to an efficient text entry methodology adopting such a context based predictive text entry system.
  • an electronic device for providing predictive text data output of string entities, the text data comprising string entities having characters, words and/or phrases
  • the electronic device comprising: a processing element configured for communication with: i) a data store configured to store a plurality of string entities, the plurality of string entities comprising one or more subsets of string entities, each subset comprising a plurality of linked string entities having a first string entity and a second string entity linked to the first string entity; ii) a display device; and iii) a user input device for receiving a user input.
  • the processing element is configured to: communicate with the data store to retrieve a plurality of the string entities; communicate with the display device to display an arrangement of the plurality of string entities on the display; receive a selection of one of the plurality of string entities from the user input device; store the string entity associated with the selection into an input string, wherein responsive to said received selection selecting the second string entity of the plurality of linked string entities the linked first and second string entities are stored in the input string.
  • the electronic device which may be, for example a phone, smartphone, television (but is not limited to such devices) has a processing element that communicates with a local or remote data store, display device and input user device (a key pad or touch screen interface for example).
  • the processing element is then configured to communicate with the data store so that it can retrieve a plurality of string entities (which may be characters from a words and phrases). These are then displayed in an arrangement on the display device, for example in a grid arrangement, allowing a user to select one of the string entities. Once the user has selected a string entity (such as a word), the selected entity is stored an input string.
  • a second linked entity which will have a link to a first string entity
  • the act of selecting the second string entity also means that the first one is also entered into the input string.
  • the act of pressing the key associated with the word 'world' results in both words 'hello world' entered into the input string.
  • a back end engine and/or data store provides string entities and their associated links, and caters for monitoring past data entry and determining a context/ of data entry in order to select the most appropriate subsets and string entities for display and selection by a user.
  • Such a text entry system enables a user to enter text much faster than existing systems because multiple words can be entered with one key press.
  • further link string entities may also be present, for example a third string entity.
  • the third string entity if the third is selected then this will result in the first and second string entities being appended to the input string (which may be for a text box on a screen) in addition to the third string entity. So, for example if the first string entity is the word "happy”, the second string entity was the word "new” and the third string entity was the word "year”, then the act of selecting the third string entity year would result in "happy new year" being entered into the electronic device with only one key press.
  • the link between the plurality of linked entities in a subset may be dependent on an inferred situation of use of the respective subset of string entities.
  • there may be links between different string entities so that, for example multiple different phrases can be created and presented to a user depending on the context of use. For example if the preceding set of words entered was the phrase "the rain in Spain falls" then one subset of string entities may contain the words "in the plain” and a further subset may contain the words "to the north” (each word of which may be one string entity).
  • a further subset may contain the words "to the north” (each word of which may be one string entity).
  • further multiple subsets displayed with options for displaying further undisplayed subsets having phrases/parts of phrases).
  • the plurality of linked entities in a subset may each comprise one or more words of a phrase (as previously illustrated).
  • the phrase may then define an ordering of the words and the selected string entity may then define a later said word in the phrase than the first string entity.
  • the plurality of linked entities in a subset may comprise component parts of a word.
  • the word may define an ordering of the component parts of the word.
  • the act of selecting a later component part also means the preceding parts (which are linked) are also selected.
  • the processing element may be further configured to communicate with the display device to display the arrangement of the plurality of string entities on the display on a grid arrangement.
  • a grid arrangement may be used on the display, which may preferably provide an on-screen representation of the user input device, such as a keypad for example.
  • the user input device is a touch screen interface for example
  • the arrangement of string entities on the display is preferably such that a user touches a section of the display on which the actively selected the string entity is shown.
  • the grid may comprise a plurality of cells, such that the processing element is further configured to display the link string entities in sequential cells of the grid arrangement. This may comprise arranging the link string entities, each in individual cells, in a row along the grid arrangement (in some languages it may be preferable to start on the left, in other languages start on the right of the row, or even arrange within the same column and across rows).
  • the processing element may be further configured to arrange further subsets of the one or more subsets in further rows of the grid arrangement (this may be in subsequent rows for example). In other words each row on the grids on the display may show a phrase, several words of a phrase, or a row of component parts of a word such that a user is then able to select between one or more of these different rows providing further options for user text entry.
  • the first string entity in each of the one or more subsets displayed in further rows may be distinct from other first string entities displayed in other rows, i.e. different phrases may be provided to a user, each with a different first displayed and selectable word (the first string entity) dependent on the previous context and text entry.
  • the processing element may be further configured to use a rank order of prediction of the string entities.
  • a rank order of prediction may define a probability of the string entities being selected by a user from the plurality of string entities.
  • Such a rank order may be used to position the string entities in an ordered arrangement to optimised text entry and minimise movement of a user's finger when entering text. This may comprise positioning a first string entity in a first cell of the grid arrangement and positioning other said first linked entities of other subsets in the cells of the grid arrangement in a decreasing rank order extending away from the first cell of the grid arrangement.
  • This first cell may be positioned in one of many different locations, but in this embodiment may preferably be on the left hand side, either in the same row as the previous key press (to minimise) a user's finger movement, or may alternatively be the first row of the grid for example.
  • the processing element may be configured to arrange the plurality of string entities in an on screen representation of the user device such that there is a direct correspondence between the representation and the keypad when a user moves their finger to select a cell (it will be appreciated that use of a touchscreen display means the input device is overlaid over the display and accordingly there will likely be direct correspondence between cell and selection).
  • the processing element may be further configured to clear the displayed arrangement of the plurality of string entities from the display, then communicate further with the data store to retrieve a second plurality of the string entities dependent on one or more of the previously said selected string entities, and then communicate with the display device to display an arrangement of the second plurality of string entities on a display.
  • the processing element may be further configured to display the input string on the display, for example if a user is entering text into a text box then as a string is entered the words may then appear on a display so the user can see what text is being entered.
  • the electronic device is, for example, a mobile phone or smart phone
  • such a device may comprise the display device used for displaying the plurality of string entities.
  • the keypad on a smart phone or mobile phone may be used to communicate with the processing element within the phone device.
  • the electronic device may be a television or set top box.
  • the user input device may then be a remote control configured for communication with a television or set top box.
  • a method for providing predictive text data entry into an electronic device comprising: retrieving, from a data store, a plurality of string entities, the plurality of string entities comprising one or more subsets of string entities, each subset comprising a plurality of linked string entities having a first string entity and a second string entity linked to the first string entity; displaying an arrangement of the plurality of string entities on a display; reading a selection of one of the plurality of string entities from a user input device; and storing the string entity associated with the selection into an input string, wherein responsive to the read selection selecting the second string entity the linked first and second string entities are stored in the input string.
  • the linked string entities may further comprise a third string entity linked to the second string entity, and wherein responsive to selecting the third string entity the linked first and second and third string entities are stored in the input string so that all three string entities (such as words within a phrase) are stored with only a single key press.
  • the selection of words for presenting on the display may be selected according to the links between entities, whereby the links are dependent on an inferred situation of use of the respective subset of string entities.
  • These links may allow for the formation of phrases, wherein the phrase defines an ordering of the words; and wherein the selected string entity defines a later said word in the phrase than the first string entity.
  • the plurality of linked entities in a said subset may comprise component parts of a word, wherein the word defines an ordering of the component parts of the word, and wherein the selected string entity defines a later said component part of the word in the word than said first string entity.
  • the method may comprise displaying an arrangement of the plurality of string entities on a display in a grid arrangement of the string entities on the display.
  • a plurality of cells may be provided such that the linked string entities are arranged in sequential cells of the grid arrangement.
  • a first of said one or more subsets is arranged in one row of the grid arrangement such that a phrase or part of a phrase, for example, is displayed in one row of the grid.
  • the method may further comprise using a rank order of prediction of said string entities, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said plurality of string entities; and further comprising positioning a first string entity in a first cell of the grid arrangement and positioning other said first linked string entities of other said subsets in cells of the grid arrangement in a decreasing said rank order of prediction extending away from the first cell of the grid arrangement.
  • the string entities may be arranged (for example in row priority) based on a likelihood of selection.
  • This prediction data may be obtained from the data store and/or back-end processing engine that provides text prediction.
  • This ordering may be highest probability in the first row, or may be such that the highest probability for displaying subsequent subsets of string entities corresponds to the row of the user's previous selection. Subsequent linked string entities may then be placed in the corresponding rows according to the arrangement of the first string entities in each displayed subset.
  • the method may further comprise updating one or more of the data store and links between the plurality of linked string entities responsive to the reading of the selection of one of the plurality of string entities from a user input device.
  • additional data may be added to the data store. Links between new and existing words may also be created and/or improved in order for the prediction capabilities (and subsequent display of phrases) to be improved over time as the user uses an electronic device implementing such a method.
  • a method of predictive text data entry into an electronic device comprising selecting a first subset of characters from a plurality of displayable characters; displaying said first subset of characters in a first arrangement of an on-screen representation of a user input device; reading a user- selected character selected by a user from the user input device, wherein said user- selected character is displayed at a first position on the on-screen representation; selecting a second subset of characters from a plurality of displayable characters; using a rank order of prediction of characters in said second subset of characters, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said second subset of characters; and displaying said second subset of characters in a second arrangement of the on-screen representation of the user input device, wherein said selecting of said first and second subset of characters is dependent on one or more of a previous character selected by said user, a number or type of character fields, and said read user-selected character; and wherein said displaying
  • the arrangement of characters on the display may be such that the character entry ergonomics are optimised in order to facilitate the composition of characters into words.
  • the second set of characters displayed in response to selection of a first character from a first subset may be arranged such that the characters with the highest probability of being selected next are positioned at a particular position on the display. This may be a common position for all entries, for example such as a a particular cell on a grid (e.g. top left, bottom left) if the display is arranged into a grid formation) followed by the next likely characters placed around this position.
  • this particular position around which subsequent characters are placed may not be a common position on the display and may alternatively correspond to a position of a preceding character selected by a user in order to minimise movement of a user's finger to select a next most likely character.
  • the second position from which the second subset of characters are arranged in decreasing rank order of prediction may correspond to the first position of the user selected character previously displayed. This may further comprise then displaying the character from the second subset of characters having a highest rank order of prediction at the first position such that a user may not need to move a finger at all in order to select the next most likely character.
  • the second subset of characters may be arranged in a radially decreasing rank order prediction extending away from the second position of the on screen representation.
  • pressing the number '3' for example the set of characters with the next highest probability may be positioned around this '3' key (at '2', '5' and '6', with the probability of a character selection decreasing extending away from the '3' key.
  • Such positioning may be defined in terms of cells of a grid such that each character is displayed in a separate cell on the grid, the first position comprises one of the cells and the first and second positions defined in terms of cells.
  • An electronic device implementing such a method may comprise a data store to store the plurality of displayable characters and further store data providing determining of the rank order of prediction. Accordingly, the method may further comprise updating one or more of a data store comprising said plurality of displayable characters and a rank order of prediction of characters in said data store comprising said plurality of displayable characters responsive to said reading a user-selected character selected by a user from the user input device.
  • data may be updated responsive to a user-selected character being entered, which may include monitoring the relationships and sequences of key presses in order to build up improved prediction capabilities.
  • an electronic device configured for predictive text data entry, the electronic device comprising: a processing element configured for communication with: i) a data store configured to store a plurality of displayable characters; ii) a display device; and iii) a user input device for receiving a user-selected character.
  • the processing element is configured to: communicate with the data store to retrieve a first subset of characters from the plurality of displayable characters; display said first subset of characters on said display in a first arrangement of an on-screen representation of the user input device; read a user-selected character selected by a user from the user input device, wherein said user-selected character is displayed at a first position on the on-screen representation; communicate with the data store to retrieve a second subset of characters from the plurality of displayable characters; use a rank order of prediction of characters in said second subset of characters, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said second subset of characters; and display said second subset of characters on said display in a second arrangement of the on-screen representation of the user input device, wherein said selection of said first and second subset of characters is dependent on one or more of a previous character selected by said user on the user input device, a number or type of character fields, and said read user-selected character on the user input device;
  • the invention further provides a carrier carrying processor control code to implement a method/computation engine as described above, such as the code on the portable device.
  • This code may comprise software and/or hardware definition code - for example in embodiments it is convenient to implement some of the lower level functions in silicon and some of the higher level of functions on a DSP.
  • the carrier may be, for example, a disk, CD- or DVD-ROM, or programmed memory such as read-only memory (Firmware).
  • the code (and/or data) may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, for example for general purpose computer system or a digital signal processor (DSP), or the code may comprise code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or code for a hardware description language such as Verilog (Trade Mark) or VHDL (Very high speed integrated circuit Hardware Description Language).
  • a conventional programming language interpreted or compiled
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • Verilog Trade Mark
  • VHDL Very high speed integrated circuit Hardware Description Language
  • Fig 1 shows a representation of an on-screen dynamic keypad
  • Fig 2 shows a screenshot of a message being composed in English
  • Fig 3 shows an example of character entry ergonomics
  • Fig 4 shows an example architecture of a distributed implementation
  • Fig 5 shows elements of a mock-up of wireframes for a system as described for a mobile phone
  • Fig 6 depicts how such a system may be arranged to operate
  • a user-interface for performing efficient text entry is described herein, which harnesses a grid-based design feature common to mobile phones and similar devices, including smartphones, tablets, remote controls, keypads and the like (electronic devices). It enables the selection of predicted and interactively updated text entities (string entities) presented within this grid arrangement, whether on-screen for point-and-click/touch input, or physically as with standard 12-key phones and similar keypad-enabled devices.
  • the user interface device or keypad on most standard mobile phones comprises a 4x3 grid or buttons, as well as other control buttons (2 assignable function buttons, 4-way navigation with central select, call up and call down).
  • an on-screen representation of a phone keypad can provide a usable medium for text entry into messaging and authoring applications.
  • this keypad widget presents a range of text entities (characters and/or words) in its 4x3 grid button positions, which are dynamically updated via contextual predictive capability.
  • Text composition with this interface involves a series of interactive selections on the grid-based keypad. With each selection, the system responds by updating the grid with likely next characters, for subsequent selection.
  • the key difference between this mode of text entry and the standard method on mobile phones is the dynamic assignment/updating of text entities to the grid 12-key grid, using text prediction.
  • the prediction involved takes into account not only the immediate prior text selection, but elements from the immediate context - the word string, phrase or message being composed, as well as its surrounding context, as defined by the situational model of the user's communicative activity (i.e. from an inferred situation of use).
  • the 12 number keys may represent 12 possible single entity (unigram) predictions in any given in-text context.
  • the on-screen keypad could also be seen as four rows of three, i.e. four three-word phrases in any context. This would reduce the number of button presses required to enter text, particularly if partial phrases (2 words) or single words (the first word of a phrase) can be selected.
  • the three-word (trigram) suggestions should, then, be seen as three-word chains, which are selected by the right-most button in the row (3, 6, 9, #), and which can be cut short after the first word (1 , 4, 7, * ) or after two words (2, 5, 8, 0).
  • Fig. 1 (a) shows a possible screenshot once the user has entered 'The rain in Spain falls', i.e. a list of four contextualised predictions, output from the prediction engine. The words are thus linked within the phrase.
  • Fig. 1 (c) shows a possible list of suggestions following 'ngi-' (first person subject prefix) in Zulu.
  • Alphabetic and syllabic scripts could function as we have shown.
  • potential first characters are shown; once one has been selected, the next menu of characters would include ligature elements - e.g. in Hindi, following ⁇ (ka), the suggestions could look as in fig. 1 (d).
  • supposing we want to enter a particular syllable transliterated zhang.
  • 'abc' mode we would select the onset zh-, and, remaining in 'abc' mode, we would then be presented with possible codas, as in fig. 1 (f). Pressing '1 ' would select -ang, and our syllable is complete. But there are numerous syllables transcribed zhang - produced with different tones, and homophones with the same tone. However, this is a set which may be scrolled through, in character form, starting with the most common to the user.
  • Fig. 1 (g) shows how the prediction module might look with a first set of 12 suggestions.
  • Fig. 2 shows a possible screenshot of a message being composed in English. Colour may be an easy way to show that the keypad is here to be seen as four rows of three (each row having a different colour), rather than twelve individual elements.
  • pressing the '3' key inserts the text "in the plain" - a combination of the text associated with the ⁇ ', '2' and '3' keys in the same row.
  • Character entry ergonomics can also be used to provide an efficient text entry system, an example of which is shown in Fig. 3
  • the layout of words in the grid whereby words in row-wise contiguous cells indicate phrases, is an ergonomic feature used to enable input of predicted phrases or sub-phrases.
  • Character suggestions on the other hand are laid out into the grid cells, without any relative row- or column-wise positioning constraining groups of characters into entry combinations.
  • the placement of next character suggestions (a second subset of characters) within this grid in response to a user's prior selection, can also be used to facilitate the composition of characters into words strings, a task which is primary to text entry.
  • a second approach would be to centre the placement of suggested next characters/tokens on and around the position of the immediate prior character selected.
  • the key design consideration would be to minimise the distance the user would need to scan or move their pointer or finger to select the next character or token.
  • the most likely next character would be placed in the position of the last selected one.
  • Other likely characters would be placed in a radial fashion, around that 'anchor' position.
  • the radial pattern would be constrained by the position of anchor relative to the grid, with the position of each suggested character determined by the ranking of their likelihood of following the last selected character.
  • Figs. 3a-d shows an example of composing the word 'through' character by character.
  • a set of next most likely characters in this example e,i,o,h are predicted to be the most likely
  • Fig.3b Pressing 'h' in Fig.3b then provides a further set of replacement characters as shown in Fig.3c.
  • the grid is showing the next likely characters after the user, in composing 'through', has selected 'h' and in fig. 3d, the next predictions after selecting V.
  • the disclosed grid-based Ul for text entry can be implemented using standard web technologies (HTML, JavaScript and CSS) in a web- based browsing interface.
  • HTML HyperText Markup Language
  • JavaScript JavaScript
  • CSS web-based browsing interface.
  • the system's Ul would mark up and update the text entities in its displayed composition screen, as well as trigger the registering of new discrete relationships between the text entities being 'entered', in the system's data storage or memory.
  • the overall system updates and preserves a structured representation of the constituents of text or message being composed.
  • This approach offers several advantages over a simple text prediction implementation essentially involving lookups against an n-gram table, in terms of a more user-centric processing and better integration between the contextual and constituent elements of the text/message being composed.
  • this has significant applications on both the frontend and backend aspects of such a text authoring system.
  • the individual string entities being composed can be rendered onscreen with very fine presentational control.
  • it would enable more logical/robust information retrieval, context representation and state preservation, ease of tokenisation and text reconstitution.
  • the disclosed text entry Ul can be conceived as a kind of pointer/browser to the current juncture within a structured relational representation/model/ontology of the elements of a text being composed. It is one that is serving to navigate between already 'written' sequential relations between text entities on one hand, and potential relations from similar text composition situations recorded in the system's memory, from which the predictions are derived.
  • Such a text entry system can be conceived as comprising three interconnected elements (fig. 4): a visual display unit, an input interface, and a controller which interprets inputs received from the interface. These may be physically separate (e.g. screen, keyboard and computer) or all together in one (e.g. touchscreen tablet computer). However, we propose different combinations (e.g. internet TV and remote control - where the remote control sends commands directly to the TV, and it is the TV which is connected to the internet). In the case of a mobile phone, the phone may or may not be connected to the internet, and the phone's screen may or may not be utilised.
  • the distinction of the proposed system as a internet-based one is that it can receive input key-presses or selections from devices connected over a network through internet protocols, interpret them into linguistic/text entities based on a phone (or similar device) keypad-button to string-entity mapping, and use a distinct contextual language recording and prediction program, accessed locally or also over a network via internet protocols such as TCP IP.
  • the networked operation would all be serving to suggest new text entities in response to user inputs, thus enabling an ongoing text entry and consequent messaging service that multiple users can access and use over a network via mobile devices.
  • the text entry thus enabled would integrate suitably with web messaging services and other forms of online communication and collaboration - (micro)blogging being a typical example of such activity.
  • User identification in such deployment of the remote text entry system could be tied to mobile phone number.
  • the terminal In order for a user to connect to a specific terminal, the terminal could display a code, which the user could enter into the mobile application to initialise 'pairing'.
  • the recognition of the user's phone number in the system could be used to authenticate the session (in addition to a password).
  • Figs. 5a-c show elements of a mock-up of wireframes for a system as described for a mobile phone. Navigation controls would, like the textual predictions, likely need to be context-sensitive because they are few in number. It may be best to use 'toggle'-style buttons, as in fig. 3c, to switch between text modes (character and word/phrase entry) and modes for other types of character (numerical and punctuation) and capitalisation (when relevant).
  • Fig. 6 depicts how such a service may run. It neatly divides into two parts: a language prediction sub-system (engine) containing a data store, and a phone interaction and connectivity sub-system, where a phone is running a program written to communicate remotely with a terminal through a connectivity server.
  • the decoder element serves to map key presses corresponding to the button grid to linguistic/messaging elements on the system's display terminal.
  • the terminal with the VDU has Bluetooth, there can be a local pairing between computer and phone. Connecting devices in this way avoids incurring costs from transmitting data over the GSM network, and also has significantly lower latency.
  • Text prediction is language-agnostic since, rather than being fed by a static dictionary, the suggestions are generated according to previous activity by the user.
  • this text entry user-interface is driven by a contextual and adaptable language prediction engine, which could either be accessed remotely or could be running within the same local device displaying the grid-based text entry user-interface. The latter case would be typical of a smartphone - in which case, the predictive capability would adapt closely with the phone user's writing patterns, providing a personalised text entry experience.
  • the display terminal simply requires a modern web browser presenting a web page which is rendered and updated dynamically using HTML, CSS and JavaScript capabilities.
  • HTML, CSS and JavaScript capabilities The wide availability of mobile phones and of standard runtime environments such as J2ME on them makes remote text entry applications, which interact with such terminals, accessible and potentially beneficial to a great number of people who would otherwise find full computing/internet hardware unaffordable.
  • a separate screen may be deployed to enhance/facilitate text composition because it is larger than that on a phone and has richer presentational capabilities.
  • Mobile phones manufactured over the past decade have in many cases internet (WAP) and/or Bluetooth capability.
  • WAP internet
  • a client application running on a phone, harnessing Bluetooth or other near-field wireless technology, the phone can become a remote console for a display terminal; alternatively, using ncorporating] a remote server, a networked pairing can be created with the display terminal with the same result.
  • data transmission from the input device could deploy TCP/IP communication and thus consume very low bandwidth and incur low costs.
  • Local pairing e.g. by Bluetooth
  • a phone client application could be deployed to run consistently in a range of standard runtime environments such as J2ME, BREW, Android, Symbian, Apple OS, or Windows Mobile/Phone 7.
  • Such a system as described herein may be coupled to a back end system for storing and retrieving characters, words and phrases in a data structure, and retrieving and displaying said words and phrases from said data structure.
  • a back end system for storing and retrieving characters, words and phrases in a data structure, and retrieving and displaying said words and phrases from said data structure.
  • An example of such a system is PCT/EP2009/050553.
  • This referenced application disclosed a methodology and system providing means by which information about situations in which natural language is being encoded into strings and messages for communication may be represented, recorded, retrieved and reused for communications mediated by computers, devices and networks.

Abstract

An electronic device provides predictive text data entry. A processing element is configured for communication with: a data store configured to store a plurality of string entities. One or more subsets of string entities are provided, each subset comprising a plurality of linked string entities having a first string entity and a second string entity linked to the first string entity. The processing element is configured to communicate with the data store to retrieve a plurality of the string entities; communicate with a display device to display an arrangement of the plurality of string entities; receive a selection of one of the plurality of string entities from the user input device; and store the string entity associated with the selection into an input string, wherein responsive to said received selection selecting the second string entity of the plurality of linked string entities the linked first and second string entities are stored in the input string.

Description

Predictive Text Entry Methods and Systems
FIELD OF THE INVENTION The present invention relates to methods and systems for context based predictive text entry. In particular, the present invention relates to an efficient text entry methodology adopting such a context based predictive text entry system.
BACKGROUND TO THE INVENTION
The proliferation of use of electronic devices, such as mobile phones, smartphones, tablets and media players means that consumers are moving towards using such devices as a primary source of computing. Conventional methods of data entry, using a large keyboard and/or mouse as commonly used on a desktop computer or laptop computer are generally inconvenient to use with such portable devices and has seen users move towards other forms of text entry, such as on screen keyboards, predictive text entry using conventional keypads and the like.
The introduction of internet enabled appliances, such as TVs and set-top boxes/media players means that consumers are presented with a need for text entry on other forms of devices. Some consumer devices have provided remote controls with full keyboards on them in order to improve the efficiency of text entry but may often be cumbersome and are more costly to manufacture. Moreover, in such an environment, the consumer is often more accustomed to using a remote control with a more conventional keypad and/or key arrangement.
Thus, there is a desire for better techniques and mechanisms for data entry, in particular with button limited devices SUMMARY OF THE INVENTION
According to a first aspect of the invention there is provided an electronic device for providing predictive text data output of string entities, the text data comprising string entities having characters, words and/or phrases, the electronic device comprising: a processing element configured for communication with: i) a data store configured to store a plurality of string entities, the plurality of string entities comprising one or more subsets of string entities, each subset comprising a plurality of linked string entities having a first string entity and a second string entity linked to the first string entity; ii) a display device; and iii) a user input device for receiving a user input. The processing element is configured to: communicate with the data store to retrieve a plurality of the string entities; communicate with the display device to display an arrangement of the plurality of string entities on the display; receive a selection of one of the plurality of string entities from the user input device; store the string entity associated with the selection into an input string, wherein responsive to said received selection selecting the second string entity of the plurality of linked string entities the linked first and second string entities are stored in the input string.
In other words, the electronic device, which may be, for example a phone, smartphone, television (but is not limited to such devices) has a processing element that communicates with a local or remote data store, display device and input user device (a key pad or touch screen interface for example). The processing element is then configured to communicate with the data store so that it can retrieve a plurality of string entities (which may be characters from a words and phrases). These are then displayed in an arrangement on the display device, for example in a grid arrangement, allowing a user to select one of the string entities. Once the user has selected a string entity (such as a word), the selected entity is stored an input string. If a second linked entity is selected, which will have a link to a first string entity, then the act of selecting the second string entity also means that the first one is also entered into the input string. As an example, if the first string entity was the word 'hello' and the second string entity was the word 'world' then the act of pressing the key associated with the word 'world' results in both words 'hello world' entered into the input string.
A back end engine and/or data store provides string entities and their associated links, and caters for monitoring past data entry and determining a context/ of data entry in order to select the most appropriate subsets and string entities for display and selection by a user.
Such a text entry system enables a user to enter text much faster than existing systems because multiple words can be entered with one key press. In addition to the first and second string entities, further link string entities may also be present, for example a third string entity. In a similar process as to selecting the second string entity, if the third is selected then this will result in the first and second string entities being appended to the input string (which may be for a text box on a screen) in addition to the third string entity. So, for example if the first string entity is the word "happy", the second string entity was the word "new" and the third string entity was the word "year", then the act of selecting the third string entity year would result in "happy new year" being entered into the electronic device with only one key press. The link between the plurality of linked entities in a subset may be dependent on an inferred situation of use of the respective subset of string entities. In other words, there may be links between different string entities so that, for example multiple different phrases can be created and presented to a user depending on the context of use. For example if the preceding set of words entered was the phrase "the rain in Spain falls" then one subset of string entities may contain the words "in the plain" and a further subset may contain the words "to the north" (each word of which may be one string entity). As illustrated there may be further multiple subsets displayed (with options for displaying further undisplayed subsets having phrases/parts of phrases). In the electronic device, the plurality of linked entities in a subset may each comprise one or more words of a phrase (as previously illustrated). The phrase may then define an ordering of the words and the selected string entity may then define a later said word in the phrase than the first string entity. In another variant the plurality of linked entities in a subset may comprise component parts of a word. In such a variant the word may define an ordering of the component parts of the word. Furthermore, when a string entity that is selected is a later component part in the word in the first string entity then the act of selecting a later component part also means the preceding parts (which are linked) are also selected. The processing element may be further configured to communicate with the display device to display the arrangement of the plurality of string entities on the display on a grid arrangement. In other words a grid arrangement may be used on the display, which may preferably provide an on-screen representation of the user input device, such as a keypad for example. It will be appreciated that if the user input device is a touch screen interface for example, the arrangement of string entities on the display is preferably such that a user touches a section of the display on which the actively selected the string entity is shown.
By using such a grid arrangement, the grid may comprise a plurality of cells, such that the processing element is further configured to display the link string entities in sequential cells of the grid arrangement. This may comprise arranging the link string entities, each in individual cells, in a row along the grid arrangement (in some languages it may be preferable to start on the left, in other languages start on the right of the row, or even arrange within the same column and across rows). The processing element may be further configured to arrange further subsets of the one or more subsets in further rows of the grid arrangement (this may be in subsequent rows for example). In other words each row on the grids on the display may show a phrase, several words of a phrase, or a row of component parts of a word such that a user is then able to select between one or more of these different rows providing further options for user text entry.
The first string entity in each of the one or more subsets displayed in further rows may be distinct from other first string entities displayed in other rows, i.e. different phrases may be provided to a user, each with a different first displayed and selectable word (the first string entity) dependent on the previous context and text entry.
The processing element may be further configured to use a rank order of prediction of the string entities. Such a rank order of prediction may define a probability of the string entities being selected by a user from the plurality of string entities. Such a rank order may be used to position the string entities in an ordered arrangement to optimised text entry and minimise movement of a user's finger when entering text. This may comprise positioning a first string entity in a first cell of the grid arrangement and positioning other said first linked entities of other subsets in the cells of the grid arrangement in a decreasing rank order extending away from the first cell of the grid arrangement. This first cell may be positioned in one of many different locations, but in this embodiment may preferably be on the left hand side, either in the same row as the previous key press (to minimise) a user's finger movement, or may alternatively be the first row of the grid for example. As previously discussed the processing element may be configured to arrange the plurality of string entities in an on screen representation of the user device such that there is a direct correspondence between the representation and the keypad when a user moves their finger to select a cell (it will be appreciated that use of a touchscreen display means the input device is overlaid over the display and accordingly there will likely be direct correspondence between cell and selection). When a user has selected one of the plurality of string entities using the user input device the processing element may be further configured to clear the displayed arrangement of the plurality of string entities from the display, then communicate further with the data store to retrieve a second plurality of the string entities dependent on one or more of the previously said selected string entities, and then communicate with the display device to display an arrangement of the second plurality of string entities on a display.
The processing element may be further configured to display the input string on the display, for example if a user is entering text into a text box then as a string is entered the words may then appear on a display so the user can see what text is being entered.
If the electronic device is, for example, a mobile phone or smart phone, such a device may comprise the display device used for displaying the plurality of string entities. Similarly the keypad on a smart phone or mobile phone may be used to communicate with the processing element within the phone device. In variants however, the electronic device may be a television or set top box. The user input device may then be a remote control configured for communication with a television or set top box. According to a second aspect of the invention there is provided a method for providing predictive text data entry into an electronic device, the text data comprising string entities having characters, words and/or phrases, the method comprising: retrieving, from a data store, a plurality of string entities, the plurality of string entities comprising one or more subsets of string entities, each subset comprising a plurality of linked string entities having a first string entity and a second string entity linked to the first string entity; displaying an arrangement of the plurality of string entities on a display; reading a selection of one of the plurality of string entities from a user input device; and storing the string entity associated with the selection into an input string, wherein responsive to the read selection selecting the second string entity the linked first and second string entities are stored in the input string. The linked string entities may further comprise a third string entity linked to the second string entity, and wherein responsive to selecting the third string entity the linked first and second and third string entities are stored in the input string so that all three string entities (such as words within a phrase) are stored with only a single key press. The selection of words for presenting on the display may be selected according to the links between entities, whereby the links are dependent on an inferred situation of use of the respective subset of string entities. These links may allow for the formation of phrases, wherein the phrase defines an ordering of the words; and wherein the selected string entity defines a later said word in the phrase than the first string entity. Rather than phrases and words, in variants the plurality of linked entities in a said subset may comprise component parts of a word, wherein the word defines an ordering of the component parts of the word, and wherein the selected string entity defines a later said component part of the word in the word than said first string entity.
The method may comprise displaying an arrangement of the plurality of string entities on a display in a grid arrangement of the string entities on the display. By using such a grid arrangement, a plurality of cells may be provided such that the linked string entities are arranged in sequential cells of the grid arrangement. In variants, a first of said one or more subsets is arranged in one row of the grid arrangement such that a phrase or part of a phrase, for example, is displayed in one row of the grid. By selecting a later linked cell (such as the last word of the phrase/part of phrase) all preceding string entities in other cells are also considered to have been selected providing for faster entry of text.
The method may further comprise using a rank order of prediction of said string entities, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said plurality of string entities; and further comprising positioning a first string entity in a first cell of the grid arrangement and positioning other said first linked string entities of other said subsets in cells of the grid arrangement in a decreasing said rank order of prediction extending away from the first cell of the grid arrangement. In order words, the string entities may be arranged (for example in row priority) based on a likelihood of selection. This prediction data may be obtained from the data store and/or back-end processing engine that provides text prediction. This ordering may be highest probability in the first row, or may be such that the highest probability for displaying subsequent subsets of string entities corresponds to the row of the user's previous selection. Subsequent linked string entities may then be placed in the corresponding rows according to the arrangement of the first string entities in each displayed subset.
The method may further comprise updating one or more of the data store and links between the plurality of linked string entities responsive to the reading of the selection of one of the plurality of string entities from a user input device. In other words, as a user enters new words, phrases and the like, additional data may be added to the data store. Links between new and existing words may also be created and/or improved in order for the prediction capabilities (and subsequent display of phrases) to be improved over time as the user uses an electronic device implementing such a method.
According to a third aspect of the invention there is provided a method of predictive text data entry into an electronic device, comprising selecting a first subset of characters from a plurality of displayable characters; displaying said first subset of characters in a first arrangement of an on-screen representation of a user input device; reading a user- selected character selected by a user from the user input device, wherein said user- selected character is displayed at a first position on the on-screen representation; selecting a second subset of characters from a plurality of displayable characters; using a rank order of prediction of characters in said second subset of characters, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said second subset of characters; and displaying said second subset of characters in a second arrangement of the on-screen representation of the user input device, wherein said selecting of said first and second subset of characters is dependent on one or more of a previous character selected by said user, a number or type of character fields, and said read user-selected character; and wherein said displaying said second subset of characters in said second arrangement comprises using said rank order of prediction and arranging said second subset of characters in a decreasing said rank order of prediction extending away from a second position on the on-screen representation.
In other words the arrangement of characters on the display may be such that the character entry ergonomics are optimised in order to facilitate the composition of characters into words. By using a rank order of prediction, based on previous selections, the second set of characters displayed in response to selection of a first character from a first subset may be arranged such that the characters with the highest probability of being selected next are positioned at a particular position on the display. This may be a common position for all entries, for example such as a a particular cell on a grid (e.g. top left, bottom left) if the display is arranged into a grid formation) followed by the next likely characters placed around this position. In variants this particular position around which subsequent characters are placed may not be a common position on the display and may alternatively correspond to a position of a preceding character selected by a user in order to minimise movement of a user's finger to select a next most likely character. In other words in one variant the second position from which the second subset of characters are arranged in decreasing rank order of prediction may correspond to the first position of the user selected character previously displayed. This may further comprise then displaying the character from the second subset of characters having a highest rank order of prediction at the first position such that a user may not need to move a finger at all in order to select the next most likely character.
In variants the second subset of characters may be arranged in a radially decreasing rank order prediction extending away from the second position of the on screen representation. In other words, if, for example a key press was a made on a keypad, pressing the number '3' for example the set of characters with the next highest probability may be positioned around this '3' key (at '2', '5' and '6', with the probability of a character selection decreasing extending away from the '3' key.
Such positioning may be defined in terms of cells of a grid such that each character is displayed in a separate cell on the grid, the first position comprises one of the cells and the first and second positions defined in terms of cells. An electronic device implementing such a method may comprise a data store to store the plurality of displayable characters and further store data providing determining of the rank order of prediction. Accordingly, the method may further comprise updating one or more of a data store comprising said plurality of displayable characters and a rank order of prediction of characters in said data store comprising said plurality of displayable characters responsive to said reading a user-selected character selected by a user from the user input device. In other words, data may be updated responsive to a user-selected character being entered, which may include monitoring the relationships and sequences of key presses in order to build up improved prediction capabilities.
According to a fourth aspect of the invention there is provided an electronic device configured for predictive text data entry, the electronic device comprising: a processing element configured for communication with: i) a data store configured to store a plurality of displayable characters; ii) a display device; and iii) a user input device for receiving a user-selected character. The processing element is configured to: communicate with the data store to retrieve a first subset of characters from the plurality of displayable characters; display said first subset of characters on said display in a first arrangement of an on-screen representation of the user input device; read a user-selected character selected by a user from the user input device, wherein said user-selected character is displayed at a first position on the on-screen representation; communicate with the data store to retrieve a second subset of characters from the plurality of displayable characters; use a rank order of prediction of characters in said second subset of characters, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said second subset of characters; and display said second subset of characters on said display in a second arrangement of the on-screen representation of the user input device, wherein said selection of said first and second subset of characters is dependent on one or more of a previous character selected by said user on the user input device, a number or type of character fields, and said read user-selected character on the user input device; and wherein said displaying said second subset of characters in said second arrangement comprises arranging said second subset of characters in a decreasing said rank order of prediction extending away from a second position on the on-screen representation. Features such as the grid arrangement of cells may also be applicable to the fourth embodiment. Furthermore, it will be understood that one or more variants of the first aspect may also be applicable, including provision of a display, user interface, application to a mobile phone/smartphone, television set-top box and the like. The invention further provides a carrier carrying processor control code to implement a method/computation engine as described above, such as the code on the portable device. This code may comprise software and/or hardware definition code - for example in embodiments it is convenient to implement some of the lower level functions in silicon and some of the higher level of functions on a DSP. Thus the carrier may be, for example, a disk, CD- or DVD-ROM, or programmed memory such as read-only memory (Firmware). The code (and/or data) may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, for example for general purpose computer system or a digital signal processor (DSP), or the code may comprise code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or code for a hardware description language such as Verilog (Trade Mark) or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate such code and/or data may be distributed between a plurality of coupled components in communication with one another.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects of the invention will not be further described, by way of example only, with reference to the accompanying drawings in which:
Fig 1 shows a representation of an on-screen dynamic keypad;
Fig 2 shows a screenshot of a message being composed in English;
Fig 3 shows an example of character entry ergonomics;
Fig 4 shows an example architecture of a distributed implementation;
Fig 5 shows elements of a mock-up of wireframes for a system as described for a mobile phone; and
Fig 6 depicts how such a system may be arranged to operate;
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A user-interface for performing efficient text entry is described herein, which harnesses a grid-based design feature common to mobile phones and similar devices, including smartphones, tablets, remote controls, keypads and the like (electronic devices). It enables the selection of predicted and interactively updated text entities (string entities) presented within this grid arrangement, whether on-screen for point-and-click/touch input, or physically as with standard 12-key phones and similar keypad-enabled devices.
Throughout this document, when we refer to 'text entry', we include the composition of messages, documents, notes, scripts of various kinds, and the like, according to their constituent parts - e.g. natural language characters, words and phrases.
The user interface device or keypad (keyboard) on most standard mobile phones comprises a 4x3 grid or buttons, as well as other control buttons (2 assignable function buttons, 4-way navigation with central select, call up and call down). This could also be a physical keyboard or a virtual keypad on a touchscreen interface. By presenting such a familiar user interface pattern, an on-screen representation of a phone keypad can provide a usable medium for text entry into messaging and authoring applications. For effectiveness, this keypad widget presents a range of text entities (characters and/or words) in its 4x3 grid button positions, which are dynamically updated via contextual predictive capability.
Text composition with this interface involves a series of interactive selections on the grid-based keypad. With each selection, the system responds by updating the grid with likely next characters, for subsequent selection. The key difference between this mode of text entry and the standard method on mobile phones is the dynamic assignment/updating of text entities to the grid 12-key grid, using text prediction. The prediction involved takes into account not only the immediate prior text selection, but elements from the immediate context - the word string, phrase or message being composed, as well as its surrounding context, as defined by the situational model of the user's communicative activity (i.e. from an inferred situation of use).
Referring now to Figure 1 , items A-G, the 12 number keys may represent 12 possible single entity (unigram) predictions in any given in-text context. But the on-screen keypad could also be seen as four rows of three, i.e. four three-word phrases in any context. This would reduce the number of button presses required to enter text, particularly if partial phrases (2 words) or single words (the first word of a phrase) can be selected. The three-word (trigram) suggestions should, then, be seen as three-word chains, which are selected by the right-most button in the row (3, 6, 9, #), and which can be cut short after the first word (1 , 4, 7, *) or after two words (2, 5, 8, 0). This has an advantage over phrase prediction software which does not allow the user to select parts of phrases. Since the display is limited to four phrases at one go, a cursor such as arrow down could be assigned to bring up more predictions. Fig. 1 (a) shows a possible screenshot once the user has entered 'The rain in Spain falls', i.e. a list of four contextualised predictions, output from the prediction engine. The words are thus linked within the phrase.
The reason why no two predictions begin with the same word is because each row represents the totalling (and prioritising) of all previous phrases beginning with that word: that is, 'in' is the most common single word in this context, and the most common word to follow is 'the', and so on; thus 'in Catalunya' would not show up on this screen. If the desired word does not appear, even when the list is 'scrolled' to another set of four phrases, the user could toggle to single character (letter) mode, as in fig. 1 (b), and continue to enter characters in this mode until the word appears (greyed out in the background), or in the case of a term which is new to the system, all characters would be entered.
Further Linguistic Applications In so-called agglutinative languages such as Zulu words are easily decomposed into their constituent parts, so it might be preferable to use the boxes of the grid to contain morphemes or visible building blocks of words rather than whole word units. Fig. 1 (c) shows a possible list of suggestions following 'ngi-' (first person subject prefix) in Zulu. Alphabetic and syllabic scripts could function as we have shown. For ligaturing scripts: if the desired word is not present, and user switches to single character mode, potential first characters are shown; once one has been selected, the next menu of characters would include ligature elements - e.g. in Hindi, following ^ (ka), the suggestions could look as in fig. 1 (d). The system is not only language-independent, but it could even increase the speed and ease of digital text input in more complex scripts. For instance, Chinese characters (syllables) may be selected by means of a combination of romanisation ('pinyin' spell- sound) and characters (here, simplified version). If we were to write Ί can' in Mandarin, and the syllable for T (¾) has been selected, we might see such a scenario as in fig. 1 (e), and press button 2. Of course the desired character might not appear, so we might enter an 'abc'-type mode, displaying possible syllable onsets (beginning consonant) or codas (vowel, and nasal consonant in some cases). E.g. supposing we want to enter a particular syllable transliterated zhang. In 'abc' mode we would select the onset zh-, and, remaining in 'abc' mode, we would then be presented with possible codas, as in fig. 1 (f). Pressing '1 ' would select -ang, and our syllable is complete. But there are numerous syllables transcribed zhang - produced with different tones, and homophones with the same tone. However, this is a set which may be scrolled through, in character form, starting with the most common to the user. Fig. 1 (g) shows how the prediction module might look with a first set of 12 suggestions. This is not the only possible way in which the system might work for Chinese language and script. It may be preferable for the user to select from a set of radicals (compositional elements of characters) rather than resorting to romanisation. Fig. 2 shows a possible screenshot of a message being composed in English. Colour may be an easy way to show that the keypad is here to be seen as four rows of three (each row having a different colour), rather than twelve individual elements. In the example shown in Fig. 2, pressing the '3' key inserts the text "in the plain" - a combination of the text associated with the Ί ', '2' and '3' keys in the same row.
Character Entry Ergonomics
Character entry ergonomics can also be used to provide an efficient text entry system, an example of which is shown in Fig. 3 As described earlier, the layout of words in the grid, whereby words in row-wise contiguous cells indicate phrases, is an ergonomic feature used to enable input of predicted phrases or sub-phrases. Character suggestions on the other hand are laid out into the grid cells, without any relative row- or column-wise positioning constraining groups of characters into entry combinations. However, the placement of next character suggestions (a second subset of characters) within this grid, in response to a user's prior selection, can also be used to facilitate the composition of characters into words strings, a task which is primary to text entry. This is based on the concept that the disclosed grid-based Ul relies on the prediction of successive text entities based on previous selections (rank order of prediction). There are two approaches that could be taken accordingly. One would be to list the next set of characters in ranked order of prediction, into the numbered grid, always starting from the number 1 position. This way, a user would come to expect the most likely next character to be found in the first ordinal position of the grid and other likely ones placed in the numbered order.
Referring now to Fig. 3, a second approach would be to centre the placement of suggested next characters/tokens on and around the position of the immediate prior character selected. The key design consideration would be to minimise the distance the user would need to scan or move their pointer or finger to select the next character or token. The most likely next character would be placed in the position of the last selected one. Other likely characters would be placed in a radial fashion, around that 'anchor' position. The radial pattern would be constrained by the position of anchor relative to the grid, with the position of each suggested character determined by the ranking of their likelihood of following the last selected character.
The second approach not only achieves the core benefit of the first approach, in providing a sensible expectation of where the next likely characters are going to be, but in addition it affords added ergonomics in the actual selection of the desired next characters. Figs. 3a-d shows an example of composing the word 'through' character by character. After first pressing 't' in Fig.3a, a set of next most likely characters (in this example e,i,o,h are predicted to be the most likely) are placed on and around the previous position of the 't' character in Fig.3b. Pressing 'h' in Fig.3b then provides a further set of replacement characters as shown in Fig.3c. Thus as depicted in fig. 3c, the grid is showing the next likely characters after the user, in composing 'through', has selected 'h' and in fig. 3d, the next predictions after selecting V.
Integration into a text authoring system. Amongst a range of possibilities, the disclosed grid-based Ul for text entry can be implemented using standard web technologies (HTML, JavaScript and CSS) in a web- based browsing interface. On selecting a character or string within the text entry grid, the system's Ul would mark up and update the text entities in its displayed composition screen, as well as trigger the registering of new discrete relationships between the text entities being 'entered', in the system's data storage or memory. Thus with each user interaction, the overall system updates and preserves a structured representation of the constituents of text or message being composed. This approach offers several advantages over a simple text prediction implementation essentially involving lookups against an n-gram table, in terms of a more user-centric processing and better integration between the contextual and constituent elements of the text/message being composed. Technically, this has significant applications on both the frontend and backend aspects of such a text authoring system. On the frontend, the individual string entities being composed can be rendered onscreen with very fine presentational control. On the other hand, it would enable more logical/robust information retrieval, context representation and state preservation, ease of tokenisation and text reconstitution. Thus the disclosed text entry Ul can be conceived as a kind of pointer/browser to the current juncture within a structured relational representation/model/ontology of the elements of a text being composed. It is one that is serving to navigate between already 'written' sequential relations between text entities on one hand, and potential relations from similar text composition situations recorded in the system's memory, from which the predictions are derived.
Networked Application: Text Entry using Remote Mobile Devices
Applying the current design further, we propose a system for performing internet-based text entry by using a mobile phone or similar keypad enabled device to serve as remote control, for the grid-based text entry user-interface. This remote text entry may be performed using any device which providing features for selecting from a list of options, such as the number-pad on a computer keyboard, a games console, a TV remote control or, as we describe here, the keypad on a mobile phone. By pairing an actual mobile phone over a network, with a display terminal or device visible to a user, it is possible to compose text, through a series of interactions by indicating to the user the effect of each key on the phone which is linked with text entities being dynamically updated on-screen in a grid-based interface as described so far. This relies on the direct representational mapping between the device keypad and the widget displayed on-screen. There are of course other possible ways by which a device with buttons could select text entities from a set of options. The most straightforward would be the use of cursors, e.g. up and down arrows, to scroll through a set of (unigram) predictions, and another button to select.
Such a text entry system can be conceived as comprising three interconnected elements (fig. 4): a visual display unit, an input interface, and a controller which interprets inputs received from the interface. These may be physically separate (e.g. screen, keyboard and computer) or all together in one (e.g. touchscreen tablet computer). However, we propose different combinations (e.g. internet TV and remote control - where the remote control sends commands directly to the TV, and it is the TV which is connected to the internet). In the case of a mobile phone, the phone may or may not be connected to the internet, and the phone's screen may or may not be utilised.
The distinction of the proposed system as a internet-based one, is that it can receive input key-presses or selections from devices connected over a network through internet protocols, interpret them into linguistic/text entities based on a phone (or similar device) keypad-button to string-entity mapping, and use a distinct contextual language recording and prediction program, accessed locally or also over a network via internet protocols such as TCP IP. The networked operation would all be serving to suggest new text entities in response to user inputs, thus enabling an ongoing text entry and consequent messaging service that multiple users can access and use over a network via mobile devices.
The text entry thus enabled would integrate suitably with web messaging services and other forms of online communication and collaboration - (micro)blogging being a typical example of such activity. User identification in such deployment of the remote text entry system could be tied to mobile phone number. In order for a user to connect to a specific terminal, the terminal could display a code, which the user could enter into the mobile application to initialise 'pairing'. Furthermore, the recognition of the user's phone number in the system could be used to authenticate the session (in addition to a password). Figs. 5a-c show elements of a mock-up of wireframes for a system as described for a mobile phone. Navigation controls would, like the textual predictions, likely need to be context-sensitive because they are few in number. It may be best to use 'toggle'-style buttons, as in fig. 3c, to switch between text modes (character and word/phrase entry) and modes for other types of character (numerical and punctuation) and capitalisation (when relevant).
Fig. 6 depicts how such a service may run. It neatly divides into two parts: a language prediction sub-system (engine) containing a data store, and a phone interaction and connectivity sub-system, where a phone is running a program written to communicate remotely with a terminal through a connectivity server. The decoder element serves to map key presses corresponding to the button grid to linguistic/messaging elements on the system's display terminal. Alternatively, if the terminal with the VDU has Bluetooth, there can be a local pairing between computer and phone. Connecting devices in this way avoids incurring costs from transmitting data over the GSM network, and also has significantly lower latency.
Implementation Rationale
The proposed system of text entry interaction is applicable and adaptable across multiple languages, communities and 'text' types. Text prediction is language-agnostic since, rather than being fed by a static dictionary, the suggestions are generated according to previous activity by the user. As noted earlier, this text entry user-interface is driven by a contextual and adaptable language prediction engine, which could either be accessed remotely or could be running within the same local device displaying the grid-based text entry user-interface. The latter case would be typical of a smartphone - in which case, the predictive capability would adapt closely with the phone user's writing patterns, providing a personalised text entry experience.
The networked implementation described earlier, involving mobile phones, would harness a range of standard internet and communications technologies/protocols. The display terminal simply requires a modern web browser presenting a web page which is rendered and updated dynamically using HTML, CSS and JavaScript capabilities. The wide availability of mobile phones and of standard runtime environments such as J2ME on them makes remote text entry applications, which interact with such terminals, accessible and potentially beneficial to a great number of people who would otherwise find full computing/internet hardware unaffordable.
A separate screen may be deployed to enhance/facilitate text composition because it is larger than that on a phone and has richer presentational capabilities. Mobile phones manufactured over the past decade have in many cases internet (WAP) and/or Bluetooth capability. With a client application running on a phone, harnessing Bluetooth or other near-field wireless technology, the phone can become a remote console for a display terminal; alternatively, using ncorporating] a remote server, a networked pairing can be created with the display terminal with the same result. In the latter case of remote pairing over the web, data transmission from the input device could deploy TCP/IP communication and thus consume very low bandwidth and incur low costs. Local pairing (e.g. by Bluetooth) avoids incurring costs from transmitting data over the GSM network, and also has significantly lower latency. A phone client application could be deployed to run consistently in a range of standard runtime environments such as J2ME, BREW, Android, Symbian, Apple OS, or Windows Mobile/Phone 7.
Another distinct benefit of a networked application involving the specified grid-based text entry interface, is the information security arising because the data transfer (between the mobile client and the remote terminal/message server) is limited simply to positional key press data. The text composition is being recorded directly on the remote server; the characters and strings interpreted from the key press are simply used to update the rendered text presented on-screen to the user. Thus the actual text or message content is never transmitted over the network in the process of composition. In summary, the approach described herein accordingly includes the following features:
• Leveraging a phone-like grid-based (i.e. 4x3 or larger) text-entry keypad design
• Suggested text entities display in the grid provided by a contextual prediction engine/program Phrase/sub-phrase entry affordance, via the row-wise layout of word
combinations for selection
Proximal positioning of next likely text entities, in radial manner across the grid Integration with structured representation of text being composed, visually via hypertext markup language and persistently via relational data structures Application to text entry using remote device embodying similar grid keypad interface
Such a system as described herein may be coupled to a back end system for storing and retrieving characters, words and phrases in a data structure, and retrieving and displaying said words and phrases from said data structure. An example of such a system is PCT/EP2009/050553. This referenced application disclosed a methodology and system providing means by which information about situations in which natural language is being encoded into strings and messages for communication may be represented, recorded, retrieved and reused for communications mediated by computers, devices and networks.
No doubt many other effective alternatives will occur to the skilled person. It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the spirit and scope of the claims appended hereto.

Claims

CLAIMS:
1 . An electronic device for providing predictive text data output of string entities, the text data comprising string entities having characters, words and/or phrases, the electronic device comprising:
a processing element configured for communication with:
i) a data store configured to store a plurality of string entities, the plurality of string entities comprising one or more subsets of string entities, each subset comprising a plurality of linked string entities having a first string entity and a second string entity linked to the first string entity;
ii) a display device; and
iii) a user input device for receiving a user input,
wherein the processing element is configured to:
communicate with the data store to retrieve a plurality of the string entities;
communicate with the display device to display an arrangement of the plurality of string entities on the display;
receive a selection of one of the plurality of string entities from the user input device; and
store the string entity associated with the selection into an input string, wherein responsive to said received selection selecting the second string entity of the plurality of linked string entities the linked first and second string entities are stored in the input string.
2. An electronic device method as claimed in claim 1 , wherein the linked string entities further comprise a third string entity linked to the second string entity, and wherein responsive to selecting the third string entity the processing element is further configured to store the linked first and second and third string entities in the input string.
3. An electronic device as claimed in claim 1 or 2, wherein a said link between the plurality of linked entities in a said subset is dependent on an inferred situation of use of the respective subset of string entities.
4. An electronic device as claimed in any preceding claim, wherein the plurality of linked entities in a said subset each comprise one or more words of a phrase;
wherein the phrase defines an ordering of the words; and
wherein the selected string entity defines a later said word in the phrase than the first string entity.
5. An electronic device as claimed in any one of claims 1 to 3, wherein the plurality of linked entities in a said subset comprise component parts of a word;
wherein the word defines an ordering of the component parts of the word; and wherein the selected string entity defines a later said component part of the word in the word than said first string entity.
6. An electronic device as claimed in any preceding claim, wherein the processing element is further configured to communicate with the display device to display the arrangement of the plurality of string entities on the display in a grid arrangement.
7. An electronic device as claimed in claim 6, wherein the grid arrangement comprises a plurality of cells, and wherein the processing element is further configured to display the linked string entities in sequential cells of the grid arrangement.
8. An electronic device as claimed in claim 7, wherein the processing element is further configured to arrange a first of said one or more subsets in one row of the grid arrangement.
9. An electronic device as claimed in claim 8, wherein the processing element is further configured to arrange further subsets of said one or more subsets in further rows of the grid arrangement.
10. An electronic device as claimed in claim 9, wherein the first string entity in each of the one or more subsets displayed in said further rows in distinct from other said first string entities displayed in other said rows on others of said one or more subsets.
1 1 . An electronic device as claimed any one of claims 8 to 10, wherein the processing element is further configured to use a rank order of prediction of said string entities, wherein said rank order of prediction defines a probability of said string entities being selected by a user from said plurality of string entities, and
wherein the processing element is further configured to position a first string entity in a first cell of the grid arrangement and position other said first string entities of other said subsets in cells of the grid arrangement in a decreasing said rank order of prediction extending away from the first cell of the grid arrangement.
12. An electronic device as claimed in any preceding claim, wherein the processing element is configured to arrange the plurality of string entities in an on-screen representation of the user input device.
13. An electronic device as claimed in any preceding claim, wherein the processing element is further configured to:
clear the displayed arrangement of the plurality of string entities from the display responsive to receiving the selection of one of the plurality of string entities from the user input device;
communicate with the data store to retrieve a second plurality of the string entities dependent on one or more of previously said selected string entities; and
communicate with the display device to display an arrangement of the second plurality of string entities on the display.
14. An electronic device as claimed in any preceding claim, wherein the processing element is further configured to display the input string on the display.
15. An electronic device as claimed in any preceding claim, further comprising a said display device.
16. An electronic device as claimed in any preceding claim, further comprising a user input device configured for communication with the processing element.
17. An electronic device as claimed in claim 16, wherein the user input device comprises a physical keyboard.
18. An electronic device as claimed in claim 16 or 17, wherein the user input device comprises a touchscreen interface and a virtual representation of at least a portion of a keyboard.
19. An electronic device as claimed in any preceding claim, wherein the electronic device is a mobile communications device.
20. An electronic device as claimed in any one of claims 1 to 16, wherein the electronic device is a television or set-top box, and wherein the user input device is a remote control configured for communication with the television or set-top box.
21 . A method for providing predictive text data entry into an electronic device, the text data comprising string entities having characters, words and/or phrases, the method comprising:
retrieving, from a data store, a plurality of string entities, the plurality of string entities comprising one or more subsets of string entities, each subset comprising a plurality of linked string entities having a first string entity and a second string entity linked to the first string entity;
displaying an arrangement of the plurality of string entities on a display;
reading a selection of one of the plurality of string entities from a user input device; and
storing the string entity associated with the selection into an input string, wherein responsive to the read said selection selecting the second string entity the linked first and second string entities are stored in the input string.
22. A method as claimed in claim 21 , wherein the linked string entities further comprise a third string entity linked to the second string entity, and wherein responsive to selecting the third string entity the linked first and second and third string entities are stored in the input string.
23. A method as claimed in claim 21 or 22, wherein a link between the plurality of linked entities in a said subset is dependent on an inferred situation of use of the respective subset of string entities.
24. A method as claimed in any one of claims 21 to 23, wherein the plurality of linked entities in a said subset each comprise one or more words of a phrase;
wherein the phrase defines an ordering of the words; and
wherein the selected string entity defines a later said word in the phrase than the first string entity.
25. A method as claimed in any one of claims 21 to 23, wherein the plurality of linked entities in a said subset comprise component parts of a word;
wherein the word defines an ordering of the component parts of the word; and wherein the selected string entity defines a later said component part of the word in the word than said first string entity.
26. A method as claimed in any one of claims 21 to 25, wherein the displaying an arrangement of the plurality of string entities on a display comprises displaying a grid arrangement of the string entities on the display.
27. A method as claimed in claim any one of claims 26, wherein the grid arrangement comprises a plurality of cells, and wherein the linked string entities are arranged in sequential cells of the grid arrangement.
28. A method as claimed in claim 27, wherein a first of said one or more subsets is arranged in one row of the grid arrangement.
29. A method as claimed in claim 28, wherein further subsets of said one or more subsets are arranged in subsequent rows of the grid arrangement.
30. A method as claimed in claim 29, wherein the first string entity in each of the one or more subsets in distinct from other said first string entities on others of said one or more subsets in the rows.
31 . A method as claimed in any one of claims 29 to 30, further comprising using a rank order of prediction of said string entities, wherein said rank order of prediction defines a probability of said one or more string entities being selected by a user from said plurality of string entities; and further comprising positioning a first string entity in a first cell of the grid arrangement and positioning other said first string entities of other said subsets in cells of the grid arrangement in a decreasing said rank order of prediction extending away from the first cell of the grid arrangement.
32. A method as claimed in any one of claims 21 to 31 , wherein the plurality of string entities are arranged in an on-screen representation of the user input device.
33. A method as claimed in any one of claims 21 to 32, wherein responsive to reading a selection of one of the plurality of string entities from a user input the method further comprises:
clearing said displayed arrangement of the plurality of string entities on the display;
retrieving, from the data store, a second plurality of said string entities dependent on one or more of previously said selected string entities; and
displaying an arrangement of the second plurality of string entities.
34. A method as claimed in any one of claims 21 to 33, further comprising displaying said input string on the display.
35. A method as claimed in any one of claims 21 to 34, further comprising updating one or more of said data store and links between said plurality of linked string entities responsive to said reading said selection of one of the plurality of string entities from a user input device.
36. A carrier carrying computer program code to, when running, implement the method of any one of claims 21 to 35.
37. A method of predictive text data entry into an electronic device, comprising
selecting a first subset of characters from a plurality of displayable characters; displaying said first subset of characters in a first arrangement of an on-screen representation of a user input device;
reading a user-selected character selected by a user from the user input device, wherein said user-selected character is displayed at a first position on the on-screen representation; selecting a second subset of characters from a plurality of displayable characters;
using a rank order of prediction of characters in said second subset of characters, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said second subset of characters; and displaying said second subset of characters in a second arrangement of the onscreen representation of the user input device,
wherein said selecting of said first and second subset of characters is dependent on one or more of a previous character selected by said user, a number or type of character fields, and said read user-selected character; and
wherein said displaying said second subset of characters in said second arrangement comprises using said rank order of prediction and arranging said second subset of characters in a decreasing said rank order of prediction extending away from a second position on the on-screen representation.
38. A method as claimed in claim 37, wherein said second position corresponds to said first position of said user-selected character.
39. A method as claimed in claim 37 or 38, further comprising displaying said character from said second subset of characters having a highest said rank order of prediction at said first position.
40. A method as claimed in any one of claims 37 to 38, wherein said second subset of characters are further arranged in a radially decreasing said rank order of prediction extending away from the second position on the on-screen representation.
41 . A method as claimed in any one of claims 37 to 40, wherein said first arrangement and said second arrangement comprise a grid formation, each of said first and second subset of characters each being displayed in a separate cell on the grid, and wherein the first position comprises one of said cells; and wherein said first and second positions are defined in terms of cells.
42. A method as claimed in any one of claims 37 to 41 , further comprising updating one or more of a data store comprising said plurality of displayable characters and a rank order of prediction of characters in said data store comprising said plurality of displayable characters responsive to said reading a user-selected character selected by a user from the user input device.
43. A carrier carrying computer program code to, when running, implement the method of any one of claims 37 to 42.
44. An electronic device configured for predictive text data entry, the electronic device comprising:
a processing element configured for communication with:
i) a data store configured to store a plurality of displayable characters; ii) a display device; and
iii) a user input device for receiving a user-selected character, wherein the processing element is configured to:
communicate with the data store to retrieve a first subset of characters from the plurality of displayable characters;
display said first subset of characters on said display in a first arrangement of an on-screen representation of the user input device;
read a user-selected character selected by a user from the user input device, wherein said user-selected character is displayed at a first position on the on-screen representation;
communicate with the data store to retrieve a second subset of characters from the plurality of displayable characters;
use a rank order of prediction of characters in said second subset of characters, wherein said rank order of prediction defines a probability of said one or more characters being selected by a user from said second subset of characters; and
display said second subset of characters on said display in a second arrangement of the on-screen representation of the user input device,
wherein said selection of said first and second subset of characters is dependent on one or more of a previous character selected by said user on the user input device, a number or type of character fields, and said read user- selected character on the user input device; and
wherein said displaying said second subset of characters in said second arrangement comprises using said rank order of prediction arranging said second subset of characters in a decreasing said rank order of prediction extending away from a second position on the on-screen representation.
PCT/GB2011/052337 2010-12-03 2011-11-25 Predictive text entry methods and systems WO2012073005A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB1020493.1A GB201020493D0 (en) 2010-12-03 2010-12-03 Predictive message composition using a remote device
GB1020493.1 2010-12-03

Publications (1)

Publication Number Publication Date
WO2012073005A1 true WO2012073005A1 (en) 2012-06-07

Family

ID=43531401

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2011/052337 WO2012073005A1 (en) 2010-12-03 2011-11-25 Predictive text entry methods and systems

Country Status (2)

Country Link
GB (1) GB201020493D0 (en)
WO (1) WO2012073005A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245259A1 (en) * 2006-04-12 2007-10-18 Sony Computer Entertainment Inc. Dynamic arrangement of characters in an on-screen keyboard
US20080195582A1 (en) * 2007-02-08 2008-08-14 Bellsouth Intellectual Property Corporation Context Based Keyword Search
WO2009090262A2 (en) * 2008-01-18 2009-07-23 Ugochukwu Akuwudike Method and system for storing and retrieving characters, words and phrases
EP2133772A1 (en) * 2008-06-11 2009-12-16 ExB Asset Management GmbH Device and method incorporating an improved text input mechanism

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245259A1 (en) * 2006-04-12 2007-10-18 Sony Computer Entertainment Inc. Dynamic arrangement of characters in an on-screen keyboard
US20080195582A1 (en) * 2007-02-08 2008-08-14 Bellsouth Intellectual Property Corporation Context Based Keyword Search
WO2009090262A2 (en) * 2008-01-18 2009-07-23 Ugochukwu Akuwudike Method and system for storing and retrieving characters, words and phrases
EP2133772A1 (en) * 2008-06-11 2009-12-16 ExB Asset Management GmbH Device and method incorporating an improved text input mechanism

Also Published As

Publication number Publication date
GB201020493D0 (en) 2011-01-19

Similar Documents

Publication Publication Date Title
US11416141B2 (en) Method, system, and graphical user interface for providing word recommendations
JP5642809B2 (en) Multi-modal text input system for use with mobile phone touchscreen etc.
KR101085655B1 (en) Apparatus and method for inputing characters of terminal
US8605039B2 (en) Text input
US20130002553A1 (en) Character entry apparatus and associated methods
WO2008064142A2 (en) Interactive sequential key system to input characters on small keypads
US20140164981A1 (en) Text entry
EP2183740A2 (en) Improved data entry system
KR20160060110A (en) Quick tasks for on-screen keyboards
JP2011524595A (en) Methods for customizing data entry for individual text fields
US8839123B2 (en) Generating a visual user interface
KR101046914B1 (en) Recursive key input apparatus and method thereof
KR101808774B1 (en) Virtual keyboard strucutre for mobile device, method of inputting character using virtual keyboard for mobile device, computer readable storage media containing program for executing the same
JP5674140B2 (en) Text input device, text input receiving method and program
US11086410B2 (en) Apparatus for text entry and associated methods
WO2012073005A1 (en) Predictive text entry methods and systems
KR20100046801A (en) Method for inputting character in wireless terminal
KR20130106224A (en) Character input apparatus and character input method

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

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

Country of ref document: EP

Kind code of ref document: A1