WO2023151875A1 - Mise en œuvre contextualisée d'un assistant vocal - Google Patents

Mise en œuvre contextualisée d'un assistant vocal Download PDF

Info

Publication number
WO2023151875A1
WO2023151875A1 PCT/EP2023/050180 EP2023050180W WO2023151875A1 WO 2023151875 A1 WO2023151875 A1 WO 2023151875A1 EP 2023050180 W EP2023050180 W EP 2023050180W WO 2023151875 A1 WO2023151875 A1 WO 2023151875A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
voice
terminals
command
user
Prior art date
Application number
PCT/EP2023/050180
Other languages
English (en)
Inventor
Garry Bruneau
Philippe Quesson
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 WO2023151875A1 publication Critical patent/WO2023151875A1/fr

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Definitions

  • the invention relates to the field of local networks and the Internet of Things, in particular that of home automation type services. It also relates to methods and devices providing a voice assistance service.
  • Electronic devices equipped with voice recognition are used to contribute to better accessibility and a better user experience for the remote control of terminals and connected objects in a network, in particular a local one.
  • Voice recognition technology can be used to respond to any command or question spoken by a user in their daily life using natural language, through a conversational service.
  • electronic devices such as smartphones, computers, portable media players, smart home appliances, navigation devices, portable devices, etc.
  • voice assistants devices centralizing user requests
  • a conversational voice assistant placed in the center of the home can make it possible to control electronic devices present in a main home, in different rooms, but also devices located in secondary places other than the main home.
  • the operation of a voice assistant consists of a user activating it by hailing it by pronouncing aloud a generic semantic pattern, known and recognized by the voice assistant (for example, "OK Google" in the case of the Google company assistant). After confirmation of voice assistance activation, the user then dictates a voice request to the voice assistant.
  • the voice assistant remains a single, depersonalized point of contact in the home: the standardized dialogue between a user of the home and this central electronic interlocutor does not currently allow the user to project himself into the topology of his terminals and commands. associated with them.
  • the invention relates to a method of processing a voice command from a user to an assistance system as defined in appended claim 1.
  • the invention offers the advantage of reducing the number of voice commands transmitted by a user to a voice assistant, thanks to the sending of a specific keyword from the first voice command.
  • first voice command is meant the voice command made by the user in order to trigger the exit from standby of the voice assistance device and/or to initiate a new voice request.
  • the keywords are preferably recorded beforehand, for example by the user himself, and then recognized by the assistive device as "Wake words".
  • a keyword is selected by the user from a list of keywords or series of keywords.
  • the set of services associated with the keyword "DRIVER” corresponds to services related to household vehicles connected to the local network (car, motorcycle, etc.). It allows the voice assistant to restrict the action sought by the user, for example, "turn on the car heater” to a list of possible actions of the recognized service class "DRIVER", associated with one or more terminals.
  • the set of services associated with the keyword "SILENCE” corresponds to a service related to the household terminals connected to the local network which generate sound (hi-fi speaker, television, radio, etc.) It allows the voice assistant to initiate a list of possible actions of the recognized service class "SILENCE", associated with one or more terminals, in this case by transmitting a command to each of the terminals concerned so that it mute the sound.
  • Voice assistance system means one or more devices implementing a voice assistance service for a user.
  • voice assistance system or “voice assistant”, denoted after-sales service.
  • Such a system can be composed for example of a connected speaker capable of performing voice recognition, coupled to a processing server. According to another example, the system includes only the connected speaker.
  • private network we mean a network of terminals associated with a given identifier, for example relating to a home (LAN-type local network connected to a service gateway) or to several homes (for an individual with several homes, set of local communication networks) or to a company (local company network), etc.
  • terminal we mean all terminals capable of connecting to a private network: computers, tablets, smartphones, connected objects such as sensors, detectors, sound devices, video, light bulbs, etc.
  • terminal we mean all terminals capable of connecting to a private network: computers, tablets, smartphones, connected objects such as sensors, detectors, sound devices, video, light bulbs, etc.
  • IoT IoT
  • service we mean a set of actions that make it possible to provide a service to the user within the framework of the private network, by the implementation of actions on one or more terminals of the network. It can be very simple (turn off the lights) or more complex (turn off the light in the living room if no movement has been detected for 10 min and the brightness is below a certain threshold) and concern a single or several terminals working in parallel or cooperative.
  • class of services we mean one or more services grouped together, for example, within a database, corresponding to a keyword.
  • the class of services can include a single service (for example the class of services associated with the keyword "SILENCE” can include a single service which consists in mute all the terminals of the private network) or several services (for example the class of services associated with the keyword “COOK” may include a food inventory check service, kitchen lights off service, etc.)
  • a wake-up word corresponds to a single pattern which provides no other information to the voice assistant than that of an activation command thereof. For example, waking up is done through a neutral voice syntax like "OK, Google®” or "OK, Alexa®". In this case, the voice assistant comes out of standby but does not assume any future action.
  • the invention therefore makes it possible to save time by preparing the access of the assistant to a specific class of services. The number of voice commands given by a user is reduced, as well as the complexity of the search by the voice assistant, which immediately positions itself in the correct class of services according to the command received ("OK COOK" positions it in the service class relating to the kitchen(s) of the private network).
  • the user can choose, by means of a second keyword, or expression, the targeted service in the class of services previously selected.
  • the targeted service in the class of services previously selected.
  • the class "DRIVER” it can be a service associated with the expression “open the garage door”, “turn on the heating in the car”, etc.
  • the risk of failure to recognize the service by the wizard is reduced since the wizard searches for the expression in the previously determined class of services.
  • the inherent risk of verification with the user through one or more reminders is also reduced, improving the efficiency and reliability of the system.
  • the method as described above further comprises, following the detection of at least one activation keyword or the detection of at least one expression, a step of : - send (E6) at least one response message to said user according to said keyword or said expression
  • the voice assistant quickly accesses all the responses that it can issue in the context of the class of services or of the service selected and issues the most appropriate response.
  • said at least one response message is transmitted according to voice characteristics based on said keyword or said expression.
  • an assistant "personality” can be initiated from the first interaction of the voice assistant with the user.
  • a command of the type "OK driver” or “OK cook” the user activates from his first voice command the personality of the device that he has identified as being necessary for the command(s) he wishes to see executed .
  • personality of the device is meant all the vocal characteristics that can be assigned to it: choice of prosodic traits such as frequency, intensity, timbre, voice rate selected by the assistant for the transmission of the reply message, choice of language, etc. This variant allows the user to identify, even before having analyzed the content of the assistant's response, the success or failure of the voice recognition relating to the first command he issued.
  • a voice designated as that of the driver (a female voice speaking English), will be different from that of the cook (a male voice speaking German).
  • the user can thus identify from the first seconds that the assistant may have engaged in a misinterpretation.
  • the speed of the assistant, a regional accent, etc. can be used to "customize” the wizard.
  • a keyword like “Professor” can trigger a response in the Spanish language. Instead of a single neutral personality, the assistant thus has several personalities. If the keyword could not be recognized, a default personality can be assigned to it.
  • said at least one command message comprises a message intended for a second voice assistance system.
  • this embodiment makes it possible to broadcast the voice command to another voice assistant in a specific location.
  • the command "OK Professor, tell Thomas to do his Spanish homework” is broadcast to a voice assistant placed in Thomas' room.
  • second voice assistance system we mean for example a connected speaker, or a smartphone, etc.
  • the method as described above further comprises a step of: - creating a database comprising at least one class of service associated with at least one service, said service being itself associated with at least one command from at least one terminal of said network.
  • the invention relates to a voice assistance system for a user, capable of communicating with a plurality of terminals on a private network, said plurality of terminals being associated with a plurality of classes of services, each class of service comprising at least one service for controlling a terminal of the plurality, characterized in that said system is configured to implement: - receive a first voice command from said user, - detect at least one activation keyword in said first command, - select a class of services from among the plurality of classes of services, according to the detected activation keyword; - send a command message to at least one terminal of the plurality, associated with said selected class of services
  • the invention relates to a voice assistance system for a user capable of communicating with a plurality of terminals on a private network, said plurality of terminals being associated with a plurality of classes of service, each class of service comprising at least one service for controlling a terminal of the plurality, characterized in that said system comprises: - a voice assistance device configured to implement: - receive a first voice command from said user, - detect at least one activation keyword in said first command, - transmit over the network a command comprising said activation keyword - a server device configured to implement: - receive on the network in a command an activation keyword - select a class of services from among the plurality of classes of services, according to the detected activation keyword; -send a command message to at least one terminal of the plurality, associated with said selected class of services
  • the invention relates to a database for processing a voice command from a user to a voice assistance system able to communicate with a plurality of terminals on a private network, said plurality of terminals being associated with a plurality of classes of services, each class of service comprising at least one service for controlling a terminal of the plurality, the database comprising: - at least one service class data structure, each service class data structure being accessible via an activation keyword and comprising: - at least one service data structure, each service data structure being accessible via an expression and comprising: - at least one description of the service associating at least one terminal of the plurality with at least one command
  • a database is structured in such a way as to facilitate access to service classes from a keyword, then to services via an expression, which can be empty if the service does not require an expression (for example the SILENCE command does not require an additional expression) the keyword and the expressions that are part of the voice commands that the user can pronounce.
  • the database further comprises, for each class of services, a "personality" associated with the class, that is to say a set of voice characteristics.
  • the database further comprises a history, said history being made up of data, each history data item comprising at least one class of services and a number of occurrences.
  • the invention also relates to computer programs capable of being implemented on systems or devices, the programs comprising code instructions which, when the programs are executed by a processor, carry out the steps of defined processes.
  • Such programs can use any programming language. They can be downloaded from a communication network and/or recorded on a computer-readable medium.
  • the invention relates to data carriers on which has been stored at least one series of program code instructions for the execution of the methods defined above.
  • the user UT communicates with a voice assistance device denoted EC, taking for example, in a non-limiting manner, the form of a connected speaker.
  • the voice assistance device can take the form of a hardware or software module on any terminal (smartphone, service gateway, connected object, etc.).
  • the user can pronounce at least one voice command ENR captured by a microphone MIC associated with the device EC, which will be described below in support of the .
  • the voice assistant device implements detection of at least one activation keyword (MCA) in the command, for example the keyword "COOK".
  • MCA activation keyword
  • the activation keyword can be followed by another voice message from the user specifying the service they wish to implement, for example "turn off the lights”. This second voice message, and possibly subsequent ones, are called "phrases”.
  • the voice assistance device comprises the modules necessary for the implementation of the invention.
  • the voice assistance device interrogates (dotted arrow in the figure) a database (BDD) of appropriate rules, to implement a service on the various terminals of the private network, by sending appropriate commands.
  • BDD database
  • the voice assistant communicates through the network with a server SER which is in particular capable of accessing the database, defining the service to be implemented and implementing it.
  • the voice assistance device communicates through the network with the server SER which processes the keyword (and the expression if present) detected in the ENR message(s) of the user and retransmits to the voice assistance device the references of the service to be implemented.
  • the voice assistant determines thanks to the keyword a "personality" to be used to communicate vocally with the user (voice, rhythm, language, etc.).
  • the SAV system comprises an audio subsystem EC, or voice assistance device, and a server subsystem SER, in accordance with the scheme proposed in .
  • the system is not limited to voice, and the implementations described here also apply to unvoiced sounds (shouting, modulations, humming, etc.).
  • the EC audio subsystem and the SER subsystem are composed of various components, modules and/or software programs.
  • the audio subsystem EC comprises an input interface IN for receiving an audio signal corresponding to a spoken command ENR, this interface IN being connected to - A processing unit UT comprising a processor cooperating with a working memory MEM able to store data from a computer program implementing the steps of a method according to one embodiment of the invention.
  • a communication interface COM with at least one server SER via for example an extended or local network RES) in order to transmit a signal corresponding to the command ENR to the server SER and obtain a response in return, appropriate to the content of this command.
  • ADC analog-to-digital converter
  • DAC digital-to-analog converter
  • these modules may or may not be used, and may include hardware (e.g., circuits, memory, processors, etc.), software (e.g., programs, on-chip software, etc. ), and/or any combination thereof to perform the method steps.
  • the noise detector of the DET module determines that the sound input satisfies a predetermined condition, it triggers an upstream sound detector, which determines if a sound input corresponds to a certain type of sound, such as a characteristic sound. in a human voice, whistle, clap, etc.
  • the DET module can provide more comprehensive speech recognition, such as speech-to-text conversion and/or natural language processing.
  • the EC audio subsystem can be coupled to one or more MIC microphones and one or more HP loudspeakers, as well as optionally a CAM camera, as shown in . These modules can be external or integrated into the EC subsystem, as shown in the .
  • All these modules communicate with each other via a data bus.
  • All these modules communicate with each other via a data bus.
  • the EC and SER subsystems are combined into a single voice assistance device SAV.
  • SAV voice assistance device
  • the connected enclosure EC has direct access means to the database, as well as adequate software and hardware means and processing capacities necessary for the implementation of the method, a single device is sufficient and the system voice assist comes down to a voice assist device.
  • the communication modules COM and COM', the modules UT' and MEM' are no longer necessary.
  • a step of developing (E0) at least one structured BDD database internal or external to the service and/or to the network considered private is carried out.
  • the data in this database is organized according to classes of service, as represented in support of the .
  • the classes of service are initiated from a list of prior keywords, registered by an equipment manufacturer or by a user or several users identified in the private network.
  • the classes of service, each associated with one or more keywords contain a list of services relating to this class, each service being associated with the implementation of a list of commands on one or more terminals contained in the private network in order to render the service.
  • terminals are objects that can be controlled remotely through networks, for example of the 5G type, Wi-FI, etc.
  • the voice assistance system is configured to communicate with all the terminals registered in the service databases; his access rights to piloting them can also be programmed.
  • the audio subsystem EC as described in FIGS. 1 and 2 receives a first command (ENR) from the user, command comprising an activation keyword (MCA ).
  • this keyword is a single word in the semantic sense of the term (COOK, GARDENER, etc.). In another embodiment, it has a limited number of words (COOK OF THE MAIN RESIDENCE, etc.)
  • the detection modules are activated.
  • a voice recognition module is part of the DET modules presented in support of the . It allows recognition of the keyword included in the voice command. For this purpose, it can be linked to a database or a keyword structure.
  • the activation keyword remains placed following a first short generic keyword, such as the word "OK" so that the voice recognition system can detect and associate the keyword with activation with a high probability of success; in a variant, the sensitivity of the voice recognition will then have increased in the time lapse of the exit from standby.
  • the voice recognition device comes out of a mode in which it was under electrical voltage with diminished functionalities, for example of picking up and recognizing ambient sounds. Waking up activates these features. It can be triggered by a stimulus, for example a strong variation in the sound volume, a type of sound (a voice), etc., and stabilized by the detection of the short generic keyword (“OK”) or by that of the word -activation key (MCA).
  • a stimulus for example a strong variation in the sound volume, a type of sound (a voice), etc.
  • MCA word -activation key
  • ANA analysis module
  • the analysis module which receives the detected activation keyword as input, launches a request to the database BDD to check whether this data is to be considered as a word -relevant key (i.e. it matches an entry in the database). If so, i.e. if it corresponds to a service class CS, this service class is selected. Otherwise, the process ends.
  • a neutral utterance may be emitted by the device, such as a voice message such as "I didn't understand you".
  • the voice recognition module of DET detects or not a second voice datum called expression in a second voice command ENR of the user. It can for example put itself on hold for a certain predetermined time. In another example, the expression was part of the first ENR command.
  • ANA module determines in a fifth step E5bis a single service S associated with the service class (for example, turning off all the lights in the house, or all the sound devices in the house) and prepares a request for all the terminals concerned, which it transmits to the control module CM. The latter transmits in a step E7 the command to the terminal or terminals concerned.
  • a single service S associated with the service class for example, turning off all the lights in the house, or all the sound devices in the house
  • the analysis module accesses during a step (E5), in the database, a specific service of the determined class of service, thanks to this expression . It deduces a set of commands to be transmitted to the terminals involved in the service.
  • the control module (MC) then sends in a seventh step (E7) a control message to the terminal or terminals concerned by the service.
  • the system sends one or more messages, for example voice messages, to the user.
  • This step E6 can precede the command step (for example by sending a verification voice message to the user) or succeed it (for example by sending a confirmation voice message to the user ).
  • the voice recognition system can also choose a "personality" i.e. adopt a set of personalized voice characteristics to respond to the user who can thus easily distinguish an error (if the cook answers with the voice of the gardener, for example).
  • BDD BDD database
  • It can be initialized for example by a native program from the manufacturer of the voice recognition system intended for controlling the functionalities of terminals of a private network, or even by a user.
  • the content of this database may change over time.
  • the database BDD has two sub-databases B1 and B2:
  • CSi service classes associated with keywords.
  • a service class corresponds to a D_CS data structure.
  • Each service Si is for its part associated with a certain number of commands denoted CMD-k-l (CMD-1-1, CMD-1-2, , CMD-2-1, CMD-2-2, CMD-3-1, etc.) associated with a set of IoTk terminals (IoT1, IoT2, IOT3, etc.) of the private network.
  • CMD-k-l CMD-1-1, CMD-1-2, , CMD-2-1, CMD-2-2, CMD-3-1, etc.
  • IoTk terminals IoT1, IoT2, IOT3, etc.
  • the service S2 of class CS2 associated with the keyword “COOK” corresponds to the expression “Checks stocks”.
  • Each class of service can be associated with a Pi personality which allows automatic customization of the system voice for a given class of service (give a particular voice, timbre, gender to the "cook").
  • this database is fed and is used, for example, for artificial intelligence modules in the construction of decision models for services.
  • This embodiment corresponds to the simplest case: the user uses a single activation keyword (without expression) and the voice assistance system does not give feedback to the user on the command sent to a terminal. In this embodiment, no user validation is therefore requested before sending a command message to a terminal; only the first ENR command, comprising the activation keyword, is the cause of the triggering of one or more commands on one or more terminals of the private network.
  • the audio device (EC) associated with the voice assistance system (SAV) is switched on and in standby mode.
  • the voice assistant receives from a user a first voice command to wake him up: "OK Google®” or "OK Alexa®”.
  • the voice assistant wakes up when receiving a voice command containing a keyword.
  • the pattern is the keyword SILENCE.
  • the term "OK” is maintained in order to attach the user to a known beginning of syntax and allows the voice assistance system to wake up some of its modules to offer, for example, better voice recognition.
  • the activation keyword then makes it possible, as explained above, to save time by allowing the system to position itself directly in a class of services to which the user wishes to refer.
  • this time saving can be used to wake up the voice assistant.
  • the voice assistant identifies the SILENCE pattern as a "WELCOME event".
  • the phrase "OK SILENCE” is received and analyzed by the voice recognition module (one of the DET modules). It extracts the keyword "SILENCE”. If the two subsystems are separate, a request is sent from the EC subsystem to the SER subsystem via the network, with the keyword as a parameter, in this example "SILENCE”. Otherwise the keyword is transmitted directly to the ANA module of the voice recognition device.
  • the ANA module analyzes this message. If it exists, the service class associated with this reason is accessed in the database. In this first embodiment, no expression is expected, i.e. the corresponding record in the database includes the list of commands to be applied to the different terminals for the unique service of the class. In other words, the expression is null, or there is only one service associated with the class, which can therefore be selected automatically.
  • the ANA module transmits the service information to the command module CM, which sends a request containing at least one command to each of the terminals concerned, i.e. all the private network terminals listed in the database in the service record, i.e. it issues a "Mute" command to the IoT1 terminals, IoT2, IoT3, IoT4 of the private network.
  • This embodiment corresponds to the case where the user uses an activation keyword and an expression during a voice command.
  • the Voice Assist (EC) device associated with the system is on and in standby mode. It comes out of standby when it receives a first voice command and standby mode is confirmed following receipt of the activation keyword.
  • the user speaks the phrase "OK COOK” which is received and analyzed by the EC subsystem's DET speech recognition module. It extracts the keyword "COOK”.
  • the voice recognition module recognizes the keyword CUISINIER, which it identifies as a "WELCOME event" triggering a wake-up call from the voice assistance device.
  • an expression is expected, i.e. the record corresponding to the class of services in the database includes a list of services, and for each service a list of commands to be applied to the different terminals. The expression allows access to the service, here "turn off the lights”.
  • the complete voice command can be formed into a single ENR phrase “OK COOK, turn off the lights” or two ENR phrases “OK COOK” and “Turn off the lights”; the time between the two sentences may vary and be configured in the service.
  • the two subsystems are distinct, a request is sent from the EC subsystem to the SER subsystem with the keyword as a parameter, according to this example "COOK", and expression. Otherwise, the keyword and expression are passed directly to the ANA module. The ANA module analyzes this message. If it exists, the service of the service class associated with this keyword and this expression is accessed in the database and the result is transmitted to the CM control module. In this example, all the terminals listed are switched off (hood, ceiling light, spotlights, etc.) by an appropriate command.
  • the keyword can be "GARDENING" and the set of terminals concerned can be for example the irrigation system (IoT1), the gate (IoT2), etc. and associated expressions can be: “turn on the sprinkler", “open the gate”, “open the door of the kennel”, “activate the mower if the door of the kennel is closed", etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Procédé et système de traitement d'une commande vocale d'un utilisateur (UT) à un système d'assistance vocale qui communique avec une pluralité de terminaux (loT), la pluralité de terminaux étant associée à une pluralité de classes de services (CS) qui comprennent chacune au moins un service (S) pour commander au moins deux terminaux de la pluralité, le procédé de traitement comprenant: - recevoir une commande vocale (ENR), - détecter un mot-clé d'activation (MCA) dans la commande vocale, - sélectionner une classe de services (CS), en fonction du mot-clé d'activation détecté; - détecter une expression, dans la commande vocale, - sélectionner un service (S) de la classe de services sélectionnée, en fonction de l'expression détectée; - déterminer une commande pour au moins deux terminaux, terminaux et commandes étant associés au service sélectionné.

