WO2024022898A1 - Execution d´une commande generee par un utilisateur sur un dispositif - Google Patents

Execution d´une commande generee par un utilisateur sur un dispositif Download PDF

Info

Publication number
WO2024022898A1
WO2024022898A1 PCT/EP2023/069931 EP2023069931W WO2024022898A1 WO 2024022898 A1 WO2024022898 A1 WO 2024022898A1 EP 2023069931 W EP2023069931 W EP 2023069931W WO 2024022898 A1 WO2024022898 A1 WO 2024022898A1
Authority
WO
WIPO (PCT)
Prior art keywords
character string
command
electronic device
character
active application
Prior art date
Application number
PCT/EP2023/069931
Other languages
English (en)
Inventor
Jean Francois LETELLIER
Cédric Floury
Original Assignee
Orange
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 Orange filed Critical Orange
Publication of WO2024022898A1 publication Critical patent/WO2024022898A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting

Definitions

  • the invention relates to the field of computer applications and more particularly concerns an order execution service provided, for example, by a personal computer.
  • Computer terminals personal computers, tablets, smartphones, etc. offer numerous applications to users (messaging applications, word processors, spreadsheets, search engines, calculators, etc.).
  • each of these applications executes in its own environment, typically in a window, and the information entered in these environments is interpreted and processed in the context of these applications.
  • information entered by a user when using a word processor is only interpreted in the context of that word processor.
  • the invention offers a solution that overcomes these limitations.
  • the invention improves the state of the art and proposes for this purpose a method of executing a command generated via at least one input peripheral of an electronic device in the context of an active application, the method implemented by another application running in the background.
  • the method comprises:
  • the method comprises: - obtaining a string of at least one character displayed on a display device of said electronic device in the graphic environment of an active application and generated by at least one piece of data coming from said at least one input device ;
  • the method comprises:
  • a determination step for determining, at least as a function of said character string, and a context of said active application, if said character string constitutes a command from a user of said electronic device; and when the determination is positive
  • the execution method makes it possible to obtain the character strings generated by the user in an active application, to detect whether this character string constitutes a command, going beyond the scope of the active application, and whether it is If so, execute it and remove the text corresponding to the command on the display device.
  • a user can type a command that cannot be interpreted in the context of the active application, without leaving the active application, this command being detected by another application in the background and executed.
  • an order intended controlling a home automation device such as turning on a lamp, can be detected in a word processing application and executed, the text corresponding to the command being further removed from text being edited in the text processing application. word processor.
  • graphic environment of a software application we mean any display area assigned to this application on a display device (such as a screen) coupled to an electronic device on which this application is at least partially executed.
  • a window of a windowing system, a popup bubble, a spreadsheet sheet, an information area constitute examples of a graphical application environment within the meaning of the invention.
  • input device we mean any device capable of interpreting a user action in the form of commands, functions or instructions allowing the printing, storage or emission of characters (alphanumeric, punctuation, etc. .).
  • the input device is for example a keyboard, a screen and/or a touch surface, a mouse, a microphone (via speech recognition software), etc. For simplification, it can later be said that a character string is entered, regardless of the input device or the method used for its generation.
  • display device we mean any device capable of graphically rendering multimedia content (text, graphical interface, image, video, animation, clickable links, buttons, thumbnails, etc.), for example a screen or a projector.
  • electronic device we mean any device capable of at least managing a display device and/or an input device (personal computer, smartphone, electronic tablet, television, car on-board computer, connected objects, etc.) .
  • a method as described above comprises continuous memorization of the characters entered by a user in a buffer zone of a memory reserved for the active application.
  • said determination takes into account a type of an input zone of said character string.
  • a method as described above is characterized in that it comprises:
  • the text of the user-generated command is replaced by the result of executing the command.
  • this character string is automatically detected by the application in the background, interpreted as a command, and the character string is automatically replaced with the last image received by the user's messaging application.
  • the messaging application provides a programming interface (in English Application Programming Interface API)
  • this can be queried by the method to obtain the last image received by email.
  • the messaging application can record in a memory known to the process any image received by email, as well as the date of receipt of this image.
  • the position of the character string where the result must be inserted can be determined by memorizing, for example, the coordinates of a mouse or a cursor each time a new character string is inserted into the active application.
  • this position can be determined within an image representative of the graphic interface of the electronic device.
  • the method can determine the position of the last word(s) entered within the image by, for example, recovering the position of the last character of this set of words. Once the position/location of the position is determined, the method can display the result of executing the command at this position.
  • a method as described above is characterized in that it comprises a step of searching and, when the search is positive, detecting said character string in at least a second character string obtained by an optical character recognition step applied to all or part of an image representative of content displayed by said display device.
  • a method as described above is characterized in that said optical character recognition is applied to a part of said image whose coordinates correspond to those of the graphic environment of the active application (for example the active window) displayed by said display device.
  • This embodiment makes it possible to limit the execution of optical character recognition to an area/part of the image representative of the content displayed by the display peripheral of the electronic device corresponding to the graphic environment of the active application.
  • This embodiment makes it possible to optimize the use of resources (memory, processor, etc.) necessary for the execution of the process.
  • a method as described above is characterized in that it is executed as soon as at least one special character is detected. For example, before any order, it can be agreed that the user precedes the entry of the order with a fixed character string(s), configurable for example, such as “##”.
  • a method as described above is characterized in that it is executed as soon as the user finishes a word (detection of a space or a punctuation sign ) or pauses in his entry (for at least a first duration, configurable for example, of the order of a few seconds, or even a few tens of seconds (like 2, 3, 5, 10, 15 or 20 seconds).
  • a method as described above is characterized in that it is executed at regular intervals (for example of duration of the order of a few seconds, or even a few tens of seconds (such as 2, 3, 5, 10, 15 or 20 seconds). This duration can for example be configurable.
  • Such an embodiment makes it possible to adjust the order processing time by varying the duration of this interval.
  • said determination step comprises a semantic analysis of said character string and said execution step comprises processing of the result of said semantic analysis by at least one agent.
  • Agents can be implemented for example in the form of a “plug-in” and/or additional modules.
  • an agent can be dedicated to one or more applications.
  • the execution method comprises a prior activation step via an input interface of said device.
  • the execution method is executed:
  • the invention also relates to a device for executing a command generated via at least one input device of an electronic device in the context of an active application.
  • the device can be configured to implement the method of the present application in any of its embodiments.
  • the device comprises:
  • a determination module configured to determine whether said character string constitutes a command from a user of said electronic device, said determination being a function of said character string;
  • the device comprises:
  • a determination module configured to determine, at least as a function of said character string, and a context of said active application, if said character string constitutes a command from a user of said electronic device;
  • the device comprises:
  • a determination module configured to determine whether said character string constitutes a command from a user of said electronic device, said determination being a function of said character string and further a function:
  • module can correspond as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms or more generally to any element of a program capable of implementing a function or a set of functions as described for the modules concerned.
  • a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).
  • the invention also relates to a computer program comprising instructions for implementing the above method according to any of the particular embodiments described above, when said program is executed by a processor.
  • the method can be implemented in various ways, notably in hardwired form or in software form.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in any other desirable form.
  • the invention also relates to a system for executing a command generated via at least one input device of an electronic device in the context of an active application.
  • the system may be configured to implement the method of the present application in any of its embodiments.
  • the system comprises:
  • a determination device configured to determine whether said character string constitutes a command from a user of said electronic device, said determination being a function of said character string;
  • the system is characterized in that it comprises:
  • a determination device configured to determine, at least as a function of said character string, and a context of said active application, if said character string constitutes a command from a user of said electronic device;
  • the system comprises:
  • a determination device configured to determine whether said character string constitutes a command from a user of said electronic device, said determination being a function of said character string and further a function:
  • the invention also relates to a recording medium or information medium readable by a computer, and comprising instructions for a computer program as mentioned above.
  • the recording media mentioned above can be any entity or device capable of storing the program.
  • the support may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means, for example a hard disk.
  • the recording media may correspond to a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the programs according to the invention can in particular be downloaded on an Internet type network.
  • the recording media may correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • This execution device this execution system as well as this computer program have characteristics and advantages similar to those described above in relation to the execution method in all its embodiments.
  • FIG. 1 Figure 1 illustrates an example of an environment for implementing the invention according to a particular embodiment of the invention
  • FIG 2A illustrates the architecture of a device adapted for implementing the execution method, according to a particular embodiment of the invention
  • FIG 2B Figure 2B illustrates the architecture of a device adapted for implementing the execution method, according to another particular embodiment of the invention,
  • Figure 3 illustrates an example of implementation of the invention
  • Figure 4 illustrates an example of implementation of the invention
  • FIG 5 illustrates the main steps of the execution method according to a particular embodiment of the invention.
  • Figure 1 illustrates an example of an environment for implementing the invention according to at least one embodiment.
  • the environment represented in Figure 1 comprises at least one electronic device 101 which integrates a device for executing a command capable of implementing the method for executing a command according to the present invention.
  • the execution device may be located in the network and/or distributed across one or more computing machines such as computers, terminals or servers.
  • the electronic device 101 is for example a smartphone type terminal (smart phone in English), tablet, connected television, connected object, car on-board computer, personal computer or any other terminal capable of rendering multimedia content visually and/or or vocally.
  • One or more graphic/display or sound reproduction devices 105 can be connected or understood by the electronic device 101 (connected wired (via a VGA, HDMI, USB cable, etc.) or wirelessly (WiFi® , Bluetooth®, etc.).
  • This or these reproduction peripherals can for example be a screen, a video projector, a speaker, etc.).
  • the graphic or sound reproduction device(s) can be connected to the electronic device 101 via the network 102.
  • one or more input devices 103a, 103b can be connected or understood by the electronic device 101 (connected wired (via a VGA, HDMI, USB cable, etc.) or wirelessly (WiFi®, Bluetooth®, etc.).
  • This or these input devices can for example be a keyboard, a mouse, a touch surface, a camera 104, a microphone or any other peripheral capable of providing interaction data from the user of the electronic device 101.
  • Figures 2A and 2B each illustrate a device S configured to implement the acquisition method according to at least one embodiment of the invention.
  • the device S has the classic architecture of a computer, and notably comprises an operating system OS, a memory MEM, a processing unit UT, equipped for example with a PROC processor, and controlled by the computer program PG stored in MEM memory, a MOD OBT obtaining module, a MOD GA action management module and a MOD_DET determination module.
  • the computer program PG includes instructions for implementing the steps of the execution method as described subsequently in support of Figure 5, when the program is executed by the processor PROC.
  • the code instructions of the computer program PG are for example loaded into a memory before being executed by the processor PROC.
  • the processor PROC of the processing unit UT implements in particular the steps of the execution method according to any of the embodiments described in relation to the present application (for example in connection with Figure 5) and according to the PG computer program instructions.
  • the MOD_DET determination module is configured to interface with a plurality of agents, only three of which are represented in Figures 2A and 2B.
  • the determination module MOD_DET comprises a client CLT_KNOW and a knowledge server SRV_KNOW included in the device S. At least certain agents can also be included in the device S.
  • the client CLT_KNOW and the knowledge server SRV_KNOW are connected via a communications network.
  • the MOD_OBT obtaining module is configured to obtain at least one character string from data generated by at least one user (sound, movement, click, press (long or short), etc.) at the level of a peripheral input (103a (touchpad), 103b (keyboard)) of the electronic device 101.
  • This data is interpreted and translated into characters. This is for example the case when pressing the keys of the keyboard 103b of the electronic device 101, during an action (movement, click) carried out on a tactile surface 103a, during a textual transcription of a speech in sign language captured by the camera 104 of the electronic device 101 or during a textual transcription of an audio speech captured by a microphone (not shown) of the electronic device 101.
  • the MOD OBT obtaining module can subscribe to the OS operating system to be notified of at least certain system events.
  • the MOD OBT get module receives from the OS operating system:
  • the MEM memory comprises at least one BUFF buffer zone (for example a single buffer zone) which stores the characters generated by the user inputs over time in a window of an active application, these characters being obtained by the MOD OBT obtaining module by notification from the OS operating system.
  • BUFF buffer zone for example a single buffer zone
  • a user i/ enters the character string “Dear” (illustrated by the character string “Cccc” in Figure 3) in an MSG messaging application identifier MSG ID; then ii/ switches to another application, for example a TTXT word processor with identifier ID_TTXT to enter the character string “fish” (illustrated by the character string “pppppppp” in Figure 3) in a graphic object OG, then the character string “translate trout into English” (illustrated by the character string “Ttttttttttttttt ee aaaaaa” in Figure 3) in a ZT text box; then iii/ switches back to the MSG messaging application to continue his message by entering the character string “Sir” (illustrated by the character string
  • the BUFF buffer zone includes the character string
  • the MEM memory includes a buffer zone per application and/or per application window to memorize over time the characters entered by the user in an application window when this application is active.
  • the MEM memory can include:
  • BUFF MSG comprising the character string “Dear Sir” corresponding to the characters entered in two steps by the user when the MSG messaging application is active
  • the method determines a context of the active application within which the character string this character string was entered.
  • the determined context can for example allow the method to determine (i) whether this word constitutes a command and (ii) the actions to be implemented to execute this command.
  • the same character string may or may not be interpreted as a command depending on the active application in which this string was generated.
  • the word "vacation” can be interpreted as a command to access a website relating to vacations in a profile (history for example) of the user, only when this word vacation is entered in the URL of a page Web.
  • the device S may comprise a MOD_OCR optical character recognition module capable of performing optical character recognition on an image (image capture) representative of content displayed by a device. display (105) of the electronic device 101 and obtaining at least a second character string TXT2 as a result of the optical character recognition.
  • the image is for example generated via software capable of capturing the graphic content of a screen 105 of the electronic device 101.
  • the device S can also include a search module MOD_SEARCH capable of searching and detecting within a TXT2 character string obtained thanks to optical character recognition, a character string (for example example one or more words) obtained via the MOD OBT obtaining module.
  • This search can be carried out as soon as the MOD_OBT module detects the end of a word in a character string for example.
  • Optical character recognition may be optional in at least some embodiments but it can help to distinguish, as illustrated in the example of the TTXT word processor, several character strings (“fish”, “translate trout into English”). entered by the user in different input areas of the same application.
  • the optical character recognition module MOD_OCR is configured to determine that a character string is located in proximity to a graphic object, for example a particular graphic object or text.
  • the optical character recognition module MOD_OCR can determine that the character string “fish” is located in a rectangle.
  • the MOD OCR optical character recognition module can determine that the character string “buy stock X for 20 euros” (illustrated by the character string “aaaaaaa aaaaaa pppp 20 eeee » in Figure 4) is located in an oblong shape, near a magnifying glass of an SRCHENG search engine application with identifier ID SRCHENG.
  • a type of input area can be determined, for example by implementing a pre-learning mechanism based on annotated graphical interface images.
  • some embodiments may use methods for determining URL entry areas, for example methods operating based on recognition of the shape (elongated) and position (usually at the top) of such areas. input within the graphical environment of applications presenting such areas.
  • the MOD_OCR optical character recognition module is configured to determine the POS position of a character string in the image representative of the content displayed on the screen 105.
  • the device S may include a determination module MOD_DET configured to determine at least as a function of the character string obtained by the obtaining module MOD OBT and a context of an application of the device electronic device 101 active at the time of obtaining said character string, if this character string constitutes a command from the user of the electronic device 101.
  • a determination module MOD_DET configured to determine at least as a function of the character string obtained by the obtaining module MOD OBT and a context of an application of the device electronic device 101 active at the time of obtaining said character string, if this character string constitutes a command from the user of the electronic device 101.
  • the determination module MOD_DET may include a client CLT_KNOW, cooperating for example with a knowledge server SRV_KNOW (implemented for example in the form of a web service, a library or a database of data).
  • the context of the active application may include:
  • the CLT_KNOW client and the SRV_KNOW knowledge server can communicate according to at least one protocol.
  • This protocol can for example make it possible to characterize a character string, an active application identifier, a type of input zone, a date or place of use of the electronic device, a graphic object comprising the character string or located at proximity to the character string, and/or a text located near the character string.
  • a protocol cited as a simple illustrative example could include:
  • the keyword “ZONE_TYPE” to introduce a type of input zone in which the character string was detected.
  • WEB_URL_SEARCH can be used to specify that the character string was detected in a URL input box;
  • the CLT_KNOW client can use the following formats in messages to the SRV_KNOW knowledge server:
  • MOD OBT obtaining module detects the end of the word “Cher”
  • MOD OBT obtaining module detects the end of the word "Sir”
  • the knowledge server SRV_KNOW includes a semantic analysis module for analyzing the messages received from the CLT_KNOW client, on the basis of these key words (in English “tag”) and interpretation rules.
  • the knowledge server SRV_KNOW is configured to determine whether or not the character string included in a message constitutes a command and if this is the case to execute the command.
  • the determination of whether or not the character string constitutes a command may depend on this character string and the context of the active application.
  • the actions implemented to execute this command may depend, in certain embodiments, on this character string and the context of the command. active application.
  • the semantic analysis module of the SRV_KNOW server therefore analyzes the message received to determine its meaning based on the character string (TXT keyword) and/or the context of the active application and produce a semantic result in the form of rules interpretable by one or more third-party agents.
  • TXT keyword the character string
  • the context of the active application the context of the active application
  • the semantic result in the form of rules interpretable by one or more third-party agents.
  • an agent can be dedicated to one or more applications.
  • the agents can vary depending on the embodiments, both in number and in functionalities. For example, agents can be declared or installed prior to execution of the process (for example via a list of agents accessible via a human machine interface).
  • the semantic analysis module produces a message TRANSLATER trout”, “EN”) interpretable by a translation agent TRANS_AG .
  • the semantic analysis module can produce an interpretable message to a messaging agent MSG_AG configured to retrieve the list of emails sent, the contents of emails and attachments, etc.).
  • the knowledge server SRV_KNOW can optionally return to the CLT_KNOW client the result provided by the agent(s) (which will for example then, as already explained, be used to replace the character string generated by the user ).
  • the result of the execution can for example consist of text, an image, multimedia content or a URL.
  • the knowledge server SRV_KNOW also returns to the client CLT_KNOW a type of this content (text, image, video, URL, etc.).
  • the knowledge server when the knowledge server determines that the string is not a command, it returns a response indicating that the received string is not identified as a command (e.g. using a keyword indicating this lack of identification, such as “NONE”).
  • the knowledge server SRV_KNWL can determine that the character strings of messages MSG 1 , MSG 2 , MSG 3 are not commands.
  • the electronic device 101 may include an action management module MOD_GA to convert the response from the CLT KNOW client into a list of actions (similar to user actions via an input device) on the window of the active application concerned.
  • the action management module MOD_GA can be configured to: i/ delete a character string; and ii/ possibly insert an object in place of this character string, for example at the POS position identified by the MOD_OCR module.
  • the action management module MOD GA simulates, for the active application, presses on the “CLEAR” key on the keyboard intended to erase the (s) last character(s) entered.
  • the action management module MOD GA copies this object into the clipboard and pastes the contents of the clipboard to the POS position.
  • the action management module MOD GA replaces the character string “translate trout into English” with the character string “trout” in the text area ZT;
  • some user commands may not require inserting new content into the active window. This is for example the case when the command is a control command for a home automation device, for example “turn on the light”.
  • the text corresponding to the command can simply be deleted, the command to be performed being also transmitted to the system or application concerned (for example to the home automation system).
  • the method can operate systematically or be activated following an implementation command (via for example a manual action by a user of the electronic device 101).
  • the method can be deactivated, for example via manual action by a user.
  • the device S may include a MOD ACT module for activating and deactivating the process.
  • Figure 5 illustrates steps of the execution method in at least some embodiments. In this example the method is implemented by an application executed in the background by the electronic device 101.
  • the method can obtain at least one first piece of data coming from an input device/peripheral.
  • This data results for example from an interpretation, at the level of an input device, of an action carried out by a user of the electronic device 101.
  • This action is for example a succession of key presses detected at the keyboard ( 103b) of the electronic device 101.
  • the data can correspond to at least one character(s) and/or character strings, representing the interpretation of the key presses made by the user.
  • T at least one piece of data can include for example a fixed number n (n integer greater than 1) of characters coming from the input device, the character(s) obtained corresponding to the last n(s). character(s) typed/entered by the user at the keyboard.
  • the character(s) just typed/entered by the user are added/stored in one or more buffer zones (of fixed maximum size for example) such as a FIFO (First In First Out) type list.
  • the added characters fill the list until it is full. Once the list is full, each character added will replace the oldest character contained in the list.
  • Such an embodiment makes it possible to have in memory at any time the last character(s) (for example the last word(s)) entered by the user at the input device of the electronic device 101 regardless of the zone of enter these characters.
  • the method comprises obtaining an image representative of the content displayed by a display peripheral 105 of the electronic device 101.
  • the image is for example obtained from 'a software executed by the electronic device 101 capable of capturing the graphic content of the display device 105 of the electronic device 101 (for example a software probe).
  • the image can be obtained from a third-party device (for example a camera or a smartphone) positioned so as to capture the content displayed by a display device 105 of the device 101.
  • a third-party device for example a camera or a smartphone
  • the latter case can involve the transmission of the image by the third-party device to the device 101.
  • optical character recognition can for example be applied to the image obtained.
  • OCR step optical character recognition makes it possible to obtain a transcription, at least partial, of the text contained in the image obtained/generated in the form of a string/sequence of characters, it can also make it possible to associate with at least one transcribed character (for example for each character transcribed) its position within the image obtained.
  • optical character recognition can be carried out by third-party software and the result, that is to say the transcription of the text (string/sequence of characters and, optionally; their associated position), is issued by the third-party software to the application implementing the process which is the subject of this application.
  • the method may include a search (RECH step) (and if the search is positive, a detection) of the character(s) stored in at least one buffer zone (OBT step) within the transcribed sequence of characters. .
  • the method determines (DET step) whether or not the detected character string constitutes a user command. This determination is made from the character string and the textual context of the active application at the time of generation of this character string.
  • Context may include:
  • the place of use of the electronic device can for example make it possible to determine the target (in terms of application or target device for example) of a home automation control.
  • the command “turn on the light” can be interpreted to turn on the light at home or in the office depending on where the device is used. device and therefore be addressed depending on the place of use of the electronic device to different applications or home automation devices.
  • the date of use of the electronic device can, for example, make it possible to determine the action to be implemented to process a home automation command.
  • the “put to sleep” command can be interpreted to put the device on standby with different sleep levels (in terms of energy saving and recovery time in particular) depending on the time of use of the device ( or even turn off the device).
  • the method can also be used, in certain embodiments, to interpret commands for managing a business tool. For example, for employees who are used to entering the time spent on certain tasks in a time tracking tool, the process can allow them to enter a command such as “value 3H” in the environment of an active application, this command being interpreted to feed this time tracking tool with the duration and the identifier of the active application.
  • the client CLT_KNOW and the knowledge server SRV_KNOW can be located on different entities or incorporated one and/or the other into the electronic device 101.
  • the client-server architecture of the detailed embodiments is optional, the functions of the client and the server being able to be implemented differently, for example within the same software function, in certain embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

L'invention vise un procédé d'exécution d'une commande générée via au moins un périphérique d'entrée d'un dispositif électronique dans le cadre d'une application active, le procédé étant mis en œuvre par une autre application s'exécutant en tâche de fond et comportant : - une obtention d'une chaîne d'au moins un caractère affichée sur un périphérique d'affichage du dispositif électronique dans l'environnement graphique d'une application active et générée par au moins une donnée en provenance du périphérique d'entrée; - une détermination pour déterminer, au moins en fonction de la chaîne de caractères, et d'un contexte de l'application active, si la chaîne de caractères constitue une commande d'un utilisateur du dispositif électronique; et lorsque la détermination est positive - une suppression de la chaîne de caractères sur le périphérique d'affichage; et - une exécution de la commande.

Description

DESCRIPTION
Titre :
EXECUTION D'UNE COMMANDE GENEREE PAR UN UTILISATEUR SUR UN DISPOSITIF
1. Domaine de l'invention
L’invention se rapporte au domaine des applications informatiques et concerne plus particulièrement un service d’exécution de commandes fourni, par exemple, par un ordinateur personnel.
2. Art Antérieur
Les terminaux informatiques (ordinateurs personnels, tablettes, téléphones intelligents, . . .) proposent de nombreuses applications aux utilisateurs (applications de messagerie, traitements de textes, tableurs, moteurs de recherche, calculatrices, . . .).
Dans l’état actuel de la technique, chacune de ces applications s’exécute dans son propre environnement, typiquement dans une fenêtre, et les informations saisies dans ces environnements sont interprétées et traitées dans le contexte de ces applications.
Par exemple, une information saisie par un utilisateur lorsqu’il utilise un traitement de texte n’est interprétée que dans le contexte de ce traitement de texte.
L’invention offre une solution qui dépasse ces limitations.
3. Exposé de l'invention
L'invention vient améliorer l'état de la technique et propose à cet effet un procédé d’exécution d’une commande générée via au moins un périphérique d’entrée d’un dispositif électronique dans le cadre d’une application active, le procédé mis en œuvre par une autre application s’exécutant en tâche de fond.
Selon l’invention, le procédé comprend :
- une obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée;
- une détermination si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique, ladite détermination étant fonction de ladite chaîne de caractères ; et lorsque la détermination est positive :
- une suppression de ladite chaîne de caractères sur ledit périphérique d’affichage; et
- une exécution de ladite commande.
En particulier, dans certains modes de réalisation, le procédé comprend : - une obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée;
- une détermination si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique, ladite détermination étant fonction de ladite chaîne de caractères et en outre fonction :
• de l’application active ; et/ou
• d’une date d” obtention de la chaîne de caractères; et/ou
• un lieu d’ obtention de la chaîne de caractères; et lorsque la détermination est positive :
- une suppression de ladite chaîne de caractères sur ledit périphérique d’affichage; et
- une exécution de ladite commande.
Selon au moins un mode de réalisation, le procédé comprend :
- une étape d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée ;
- une étape de détermination pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique ; et lorsque la détermination est positive
- une étape de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique ; et
- une étape d’exécution de ladite commande.
Avantageusement, le procédé d’exécution permet d’obtenir les chaînes de caractères générées par l’utilisateur dans une application active, de détecter si cette chaîne de caractères constitue une commande, sortant du cadre de l’application active, et si c’est le cas de l’exécuter et de supprimer le texte correspondant à la commande sur le périphérique d’affichage.
Ainsi, grâce à l’invention, un utilisateur peut taper une commande non interprétable dans le cadre de l’application active, sans quitter l’application active, cette commande étant détectée par une autre application en tâche de fond et exécutée. Par exemple, une commande destinée au contrôle d’un appareil domotique, comme allumer une lampe, peut être détectée dans une application de traitement de texte et exécutée, le texte correspondant à la commande étant en outre supprimé d’un texte en cours d’édition dans l’application de traitement de texte.
On entend par environnement graphique d’une application logicielle, toute zone d’affichage affectée à cette application sur un périphérique d’affichage (tel un écran) couplé à un dispositif électronique sur lequel s’exécute au moins partiellement cette application. Notamment, une fenêtre d’un système de fenêtrage, une bulle de popup, une feuille de tableur, une zone d’informations constituent des exemples d’environnement graphique d’application au sens de l’invention.
Il est usuel de désigner par « fenêtre active », l’environnement graphique de l’application active.
On entend par périphérique d’entrée tout dispositif apte à interpréter une action d’un utilisateur sous forme de commandes, de fonctions ou d’instructions permettant l’impression, la mise en mémoire ou l’émission de caractères (alphanumérique, ponctuation, etc.). Le périphérique d’entrée est par exemple un clavier, un écran et/ou une surface tactile, une souris, un micro (via un logiciel de reconnaissance de la parole), etc. Par simplification, il pourra être dit ultérieurement qu’une chaîne de caractères est saisie, quel que soit le périphérique d’entrée ou la méthode utilisé pour sa génération.
On entend par périphérique d’affichage tout dispositif apte à restituer graphiquement un contenu multimédia (texte, interface graphique, image, vidéo, animation, liens cliquables, boutons, vignettes, etc.), par exemple un écran ou un projecteur.
On entend par dispositif électronique tout dispositif apte au moins à gérer un périphérique d’affichage et/ou un périphérique d’entrée (ordinateur personnel, smartphone, tablette électronique, télévision, ordinateur de bord d’une voiture, objets connectés, etc.).
Selon au moins un mode de réalisation , un procédé tel que décrit ci-dessus comprend une mémorisation au fil de l’eau des caractères saisis par un utilisateur dans une zone tampon d’une mémoire réservée à l’application active.
Selon au moins un mode de réalisation , ladite détermination tient compte d’un type d’une zone de saisie de ladite chaine de caractères.
Selon au moins un mode de réalisation , un procédé tel que décrit ci-dessus est caractérisé en ce qu’il comporte :
- une étape de détermination d’une position de l’affichage de ladite chaîne de caractères sur ledit périphérique d’affichage ; et - une étape d’affichage, sur ledit périphérique d’affichage et à proximité de la dite position d’un résultat de l’étape d’exécution de ladite commande.
Autrement dit, dans au moins ce mode de réalisation, le texte de la commande générée par l’utilisateur est remplacé par le résultat d’exécution de la commande.
Par exemple, si un utilisateur saisit la chaîne de caractères (« convertir 32 degrés Fahrenheit en degrés Celsius ») dans un éditeur de texte, cette chaîne de caractères est automatiquement détectée en tâche de fond, interprétée comme une commande de conversion de température et le résultat de la conversion «0°C » est substitué à la chaîne de caractères.
Par exemple, si un utilisateur saisit la chaîne de caractères (« insérer la dernière image reçue par mail ») dans un logiciel de présentation graphique, cette chaîne de caractères est automatiquement détectée par l’application en tâche de fond, interprétée comme une commande, et la chaîne de caractères est automatiquement remplacée par la dernière image reçue par l’application de messagerie de l’utilisateur.
Par exemple, dans au moins un mode de réalisation, où l’application de messagerie fournit une interface de programmation (en anglais Application Programming Interface API), celle- ci peut être interrogée par le procédé pour obtenir la dernière image reçue par email. En variante, l’application de messagerie peut enregistrer dans une mémoire connue du procédé toute image reçue par email, ainsi que la date de réception de cette image.
La position de la chaîne de caractères où le résultat doit être inséré peut être déterminée en mémorisant par exemple les coordonnées d’une souris ou d’un curseur à chaque nouvelle insertion de chaîne de caractères dans l’application active.
En variante, cette position peut être déterminée au sein d’une image représentative de l’interface graphique du dispositif électronique.
Ainsi, lorsqu’une correspondance est trouvée entre le ou les derniers mots saisis dans la fenêtre active par l’utilisateur (et représentatif d’une commande) et des éléments de texte générés par la reconnaissance optique de caractères, le procédé peut déterminer la position du ou des derniers mots saisis au sein de l’image en récupérant par exemple la position du dernier caractère de cet ensemble de mots. Une fois la position /localisation de la position déterminée, le procédé peut afficher le résultat de l’exécution de la commande à cette position.
La localisation peut par exemple correspondre à des coordonnées (en pixel, en centimètre, etc.) interprétables par le périphérique d’affichage du dispositif électronique. Ainsi, selon au moins un mode de réalisation , un procédé tel que décrit ci-dessus est caractérisé en ce qu’il comporte une étape de recherche et, quand la recherche est positive, de détection de ladite chaîne de caractères dans au moins une deuxième chaîne de caractères obtenue par une étape de reconnaissance optique de caractères appliquée à tout ou partie d’une image représentative d’un contenu affiché par ledit périphérique d’affichage.
Selon au moins un mode de réalisation de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ladite reconnaissance optique de caractères est appliquée à une partie de ladite image dont les coordonnées correspondent à celles de l’environnement graphique de l’application active (par exemple à la fenêtre active) affiché par ledit dispositif d’affichage.
Ce mode de réalisation permet de limiter l’exécution de la reconnaissance optique de caractères à une zone /partie de l’image représentative du contenu affiché par le périphérique d’affichage du dispositif électronique correspondant à l’environnement graphique de l’application active. Ce mode de réalisation permet d’optimiser l’usage des ressources (mémoire, processeur, etc.) nécessaires à l’exécution du procédé.
Selon au moins un mode de réalisation, un procédé tel que décrit ci-dessus est caractérisé en ce qu’il est exécuté dès lors qu’au moins un caractère spécial est détecté. Par exemple, avant tout commande, il peut être convenu que l’utilisateur précède la saisie de la commande par une chaîne de caractère(s) fixe, paramétrable par exemple, comme « ## ».
En variante, selon au moins un mode de réalisation, un procédé tel que décrit ci-dessus est caractérisé en ce qu’il est exécuté dès lors que l’utilisateur termine un mot (détection d’un espace ou d’un signe de ponctuation) ou fait une pause dans sa saisie (pendant au moins une première durée, paramétrable par exemple, de l’ordre de quelques secondes, voire quelques dizaines de secondes (comme 2, 3, 5, 10, 15 ou 20 secondes ).
En variante, selon au moins un mode de réalisation, un procédé tel que décrit ci-dessus est caractérisé en ce qu’il est exécuté à intervalles réguliers (par exemple de durée de l’ordre de quelques secondes, voire quelques dizaines de secondes (comme 2, 3, 5, 10, 15 ou 20 secondes ). Cette durée peut par exemple être paramétrable.
Un tel mode de réalisation permet d’ajuster le délai de traitement des commandes en faisant varier la durée de cet intervalle.
Selon au moins un mode de réalisation, ladite étape de détermination comporte une analyse sémantique de ladite chaîne de caractères et ladite étape exécution comporte un traitement du résultat de ladite analyse sémantique par au moins un agent. Cette implémentation permet d’installer différents agents pour traiter différents types de commandes (calcul numérique, domotique, comptabilité, application métier, ...). Les agents peuvent être implémentés par exemple sous forme de « plug-in », et/ou de modules additionnels. Selon les modes de réalisation, un agent peut être dédié à une ou à plusieurs applications.
Dans au moins un mode de réalisation, le procédé d’exécution comporte une étape préalable d’activation via une interface d’entrée dudit dispositif.
Dans au moins un mode de réalisation, le procédé d’exécution est exécuté :
- sur détection d’au moins un premier caractère (comme un caractère prédéterminé); et/ou
- sur détection de la fin d’un mot ; et/ou
- sur détection d’une pause dans la génération desdits caractères.
L'invention concerne également un dispositif d’exécution d’une commande générée via au moins un périphérique d’entrée d’un dispositif électronique dans le cadre d’une application active.
Le dispositif peut être configuré pour mettre en œuvre le procédé de la présente demande dans l’un quelconque de ses modes de réalisation.
Ainsi, selon au moins un mode de réalisation, le dispositif comprend :
- un module d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée;
- un module de détermination configuré pour déterminer si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique, ladite détermination étant fonction de ladite chaîne de caractères ;
- un module de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique; et
- un module d’exécution de ladite commande.
Plus précisément, selon au moins un mode de réalisation, le dispositif comprend :
- un module d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée ;
- un module de détermination configuré pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique ;
- - un module de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique ; et
- un module d’exécution de ladite commande.
Selon au moins un mode de réalisation, le dispositif comprend :
- un module d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée;
- un module de détermination configuré pour déterminer si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique , ladite détermination étant fonction de ladite chaîne de caractères et en outre fonction :
• de l’application active ; et/ou
• une date d’obtention de ladite chaîne de caractères; et/ou
• un lieu d’obtention de ladite chaîne de caractères;
- un module de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique; et
- un module d’exécution de ladite commande.
Le terme module peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.).
L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé ci-dessus selon l'un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. Le procédé peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise également un système d’exécution d’une commande générée via au moins un périphérique d’entrée d’un dispositif électronique dans le cadre d’une application active. Le système peut être configuré pour mettre en œuvre le procédé de la présente demande dans l’un quelconque de ses modes de réalisation.
Ainsi, selon au moins un mode de réalisation, le système comprend :
- un dispositif d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée;
- un dispositif de détermination configuré pour déterminer si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique, ladite détermination étant fonction de ladite chaîne de caractères ;
- un dispositif de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique; et
- un dispositif d’exécution de ladite commande.
Plus précisément, selon au moins un mode de réalisation, le système est caractérisé en ce qu‘il comprend :
- un dispositif d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée ;
- un dispositif de détermination configuré pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique ;
- un dispositif de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique ; et
- un dispositif d’exécution de ladite commande.
Selon au moins un mode de réalisation, le système comprend :
- un dispositif d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée;
- un dispositif de détermination configuré pour déterminer si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique , ladite détermination étant fonction de ladite chaîne de caractères et en outre fonction :
• de l’application active ; et/ou
• une date d’obtention de ladite chaîne de caractères; et/ou
• un lieu d’obtention de ladite chaîne de caractères;
- un dispositif de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique; et
- un dispositif d’exécution de ladite commande.
L'invention vise aussi un support d'enregistrement ou support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci- dessus. Les supports d'enregistrement mentionnés ci-avant peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau de type Internet.
Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Ce dispositif d’exécution, ce système d’exécution ainsi que ce programme d'ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec le procédé d’exécution dans tous ses modes de réalisation.
Les différents modes de réalisation du procédé d’exécution, du dispositif d’exécution ou du système d’exécution mentionnés précédemment ou décrits ci-après peuvent être combinés.
4. Liste des figures
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : [Fig 1] La figure 1 illustre un exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation de l'invention,
[Fig 2A] La figure 2A illustre l’architecture d’un dispositif adapté pour la mise en œuvre du procédé d’exécution, selon un mode particulier de réalisation de l’invention,
[Fig 2B] La figure 2B illustre l’architecture d’un dispositif adapté pour la mise en œuvre du procédé d’exécution, selon un autre mode particulier de réalisation de l’invention, [Fig 3] La figure 3 illustre un exemple de mise en œuvre de l’invention ;
[Fig 4] La figure 4 illustre un exemple de mise en œuvre de l’invention ;
[Fig 5] La figure 5 illustre les principales étapes du procédé d’exécution selon un mode particulier de réalisation de l’invention.
5. Description d'un mode de réalisation de l'invention
La figure 1 illustre un exemple d'environnement de mise en œuvre de l'invention selon au moins un mode de réalisation. L’environnement représenté en figure 1 comprend au moins un dispositif électronique 101 qui intègre un dispositif d’exécution d’une commande apte à mettre en œuvre le procédé d’exécution d’une commande selon la présente invention.
Selon d’autres modes de réalisation, le dispositif d’exécution peut être situé dans le réseau et/ou réparti sur une ou plusieurs machines informatiques telles que des ordinateurs, des terminaux ou des serveurs.
Le dispositif électronique 101 est par exemple un terminal de type smartphone (téléphone intelligent en anglais), tablette, télévision connectée, objet connecté, ordinateur de bord d’une voiture, ordinateur personnel ou tout autre terminal apte à restituer un contenu multimédia visuellement et/ou vocalement. Un ou plusieurs périphériques de restitution graphique/d’ affichage 105 ou sonore peuvent être connectés ou bien compris par le dispositif électronique 101 (connecté de façon filaire (via un câble VGA, HDMI, USB, etc.) ou bien sans fil (WiFi®, Bluetooth®, etc.). Ce ou ces périphériques de restitution peuvent par exemple être un écran, un vidéo projecteur, un haut-parleur, etc.).
Selon un mode de réalisation de l'invention, le ou les périphériques de restitution graphique ou sonore peuvent être connectés au dispositif électronique 101 via le réseau 102.
De même, un ou plusieurs périphériques d’entrée 103a, 103b peuvent être connectés ou bien compris par le dispositif électronique 101 (connecté de façon filaire (via un câble VGA, HDMI, USB, etc.) ou bien sans fil (WiFi®, Bluetooth®, etc.). Ce ou ces périphériques d’entrée peuvent par exemple être un clavier, une souris, une surface tactile, une caméra 104, un micro ou bien tout autre périphérique apte à fournir des données d’interaction en provenance de l’utilisateur du dispositif électronique 101.
Les figures 2A et 2B illustrent chacune un dispositif S configuré pour mettre en œuvre le procédé d’acquisition selon au moins un mode de réalisation de l'invention. Le dispositif S a l'architecture classique d'un ordinateur, et comprend notamment un système d’exploitation OS, une mémoire MEM, une unité de traitement UT, équipée par exemple d'un processeur PROC, et pilotée par le programme d'ordinateur PG stocké en mémoire MEM, un module d’obtention MOD OBT, un module MOD GA de gestion d’actions et un module de détermination MOD_DET. Le programme d'ordinateur PG comprend des instructions pour mettre en œuvre les étapes du procédé d’exécution tel que décrit ultérieurement à l’appui de la figure 5, lorsque le programme est exécuté par le processeur PROC.
A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur PROC. Le processeur PROC de l'unité de traitement UT met notamment en œuvre les étapes du procédé d’exécution selon l'un quelconque des modes de réalisation décrits en relation avec la présente demande (par exemple en lien avec la figure 5) et selon les instructions du programme d'ordinateur PG.
Dans au moins un mode de réalisation, le module de détermination MOD_DET est configuré pour s’interfacer avec une pluralité d’agents dont seulement trois sont représentés aux figures 2A et 2B.
Dans au moins un mode de réalisation représenté à la figure 2A, le module de détermination MOD_DET comporte un client CLT_KNOW et un serveur SRV_KNOW de connaissance compris dans le dispositif S. Au moins certains agents peuvent également être compris dans le dispositif S.
Dans au moins un mode de réalisation représenté à la figure 2B, le client CLT_KNOW et le serveur de connaissance SRV_KNOW sont connectés via un réseau de communication.
Le module d’obtention MOD_OBT est configuré pour obtenir au moins une chaîne de caractères à partir de données générées par au moins un utilisateur (son, mouvement, clic, appui (long ou court), etc.) au niveau d’un périphérique d’entrée (103a (pavé tactile), 103b (clavier)) du dispositif électronique 101. Ces données sont interprétées et traduites en caractères. C’est par exemple le cas lors d’appuis sur les touches du clavier 103b du dispositif électronique 101, lors d’une action (mouvement, clic) réalisée sur une surface tactile 103a, lors d’une retranscription textuelle d’un discours en langage des signes captés par la caméra 104 du dispositif électronique 101 ou bien lors d’une retranscription textuelle d’un discours audio capté par un micro (non représenté) du dispositif électronique 101.
Dans au moins certains modes de réalisation du procédé, le module d’obtention MOD OBT peut s’abonner auprès du système d’exploitation OS pour être notifié d’au moins certains évènements système. Par exemple, le module d’obtention MOD OBT reçoit du système d’exploitation OS:
- un identifiant de l’application active lors d’un (par exemple à chaque) changement d’application active ; et
- un événement représentatif d’au moins certaines actions utilisateur pour générer des données d’entrée (click souris, saisie d’une touche au clavier, . . .).
Dans au moins certains modes de réalisation du procédé, la mémoire MEM comporte au moins une zone tampon BUFF (en anglais « buffer) (par exemple une zone tampon unique) qui mémorise les caractères générés par les entrées utilisateur au fil de l’eau dans une fenêtre d’une application active, ces caractères étant obtenus par le module d’obtention MOD OBT par notification du système d’exploitation OS.
Par exemple, dans l’exemple illustré par la figure 3, en supposant qu’un utilisateur : i/ saisisse la chaîne de caractères « Cher » (illustrée par la chaîne de caractères « Cccc » en figure 3) dans une application de messagerie MSG d’identifiant ID MSG; puis ii/ bascule dans une autre application, par exemple un traitement de texte TTXT d’identifiant ID_TTXT pour saisir la chaîne de caractères « poisson » (illustrée par la chaîne de caractères « ppppppp» en figure 3) dans un objet graphique OG, puis la chaîne de caractères « traduire truite en anglais » (illustrée par la chaîne de caractères « Tttttttt tttttt ee aaaaaaa» en figure 3) dans une zone de texte ZT ; puis iii/ rebascule dans l’application de messagerie MSG pour continuer son message par la saisie de la chaîne de caractère « Monsieur » (illustrée par la chaîne de caractères
« Mmmmmmmm » en figure 3), la zone tampon BUFF comporte la chaîne de caractères
« Cherpoissontraduire truite en anglais Monsieur ».
Dans un autre mode de réalisation du procédé, la mémoire MEM comporte une zone tampon par application et/ou par fenêtre d’application pour mémoriser au fil de l’eau les caractères saisis par l’utilisateur dans une fenêtre d’une application lorsque cette application est active. Ainsi, en reprenant l’exemple de la figure 3, la mémoire MEM peut comporter :
- une première zone tampon BUFFMSG comportant la chaîne de caractères « Cher Monsieur » correspondant au caractères saisis en deux temps par l’utilisateur lorsque l’application de messagerie MSG est active ; et
- une deuxième zone tampon B UFFTTXT comportant la chaîne de caractères « poissontraduire truite en anglais » correspondant au caractères saisis par l’utilisateur lorsque le traitement de texte TTXT est l’application active.
Dans le mode de réalisation décrit ici, dès que la fin d’un mot d’une chaîne de caractères est détectée, par exemple par détection d’un espace, d’un signe de ponctuation, ou d’une pause supérieure à une première durée dans la saisie de l’utilisateur, le procédé détermine un contexte de l’application active dans le cadre de laquelle la chaîne de caractères cette chaîne de caractères a été saisi. Le contexte déterminé peut par exemple permettre au procédé de déterminer (i) si ce mot constitue une commande et (ii) les actions à mettre en œuvre pour exécuter cette commande.
En effet, une même chaîne de caractères peut être interprétée ou non comme une commande selon l’application active dans le cadre de laquelle cette chaîne a été générée. Par exemple le mot « vacances » peut être interprété comme une commande pour accéder à un site web relatif aux vacances dans un profil (historique par exemple) de l’utilisateur, uniquement lorsque ce mot vacances est saisie dans l’URL d’une page Web.
Par ailleurs, une même commande peut être traitée différemment en fonction d’un contexte de l’application active. Par exemple :
- en fonction d’un objet graphique ou d’un mot détecté à proximité de la chaîne de caractères ; et/ou
- en fonction d’un lieu et/ou d’une date d’utilisation du dispositif électronique 101 au moment de la génération de la chaîne de caractères.
Dans au moins certains modes de réalisation détaillés, le dispositif S peut comprendre un module MOD_OCR de reconnaissance optique de caractères apte à réaliser une reconnaissance optique de caractères sur une image (capture d’image) représentative d’un contenu affiché par un périphérique d’affichage (105) du dispositif électronique 101 et à obtenir au moins une deuxième chaîne de caractères TXT2 en tant que résultat de la reconnaissance optique de caractères.
A noter que l’image est par exemple générée via un logiciel apte à réaliser une capture du contenu graphique d’un écran 105 du dispositif électronique 101.
Ainsi, en reprenant l’exemple ci-avant de la figure 3, trois chaînes de caractères TXT21, TXT22 et TXT23 peuvent être obtenues par reconnaissance optique de caractères appliquée à l’image représentative du contenu affiché sur l’écran 105 :
- TXT21 : « Cher Monsieur » ; et
- TXT22 : « poisson » ; et
- TXT23 : « traduire truite en anglais».
Dans au moins certains modes de réalisation détaillés, le dispositif S peut comprendre également un module de recherche MOD_SEARCH apte à rechercher et à détecter au sein d’une chaîne de caractères TXT2 obtenue grâce à la reconnaissance optique de caractères, une chaîne de caractères (par exemple un ou plusieurs mots) obtenue via le module d’obtention MOD OBT. Cette recherche peut être effectuée, dès lors que le module MOD_OBT détecte la fin d’un mot dans une chaîne de caractères par exemple.
La reconnaissance optique de caractères peut être optionnelle dans au moins certains modes de réalisation mais elle peut aider à distinguer, comme illustré dans l’exemple du traitement de texte TTXT, plusieurs chaînes de caractères (« poisson », « traduire truite en anglais ») saisies par l’utilisateur dans différentes zones de saisie d’une même application.
Dans au moins certains modes de réalisation détaillés, le module MOD_OCR de reconnaissance optique de caractères est configuré pour déterminer qu’une chaîne de caractères est située à proximité d’un objet graphique, par exemple un objet graphique ou un texte particulier.
Par exemple, dans le cas de l’image de la figure 3, le module MOD_OCR de reconnaissance optique de caractères peut déterminer que la chaîne de caractères « poisson » est située dans un rectangle.
Par exemple, dans le cas de l’image de la figure 4, le module MOD OCR de reconnaissance optique de caractères peut déterminer que la chaîne de caractères « acheter action X pour 20 euros » (illustrée par la chaîne de caractères « aaaaaaa aaaaaa X pppp 20 eeeee » en figure 4) est située dans une forme oblongue, à proximité d’une loupe d’une application de moteur de recherche SRCHENG d’identifiant ID SRCHENG.
Dans au moins un mode de réalisation, un type de zone de saisie peut être déterminé, par exemple en mettant en œuvre un mécanisme d’apprentissage préalable se basant sur des images d’interface graphique annotées. En particulier, certains mode de réalisation peuvent utiliser des méthodes de détermination de zones de saisie d’URL, par exemple des méthodes fonctionnant sur la base de la reconnaissance de la forme (allongée) et de la position (généralement en haut) de telles zones de saisie au sein de l’environnement graphique des applications présentant de telles zones. Dans au moins certains modes de réalisation, le module MOD_OCR de reconnaissance optique de caractères est configuré pour déterminer la position POS d’une chaîne de caractères dans l’image représentative du contenu affiché sur l’écran 105.
Dans au moins certains modes de réalisation, le dispositif S peut comporter un module de détermination MOD_DET configuré pour déterminer au moins en fonction de la chaîne de caractères obtenue par le module d’obtention MOD OBT et d’un contexte d’une application du dispositif électronique 101 active au moment de l’obtention de ladite chaîne de caractères, si cette chaîne de caractères constitue une commande de l’utilisateur du dispositif électronique 101.
Dans au moins certains modes de réalisation, le module de détermination MOD_DET peut comporter un client CLT_KNOW, coopérant par exemple avec un serveur de connaissance SRV_KNOW (implémenté par exemple sous la forme d’un service web, d’une librairie ou d’une base de données).
Le contexte de l’application active peut notamment comporter :
- l’identifiant ID_APP de l’application active ;
- un type de la zone de saisie dans laquelle est détectée la chaîne de caractères ;
- des informations relatives à un ou plusieurs objet(s) graphique(s) et/ou textuel(s) détectés par le module MOD_OCR et situés à proximité de la chaîne de caractères ;
- une date et/ou un lieu d’utilisation du dispositif électronique 101 au moment de l’obtention de la chaîne de caractères.
Le client CLT_KNOW et le serveur de connaissance SRV_KNOW peuvent communiquer selon au moins un protocole. Ce protocole peut par exemple permettre de caractériser une chaîne de caractères, un identifiant d’application active, un type de zone de saisie, une date ou un lieu d’utilisation du dispositif électronique , un objet graphique comportant la chaîne de caractères ou situé à proximité de la chaîne de caractères, et/ou un texte situé à proximité de la chaîne de caractères.. Ainsi un protocole cité à titre de semple exemple illustratif pourrait comprendre:
- le mot clef « TXT » pour introduire une chaîne de caractères ;
- le mot clef « ID_APP » pour introduire un identifiant d’application active
- les mots clefs « DATE » et « GPS » pour introduire respectivement une date ou un lieu d’utilisation du dispositif électronique ;
- le mot-clef « ZONE_TYPE » pour introduire un type de zone de saisie dans laquelle la chaîne de caractères a été détectée. Par exemple le mot-clef WEB_URL_SEARCH peut être utilisé pour préciser que la chaîne de caractères a été détectée dans une zone de saisie d’URL ;
- le mot clef « DANS » pour introduire un objet graphique comportant la chaîne de caractères ; et
- le mot clef « PROX » pour introduire un objet graphique ou un texte situé à proximité de la chaîne de caractères.
Par exemple, en reprenant les exemples décrits en liaison avec figures 3 et 4, le client CLT_KNOW peut utiliser les formats suivants dans les messages au serveur de connaissance SRV_KNOW:
MSG1 = {TXT = « Cher», ID_APP=ID_MSG, DATE=20220715, GPS=48.856614, 2.3522219}, lorsque le module d’obtention MOD OBT détecte la fin du mot « Cher », MSG2 = {TXT = « Cher Monsieur », ID_APP=ID_MSG, DATE=20220715, GPS=48.856614, 2.3522219}, lorsque le module d’obtention MOD OBT détecte la fin du mot « Monsieur »,
MSG3 = {TXT = « poisson », ID_APP=ID_TTXT, DANS=rectangle}, lorsque le module d’obtention MOD OBT détecte la fin du mot « poisson »,
MSG4 = {TXT = « traduire truite en anglais »}, ID_APP=ID_TTXT}, lorsque le module d’obtention MOD OBT détecte la fin du mot « anglais »,
MSG5 = {ZONE_TYPE : WEB _URL_SE ARCH = « acheter action X pour 20 euros », ID_APP=ID_SRCHENG, DANS=oblong, PROX=loupe », lorsque le module d’obtention MOD_OBT détecte la fin du mot « euros ».
Les messages envoyés après détection de la fin des mots « traduire », « truite », « en », « acheter », « action », « X », « pour », « 20 » ne sont pas détaillés mais sont sous le même format.
Dans un ou plusieurs modes de réalisation, le serveur de connaissance SRV_KNOW comporte un module d’analyse sémantique pour analyser les messages reçus du client CLT_KNOW, sur la base de ces mots clefs (en anglais « tag ») et de règles d’interprétation. Sur réception d’un tel message, et après analyse sémantique, le serveur de connaissance SRV_KNOW est configuré pour déterminer si la chaîne de caractères comprise dans un message constitue ou non une commande et si c’est le cas pour exécuter la commande. Comme précisé précédemment, dans certains modes de réalisation, la détermination du fait que la chaîne de caractères constitue ou non une commande peut dépendre de cette chaîne de caractères et du contexte de l’application active. De même, comme précisé précédemment, lorsqu’il est déterminé que la chaîne de caractères constitue une commande, les actions mises en œuvre pour exécuter cette commande peuvent dépendre, dans certains modes de réalisation, de cette chaîne de caractères et du contexte de l’application active.
Dans un ou plusieurs modes de réalisation, le module d’analyse sémantique du serveur SRV_KNOW analyse donc le message reçu pour en déterminer son sens en fonction de la chaîne de caractères (mot-clef TXT) et/ou du contexte de l’application active et produire un résultat sémantique sous forme de règles interprétables par un ou plusieurs agents tiers. Dans l’exemple représenté aux figures 2 A et 2B, seuls 3 agents sont représentés, mais en pratique le nombre d’agents peut être beaucoup plus important (par exemple plusieurs dizaines). Comme exposé ci-avant, un agent peut être dédié à une ou plusieurs applications. Les agents peuvent varier selon les modes de réalisation, autant en nombre qu’en fonctionnalités. Par exemple, les agents peuvent être déclarés ou installés préalablement à l’exécution du procédé (par exemple via une liste d’agents accessibles via une interface homme machine).
Par exemple, sur réception du message MSG4 = {TXT = « traduire truite en anglais »}, ID_APP=ID_TTXT}, le module d’analyse sémantique produit un message TRANSLATER truite », « EN ») interprétable par un agent de traduction TRANS_AG. L’agent TRANS AG interprète ce message et retourne le résultat RES4 décrivant les actions à exécuter pour traiter la commande : RES4 = {"success": true, "code": 200, "actions": [{ "type": "INSERT", "cmd": {"value": "trout", "props": [{"mimetype":"text/plain"}] }, "txt": "traduire truite en anglais" }]
Par exemple, sur réception MSG5 = {ZONE_TYPE : WEB_URL_SEARCH = « acheter action X pour 20 euros », ID_APP=ID_SRCHENG, DANS=oblong, PROX=loupe », le module d’analyse sémantique produit un message SHARES(« BUY », « X », « 20 ») interprétable par un agent STOCK_AG.
L’agent STOCK AG interprète ce message et retourne le résultat RES5 décrivant les actions à exécuter pour traiter la commande : RES5 = {"success": true, "code": 200,
"input_cmd": "acheter action X pour 20 euros",
"actions": [{
"type": "INSERT",
"cmd": {"value": "http://www.bourse.com#BUY=X#VAL=20€", "props":
[{ "mimetype" :"text/plain" }] },
"txt": " acheter action X pour 20 euros "
}]
Dans un autre exemple, si le module d’ analyse sémantique analyse la chaîne de caractères « insérer dernière image reçue par mail », le module d’analyse sémantique peut produire un message interprétable à un agent de messagerie MSG_AG configuré pour récupérer la liste des mails envoyés, les contenus des mails et des pièces-jointes, etc..).
Dans un ou plusieurs modes de réalisation, le serveur de connaissance SRV_KNOW peut éventuellement retourner au client CLT_KNOW le résultat fourni par le ou les agents (qui sera par exemple ensuite ; comme déjà exposé, utilisé pour remplacer la chaîne de caractères générée par l’utilisateur).
Dans au moins certains modes de réalisation, le résultat de l’exécution peut par exemple être constitué par un texte, par une image, par un contenu multimédia ou par une URL.
Dans au moins certains modes de réalisation,, le serveur de connaissance SRV_KNOW renvoie également au client CLT_KNOW un type de ce contenu (texte, image, vidéo, URL...).
Dans au moins certains modes de réalisation, lorsque le serveur de connaissance détermine que la chaîne de caractères n’est pas une commande, il renvoie une réponse indiquant que la chaîne de caractères reçue n’est pas identifiée comme une commande (en utilisant par exemple un mot clé indiquant cette absence d’identification, tel que « NONE »).
Par exemple, en reprenant l’exemple des messages MSG1 à MSG4, le serveur de connaissance SRV_KNWL peut déterminer que les chaînes de caractères des messages MSG1, MSG2, MSG3 ne sont pas des commandes.
Dans au moins certains modes de réalisation,, le dispositif électronique 101 peut comporter un module MOD_GA de gestion d’actions pour convertir la réponse du client CLT KNOW en une liste d’actions (similaires à des actions utilisateur via un périphérique d’entrée) sur la fenêtre de l’application active concernée. Ainsi, dans au moins certains modes de réalisation,, le module de gestion d’actions MOD_GA peut être configuré pour : i/ supprimer une chaîne de caractères; et ii/ éventuellement insérer un objet à la place du cette chaîne de caractères, par exemple à la position POS repérée par le module MOD_OCR.
Dans au moins certains modes de réalisation,, pour supprimer une chaîne de caractères, le module de gestion d’action MOD GA simule, pour l’application active, des appuis sur la touche « EFFACER » du clavier prévue pour effacer le(s) dernier(s) caractère saisi(s).
Dans au moins certains modes de réalisation,, pour insérer un objet à la place d’une chaîne de caractères, le module de gestion d’action MOD GA copie cet objet dans le presse-papier et colle le contenu du presse-papier à la position POS.
Ainsi, dans les exemples ci-avant :
- sur réception de la réponse RES4, le module de gestion d’action MOD GA remplace la chaîne de caractères « traduire truite en anglais » par la chaîne de caractères « trout » dans la zone de texte ZT ;
- sur réception de la réponse RS P5, le module de gestion d’action MOD GA remplace la chaîne de caractères « acheter action X pour 20 euros » par l’URL http://www.bourse.com#BUY=X#VAL=20€ dans la forme oblongue, à proximité de la loupe.
Par ailleurs, certaines commandes d’un utilisateur peuvent ne pas nécessiter d’insérer un nouveau contenu dans la fenêtre active. C’est par exemple le cas lorsque la commande est une commande de contrôle d’un appareil domotique par exemple « allumer lumière ».Dans de tels modes de réalisation, le texte correspondant à la commande peut être simplement supprimé, la commande à effectuer étant par ailleurs transmise au système ou à l’application concernée (par exemple au système domotique).
Selon les modes de réalisation, le procédé peut fonctionner de manière systématique ou bien être activé suite à une commande de mise en œuvre (via par exemple une action manuelle d’un utilisateur du dispositif électronique 101).
Similairement, dans certains modes de réalisation, le procédé peut être désactivé, par exemple via une action manuelle d’un utilisateur. Dans ce mode de réalisation, le dispositif S peut comporter un module MOD ACT d’activation et de désactivation du procédé. La figure 5 illustre des étapes du procédé d’exécution dans au moins certains modes de réalisation,. Dans cet exemple le procédé est mis en œuvre par une application exécuté en tâche de fond par le dispositif électronique 101.
On supposera que lors d’une première étape ACT, le procédé a été activé par l’utilisateur, et que le procédé comprend un abonnement, au cours d’une étape AB ON, auprès du système d’exploitation OS pour être notifié des changements d’application active et des saisies de l’utilisateur.
Dans l’exemple illustré, lors d’une étape OBT, le procédé peut obtenir au moins une première donnée en provenance d’un dispositif / périphérique d’entrée. Cette donnée résulte par exemple d’une interprétation, au niveau d’un périphérique d’entrée, d’une action réalisée par un utilisateur du dispositif électronique 101. Cette action est par exemple une succession d’appuis touche détectés au niveau du clavier (103b) du dispositif électronique 101. Dans cet exemple, la donnée peut correspondre à au moins un caractère(s) et/ou de chaînes de caractères, représentant l’interprétation des appuis touche effectués par l’utilisateur.
Dans l’exemple illustré, Tau moins une donnée peut comprendre par exemple un nombre fixe n (n entier supérieur à 1) de caractères en provenance du périphérique d’entrée, le ou les caractères obtenus correspondant au(x) n demier(s) caractère(s) tapé(s) / saisi(s) par l’utilisateur au niveau du clavier. Concrètement, le ou les caractères tout juste tapés / saisis par l’utilisateur sont ajoutés / stockés dans une ou plusieurs zones tampons (de taille maximale fixe par exemple) telle qu’une liste de type FIFO (en anglais First In First Out). Les caractères ajoutés viennent remplir la liste jusqu’à ce que celle-ci soit pleine. Une fois la liste pleine, chaque caractère ajouté se fera en remplacement du plus ancien caractère contenu dans la liste. Un tel mode de réalisation permet d’avoir à tout instant en mémoire le ou les derniers caractères (par exemple le ou les derniers mots) saisis par l’utilisateur au niveau du périphérique d’entrée du dispositif électronique 101 quelle que soit la zone de saisie de ces caractères.
Comme mentionné précédemment, soit une seule zone tampon est alimentée par tous les caractères saisis, indépendamment de l’application active, soit on utilise une zone tampon par application active ou par zone de saisie de chaque application active.
Dans l’exemple de la figure 5, lors d’une étape IMG le procédé comprend une obtention d’une image représentative du contenu affiché par un périphérique d’affichage 105 du dispositif électronique 101. L’image est par exemple obtenue en provenance d’un logiciel exécuté par le dispositif électronique 101 apte à capturer le contenu graphique du périphérique d’affichage 105 du dispositif électronique 101 (par exemple une sonde logicielle).
Selon un autre exemple, l’image peut être obtenue en provenance d’un dispositif tiers (par exemple une caméra ou un smartphone) positionné de façon à capturer le contenu affiché par un périphérique d’affichage 105 du dispositif 101. Ce dernier cas peut impliquer la transmission de l’image par le dispositif tiers au dispositif 101.
Dans l’exemple de la figure 5, une reconnaissance optique de caractères (étape OCR) peut par exemple être appliquée à l’image obtenue. La reconnaissance optique de caractères permet d’obtenir une retranscription, au moins partielle, du texte contenu dans l’image obtenue/générée sous forme d’une chaîne / séquence de caractères, elle peut également permettre d’associer à au moins un caractère retranscrit (par exemple à chaque caractère retranscrit) sa position au sein de l’image obtenue .
Selon au moins un mode de réalisation, la reconnaissance optique de caractères peut être réalisée par un logiciel tiers et le résultat, c’est-à-dire la retranscription du texte (chaîne / séquence de caractères et, optionnellement; leur position associée), est émis par le logiciel tiers à destination de l’application mettant en œuvre le procédé objet de la présente demande.
Une fois la retranscription obtenue, le procédé peut comprendre une recherche (étape RECH) (et si la recherche est positive, une détection) du ou des caractères mémorisés dans au moins une zone tampon (étape OBT) au sein de la séquence de caractères transcrite. Lorsque la recherche est positive, le procédé détermine (étape DET) si la chaîne de caractères détectée constitue ou non une commande de l’utilisateur. Cette détermination s’effectue à partir de la chaîne de caractères et du contexte textuel de l’application active au moment de la génération de cette chaîne de caractères. Le contexte peut comprendre :
- l’identifiant de l’application active ;
- des informations relatives à des objets graphiques détectés par le module à proximité de la chaîne de caractères ;
- une date et/ou un lieu d’utilisation du dispositif électronique au moment de l’obtention de la chaîne de caractères.
La prise en compte du lieu d’utilisation du dispositif électronique peut par exemple permettre de déterminer la cible ( en termes d’application ou de dispositif cible par exemple) d’une commande domotique. Par exemple la commande « allumer la lumière » peut être interprétée pour allumer la lumière à la maison ou au bureau selon le lieu d’utilisation du dispositif et donc être adressée selon le lieu d’utilisation du dispositif électronique à des applications ou dispositifs de domotique différents.
La prise en compte de la date d’utilisation du dispositif électronique peut par exemple permettre de déterminer l’action à mettre en œuvre pour traiter une commande domotique. Par exemple la commande « mettre en veille » peut être interprétée pour mettre en veille le dispositif avec des niveaux de veilles différents (en termes d’économie d’énergie et de temps de reprise notamment) selon l’heure d’utilisation du dispositif (voire même éteindre le dispositif).
Le procédé peut aussi être utilisé, dans certains mode de réalisation, pour interpréter des commandes de gestion d’un outil métier. Par exemple pour des salariés qui sont habitués à saisir le temps passé à certaines tâches dans un outil de suivi des temps, le procédé peut leur permettre de saisir une commande du type « valoriser 3H » dans l’environnement d’une application active, cette commande étant interprétée pour alimenter cet outil de suivi des temps avec la durée et l’identifiant de l’application active.
Dans certains mode de réalisation, , lorsque le procédé détecte que la chaîne de caractères correspond à une commande :
- il supprime cette chaîne de caractères (étape SUPPR) ;
- il exécute la commande (étape EXEC) ; et
- éventuellement il insère un contenu représentatif du résultat de l’exécution de la commande à la position POS du texte supprimé (étape INSER).
Dans les exemples décrits précédemment le client CLT_KNOW et le serveur de connaissance SRV_KNOW peuvent être localisés sur des entités différentes ou incorporés l’un et/ou l’autre dans le dispositif électronique 101.
L’architecture client-serveur des modes de réalisation détaillés est optionnelle, les fonctions du client et du serveur pouvant être implémentés différemment, par exemple au sein d’une même fonction logicielle, dans certains mode de réalisation.

Claims

REVENDICATIONS
1. Procédé d’exécution d’une commande générée via au moins un périphérique d’entrée (103a, 103b) d’un dispositif électronique (101) dans le cadre d’une application active, le procédé étant mis en œuvre par une autre application s’exécutant en tâche de fond et comprenant :
- une obtention (OBT) d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage (105) dudit dispositif électronique (101) dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée (103a, 103b) ;
- une détermination (DET) si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique (101) , ladite détermination étant fonction de ladite chaîne de caractères et en outre fonction :
• de l’application active, et/ou
• d’une date d’obtention de la chaîne de caractères; et/ou
• d’un lieu d’ obtention de la chaîne de caractères; et lorsque la détermination est positive :
- une suppression (SUPPR) de ladite chaîne de caractères sur ledit périphérique d’affichage (105) ; et
- une exécution (EXEC) de ladite commande.
2. Procédé selon la revendication 1, caractérisé en ce qu’il comprend une mémorisation au fil de l’eau des caractères saisis par un utilisateur dans une zone tampon d’une mémoire réservée à l’application active.
3. Procédé selon la revendication 1 ou 2 , caractérisé en ce que ladite détermination tient compte d’un type d’une zone de saisie de ladite chaine de caractères.
4. Procédé selon l’une des revendications 1 à 3 caractérisé en ce qu’il comporte :
- une détermination (DPOS) d’une position de l’affichage de ladite chaîne de caractères sur ledit périphérique d’affichage (105) ; et
- un affichage (AFFICH), sur ledit périphérique d’affichage (105), et à proximité de ladite position (POS), d’un résultat de l’exécution de ladite commande.
5. Procédé selon la revendication 4 caractérisé en ce que ladite position (POS) est déterminée grâce à une reconnaissance optique des caractères au sein d’une image représentative d’un contenu affiché par ledit périphérique d’affichage (105).. Procédé selon l’une quelconque des revendications 1 à 5 caractérisé en ce qu’il comporte une détection (RECH) de ladite chaîne de caractères dans au moins une deuxième chaîne de caractères (TXT2) obtenue par reconnaissance optique de caractères (OCR) appliquée à tout ou partie d’une image représentative d’un contenu affiché par ledit périphérique d’affichage. Procédé selon la revendication 6 caractérisé en ce que ladite reconnaissance optique de caractères (OCR) est appliquée à une partie de ladite image correspondant à de l’environnement graphique de ladite application active, affichée par ledit dispositif d’affichage. Procédé selon l’une des revendications précédentes caractérisé en ce qu’il comporte une activation préalable (ACTIV) via une interface d’entrée dudit dispositif. Procédé selon l’une des revendications précédentes caractérisé en ce qu’il est exécuté :
- sur détection d’au moins un premier caractère ; et/ou
- sur détection de la fin d’un mot ; et/ou
- sur détection d’une pause dans la génération desdits caractères. Procédé selon l’une des revendications précédentes caractérisé en ce qu’il est exécuté à intervalles réguliers. Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce que ladite détermination (DET) comporte une analyse sémantique de ladite chaîne de caractères et en ce que ladite exécution (EXEC) comporte un traitement du résultat de ladite analyse sémantique par au moins un agent. Dispositif (S) d’exécution d’une commande générée via au moins un périphérique d’entrée (103a, 103b) d’un dispositif électronique (101) dans le cadre d’une application active, caractérisé en ce qu‘il comprend :
- un module d’obtention (MOD_OBT) d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage (105) dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée (103a, 103b) ;
- un module de détermination (MOD_DET) configuré pour déterminer si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique (101), ladite détermination étant fonction de ladite chaîne de caractères et en outre fonction : • de l’application active ; et/ou
• une date d’obtention de ladite chaîne de caractères; et/ou
• un lieu d’obtention de ladite chaîne de caractères;
- un module de suppression (MOD_SUPPR) de ladite chaîne de caractères sur ledit périphérique d’affichage (105) dudit dispositif électronique (101) ; et
- un module d’exécution (MOD EXEC) de ladite commande.
PCT/EP2023/069931 2022-07-25 2023-07-18 Execution d´une commande generee par un utilisateur sur un dispositif WO2024022898A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2207606A FR3138226A1 (fr) 2022-07-25 2022-07-25 Procédé et dispositif d’exécution d’une commande générée par l’utilisateur d’un terminal.
FRFR2207606 2022-07-25

Publications (1)

Publication Number Publication Date
WO2024022898A1 true WO2024022898A1 (fr) 2024-02-01

Family

ID=84370170

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/069931 WO2024022898A1 (fr) 2022-07-25 2023-07-18 Execution d´une commande generee par un utilisateur sur un dispositif

Country Status (2)

Country Link
FR (1) FR3138226A1 (fr)
WO (1) WO2024022898A1 (fr)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050237308A1 (en) * 2004-04-21 2005-10-27 Nokia Corporation Graphical functions by gestures
US20120083294A1 (en) * 2010-09-30 2012-04-05 Apple Inc. Integrated image detection and contextual commands
US20140002380A1 (en) * 2012-06-29 2014-01-02 Xiao-Guang Li Electronic device and touch control method thereof
US20140019905A1 (en) * 2012-07-13 2014-01-16 Samsung Electronics Co., Ltd. Method and apparatus for controlling application by handwriting image recognition
US20140258324A1 (en) * 2013-03-06 2014-09-11 Nuance Communications, Inc. Task assistant utilizing context for improved interaction
US20170097750A1 (en) * 2015-10-05 2017-04-06 International Business Machines Corporation Execution of parsed commands
US20170295260A1 (en) * 2016-04-11 2017-10-12 Samsung Electronics Co., Ltd. Platform for interaction via commands and entities

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050237308A1 (en) * 2004-04-21 2005-10-27 Nokia Corporation Graphical functions by gestures
US20120083294A1 (en) * 2010-09-30 2012-04-05 Apple Inc. Integrated image detection and contextual commands
US20140002380A1 (en) * 2012-06-29 2014-01-02 Xiao-Guang Li Electronic device and touch control method thereof
US20140019905A1 (en) * 2012-07-13 2014-01-16 Samsung Electronics Co., Ltd. Method and apparatus for controlling application by handwriting image recognition
US20140258324A1 (en) * 2013-03-06 2014-09-11 Nuance Communications, Inc. Task assistant utilizing context for improved interaction
US20170097750A1 (en) * 2015-10-05 2017-04-06 International Business Machines Corporation Execution of parsed commands
US20170295260A1 (en) * 2016-04-11 2017-10-12 Samsung Electronics Co., Ltd. Platform for interaction via commands and entities

Also Published As

Publication number Publication date
FR3138226A1 (fr) 2024-01-26

Similar Documents

Publication Publication Date Title
CN100428182C (zh) 用于监控应用程序中的事件的基于简档的捕捉组件
US10600004B1 (en) Machine-learning based outcome optimization
US20190235706A1 (en) Display device providing feedback based on image classification
US10140314B2 (en) Previews for contextual searches
KR101255406B1 (ko) 컴퓨터, 하나 이상의 컴퓨터 판독가능 매체, 및 컴퓨터기반 방법
US20080282160A1 (en) Designated screen capturing and automatic image exporting
US20130289991A1 (en) Application of Voice Tags in a Social Media Context
US8635591B2 (en) Embedding software developer comments in source code of computer programs
KR101855147B1 (ko) 사용자 선호도 분석 방법 및 그를 위한 디바이스
US10169374B2 (en) Image searches using image frame context
US20230117244A1 (en) Identity-based display of text
FR2768826A1 (fr) Controle d'interface utilisateur standard pour un fournisseur de donnees
US10560419B2 (en) Message presentation management in a social networking environment
EP2612236A1 (fr) Procède de recueil de données a caractères événementiel de formulaires électroniques
WO2024022898A1 (fr) Execution d´une commande generee par un utilisateur sur un dispositif
US10230804B2 (en) Monitoring system for tracking user activities for completing thoughts, ideas, or tasks of the user
CN115309487A (zh) 显示方法、装置、电子设备和可读存储介质
EP4300279A1 (fr) Procédé et dispositif d'identification et d extension du contexte de saisie d'un utilisateur, pour effectuer des suggestions contextualisées quelle que soit l application logicielle utilisée
WO2024079034A1 (fr) Procédé de détermination d'au moins une action cible parmi un ensemble d'actions exécutables sur un terminal électronique
US20230409654A1 (en) On-Device Artificial Intelligence Processing In-Browser
WO2024033192A1 (fr) Procédé et dispositif de construction d'une base de connaissance dans le but d'utiliser de manière transverse des fonctions applicatives d'une pluralité de logiciels
US20220261544A1 (en) Online terms of use interpretation and summarization
CN115481598A (zh) 文档显示方法及装置
EP4145253A1 (fr) Procédé d analyse de l activité d'un utilisateur d'un terminal électronique
Cangiano Studying episodic access to personal digital activity: activity trails prototype

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

Country of ref document: EP

Kind code of ref document: A1