Method for displaying a virtual keyboard on a mobile terminal screen
11474691 · 2022-10-18
Assignee
Inventors
Cpc classification
H04M1/72436
ELECTRICITY
G06F9/454
PHYSICS
G06F3/04886
PHYSICS
International classification
G06F3/04886
PHYSICS
H04M1/72436
ELECTRICITY
Abstract
A method for displaying a virtual keyboard layout to be used for responding to a received message on a mobile terminal. The method includes: analyzing the received message by a processing unit of the mobile terminal, so as to search for a contextual parameter associated with the received message; selecting, by the processing unit, a virtual keyboard layout, among a set of virtual keyboard layouts displayable on a screen of the mobile terminal, as a function of the result of the search for a contextual parameter associated with the received message; and displaying the selected virtual keyboard layout on the screen.
Claims
1. A method for displaying a virtual keyboard layout to be used for responding to a received message on a mobile terminal, the method comprising the following acts performed by the mobile terminal: analyzing said received message by a processing unit of the mobile terminal, so as to search for a contextual parameter associated with the received message and to determine the contextual parameter to be associated with the received message if a syntactical item or a pattern of syntactical items representative of said contextual parameter is identified within the received message, wherein the contextual parameter is a parameter among a type of query and an emoji theme and wherein: if the contextual parameter is the type of query, said syntactical items or patterns of syntactical items representative of the contextual parameter are combinations of predetermined interrogative words and/or the “?” character; and if the contextual parameter is the emoji theme, said syntactical items or patterns of syntactical items representative of the contextual parameter are predetermined emojis; selecting, by the processing unit, the virtual keyboard layout, among a set of virtual keyboard layouts displayable on a screen of the mobile terminal, as a function of the result of the search for the contextual parameter associated with the received message; and displaying the selected virtual keyboard layout on the screen.
2. The method according to claim 1, wherein, for each of a plurality of possible contextual parameters, a list of syntactical items or patterns of syntactical items representative of the contextual parameter are stored on a memory of the terminal.
3. The method according to claim 1, wherein at least one contextual parameter is associated to each virtual keyboard layout, the virtual keyboard layout selected at the act of selecting being the virtual keyboard layout associated with the contextual parameter found at the analyzing act.
4. The method according to claim 3, wherein a priority order is defined between the virtual keyboard layouts, the selecting act being performed according to said priority order when at least two virtual keyboard layouts are associated with the contextual parameter found at the analyzing act.
5. The method according to claim 4, wherein said set of virtual keyboard layouts comprises at least one non-alphabetical layout associated with the type of query and at least one emoji layout associated to the emoji theme.
6. The method according to claim 1, wherein a default virtual keyboard layout is selected if no contextual parameter is found to be associated with the received message during the analyzing act.
7. A mobile terminal comprising: a processing unit; and a screen, the processing unit being configured to: analyze a received message so as to search for a contextual parameter associated with the received message and determine the contextual parameter to be associated with the received message if a syntactical item or a pattern of syntactical items representative of said contextual parameter is identified within the received message, wherein the contextual parameter is a parameter among a type of query and an emoji theme and wherein: if the contextual parameter is the type of query, said syntactical items or patterns of syntactical items representative of the contextual parameter are combinations of predetermined interrogative words and/or the “?” character; and if the contextual parameter is the emoji theme, said syntactical items or patterns of syntactical items representative of the contextual parameter are predetermined emojis; select a virtual keyboard layout among a set of virtual keyboard layouts displayable on the screen as a function of the result of the search for the contextual parameter associated with the received message, for display by the screen.
8. A non-transitory computer-readable medium, on which is stored a computer program product comprising code instructions for executing a method for displaying a virtual keyboard layout to be used for responding to a received message on a mobile terminal, when the code instructions are executed by a processing unit of the mobile terminal, wherein the code instructions configure the mobile terminal to: analyze said received message so as to search for a contextual parameter associated with the received message and determine the contextual parameter to be associated with the received message if a syntactical item or a pattern of syntactical items representative of said contextual parameter is identified within the received message, wherein the contextual parameter is a parameter among a type of query and an emoji theme, and wherein: if the contextual parameter is the type of query, said syntactical items or patterns of syntactical items representative of the contextual parameter are combinations of predetermined interrogative words and/or the “?” character; and if the contextual parameter is the emoji theme, said syntactical items or patterns of syntactical items representative of the contextual parameter are predetermined emojis; select the virtual keyboard layout, among a set of virtual keyboard layouts displayable on the screen of the mobile terminal, as a function of the result of the search for the contextual parameter associated with the received message; and displaying the selected virtual keyboard layout on the screen.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other objects, features and advantages of this invention will be apparent in the following detailed description of an illustrative embodiment thereof, which is to be read in connection with the accompanying drawings wherein:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
(6) Architecture
(7) The present invention relates to a method for operating a mobile terminal 1 as represented by
(8) The mobile terminal 1 is a device comprising a processing unit 11, i.e. a CPU (one or more processors), a memory 12 (for example flash memory), and a screen 13 (preferably touch sensitive) for user interface. The memory 12 is in particular for storing applications, which can be of various types, and data. The terminal 1 also typically comprises a battery, in particular a rechargeable battery (for instance lithium polymer), for powering the processing unit 11 and other units.
(9) The terminal 1 may further comprise other units such as a location unit for providing location data representative of the position of the terminal 1 (using for example GPS, network triangulation, etc.), a communication unit for connecting (in particular wirelessly) the terminal 1 to a network 20 (for example WiFi, Bluetooth, and preferably a mobile network, in particular a GSM/UMTS/LTE network, see below), etc.
(10) Indeed, the terminal 1 is typically a smartphone, a tablet computer, a laptop, etc. In the following description the example of a smartphone will be used.
(11) Virtual keyboard layouts
(12) The present method is performed by the processing unit 11 of the terminal 1, and is implemented either by a messaging application of the terminal (a SMS client, an e-mail client, chat application, Whatsapp, etc.) or a dedicated software application.
(13) Said messaging application receives a message from the network and allows typing a response message using a virtual keyboard, i.e. a “soft keyboard”, on the screen 13.
(14) More precisely, as explained the virtual keyboard is provided with a plurality (i.e. n) of virtual keyboard layouts VKL.sub.i displayable on the screen 13, forming a set {VKL.sub.i}.sub.i∈[0;n].
(15) Preferably, the set of virtual keyboard layouts {VKL.sub.i}.sub.i∈[0;n] may comprise some or all of: a “default” layout VKL.sub.) (typically the layout of the keyboard associated with the set language of the terminal 1, for instance a QWERTY-based layout if the language is English), one or more “international” layouts (layouts of the keyboard associated with other languages than the set language of the terminal 1, for example AZERTY-based, QWERTZ-based, Cyrillic, etc., layouts), one or more “non-alphabetical” layouts, including a “numerical” layout (as explained, keys of these layout are digits, punctuations, or mathematical symbols), possibly also including special layouts such as a layout representing a clock, a layout representing a calendar, etc., one of more “emoji” layouts (keys of these layouts are ideograms and smileys, generally sorted by theme, as defined in the Unicode character space)
(16) As it will be explained, for the present method, these virtual keyboard layouts VKL.sub.i are specifically associated with respective “contextual parameters”, i.e.
(17) attributes of the messages that would require the use of such layouts. Preferably, every layout except the default one is associated with at least one contextual parameter.
(18) The contextual parameters may be chosen among a language (English, French, Chinese, etc.), a type of query (query about a quantity, query about a time, query about a date, etc.), a theme of emojis (smileys, love symbols, etc.), etc. Examples thereof will be detailed later.
(19) We refer now to
(20) The present method can typically start when, after having received a message MSG in a messaging application, the users decide to type a response using this application. For example, a notification of reception of the message MSG is displayed on the screen, and the user taps this notification so as to open the message in the messaging application.
(21) Normally, it would simply launch the virtual keyboard (with the default layout VKL.sub.0, or eventually the last layout selected for the conversation to which the received message belongs).
(22) To the contrary, the present method comprises a first step (a) wherein the processing unit 11 analyzes the received message MSG so as to search for contextual parameter(s) P.sub.CTXT(MSG) associated with this message MSG. This analysis can be performed directly within the messaging application, or by calling an API or another dedicated application.
(23) Contextual parameters P.sub.CTXT(MSG) are “searched for”, meaning that the processing unit 11 attempts at determining them, but they are not necessarily found, for instance if the message is very short and not meaningful. More precisely, zero, one, or more contextual parameter(s) associated with the text could be identified (examples will be detailed later).
(24) Syntactical Analysis
(25) The analysis performed on the received message MSG is typically a syntactical analysis. By syntactical analysis, it is meant a recognition of given words and others symbols (such as punctuation or emojis), i.e. “syntactical items” of the message (by syntactical item, it will be understood any basic “block” of characters (letters and/or symbols) of the message, having a meaning). Syntactical analysis is well known by the skilled person and can be perform simply by parsing the text of the message into a sequence of syntactical items. Thus, a contextual parameter P.sub.CTXT(MSG) associated with the message MSG is advantageously determined at this step (a) if a syntactical item or a pattern of syntactical items representative of said contextual parameter is identified within the message. To this end, for each of a plurality of possible contextual parameters, a list of syntactical items or patterns of syntactical items representative of the contextual parameter is preferably stored on the memory 12 of the terminal 1. For instance: if the contextual parameter is a language, said syntactical items or patterns of syntactical items representative of the contextual parameter are words of a dictionary (or simply a list of words/expressions typically present in short message, like welcoming and parting phrases). For example, the word “Hello” is a syntactical item representative of the language “English”, while the word “bonjour” is a syntactical item representative of the language “French”. the contextual parameter is a type of query, said syntactical items or patterns of syntactical items representative of the contextual parameter are combinations of predetermined interrogative words and/or the “?” character. More precisely, the syntactic unit question mark is sufficient for identifying a query, but not sufficient for determining which type of query. For example, the patterns (“How much”/“how many”)+“?” are patterns of syntactical items representative of a “query about a quantity”, the word “WT” or the pattern “What time”+“?” is a pattern of syntactical items representative of a “query about a time”, the pattern “When”+“?” is a pattern of syntactical items representative of a query about a date, etc. If the contextual parameter is an emoji theme, said syntactical items or patterns of syntactical items representative of the contextual parameter are predetermined emojis, in particular emojis of the same theme. For example, a smiling face “0” is a syntactical item representative of the emoji theme “smileys”, while a heart shaped emoji is a syntactical item representative of the emoji theme “love emojis”.
(26) In other words, predetermined syntactical items or patterns thereof (those of the lists), each being associated to a contextual parameter, are searched for in the received message MSG. If they are found, the corresponding contextual parameter(s) P.sub.CTXT(MSG) are determined as being associated to the message MSG. It is to be understood that a plurality of contextual parameters P.sub.CTXT(MSG) can be simultaneously determined. For example if the received message MSG is “Bonjour;)”, then both contextual parameters “French” and “Smileys” can be found.
(27) Said lists of syntactical items or patterns of syntactical items can be stored locally in the memory 12 of the terminal 1, but also downloaded from a network server 10. Such dictionary could be generated by Nature Language Processing (NLP) or any other machine learning algorithm.
(28) Virtual Keyboard Layout Selection
(29) In a further step (b), the processing unit 11 selects a virtual keyboard layout VKL.sub.s among the set of virtual keyboard layouts {VKL.sub.i}.sub.i∈[0;n](i.e. s∈[0;n]) as a function of the result of the search for contextual parameters(s) P.sub.CTXT(MSG) associated with the received message MSG.
(30) As explained, these virtual keyboard layouts VKL.sub.i are each specifically associated with one or more contextual parameters. For instance: the “default” and/or “international” layouts are set with different languages (QWERTY with English, AZERTY with French, QWERTZ with German, etc.), the “numeric” and/or “non-alphabetical” layouts are associated with query types (a numerical layout if the query is about a quantity, a clock layout it the query is about a time, a calendar layout is the query is about a date, etc.), the “emoji” layout are associated with emoji themes (in particular the layout of an emoji theme is associated with its emoji theme). If no contextual parameter P.sub.CTXT(MSG) associated with the received message MSG has been found, or if a contextual parameter P.sub.CTXT(MSG) has been found to which no virtual keyboard layout VKL.sub.i is associated, then the default virtual keyboard layout VKL.sub.0 can be selected (for instance an English language standard QWERTY-based layout as explained), i.e. VKL.sub.s=VKL.sub.0.
(31) If only one contextual parameter P.sub.CTXT(MSG) is determined during the analysis, then the selected layout VKLs is the virtual keyboard layout VKL.sub.i to which this parameter P.sub.CTXT(MSG) is associated. It is to be understood that the selected virtual keyboard layout VKL.sub.s can still be the default virtual keyboard layout VKL.sub.0, if the found contextual parameter P.sub.CTXT(MSG) is associated with this layout (for instance the QWERTY-based layout is associated with the contextual parameter English).
(32) If more than one contextual parameter P.sub.CTXT(MSG) is determined, they are several possibilities.
(33) Firstly, they could be a layout associated to this combination of contextual parameters. For example, there could be several clock layouts, each corresponding to a different language (the English clock layout will have “a.m.” or “p.m.” abbreviations), therefore, the combination of contextual parameters “English” and “query about a time” will led to the selection of this English clock layout.
(34) Alternatively, a choice between several “candidate” layouts VKL.sub.i could be done. In particular, a priority of some layouts over others could be decided. In particular, it is advantageously provided a priority of the international layouts over the default layout, a priority of the emoji layouts over the international layouts, and a priority of the non-alphabetical layouts over the emoji layouts.
(35) For example, if there is only a generic clock layout (i.e. only associated with the contextual parameter “query about a time”) the above mentioned combination of contextual parameters “English” and “query about a time” will led to the selection of the clock layout over the QWERTY-based layout. Similarly the message “Bonjour;)” will led to the selection of the smiley-themed emoji layout over the AZERTY-based layout.
(36) In some particular cases, if for example the message is drafted using two different languages at the same time, a random selection between several layouts could be performed.
(37) In a final step (c), the selected virtual keyboard layout VKL.sub.s is displayed on the screen 13, so as to be used by the user for typing the response message. This method can then be applied again when receiving another message, within the same conversation with the interlocutor or in another conversation with another interlocutor.
(38) This way, a very flexible virtual keyboard adaptation can be achieved, by using a message-by-message analysis in order to find, for each received message, the best virtual keyboard layout to use.
(39)
(40) In this exemplary conversation:
(41) 1) the sender sends a first message “Hello !” which is received by mobile terminal 1 (step S01),
(42) 2) on the mobile terminal 1, in spite of having a French default virtual keyboard layout, the English language is recognized from the use of “Hello” (step S02) and the messaging application is thus instructed to display an English layout virtual keyboard (step S03), which the user can then use to reply “Hello”,
(43) 3) the sender sends then (step SO4) a second message including the question “What time do we meet today ?” which is received by mobile terminal 1,
(44) 4) on the mobile terminal 1, a query about a time event is recognized (thanks to the pattern “What time”+“?”) (step S05) and the messaging application is thus instructed to display the clock layout of virtual keyboard (or simply the numerical layout), which the user can then easily use to indicate “16:00” or “4 pm” (step 06),
(45) 5) the sender sends then (step 07) a third message including the question “How many friends do you bring with you ?” which is received by mobile terminal 1,
(46) 6) on the mobile terminal 1, a query about a quantity is recognized, thanks to the pattern “How many”+“?” (step S08), and the messaging application is thus instructed to display the numerical layout of the virtual keyboard, which the user can then easily use to indicate “2” (step S09),
(47) 7) the sender sends then (step S10) a fourth message including an Emoji “thumbs up” which is received by mobile terminal 1,
(48) 8) on the mobile terminal 1, the use of an Emoji is detected (step S11) and thus the virtual keyboard is switched to Emoji input, that is to say the messaging application is instructed to display the emoji layout of the virtual keyboard (step S12).
(49) Terminal and Computer Program
(50) The present invention concerns mobile terminal 1 comprising a processing unit 11 and a screen 13 (preferably a touchscreen). This terminal 1 may also comprise a memory 12.
(51) The aforementioned processing unit 11 is in particular configured to implement, preferably when being requested (via a messaging application) the typing of a response message to a received message using a virtual keyboard provided with a set of layouts of the virtual keyboard displayable on the screen, the steps of: analyze a received message MSG so as to search for a contextual parameter P.sub.CTXT(MSG) associated with the received message MSG; select a virtual keyboard layout VKL.sub.s among a set of virtual keyboard layouts {VKL.sub.i}i∈[0;n] displayable on the screen as a function of the result of the search for a contextual parameter P.sub.CTXT(MSG) associated with the received message MSG;
(52) The screen 13 is configured to display the selected virtual keyboard layout VKL.sub.s.
(53) The invention further proposes a computer program product, comprising code instructions for executing (in particular with a processing unit 11 of the terminal 1) the previously described method, as well as a computer-readable medium (in particular a memory 12 of the terminal 1), on which is stored a computer program product comprising code instructions for executing said method. In particular, this computer program product may correspond to the possibly dedicated software application discussed previously, and/or a messaging application.