Description

Mise en œuvre contextualisée d’un assistant vocal
L’invention se rapporte au domaine des réseaux locaux et de l’Internet des Objets, notamment celui des services de type domotique. Il se rapporte également aux procédés et dispositifs fournissant un service d’assistance vocale.
Etat de la technique
Des appareils électroniques équipés de reconnaissance vocale sont utilisés afin de contribuer à une meilleure accessibilité et une meilleure expérience utilisateur pour le pilotage à distance des terminaux et objets connectés d’un réseau, notamment local.
Une technologie de reconnaissance vocale peut être utilisée dans le but de répondre à tout ordre ou question énoncés par un utilisateur dans sa vie quotidienne en utilisant un langage naturel, à travers un service conversationnel.
Par exemple, les appareils électroniques tels que les smartphones, les ordinateurs, les lecteurs multimédia portables, les appareils ménagers intelligents, les appareils de navigation, les appareils portables, etc., peuvent fournir des services conversationnels en se connectant à un serveur ou exécutant une application.
Récemment, des appareils centralisateurs de requêtes utilisateur, appelés assistants vocaux ou enceintes connectées, ont fait l’apparition dans les foyers afin de répondre à des sollicitations complexes exprimées en langage humain. Un assistant vocal conversationnel disposé au centre du foyer peut permettre de commander des appareils électroniques présents dans un foyer principal, dans différentes pièces, mais aussi des appareils se trouvant dans des lieux secondaires autres que le foyer principal. Le fonctionnement d’un assistant vocal consiste pour un utilisateur à activer celui-ci en le hélant par la prononciation à voix haute d’un motif sémantique générique, connu et reconnu par l’assistant vocal (par exemple, « OK Google » dans le cas de l’assistant de la société Google). Après une confirmation d’activation de l’assistance vocale, l’utilisateur dicte ensuite une requête vocale à l’assistant vocal.
L’assistant vocal demeure un point de contact unique et dépersonnalisé du foyer : le dialogue normé entre un utilisateur du foyer et cet interlocuteur électronique central ne permet pas aujourd’hui à l’utilisateur de se projeter dans la topologie de ses terminaux et des commandes qui leur sont associées.
De plus, le taux d’échec de la reconnaissance vocale réalisé par l’assistant est aujourd’hui très important
Il est connu de disposer de plusieurs assistants vocaux dans un foyer, pour rediriger la commande vers un groupe de terminaux ciblés. Par exemple la demande de brevet publiée sous le numéro EP3836582 A1 décrit des dispositifs relais pour des commandes vocales à traiter par un assistant vocal. Cependant une telle technique suppose de disposer de plusieurs assistants vocaux, ou tout au moins de systèmes capables de relayer des commandes vocales, ce qui complexifie l’architecture globale du réseau local.
L'invention
L’invention concerne un procédé de traitement d’une commande vocale d’un utilisateur à un système d’assistance tel que défini dans la revendication 1 annexée.
Ainsi, l'invention offre l'avantage de réduire le nombre de commandes vocales transmises par un utilisateur à un assistant vocal, grâce à l’envoi d’un mot-clé spécifique dès la première commande vocale. Par première commande vocale est entendue la commande vocale effectuée par l’utilisateur dans le but de déclencher la sortie de veille de l’appareil d’assistance vocale et/ou d’initier une nouvelle requête vocale. Les mots-clés sont de préférence préalablement enregistrés, par exemple par l’utilisateur lui-même, puis reconnus par l’appareil d’assistance comme « Wake words » (mots de réveil, en anglais). Un mot-clé est sélectionné par l’utilisateur parmi une liste de mots-clés ou série de mots-clés. Par l’utilisation de commandes vocales telles que « OK CHAUFFEUR » ou « OK CUISINIER » ou « OK SILENCE », l’utilisateur informe dès sa première commande vocale d’une classe de services parmi lesquels il souhaite voir exécuter un service, c’est-à-dire une commande ou un ensemble de commandes relatifs à un ou plusieurs terminaux dans son réseau privé. Par exemple, l’ensemble de services associé au mot-clé « CHAUFFEUR » correspond à des services en lien avec les véhicules du foyer connectés au réseau local (voiture, moto, etc.) Elle permet à l’assistant vocal de restreindre l’action recherchée par l’utilisateur, par exemple, « allumer le chauffage de la voiture » à une liste d’actions possibles de la classe de services reconnue « CHAUFFEUR », associé à un ou plusieurs terminaux. Selon un autre exemple, l’ensemble de services associé au mot-clé « SILENCE » correspond à un service en lien avec les terminaux du foyer connectés au réseau local qui génèrent du son (enceinte hi-fi, téléviseur, radio, etc.) Il permet à l’assistant vocal d’enclencher une liste d’actions possibles de la classe de services reconnue « SILENCE », associée à un ou plusieurs terminaux, en l’occurrence en transmettant une commande à chacun des terminaux concernés pour qu’il coupe le son.
Par « système d’assistance vocale », on entend un ou plusieurs dispositifs mettant en œuvre un service d’assistance vocale pour un utilisateur. Dans la suite, on parle indifféremment de « système d’assistance vocale » ou d’ « assistant vocal », noté SAV. Un tel système peut être composé par exemple d’une enceinte connectée apte à effectuer de la reconnaissance vocale, couplée à un serveur de traitement. Selon un autre exemple, le système comporte uniquement l’enceinte connectée.
Par « réseau privé », on entend un réseau de terminaux associé à un identifiant donné, par exemple relatif à un foyer (réseau local de type LAN connecté à une passerelle de service) ou à plusieurs foyers (pour un individu disposant de plusieurs domiciles, ensemble de réseaux de communication locaux) ou encore à une société (réseau local d’entreprise), etc.
Par « terminaux », on entend tous terminaux aptes à se connecter à un réseau privé : ordinateurs, tablettes, smartphones, objets connectés tels que capteurs, détecteurs, dispositifs sonores, vidéo, ampoules, etc. Dans la suite, on utilise indifféremment les termes « terminal » et « IoT ».
Par « service », on entend un ensemble d’actions qui permettent de rendre un service à l’utilisateur dans le cadre du réseau privé, par la mise en œuvre d’actions sur un ou plusieurs terminaux du réseau. Il peut être très simple (éteindre les lumières) ou plus complexe (éteindre la lumière du salon si aucun mouvement n’a été détecté depuis 10 min et que la luminosité est inférieure à un certain seuil) et concerner un seul ou plusieurs terminaux travaillant en parallèle ou en coopération.
Par « classe de services », on entend un ou plusieurs services regroupés par exemple au sein d’une base de données, correspondant à un mot-clé. La classe de services peut comporter un seul service (par exemple la classe de services associée au mot-clé « SILENCE » peut comporter un service unique qui consiste à rendre muets tous les terminaux du réseau privé) ou plusieurs services (par exemple la classe de services associée au mot-clé « CUISINIER » peut comporter un service de vérification des stocks de nourriture, un service d’extinction des lumières de la cuisine, etc.)
Selon l’art antérieur, un mot de réveil correspond à un motif unique qui n’apporte aucune autre information à l’assistant vocal que celle d’une commande d’activation de celui-ci. Par exemple une sortie de veille s’effectue à travers une syntaxe vocale neutre comme « OK, Google ® » ou « OK, Alexa® ». Dans ce cas l’assistant vocal sort de veille mais ne présuppose aucune action à venir. L’invention permet donc de gagner du temps en préparant l’accès de l’assistant à une classe de services spécifiques. Le nombre de commandes vocales énoncées par un utilisateur est réduit, ainsi que la complexité de la recherche par l’assistant vocal, qui se positionne immédiatement dans la bonne classe de services en fonction de la commande reçue (« OK CUISINIER » le positionne dans la classe de services relatives à la ou aux cuisines du réseau privé).
Avantageusement, l’utilisateur peut choisir, au moyen d’un deuxième mot-clé, ou expression, le service ciblé dans la classe de services préalablement sélectionnée. Par exemple dans la classe « CHAUFFEUR » il peut s’agir d’un service associé à l’expression « ouvrir la porte du garage », « mettre le chauffage dans la voiture », etc. Le risque d’échec de reconnaissance du service par l’assistant est réduit puisque l’assistant recherche l’expression dans la classe de services préalablement déterminée. Ainsi le risque inhérent de vérification auprès de l’utilisateur à travers une ou plusieurs relances est également diminué, améliorant l’efficacité et la fiabilité du système.
Selon un mode de réalisation de l’invention, le procédé tel que décrit ci-dessus comporte en outre, suite à la détection d’au moins un mot-clé d’activation ou à la détection d’au moins une expression, une étape de :
- émettre (E6) au moins un message de réponse vers ledit utilisateur en fonction dudit mot-clé ou de ladite expression
Avantageusement selon ce mode, l’assistant vocal accède rapidement à l’ensemble des réponses qu’il peut émettre dans le contexte de la classe de services ou du service sélectionné et émet la réponse la plus appropriée.
Selon une variante de ce mode, dans le procédé tel que décrit ci-dessus, ledit au moins un message de réponse est émis selon des caractéristiques vocales fonction dudit mot-clé ou de ladite expression.
Avantageusement selon ce mode, une « personnalité » de l’assistant peut être initiée dès la première interaction de l’assistant vocal avec l’utilisateur. Par une commande de type « OK chauffeur » ou « OK cuisinier », l’utilisateur active dès sa première commande vocale la personnalité de l’appareil qu’il a identifié comme lui étant nécessaire pour la ou les commandes qu’il souhaite voir exécuter. Par « personnalité » de l’appareil est entendues l’ensemble des caractéristiques vocales pouvant lui être affectées : choix de traits prosodiques tels une fréquence, une intensité, un timbre, un débit de la voix sélectionnée par l’assistant pour l’émission du message de réponse, choix d’une langue, etc. Cette variante permet à l’utilisateur d’identifier, avant même d’avoir analysé le contenu de la réponse de l’assistant, la réussite ou l’échec de la reconnaissance vocale relative à la première commande qu’il a émise. Par exemple, une voix désignée comme celle du chauffeur (une voix féminine parlant anglais), sera différente de celle du cuisinier (une voix masculine parlant allemand). L’utilisateur peut ainsi identifier dès les premières secondes que l’assistant s’est peut-être engagé dans une mauvaise interprétation. De même, la vitesse de l’assistant, un accent régional, etc. peuvent être utilisés pour « personnaliser » l’assistant. Un mot-clé comme « Professor » peut enclencher une réponse en langue espagnole. Au lieu d’une seule personnalité neutre, l’assistant dispose ainsi de plusieurs personnalités. Si le mot-clé n’a pas pu être reconnu, une personnalité par défaut peut lui être affectée.
Selon un mode de réalisation de l’invention, ledit au moins un message de commande comprend un message à destination d’un second système d’assistance vocale.
Avantageusement, ce mode de réalisation permet de diffuser la commande vocale vers un autre assistant vocal dans un lieu spécifique. Par exemple, la commande « OK Professor, dis à Thomas de faire ses devoirs d’espagnol » est diffusée vers un assistant vocal placé dans la chambre de Thomas. Par « second système d’assistance vocal » on entend par exemple une enceinte connectée, ou un smartphone, etc.
Selon un mode de réalisation de l’invention, le procédé tel que décrit ci-dessus comporte en outre une étape de :
- créer une base de données comprenant au moins une classe de service associée à au moins un service, ledit service étant lui-même associé à au moins une commande d’au moins un terminal dudit réseau.
Selon un aspect matériel, l’invention concerne un système d’assistance vocale d’un utilisateur, apte à communiquer avec une pluralité de terminaux sur un réseau privé, ladite pluralité de terminaux étant associée à une pluralité de classes de services, chaque classe de service comprenant au moins un service pour commander un terminal de la pluralité, caractérisé en ce que ledit système est configuré pour mettre en œuvre:
- recevoir une première commande vocale en provenance dudit utilisateur,
- détecter au moins un mot-clé d’activation dans ladite première commande,
- sélectionner une classe de services parmi la pluralité de classes de services, en fonction du mot-clé d’activation détecté ;
- envoyer un message de commande vers au moins un terminal de la pluralité, associé à ladite classe de services sélectionnée
Selon un aspect matériel, l’invention concerne un système d’assistance vocale d’un utilisateur apte à communiquer avec une pluralité de terminaux sur un réseau privé, ladite pluralité de terminaux étant associée à une pluralité de classes de services, chaque classe de service comprenant au moins un service pour commander un terminal de la pluralité, caractérisé en ce que ledit système comporte:
- un dispositif d’assistance vocale configuré pour mettre en œuvre :
- recevoir une première commande vocale en provenance dudit utilisateur,
- détecter au moins un mot-clé d’activation dans ladite première commande,
- transmettre sur le réseau une commande comportant ledit mot-clé d’activation
- un dispositif serveur configuré pour mettre en œuvre :
- recevoir sur le réseau dans une commande un mot-clé d’activation
- sélectionner une classe de services parmi la pluralité de classes de services, en fonction du mot-clé d’activation détecté ;
-envoyer un message de commande vers au moins un terminal de la pluralité, associé à ladite classe de services sélectionnée
Selon un autre aspect matériel ; l’invention concerne une base de données pour le traitement d’une commande vocale d’un utilisateur à un système d’assistance vocale apte à communiquer avec une pluralité de terminaux sur un réseau privé, ladite pluralité de terminaux étant associée à une pluralité de classes de services, chaque classe de service comprenant au moins un service pour commander un terminal de la pluralité, la base de données comprenant:
- au moins une structure de données de classe de service, chaque structure de données de classe de service étant accessible via un mot-clé d’activation et comprenant :
- au moins une structure de données de service, chaque structure de données de service étant accessible via une expression  et comprenant :
- au moins une description du service associant au moins un terminal de la pluralité à au moins une commande
Avantageusement, une base de données est structurée de manière à faciliter les accès aux classes de services à partir d’un mot-clé, puis aux services via une expression, qui peut être vide si le service ne requiert pas d’expression (par exemple la commande SILENCE ne requiert pas d’expression complémentaire) le mot-clé et les expressions faisant partie des commandes vocales que peut prononcer l’utilisateur.
Selon une variante, la base de données comporte en outre, pour chaque classe de services, une « personnalité » associée à la classe, c’est-à-dire un ensemble de caractéristiques vocales.
Selon une variante, la base de données comporte en outre un historique, ledit historique étant constitué de données, chaque donnée d’historique comprenant au moins une classe de services et un nombre d’occurrences .
Selon un autre aspect matériel, l'invention concerne également des programmes d'ordinateur aptes à être mis en œuvre sur des systèmes ou dispositifs, les programmes comprenant des instructions de code qui, lorsque les programmes sont exécutés par un processeur, réalisent les étapes des procédés définis.
De tels programmes peuvent utiliser n’importe quel langage de programmation. Ils peuvent être téléchargés depuis un réseau de communication et/ou enregistrés sur un support lisible par ordinateur.
Selon un autre aspect matériel, l’invention a trait à des supports de données sur lequel a été mémorisée au moins une série d’instructions de code de programme pour l’exécution des procédés définis ci-dessus.
L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés sur lesquels :
La illustre une architecture générale de l’environnement d’un système d’assistance vocal selon un mode de réalisation de l’invention.
La est un schéma illustrant les composants d'un système d’assistance vocale, conformément à un mode de réalisation de l’invention.
La illustre un diagramme des étapes d’un mode de réalisation de l’invention.
La illustre une structuration d’une base de données selon un mode de réalisation de l’invention.
La illustre un mode de réalisation selon l’invention.
La illustre un autre mode de réalisation selon l’invention.
Description détaillée
D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif.
La illustre une architecture générale de l’environnement d’un système d’assistance vocal selon un mode de réalisation de l’invention.
L’utilisateur UT communique avec un dispositif d’assistance vocale noté EC, prenant par exemple, de manière non limitative, la forme d’une enceinte connectée. Selon d’autres exemples, le dispositif d’assistance vocale peut prendre la forme d’un module matériel ou logiciel sur un terminal quelconque (smartphone, passerelle de service, objet connecté, etc.).
L’utilisateur peut prononcer au moins une commande vocale ENR capturée par un microphone MIC associé au dispositif EC, qui sera décrit dans la suite à l’appui de la .
Le dispositif d’assistance vocale met en œuvre une détection d’au moins un mot-clé d’activation (MCA) dans la commande, par exemple le mot-clé « CUISINIER ». Le mot-clé d’activation peut être suivi par un autre message vocal de l’utilisateur précisant le service qu’il souhaite mettre en œuvre, par exemple « éteins les lumières ». Ce second message vocal, et éventuellement les suivants, sont appelés « expressions ».
Selon un premier mode de réalisation, le dispositif d’assistance vocale comporte les modules nécessaires à la mise en œuvre de l’invention. Le dispositif d’assistance vocale interroge (flèche pointillée sur la figure) une base de données (BDD) de règles appropriées, pour mettre en œuvre un service sur les différents terminaux du réseau privé, par l’envoi de commandes appropriées.
Selon un second mode de réalisation, l’assistant vocal communique à travers le réseau avec un serveur SER qui est notamment apte à accéder à la base de données, définir le service à mettre en œuvre et le mettre en œuvre.
Selon encore un autre mode de réalisation, le dispositif d’assistance vocale communique à travers le réseau avec le serveur SER qui traite le mot-clé (et l’expression si présente) détecté dans le ou les message(s) ENR de l’utilisateur et retransmet au dispositif d’assistance vocale les références du service à mettre en œuvre .
Selon un mode de réalisation, l’assistant vocal détermine grâce au mot-clé une « personnalité » à utiliser pour communiquer vocalement avec l’utilisateur (voix, rythme, langue, etc.).
Bien entendu, d’autres réalisations sont possibles.
La est un schéma illustrant les composants d'un système d’assistance vocale, conformément à un mode de réalisation de l’invention. Selon ce mode, le système SAV comprend un sous-système audio EC, ou dispositif d’assistance vocale, et un sous-système serveur SER, conformément au schéma proposé en . Le système n’est pas limité à la voix, et les implémentations décrites ici s'appliquent également aux sons non vocaux (cris, modulations, chantonnement, etc.). Le sous-système audio EC et le sous-système SER sont composés de divers composants, modules et/ou programmes logiciels.
Le sous-système audio EC comprend une interface d’entrée IN pour recevoir un signal audio correspondant à une commande prononcée ENR, cette interface IN étant reliée à
- une unité de traitement UT comportant un processeur coopérant avec une mémoire de travail MEM pouvant stocker des données d’un programme informatique mettant en œuvre les étapes d’un procédé selon un mode de réalisation de l’invention.
- une interface de communication COM avec au moins un serveur SER (via par exemple un réseau étendu ou local RES) afin de transmettre un signal correspondant à la commande ENR au serveur SER et obtenir une réponse en retour, appropriée au contenu de cette commande.
Il comporte aussi :
- un convertisseur analogique-numérique (CAN) et un convertisseur numérique-analogique (CNA)
- un ou plusieurs détecteurs DET, par exemple un détecteur de bruit, un détecteur sonore, un détecteur de parole, un détecteur de mot-clé basé sur la reconnaissance vocale, etc. Dans certaines mises en œuvre, ces modules sont utilisés ou non, et peuvent inclure du matériel (par exemple, des circuits, de la mémoire, des processeurs, etc.), des logiciels (par exemple, programmes, logiciels sur puce, etc.), et/ou toute combinaison de ceux-ci pour exécuter les étapes du procédé. Par exemple, si le détecteur de bruit du module DET détermine que l'entrée sonore satisfait une condition prédéterminée, il déclenche un détecteur sonore en amont, qui détermine si une entrée sonore correspond à un certain type de son, tel qu'un son caractéristique d'une voix humaine, sifflet, clap, etc. Par exemple, de manière connue, il génère un spectrogramme d'une entrée sonore reçue et analyse les composantes spectrales de l'entrée sonore pour déterminer si l'entrée sonore est susceptible de correspondre à un type ou une catégorie particulière de sons (par exemple la parole humaine). Dans l’affirmative, il peut déclencher lui-même un détecteur de parole et/ou de mots-clés, etc. Un tel détecteur est configuré pour déterminer si une entrée sonore comprend au moins une partie de certains contenus vocaux prédéterminés (par exemple, au moins une partie du mot-clé). Le module DET peut fournir une reconnaissance vocale plus complète, par exemple la conversion de la parole en texte et/ou le traitement du langage naturel.
Le sous-système audio EC peut être couplé à un ou plusieurs microphones MIC et un ou plusieurs haut-parleurs HP, ainsi qu’optionnellement une caméra CAM, comme représenté en . Ces modules peuvent être externes ou intégrés au sous-système EC, comme représenté sur la .
Tous ces modules communiquent entre eux via un bus de données.
Le serveur SER comporte pour sa part selon ce mode de réalisation :
  • une unité de traitement UT’ incluant un processeur coopérant avec une mémoire de travail MEM’ pouvant stocker des données d’un programme informatique, une interface de communication COM’ pour communiquer, via un réseau tel que le réseau local ou étendu RES, avec le sous-système audio (EC) et des objets connectés, ou terminaux (IoT).
  • Un module d’analyse ANA pour analyser les mots-clés et/ou expressions reçus, définir un service parmi la pluralité des services disponibles, en coopération avec une base de données BDD, et communiquer avec un module de commande des terminaux.
  • Une unité de commande CM pour transmettre des commandes vers les terminaux, ou objets connectés, du réseau.
  • Une unité d’accès ABD pour accéder à la base de données BDD précitée.
Tous ces modules communiquent entre eux via un bus de données.
Dans un autre mode de réalisation, les sous-systèmes EC et SER sont regroupés dans un seul dispositif d’assistance vocale SAV. Par exemple si l’enceinte connectée EC dispose de moyens d’accès directs à la base de données, ainsi que des moyens logiciels et matériels adéquats et des capacités de traitement nécessaires à la mise en œuvre du procédé, un seul dispositif suffit et le système d’assistance vocale se résume à un dispositif d’assistance vocale. Dans ce cas bien entendu les modules de communication COM et COM’, les modules UT’ et MEM’ ne sont plus nécessaires.
La illustre un diagramme des étapes d’un mode de réalisation selon l’invention.
Dans une étape préalable au déroulement des étapes d’interactions entre l’utilisateur et le système de reconnaissance vocale, une étape d’élaboration (E0) d’au moins une base de données BDD structurée interne ou externe au service et/ou au réseau privé considéré est effectuée. Les données de cette base sont organisées selon des classes de service, comme représenté à l’appui de la . Les classes de service sont initiées à partir d’une liste de mots-clés préalables, enregistrés par un équipementier ou par un utilisateur ou plusieurs utilisateurs identifiés dans le réseau privé. Les classes de service, associées chacune à un ou plusieurs mots-clés, contiennent une liste de services relatifs à cette classe, chaque service étant associé à la mise en œuvre d’une liste de commandes sur un ou plusieurs terminaux contenus dans le réseau privé afin de rendre le service. Dans le contexte d’internet des objets, les terminaux sont des objets pilotables à distance à travers des réseaux par exemple de type 5G, Wi-FI, etc. Le système d’assistance vocale est configuré pour communiquer avec l’ensemble des terminaux enregistrés dans les bases de données du service ; ses droits d’accès au pilotage de ceux-ci peuvent être également programmés.
Dans une première étape (E1) du procédé, le sous-système audio EC tel que décrit dans les figures 1 et 2 réceptionne une première commande (ENR) en provenance de l’utilisateur, commande comprenant un mot-clé d’activation (MCA). Dans un mode de réalisation, ce mot-clé est un mot unique au sens sémantique du terme (CUISINIER, JARDINIER, etc.). Dans un autre mode de réalisation, il comporte un nombre limité de mots (CUISINIER DE LA RESIDENCE PRINCIPALE, etc.)
Dans une deuxième étape (E2) du procédé selon l’invention, les modules de détection (DET) sont activés. Notamment un module de reconnaissance vocale fait partie des modules DET présentés à l’appui de la . Il permet d’effectuer une reconnaissance du mot-clé compris dans la commande vocale. À cet effet, il peut être lié à une base de données ou une structure de mots-clés. Dans un mode de réalisation, le mot-clé d’activation reste placé à la suite d’un premier mot-clé générique court, comme le mot « OK » afin que le système de reconnaissance vocale puisse détecter et associer le mot-clé d’activation avec une probabilité de succès élevé ; dans une variante, la sensibilité de la reconnaissance de voix aura alors augmenté dans le laps de temps de la sortie de veille. Par sortie de veille, on entend que l’appareil de reconnaissance vocale sort d’un mode dans lequel il était sous tension électrique avec des fonctionnalités, par exemple de captation et de reconnaissance des sons ambiants, diminuées. La sortie de veille active ces fonctionnalités. Elle peut être déclenchée par un stimulus, par exemple une variation forte du volume sonore, un type de son (une voix), etc., et stabilisée par la détection du mot-clé générique court (« OK ») ou par celle du mot-clé d’activation (MCA).
Dans une troisième étape (E3), le module d’analyse (ANA), qui reçoit en entrée le mot-clé d’activation détecté, lance une requête à la base de données BDD pour vérifier si cette donnée est à considérer comme un mot-clé pertinent (c’est-à-dire qu’il correspond à une entrée de la base de données). Dans l’affirmative, c’est-à-dire s’il correspond à une classe de services CS, cette classe de services est sélectionnée. Dans le cas contraire, le procédé s’achève. Un énoncé neutre peut être émis par l’appareil, par exemple un message vocal du type « je ne vous ai pas compris ».
Dans une quatrième étape (E4) du procédé, le module de reconnaissance vocale de DET détecte ou non une deuxième donnée vocale appelée expression dans une seconde commande vocale ENR de l’utilisateur. Il peut par exemple se mettre en attente pendant un certain temps prédéterminé. Selon un autre exemple, l’expression faisait partie de la première commande ENR.
Si aucune expression n’est obtenue par le module ANA, il détermine dans une cinquième étape E5bis un service unique S associé à la classe de services (par exemple, éteindre toutes les lumières de la maison, ou tous les appareils sonores de la maison) et prépare une requête pour tous les terminaux concernés, qu’il transmet au module CM de commande. Celui-ci transmet dans une étape E7 la commande au terminal ou aux terminaux concernés.
Si en revanche une expression au moins est obtenue par le module ANA, le module d’analyse accède lors d’une étape (E5), dans la base de données, à un service spécifique de la classe de service déterminée, grâce à cette expression. Il en déduit un ensemble de commandes à transmettre aux terminaux impliqués dans le service. Le module de commande (MC) envoie alors dans une septième étape (E7) un message de commande au terminal ou aux terminaux concernés par le service.
Au cours d’une étape E6 optionnelle, le système émet un ou plusieurs messages, par exemple vocaux, vers l’utilisateur. Cette étape E6 peut précéder l’étape de commande (par exemple par l’envoi d’un message vocal de vérification vers l’utilisateur) ou lui succéder (par exemple par l’envoi d’un message vocal de confirmation vers l’utilisateur). Au cours de cette étape, le système de reconnaissance vocale peut aussi choisir une « personnalité » c’est-à-dire adopter un ensemble de caractéristiques vocales personnalisées pour répondre à l’utilisateur qui peut ainsi distinguer facilement une erreur (si le cuisinier répond avec la voix du jardinier, par exemple).
La illustre une structuration possible d’une base de données BDD selon un mode réalisation de l’invention. Elle peut être initialisée par exemple par un programme natif du constructeur du système de reconnaissance vocale destiné au pilotage de fonctionnalités de terminaux d’un réseau privé, ou encore par un utilisateur. Le contenu de cette base de données peut se modifier au cours du temps. Dans un mode de réalisation préféré, la base de données BDD comporte deux sous-bases de données B1 et B2:
- dans la première base de données B1 est stocké un ensemble de classes de services (CSi) associées à des mots-clés. Une classe de services correspond à une structure de données D_CS. Par exemple, au mot-clé M1 = « CUISINIER» est associée une classe de services « cuisinier », étiquetée CS1, qui correspond à une pluralité de services liés à la cuisine du domicile : éteindre les lumières de la cuisine, préparer un café, vérifier les stocks, etc. Certains services exigent une expression spécifique suivant le mot-clé d’activation, d’autres non. Une expression est associée à un service Si de la classe de services (par exemple S1 = « vérifie les stocks »). Chaque service Si est pour sa part associé à un certain nombre de commandes notées CMD-k-l (CMD-1-1, CMD-1-2, , CMD-2-1, CMD-2-2, CMD-3-1, etc.) associées à un ensemble de terminaux IoTk (IoT1, IoT2, IOT3…) du réseau privé. Un service correspond à une structure de données D_S.
Le tableau ci-dessous donne un exemple simplifié de deux classes de services  (CS1, CS2) associées à deux mots-clés (SILENCE, CUISINIER) :
Mot-clé (MCAi)/ classe CSi Expressions(EXj)/ Service Sj Terminaux(IOTk) Commande(s)(CMD)
SILENCE/CS1 « »/ S1 Chaîne Hifi Mute
Téléviseur Mute
Radio Mute
CUISINIER/CS2 Eteins les lumières/S1 Plafonnier Off
Hotte Off
Vérifie les stocks/S2 Réfrigérateur List&command
Placard List
Prépare un café/S3 Cafetière On
Par exemple, le service S2 de la classe CS2 associée au mot-clé « CUISINIER » correspond à l’expression « Vérifie les stocks ». Ce service s’adresse à deux terminaux qui lui sont associés dans la base de données (IoT1 = Réfrigérateur, IOT2 = Placard connecté) et les commandes transmises au réfrigérateur sont « Liste ton contenu » (List) puis « commande ce qui manque » (command). Alors que la commande transmise au placard est unique (« Liste ton contenu », List).
Chaque classe de services peut être associée à une personnalité Pi qui permet de personnaliser automatiquement la voix du système pour une classe de services donnée (donner une voix, un timbre, un sexe particulier au « cuisiner »).
- dans la deuxième sous-base de données B2 facultative est stocké un historique HIST des commandes effectuées à travers l’assistant vocal. Dans un mode de réalisation, cette base de données est alimentée et sert par exemple à des modules d’intelligence artificielle à la construction de modèles de décision pour les services.
La illustre un mode de réalisation de l’invention. Ce mode de réalisation correspond au cas le plus simple : l’utilisateur utilise un seul mot-clé d’activation (sans expression) et le système d’assistance vocale ne fait pas de retour à l’utilisateur sur la commande émise auprès d’un terminal. Dans ce mode de réalisation, aucune validation utilisateur n’est donc demandée avant l’envoi d’un message de commande à un terminal ; seule la première commande ENR, comportant le mot-clé d’activation, est à l’origine du déclenchement d’une ou plusieurs commandes sur un ou plusieurs terminaux du réseau privé.
Le dispositif audio (EC) associé au système d’assistance vocale (SAV) est allumé et en mode en veille. Selon l’art antérieur, l’assistant vocal reçoit d’un utilisateur une première commande vocale pour le faire sortir de veille : « OK Google ® » ou « OK Alexa® ». Dans ce mode de réalisation, l’assistant vocal sort de veille lors de la réception d’une commande vocale contenant un mot-clé. Dans cet exemple, le motif est le mot-clé SILENCE. Le terme « OK » est maintenu afin de rattacher l’utilisateur à un début de syntaxe connu et permet au système d’assistance vocal de réveiller certains de ses modules pour offrir par exemple une meilleure reconnaissance vocale. Le mot-clé d’activation permet ensuite, comme il a été expliqué au préalable, de gagner du temps en permettant au système de se positionner directement dans une classe de services auquel l’utilisateur souhaite faire référence. De surcroît ce gain de temps peut être mis à profit pour faire sortir de veille l’assistant vocal. L’assistant vocal identifie le motif SILENCE comme un « WELCOME event ». La phrase « OK SILENCE » est reçue et analysée par le module de reconnaissance vocale (l’un des modules DET). Il en extrait le mot-clé « SILENCE ». Si les deux sous-systèmes sont distincts, une requête est envoyée depuis le sous-système EC au sous-système SER via le réseau, avec en paramètre le mot-clé, selon cet exemple « SILENCE ». Sinon le mot-clé est transmis directement au module ANA du dispositif de reconnaissance vocale. Le module ANA analyse ce message. Si elle existe, la classe de services associée à ce motif est accédée dans la base de données. Dans ce premier mode de réalisation, aucune expression n’est attendue, c’est-à-dire que l’enregistrement correspondant dans la base de données comprend la liste des commandes à appliquer aux différents terminaux pour le service unique de la classe. En d’autres termes, l’expression est nulle, ou encore il y a un seul service associé à la classe, qui peut donc être sélectionné automatiquement.
Une fois le service identifié (ici le service par défaut), le module ANA transmet l’information de service au module de commande CM, qui envoie une requête contenant au moins une commande vers chacun des terminaux concernés, c’est-à-dire l’ensemble des terminaux du réseau privé listés dans la base de données dans l’enregistrement relatif au service, c’est-à-dire qu’il émet une commande de « Mute » (volume coupé, en anglais) aux terminaux IoT1, IoT2, IoT3, IoT4 du réseau privé.
La illustre un autre mode de réalisation selon l’invention.
Ce mode de réalisation correspond au cas où l’utilisateur utilise un mot-clé d’activation et une expression lors d’une commande vocale. Le dispositif d’assistance vocale (EC) associé au système est allumé et en mode veille. Il sort de veille lors de la réception d’une première commande vocale et le mode veille est confirmé suite à la réception du mot-clé d’activation. L’utilisateur prononce la phrase « OK CUISINIER » qui est reçue et analysée par le module de reconnaissance vocale DET du sous-système EC. Il en extrait le mot-clé « CUISINIER ». Le module de reconnaissance vocale reconnait le mot-clé CUISINIER, qu’il identifie comme un « WELCOME event » enclenchant une sortie de veille du dispositif d’assistance vocale. Dans ce mode de réalisation, une expression est attendue, c’est-à-dire que l’enregistrement correspondant à la classe de services dans la base de données comprend une liste de services, et pour chaque service une liste des commandes à appliquer aux différents terminaux. L’expression permet d’accéder au service, ici « éteins les lumières ».
On notera que la commande vocale complète peut être formée en une seule phrase ENR « OK CUISINIER, éteins les lumières » ou en deux phrases ENR « OK CUISINIER » et « Eteins les lumières » ; le temps entre les deux phrases pouvant varier et être paramétré dans le service.
Si les deux sous-systèmes (le dispositif d’assistance vocale et le serveur) sont distincts, une requête est envoyée depuis le sous-système EC au sous-système SER avec en paramètre le mot-clé, selon cet exemple « CUISINIER », et l’expression. Sinon, le mot-clé et l’expression sont transmis directement au module ANA. Le module ANA analyse ce message. S’il existe, le service de la classe de services associée à ce mot-clé et cette expression est accédé dans la base de données et le résultat est transmis au module de commande CM. Dans cet exemple, tous les terminaux répertoriés sont éteints (hotte, plafonnier, spots, etc.) par une commande appropriée. Selon un autre exemple, le mot-clé peut être « JARDINER » et l’ensemble des terminaux concernés peut être par exemple le système d’arrosage (IoT1), le portail (Iot2), etc. et les expressions associées peuvent être :« allume l’arrosage », « ouvre le portail », « ouvre la porte du chenil », « active la tondeuse si la porte du chenil est fermée», etc.
La recherche du service est ainsi rendue plus rapide et plus fiable.
Selon d’autres modes de réalisation :
  • Le système d’assistance vocale répond à l’utilisateur ; dans cet exemple, le mot-clé est le mot-clé CUISINIER, et la réponse vocale peut-être « Je suis le cuisinier, puis-je vous aider ?» :
  • Le système d’assistance vocale transmet un retour à l’utilisateur sur la commande émise auprès du terminal ; l’assistant peut par exemple différer l’envoi du message de commande vers le terminal et émettre un ou plusieurs messages vers l’utilisateur. Dans ce cas, la reconnaissance vocale peut-être en attente d’un contrôle de l’utilisateur. L’utilisateur peut alors interagir avec l’assistant vocal comme il est usuel de le faire, par confirmation ou infirmation de la commande proposée, ou reformulation de l’expression, etc.
  • Le système d’assistance vocale est personnalisé ; un ensemble de caractéristiques vocales peut être associé dans la base de données en liaison avec la classe de service, ou le service, permettant de personnaliser par la suite toutes les réponses vocales du système vers l’utilisateur (le ton de la voix, le genre masculin ou féminin, l’accent, la langue, le rythme, etc.).
  • Le système d’assistance vocale effectue une recherche probabiliste d’une expression correspondant à une classe de services  ou un service : plus la probabilité est élevée d’avoir une expression donnée suivant un mot-clé, et plus le service correspondant peut être invoqué avec certitude. Selon un exemple, il peut être mis en œuvre par défaut ; selon un autre exemple, il peut être proposé à l’utilisateur pour validation, etc. L’assistant vocal propose par exemple un service « chauffer la bouilloire » dans une liste d’actions du champ lexical reconnu « CUISINIER ». Cette action correspond à celle qui est associée à la demande la plus fréquente de l’utilisateur dans cette classe de services. Elle peut aussi être la première action dans la liste des actions possibles de la classe lexicale. Le système d’assistance vocale peut avoir été entraîné à cette approche probabiliste par un système d’intelligence artificielle utilisant la base B2 (historique) de la .
  • Selon un autre exemple, le mot-clé indique le destinataire souhaité par l’utilisateur. Par un procédé de géolocalisation et d’identification, l’activité du destinataire est détectée. Par exemple, l’assistant vocal émet alors « Brian regarde la télévision »
Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l’homme du métier sans pour autant sortir du cadre de l’invention.

Claims (7)

  1. Procédé de traitement d’une commande vocale d’un utilisateur (UT) à un système d’assistance vocale (SAV, EC, SER) apte à communiquer avec une pluralité de terminaux (IoT) sur un réseau privé (RES), ladite pluralité de terminaux étant associée à une pluralité de classes de services (CS), chaque classe de service comprenant au moins un service (S) pour commander au moins deux terminaux de la pluralité, le procédé de traitement comprenant les étapes suivantes sur ledit système :
    - recevoir (E1) au moins une commande vocale (ENR) en provenance dudit utilisateur,
    - détecter (E2) au moins un mot-clé d’activation (MCA) dans ladite au moins une commande,
    - sélectionner (E3) une classe (CLS) de services (S) parmi la pluralité de classes de services, en fonction du mot-clé d’activation détecté ;
    - détecter (E4) au moins une donnée, dite expression, dans ladite au moins une commande vocale de l’utilisateur,
    - sélectionner (E5, E5bis) au moins un service (S) de ladite classe de services, en fonction de l’expression détectée ;
    - déterminer (E7) une commande pour au moins deux terminaux de la pluralité, lesdits terminaux et lesdites commandes étant associés audit service sélectionné de ladite classe de services.
  2. Procédé de traitement selon la revendication 1 comprenant, suite à la détection d’au moins un mot-clé d’activation ou à la détection d’au moins une expression, une étape de :
    - émettre (E6) au moins un message de réponse vers ledit utilisateur en fonction dudit mot-clé ou de ladite expression.
  3. Procédé de traitement selon la revendication 2, ledit au moins un message de réponse étant émis selon des caractéristiques vocales (Pi) fonction dudit mot-clé ou de ladite expression.
  4. Procédé de traitement selon la revendication 1 selon lequel ledit au moins un message de commande comprend un message à destination d’un second système d’assistance vocale.
  5. Système d’assistance vocale (SAV) d’un utilisateur (UT), apte à communiquer avec une pluralité de terminaux (IoT) sur un réseau privé (RES), ladite pluralité de terminaux étant associée à une pluralité de classes de services (CS), chaque classe de service comprenant au moins un service (S) pour commander au moins deux terminaux (IoT) de la pluralité, caractérisé en ce que ledit système est configuré pour mettre en œuvre :
    - recevoir (E1) au moins une première vocale (ENR) en provenance dudit utilisateur,
    - détecter (E2) au moins un mot-clé d’activation (MCA) dans ladite au moins une commande,
    - sélectionner (E3) une classe (CLS) de services (S) parmi la pluralité de classes de services, en fonction du mot-clé d’activation détecté,
    - détecter (E4) au moins une donnée, dite expression, dans ladite au moins une commande vocale de l’utilisateur,
    - sélectionner (E5, E5bis) au moins un service (S) de ladite classe de services, en fonction de l’expression détectée ,
    - déterminer (E7) une commande pour au moins deux terminaux de la pluralité, lesdits terminaux et lesdites commandes étant associés audit service sélectionné de ladite classe de services..
  6. Système d’assistance vocale (SAV) d’un utilisateur apte à communiquer avec une pluralité de terminaux (IoT) sur un réseau privé, ladite pluralité de terminaux étant associée à une pluralité de classes de services (CS), chaque classe de service comprenant au moins un service (S) pour commander au moins deux terminaux de la pluralité, caractérisé en ce que ledit système comporte :
    - un dispositif d’assistance vocale (EC) configuré pour mettre en œuvre :
    - recevoir (E1) au moins une commande vocale (ENR) en provenance dudit utilisateur,
    - détecter (E2) au moins un mot-clé d’activation (MCA) dans ladite au moins une commande,
    - détecter (E4) au moins une donnée, dite expression, dans ladite au moins une commande vocale de l’utilisateur,
    - transmettre sur le réseau (RES) une commande comportant ledit mot-clé d’activation et ladite expression.
    - un dispositif serveur (SER) configuré pour mettre en œuvre :
    - recevoir sur le réseau (RES) dans une commande un mot-clé d’activation et une expression ;
    - sélectionner (E3) un service (S) d’une classe (CLS) de services parmi la pluralité de classes de services, en fonction du mot-clé d’activation et de l’expression reçus ;
    -envoyer une commande pour au moins deux terminaux de la pluralité, lesdits terminaux et lesdites commandes étant associés audit service sélectionné de ladite classe de services
  7. Programme d'ordinateur apte à être mis en œuvre sur un système tel que défini dans les revendications 5 ou 6, les programmes comprenant des instructions de code qui, lorsqu’ils sont exécutés par un processeur, réalisent les étapes du procédé défini dans la revendication 1.
PCT/EP2023/050180 2022-02-09 2023-01-05 Mise en œuvre contextualisée d'un assistant vocal WO2023151875A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2201147 2022-02-09
FR2201147A FR3132589A1 (fr) 2022-02-09 2022-02-09 Mise en œuvre contextualisée d’un assistant vocal

Publications (1)

Publication Number Publication Date
WO2023151875A1 true WO2023151875A1 (fr) 2023-08-17

Family

ID=82019587

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/050180 WO2023151875A1 (fr) 2022-02-09 2023-01-05 Mise en œuvre contextualisée d'un assistant vocal

Country Status (2)

Country Link
FR (1) FR3132589A1 (fr)
WO (1) WO2023151875A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104538030A (zh) * 2014-12-11 2015-04-22 科大讯飞股份有限公司 一种可以通过语音控制家电的控制系统与方法
WO2021061512A1 (fr) * 2019-09-24 2021-04-01 Amazon Technologies, Inc. Traitement d'entrée en langage naturel multi-assistant
EP3836582A1 (fr) 2019-12-09 2021-06-16 Tap Sound System Dispositif relais pour des commandes vocales à traiter par un assistant vocal, assistant vocal et réseau sans fil
US20210383796A1 (en) * 2020-06-08 2021-12-09 Sonos, Inc. Wakewordless Voice Quickstarts
KR20210155991A (ko) * 2020-06-17 2021-12-24 엘지이노텍 주식회사 제어 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104538030A (zh) * 2014-12-11 2015-04-22 科大讯飞股份有限公司 一种可以通过语音控制家电的控制系统与方法
WO2021061512A1 (fr) * 2019-09-24 2021-04-01 Amazon Technologies, Inc. Traitement d'entrée en langage naturel multi-assistant
EP3836582A1 (fr) 2019-12-09 2021-06-16 Tap Sound System Dispositif relais pour des commandes vocales à traiter par un assistant vocal, assistant vocal et réseau sans fil
US20210383796A1 (en) * 2020-06-08 2021-12-09 Sonos, Inc. Wakewordless Voice Quickstarts
KR20210155991A (ko) * 2020-06-17 2021-12-24 엘지이노텍 주식회사 제어 시스템

Also Published As

Publication number Publication date
FR3132589A1 (fr) 2023-08-11

Similar Documents

Publication Publication Date Title
US11600265B2 (en) Systems and methods for determining whether to trigger a voice capable device based on speaking cadence
US11822857B2 (en) Architecture for a hub configured to control a second device while a connection to a remote system is unavailable
JP7297836B2 (ja) アシスタントアプリケーションのための音声ユーザインタフェースショートカット
US11430442B2 (en) Contextual hotwords
US20210104232A1 (en) Electronic device for processing user utterance and method of operating same
US20210065716A1 (en) Voice processing method and electronic device supporting the same
KR102429436B1 (ko) 사용자의 입력 입력에 기초하여 타겟 디바이스를 결정하고, 타겟 디바이스를 제어하는 서버 및 그 동작 방법
JP6906048B2 (ja) 音声インターフェイスデバイスにおけるマルチユーザパーソナライゼーション
US20200349940A1 (en) Server for determining target device based on speech input of user and controlling target device, and operation method of the server
JP7418526B2 (ja) 自動アシスタントを起動させるための動的および/またはコンテキスト固有のホットワード
CA2891742C (fr) Systeme et methode de traitement de commandes de controle dans un systeme interactif vocal
US9047857B1 (en) Voice commands for transitioning between device states
EP1606795B1 (fr) Systeme de reconnaissance de parole distribuee
KR20190042918A (ko) 전자 장치 및 그의 동작 방법
KR102339819B1 (ko) 프레임워크를 이용한 자연어 표현 생성 방법 및 장치
KR102508863B1 (ko) 전자 장치 및 상기 전자 장치로부터 수신된 데이터를 처리하는 서버
US11295743B1 (en) Speech processing for multiple inputs
EP1606796A1 (fr) Procede de reconnaissance de parole distribuee
US12002471B2 (en) Interruption detection and handling by digital assistants
WO2023151875A1 (fr) Mise en œuvre contextualisée d'un assistant vocal
US20230368785A1 (en) Processing voice input in integrated environment
KR20240096889A (ko) 자동화 어시스턴트 디바이스 사이의 웜 워드 중재
JP2021047507A (ja) 通知システム、通知制御装置、通知制御方法、及び通知制御プログラム

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

Country of ref document: EP

Kind code of ref document: A1