WO2002093415A1 - Method and device for voice data input in an electronic form - Google Patents
Method and device for voice data input in an electronic form Download PDFInfo
- Publication number
- WO2002093415A1 WO2002093415A1 PCT/FR2002/001654 FR0201654W WO02093415A1 WO 2002093415 A1 WO2002093415 A1 WO 2002093415A1 FR 0201654 W FR0201654 W FR 0201654W WO 02093415 A1 WO02093415 A1 WO 02093415A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- parameter
- assigned
- request
- value
- parameters
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
- H04M3/4936—Speech interaction details
Definitions
- the present invention relates to a voice command method, a configurable system, that is to say a system capable of performing distinct actions according to the values taken by several parameters, with voice command, and a computer program for executing distinct actions depending on the values taken by several parameters.
- the invention relates to any device authorizing the implementation of a computer voice command in order to execute actions under the conditions set out below.
- Telephone servers are a frequent example of such devices, but the invention also relates to means which do not impose the use of a public or private telephone network to route a speech signal to a computer executing the actions.
- configurable voice control systems such as telephone servers, for example in the transport sector.
- Such a system is capable of performing multiple actions, for example reserving tickets, communicating timetables or practical information, canceling a reservation, under the command of a telephone contact.
- a control process must be implemented in order to correctly assign values to the various parameters defining the action desired by the interlocutor. For example, when booking a train ticket, the machine must be able to assign values to the parameters consisting of the city of departure, the city of destination, the date of the journey, the time of departure, the class, etc.
- questioning by the user's automaton takes place according to a predetermined tree structure. The user is forced to follow a path, defined during the design of the server. Schematically, the user must move on a tree, in the mathematical sense of the term.
- Each question of the server is a node on which are linked a certain number of branches corresponding to the admissible answers for the question asked.
- the machine first requests the city of departure, it processes the user's response using a voice recognition method and, if it does not recognize a valid departure location in the response, it restores the same question, if not, it goes to the next question relating, for example, to the destination.
- the server thus imposes its own logical path on the user. The process continues until the arrival on a leaf of the tree, that is to say a node to which no branch is attached.
- Such a tree-like process has drawbacks: it has restrictive ergonomics since the user must comply with a data order imposed on him by the server, even if he reasons naturally in a different order. The user must provide the data one by one, even if he has all of them in mind, which is not optimal from the point of view of the total time of use to obtain a precise action. In addition, the user cannot change his idea or need during the process and it is impossible for him to totally or partially modify his orders, unless this possibility was fully provided for from the original design and is offered to the user choice.
- the object of the present invention is to allow voice control of a configurable system while solving the aforementioned drawbacks.
- the invention proposes a voice command method for controlling a configurable system capable of performing distinct actions as a function of the values taken by parameters.
- a voice command method for controlling a configurable system capable of performing distinct actions as a function of the values taken by parameters.
- an automatic speech recognition method so as to recognize the presence in said request of one or more group (s) of words belonging to a predetermined set of distinct groupings of words, ie that is to say to a dictionary, said groupings forming recognizable expressions, at least one of said groupings being associated with each of said admissible values,
- a grouping of words consists of one or more words recognized as forming a whole by the speech recognition engine.
- Such a method allows the control of the configurable system in natural language.
- the order of the parameter assignments is not imposed on the user.
- the latter can state a complete request at once, if he is experienced with the process or complete it several times. For each additional request, it can provide one or more data which are all taken into account. The processing time to obtain an action is therefore reduced.
- the user can choose the order of information that is natural to him, which improves ergonomics.
- the journey is no longer tree-like but reticular, a transverse path or a jump to any step of parameter assignment being possible at any time.
- the total number of parameters to be assigned to obtain a complete request can be predetermined initially, for example when only one type of action is planned, or can be determined during the process, depending on the values of a part of the parameters.
- said parameters consist of one or more selection parameter (s), making it possible to select a type of action to be executed from among several, and one or more information parameter (s), making it possible to specify the action to be executed at Within a given type of action, the aforementioned verification step consisting in:
- the value of the selection parameter (s) determines the type of action chosen and conditions the number and type of information parameters that must be specified for the query to be complete, that is to say that the action can be performed.
- These mandatory information parameters are automatically designated according to the type of action chosen.
- the action attributed to the particular combination obtained from the values assigned to each selection parameter and to each mandatory information parameter is finally executed by the configurable system.
- the selection parameter (s) can be entered by voice or other, the information parameter (s) also.
- the aforementioned verification step consists, when there remains at least one selection parameter with voice input without assigned value, that is to say if there remains a selection of type of action to be performed, to be invited the user to state an additional request and resume the process from the reception and processing step mentioned above.
- the processing of an additional request can be followed by a step consisting, for any recognized group associated with an admissible value assigned to a parameter with voice input to which a value is already assigned, to check with the user if he wishes to assign a new value to said parameter and, if so, to assign said parameter to said admissible value, if not, to leave said parameter unchanged.
- Some parameters which are not with voice input can be parameter with alphanumeric input.
- a telephone server one may also want to allow the transmission of certain parameters, not using the speech signal, but by exploiting the frequencies of the signal emitted using the keys of a telephone handset when this authorizes use in voice frequency mode (in English: Dual Tone Multiple Frequency).
- the parameters can also include at least one alphanumeric input parameter or one input parameter in voice frequency mode, the method comprising at least one step of receiving alphanumeric data, respectively one step of receiving signal in voice frequency mode, and at least one step of assigning a value to said or one of said alphanumeric parameter (s) as a function of said received alphanumeric data, respectively a step of assigning a value to said parameter input in voice frequency mode according to the alphanumeric data received in this mode.
- Such alphanumeric or voice frequency data can be entered via a touch-tone telephone or a system keyboard, for example in the case of a train ticket vending machine located in a station.
- a parameter can also be transmitted, either by voice input, or by input in voice frequency mode.
- said requests can be received via a data transmission network, for example a public or private telecommunications network or a data bus internal to a system.
- the user is invited to state said requests by sending a spoken message to said user via said data transmission network.
- the system controlled by the method for example, a telephone server, detects if a request expressed by a user is incomplete and automatically decides to organize a question / answer exchange to supplement the information.
- each invitation to state a complementary request is formulated as a function of the parameter (s) for voice input or for input in voice frequency mode with no value assigned.
- the use of the method by a novice user that is to say who initially had no idea of the data to be provided, is without difficulty, the method making it possible to guide the user parameter by parameter according to the data that 'he did not provide, so complete the request.
- a real dialogue is established between the user and the system. The latter is able to check whether the information given by the user is incomplete or inaccurate.
- the method according to the invention makes it possible to propose, with a single system and without involving several distinct interfaces, an experienced mode of use, employed by a user knowing in advance all the data expected by the system and providing all these data from the initial request, and a novice mode of use, employed by a user supplying the data one by one as they are requested, as well as all the possible intermediaries between these two modes.
- the transition between these different modes of use is automatic, transparent and continuous.
- the method according to the invention can, if necessary, also include the steps consisting in inviting the user to provide an identifier, in verifying the authenticity of said identifier, and in inviting the user to state said initial request only if the identifier is recognized as authentic.
- the security of the system is improved, for example when it allows the consultation of confidential data.
- the actions executed can be of any type, for example, the transmission of a message to the user, for example an information message, the sending of an order purchase, sale, reservation, appropriate service, etc.
- the configurable system controlled by the method can itself be a control system for a second system, for example a machine, an automaton or a vehicle, and the actions executed are the sending of corresponding commands.
- the subject of the invention is also a configurable voice-controlled system, characterized in that it comprises:
- an execution means able to execute distinct actions as a function of the values taken by parameters comprising several parameters with voice input
- a signal production means capable of producing, for a user, at least one invitation signal to say an initial request and at least one invitation signal to say an additional request
- a voice signal reception means able to receive at least one voice signal from said user
- a storage means in which are stored a set of groupings of words forming the expressions recognizable by said system, that is to say a dictionary of the system, and predetermined admissible values assigned to said voice input parameters, at least one admissible value being assigned to each of said voice input parameters, at least one of said groupings of words being associated with each of said admissible values,
- control unit capable of carrying out the operations consisting in: commanding said signal production means to produce, for a user, a signal for invitation to say an initial request,
- said automatic speech recognition engine to process a spoken request received by the voice signal reception means, so as to recognize the presence in said request of one or more of said groupings of words, - for each group of words recognized and associated with an admissible value assigned to one of said parameters with voice input, assign said admissible value to said parameter,
- said parameters consist of one or more selection parameter (s) and one or more information parameter (s), the above-mentioned verification operation consisting in:
- the aforementioned verification operation consists, when there remains at least one selection parameter for voice input, or for input in voice frequency mode, with no assigned value, to control said signal production means to produce, at destination said user, an invitation signal to say a complementary request, and resume the above operations from the automatic speech recognition operation.
- said control unit controls said signal production means to produce, for said user, an invitation signal confirming that a new admissible value must be assigned to said parameter, said control unit being capable of receiving, via said voice signal reception means, a positive or negative response signal and, if so, assign said admissible value to said parameter, if not, to leave said parameter unchanged.
- said signal production means can comprise a voice signal production means connected to a telecommunications network.
- said set of groupings of words recognizable by said system and said admissible values assigned to said voice input parameters can be organized in a dictionary comprising means for associating at least one of said groupings of words with each of said admissible values.
- a data structure may also be provided in the system, for example software belonging to the control unit, comprising a list of said parameters with voice input and a list of said admissible values, said data structure comprising means to assign each of said admissible values to one of said parameters.
- the invention also provides a computer program containing instruction codes suitable for being read or stored on a medium, said codes being executable by a computer provided with signal reception means capable of receiving at least one voice signal. to execute distinct actions as a function of the values taken by several parameters comprising several parameters with voice input, at least one predetermined admissible value being assigned to each of said parameters with voice input, characterized in that said codes are executable to execute the operations consisting at :
- the use time of such a computer program is generally shorter than with a tree-like process, especially for an experienced user, since multiple assignments of parameters are possible for each request. This is advantageous for the reduction in communication costs which results for the user in the case of a telephone server.
- the number of tests to be carried out to reach a node is generally proportional to the sum of the numbers of possible values for each parameter upstream of this node, while this number of tests is generally proportional to the number of parameters according to the invention. Reducing the number of tests to perform compared to reduces the overhead required for program execution.
- the design of the program is modular, which increases its robustness. Thus, a test step on a parameter that would be deficient can be short-circuited by providing a corresponding response from the initial request, so that the system remains functional despite possible errors affecting certain modules. The reliability and robustness of the system vis-à-vis programming errors are therefore improved.
- the length of the program according to the invention is overall reduced compared to that of a program providing an equivalent service by a tree-like process. The risks of programming errors are reduced.
- said parameters consist of one or more selection parameter (s) and one or more information parameter (s), the above-mentioned verification operation consisting of: - first, checking whether at least one parameter remains selection without assigned value and, if not, designate a batch of mandatory information parameters according to the value assigned to said or each selection parameter, said batch comprising one, several or no information parameter (s), and verify if there remains, in said batch, at least one intelligence input parameter with voice input without assigned value, said action executed being attributed to the particular combination obtained from the values assigned to each selection parameter and to each mandatory information parameter.
- FIG. 1 is a diagram of a configurable system according to the invention
- FIG. 2 represents a part of a database of the system of FIG. 1,
- FIG. 3 symbolically represents part of a grammar of the system of FIG. 1
- FIG. 4 represents a part of a dictionary of the system of FIG. 1
- FIG. 5 is a general diagram of the operation of the system of FIG. 1,
- FIG. 6 is a detailed diagram of step VI of FIG. 5.
- FIG. 1 represents a stock market information system by telephone which comprises a computer voice server 1 comprising a central control unit 2, an interface module 3 connected to a telecommunications network 4 and storage means 5 comprising a central memory and a hard drive.
- the voice server 1 is connected by the telecommunications network 4 to the voice frequency telephone handset 6 of at least one user, preferably of course to a plurality of users' telephone handsets.
- the voice server 1 is also connected to a stock market information database 7, for example by the telecommunications network 4 or by other means not shown.
- the storage means 5 contain control software 8, an automatic speech recognition engine 9, a lexical database or dictionary 10, a database of parameters 11 and a voice simulation software 13. All of these elements are presented for example in the form of a plurality of data files, form part of the stock market information system and are configured to be used jointly by the server 1 to provide a stock market information service with voice control.
- the system allows a user equipped with the telephone 6 to orally formulate specific requests for information and to obtain, in response, the requested information.
- the server 1 is able to receive oral requests from the user and to send information messages to the user via the interface module 3, the network 4 and the telephone 6.
- the content information messages is automatically adapted according to a plurality of system parameters.
- These parameters include a plurality of parameters with voice input that the system is able to position according to the oral requests received from the user and, optionally, one or more parameters with digital input in voice frequency mode, that the system is able to position. according to digital data sent by the user via the keyboard 12 of his telephone 6 to voice frequency.
- the system parameters are in predetermined number and include at least one selection parameter and at least one information parameter, both of which can be entered by voice or numerically. In the mode of very simple embodiment considered below, the system parameters include a PSI selection parameter and two information parameters PR1 and PR2, all with voice input.
- the parameter base 11 has two columns: column 14 contains a list of all the predetermined admissible values assigned to each of the parameters with voice input; column 15 contains, opposite each admissible value in column 14, the name of the parameter to which this value is assigned.
- the parameter base 11 therefore makes it possible to assign each admissible value to a predetermined parameter.
- the PSI parameter has two predetermined admissible values: PORTFOLIO and INFORMATION.
- Parameter PR1 has two predetermined admissible values: TITLE1 and TITLE2.
- Parameter PR2 has two predetermined admissible values: COURSE and VARIATION.
- the system is capable of providing two types of service to the user: a consultation service for his personal portfolio for which no option is available and an information service for two distinct stock titles TITLE 1 and TITLE2. For each stock security, the system can provide the user with data on the current price or data on its variation.
- the dictionary 10 includes means for defining all of the statements that the voice recognition engine 9 of the system is able to interpret.
- the dictionary 10 contains a list of lexical entries 16 which contains all the keywords that the system recognizes.
- Figure 4 contains part of this list, with the lexical entries INFORMATION, PORTFOLIO and ACCOUNT.
- the dictionary 10 also contains a list 17 of phonetizations, that is to say of predetermined groupings of one or more phonemes, forming all the expressions recognizable by the system.
- Each phonetization is a sequence of elementary sounds, comprising one or more syllables, associated with one of the keywords from list 16.
- the dictionary 10 also includes a list of return values 18 comprising all the predetermined admissible values of each of the parameters with voice input, as well as empty values. A single return value from list 17 is associated with each keyword from list 16.
- the dictionary 10 thus makes it possible to associate at least one phonetization with each admissible value of each parameter with voice input.
- the dictionary 10 also contains blocks of keywords.
- a block of keywords is a set of one or more keyword (s) associated respectively with one or more admissible value (s) of the same parameter. There is at least one such block per parameter with voice input.
- block 19 is associated with the PSI parameter since it contains the key words PORTFOLIO and ACCOUNT; block 20 is also associated with the PSI parameter.
- Block 21 is associated with parameter PR2 since it contains the keywords COURSE and VARIATION.
- Block 22 is associated with parameter PR1 since it contains the keywords TITRE1 and TITRE2.
- Certain blocks, for example block 23, contain keywords which are not significant with respect to the parameters with voice input and are not associated with any parameter. Thus, the return values of the keywords HELLO and PLEASE are empty.
- the dictionary 10 also contains means defining the grammar of the voice command system.
- the grammar is a list of all the block sequences forming statements admissible by the system. It is shown diagrammatically by the arrows connecting the blocks to each other in FIG. 3, for example the arrow 24.
- the dictionary 10 comprising the list 17 of the recognizable phonetizations, the list 16 of keywords, the list 18 of the return values, the definition of blocks and definition of grammar of association of the blocks finally makes it possible to define all the vocal utterances that the system is capable of interpreting.
- the dictionary 10 is used by the automatic speech recognition engine 9 in the following manner: when the server 1 receives a voice signal by the interface module 3, it compares this voice signal with the predetermined groupings of the list 17. S 'it does not recognize anything at the start of the signal, it does not take account of the start of the signal until it recognizes, for example by a statistical analysis, a first phonetization associated with a first keyword of the list 16. The procedure is then repeated with the continuation of the voice signal, phonetization by phonetization, until all the predetermined phonetizations present in the voice signal and all the corresponding keywords are identified.
- the voice signal corresponds to the statement: “Hello, I want to consult my portfolio. »Engine 9 identifies the keywords HELLO, I WANT, CONSULT and PORTFOLIO. Note that the statement: "Hello, I want to consult my account" produces the same result.
- the engine 9 searches for the first keyword recognized HELLO among the blocks linked to the initial block 25. If it does not find it, it searches for this first word- key in the blocks connected to the blocks where the search has already taken place, and so on until it finds the first keyword, that is to say in block 23 in the example shown. Then it searches for the second recognized keyword I WANT in the blocks linked to block 23, then, if it does not find it, in the blocks linked to them, and so on until reaching the block output 28.
- the sequence of recognized keywords corresponds to the sequence of blocks 23-26-27-19. Then, the block sequence having been recognized, the search engine 9 returns the return value associated with each of the recognized keywords, that is to say in the present case, the return values: empty, empty, empty, PORTFOLIO.
- the user establishes a telephone contact with the server 1, as represented by the arrow 29.
- the system sends the user a self-identification signal 32, for example a spoken message produced by the voice simulator 13 or a bell.
- the user enters on the keyboard 12 a personal identification code 34.
- the server compares the personal code 34 with a predetermined list of codes of the users subscribed to the service, so as to check the user's right of access to the service. If the personal code 34 is not recognized, the invitation to identify signal 32 is sent again. If the personal code 34 is recognized, the server 1 sends the user a signal 36 of invitation to say an initial request in step 35, for example a spoken message.
- step 37 the server 1 receives via the network 4 and processes the request 39 by the automatic speech recognition engine 9, by the method of the aforementioned automatic speech recognition.
- the motor 9 returns to the control program 8 all the return values of the keywords of the recognized statement.
- the central processing unit 2 identifies each voice input parameter to which a return value is assigned and assigns each return value to the parameter to which it is assigned. Then the control unit checks whether a value is assigned to the PSI selection parameter. Otherwise, as indicated by arrow 55, the system returns to step 35.
- step 37 leads to the assignment of the value PORTFOLIO to the selection variable PSI.
- Each admissible value of the selection variable PSI is associated with a predefined batch of mandatory information parameters.
- For the PORTFOLIO value this batch is empty.
- For the INFORMATION value this batch contains the parameters PR1 and PR2.
- the control unit checks whether there remains a mandatory information parameter with no assigned value. In the present case, there is none and the request is therefore recognized as complete.
- step 41 the system performs the action assigned to the PORTFOLIO value of the PSI parameter, that is to say that it sends the user a message 56 containing data on his portfolio. action. Then the server returns to step 35 to allow the user to make another service request.
- step 37 results in the assignment of the value INFORMATION to the selection parameter PSI and assigning the value TITLE 1 to the information parameter PR1.
- the control unit checks whether there remains a mandatory information parameter with no assigned value. If so, as in this example, we check if it is the parameter PR1 in step 43. If not, as in this example, we check if it is the parameter PR2 in step 44 If so, as in this example, in step 45, the server 1 sends the user an invitation signal 46 to formulate an additional request to specify whether he wishes to know the course of the action TITLE 1 or its variation.
- the user responds with the statement of an additional request 48 which is processed by the voice recognition engine 9 in the same way as the initial request 39, in step 47. If the engine 9 does not return any return value , the additional request 48 has not been understood and the invitation signal 46 is returned, as indicated by the arrow 49. If the return values include the admissible value VARIATION or COURSE, this value is assigned to the parameter PR2. If the return values produced by the additional request 48 are assigned to parameters which already have an assigned value, the values of these parameters are modified accordingly.
- the value PORTFOLIO is assigned to the PSI parameter and the system goes to the aforementioned step 40, as indicated by the arrow 51.
- step 47 the system returns to step 42 in which it is verified that the mandatory information parameters are all assigned.
- the request is then recognized as complete.
- step 53 the system then goes to step 53 for executing the action corresponding to the combination obtained from the parameters PSI, PR1 and PR2, that is to say that it sends to the user an information message concerning the variation of the Titrel share price.
- the server 1 retrieves the corresponding information from the stock market information database 7, as indicated by the arrows 54.
- step 43 If in step 43, it is determined that it is the mandatory information parameter PR1 which remains without assigned value, in step 145, the server 1 sends the user an invitation signal to formulate an additional request for specify what is the name of the action on which he wants information.
- the user responds with the statement of an additional request which is processed by the voice recognition engine 9 in step 147. If the engine 9 does not return any return value, the additional request has not been understood and the invitation signal is returned, as indicated by the arrow 149. Steps 47 and 147 can be confused with step 37.
- step 50 visible in FIG. 6, in which it is checked whether the return values produced by the complementary request 48 are assigned to parameters already having an assigned value, for example the parameter PSI .
- the server 1 sends an invitation message to confirm that the service selection must be modified.
- the user sends a positive or negative confirmation signal, for example by the keyboard 12 or by answering "yes" or "no". If so, as indicated by arrow 51, the value PORTFOLIO is assigned to the parameter PSI and the system goes to step 40 above. If not, the system returns to step 42.
- the steps and means for automatic speech recognition can be generalized to the recognition of shapes, characters or character strings.
- the parameters with voice input can be generalized corresponding to parameters with graphic, text or alphanumeric input.
- a request can be generalized to a set of graphic, textual or alphanumeric data sent by the user and received by the system according to the invention by any suitable means, such as a textual or graphic interface.
- the dictionary can be generalized, within the meaning of the invention, to a set of predetermined groupings of graphic, textual or alphanumeric data recognizable by the system according to the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
PROCEDE ET SYSTEME D ENTREE VOCALE DE DONNEES DANS UN FORMULAIRE METHOD AND SYSTEM FOR VOICE ENTRY OF DATA INTO A FORM
La présente invention concerne un procédé de commande vocale, un système paramétrable, c'est-à-dire un système apte à exécuter des actions distinctes en fonction des valeurs prises par plusieurs paramètres, à commande vocale, et un programme d'ordinateur pour exécuter des actions distinctes en fonction des valeurs prises par plusieurs paramètres. Notamment, l'invention concerne tout dispositif autorisant la mise en œuvre d'une commande vocale d'ordinateur afin d'exécuter des actions dans les conditions ci-dessous exposées. Les serveurs téléphoniques constituent un exemple fréquent de tels dispositifs, mais l'invention concerne également des moyens qui n'imposent pas l'usage d'un réseau téléphonique public ou privé pour acheminer un signal de parole vers un ordinateur exécutant les actions. On connaît des systèmes paramétrables à commande vocale comme des serveurs téléphoniques, par exemple dans le domaine des transport. Un tel système est apte à exécuter des actions multiples, par exemple réserver des billets, communiquer des horaires ou des renseignements pratiques, annuler une réservation, sous la commande d'un interlocuteur téléphonique. Un procédé de commande doit être mis en œuvre pour permettre d'affecter correctement des valeurs aux différents paramètres définissant l'action souhaitée par l'interlocuteur. Par exemple, pour la réservation d'un billet de train, l'automate doit être capable d'affecter des valeurs aux paramètres consistant en la ville de départ, la ville de destination, la date du trajet, l'heure de départ, la classe, etc. Dans les procédés connus, le questionnement par l'automate de l'utilisateur s'effectue selon une arborescence prédéterminée. L'utilisateur est contraint de suivre un cheminement, défini lors de la conception du serveur. Schématiquement, l'utilisateur doit se déplacer sur un arbre, au sens mathématique du terme. Chaque question du serveur est un nœud sur lequel sont reliés un certains nombres de branches correspondant aux réponses admissibles pour la question posée. Par exemple, l'automate demande d'abord la ville de départ, il traite la réponse de l'utilisateur par une méthode de reconnaissance vocale et, s'il ne reconnaît pas un lieu de départ valide dans la réponse, il lui repose la même question, sinon, il passe à la question suivante portant, par exemple, sur la destination. Le serveur impose ainsi son propre cheminement logique à l'utilisateur. Le processus continue jusqu'à l'arrivée sur une feuille de l'arbre, c'est-à-dire un nœud auquel aucune branche n'est accrochée. Un tel procédé arborescent présente des inconvénients : il présente une ergonomie contraignante puisque l'utilisateur doit se plier à un ordre des données qui lui imposé par le serveur, même s'il raisonne naturellement suivant un ordre différent. L'utilisateur doit fournir une par une les données, même s'il les a toutes en tête, ce qui n'est pas optimal du point de vue du temps d'utilisation total pour obtenir une action précise. De plus, l'utilisateur ne peut pas changer d'idée ou de besoin en cours de processus et il lui est impossible de modifier totalement ou partiellement ses commandes, à moins que cette possibilité ait été totalement prévue dès la conception originale et soit proposée au choix de l'utilisateur.The present invention relates to a voice command method, a configurable system, that is to say a system capable of performing distinct actions according to the values taken by several parameters, with voice command, and a computer program for executing distinct actions depending on the values taken by several parameters. In particular, the invention relates to any device authorizing the implementation of a computer voice command in order to execute actions under the conditions set out below. Telephone servers are a frequent example of such devices, but the invention also relates to means which do not impose the use of a public or private telephone network to route a speech signal to a computer executing the actions. There are known configurable voice control systems such as telephone servers, for example in the transport sector. Such a system is capable of performing multiple actions, for example reserving tickets, communicating timetables or practical information, canceling a reservation, under the command of a telephone contact. A control process must be implemented in order to correctly assign values to the various parameters defining the action desired by the interlocutor. For example, when booking a train ticket, the machine must be able to assign values to the parameters consisting of the city of departure, the city of destination, the date of the journey, the time of departure, the class, etc. In known methods, questioning by the user's automaton takes place according to a predetermined tree structure. The user is forced to follow a path, defined during the design of the server. Schematically, the user must move on a tree, in the mathematical sense of the term. Each question of the server is a node on which are linked a certain number of branches corresponding to the admissible answers for the question asked. For example, the machine first requests the city of departure, it processes the user's response using a voice recognition method and, if it does not recognize a valid departure location in the response, it restores the same question, if not, it goes to the next question relating, for example, to the destination. The server thus imposes its own logical path on the user. The process continues until the arrival on a leaf of the tree, that is to say a node to which no branch is attached. Such a tree-like process has drawbacks: it has restrictive ergonomics since the user must comply with a data order imposed on him by the server, even if he reasons naturally in a different order. The user must provide the data one by one, even if he has all of them in mind, which is not optimal from the point of view of the total time of use to obtain a precise action. In addition, the user cannot change his idea or need during the process and it is impossible for him to totally or partially modify his orders, unless this possibility was fully provided for from the original design and is offered to the user choice.
La conception, le développement et la mise en œuvre d'un procédé arborescent nécessitent une phase de conception généralement méticuleuse et lourde, l'étude de tous les cas de figures étant très longue du fait de l'explosion combinatoire du nombre de cas de figures en fonction du nombre de paramètres impliqués. Cette phase est suivie, dans le cas d'une application riche, de l'écriture d'un logiciel volumineux, dans lequel toutes les questions sont posées, dans lequel les boucles d'épreuve sur les réponses à chaque question successive dépendent les unes des autres et dans lequel sont écrits tous les cheminements possibles, c'est-à-dire toutes les combinaisons de réponses admissibles possibles. Le système est vulnérable à une erreur de programmation du fait de la longueur du code et qu'une défaillance d'une opération dans le logiciel au niveau d'un nœud de l'arborescence entraîne une défaillance globale de toutes les fonctions du système associées à toutes les branches issues de ce nœud.The design, development and implementation of a tree-like process requires a generally meticulous and cumbersome design phase, the study of all cases being very long due to the combinatorial explosion of the number of cases depending on the number of parameters involved. This phase is followed, in the case of a rich application, by the writing of a voluminous software, in which all the questions are asked, in which the test loops on the answers to each successive question depend on the others and in which all the possible paths are written, that is to say all the combinations of possible admissible responses. The system is vulnerable to a programming error due to the length of the code and that a failure of an operation in the software at a node in the tree structure results in an overall failure of all the system functions associated with all the branches from this node.
La présente invention a pour but de permettre la commande vocale d'un système paramétrable en résolvant les inconvénients précités.The object of the present invention is to allow voice control of a configurable system while solving the aforementioned drawbacks.
Pour cela, l'invention propose un procédé de commande vocale pour commander un système paramétrable apte à exécuter des actions distinctes en fonction des valeurs prises par des paramètres comprenant plusieurs paramètres à saisie vocale, au moins une et, de préférence, plusieurs valeur(s) admissible(s) prédéterminée(s) étant attribuée(s) à chacun desdits paramètres à saisie vocale, caractérisé par le fait qu'il comporte les étapes consistant à : - inviter un utilisateur à énoncer une requête initiale,For this, the invention proposes a voice command method for controlling a configurable system capable of performing distinct actions as a function of the values taken by parameters. comprising several voice input parameters, at least one and, preferably, several predetermined admissible value (s) being assigned to each of said voice input parameters, characterized in that it comprises the steps consisting in: - inviting a user to state an initial request,
- recevoir et traiter ladite requête par une méthode de reconnaissance automatique de la parole de manière à reconnaître la présence dans ladite requête d'un ou plusieurs groupe(s) de mots appartenant à un ensemble prédéterminé de groupements distincts de mots, c'est-à-dire à un dictionnaire, lesdits groupements formant les expressions reconnaissables, au moins un desdits groupements étant associé à chacune desdites valeurs admissibles,receive and process said request by an automatic speech recognition method so as to recognize the presence in said request of one or more group (s) of words belonging to a predetermined set of distinct groupings of words, ie that is to say to a dictionary, said groupings forming recognizable expressions, at least one of said groupings being associated with each of said admissible values,
- pour chaque groupement reconnu dans ladite requête et associé à une valeur admissible attribuée à un desdits paramètres à saisie vocale, affecter ladite valeur admissible audit paramètre,- for each group recognized in said request and associated with an admissible value assigned to one of said parameters with voice input, assign said admissible value to said parameter,
- vérifier s'il reste au moins un paramètre à saisie vocale sans valeur affectée, c'est-à-dire si la requête est incomplète,- check if there is at least one voice input parameter with no assigned value, i.e. if the request is incomplete,
- dans l'affirmative, inviter l'utilisateur à énoncer une requête complémentaire et reprendre le procédé à partir de l'étape de réception et de traitement susmentionnée,- if so, invite the user to state an additional request and resume the process from the aforementioned reception and processing step,
- dans la négative, lorsque la requête est complète, commander l'exécution par ledit système paramétrable d'une action attribuée à la combinaison particulière obtenue des valeurs affectées à chaque paramètre. Au sens de l'invention, un groupement de mots consiste en un ou plusieurs mots reconnu(s) comme formant un tout par le moteur de reconnaissance de la parole.- if not, when the request is complete, order the execution by said configurable system of an action attributed to the particular combination obtained from the values assigned to each parameter. Within the meaning of the invention, a grouping of words consists of one or more words recognized as forming a whole by the speech recognition engine.
Un tel procédé permet la commande du système paramétrable en langage naturel. En effet, l'ordre des affectations de paramètre n'est pas imposé à l'utilisateur. Celui-ci peut énoncer une requête complète en une seule fois, s'il est expérimenté avec le procédé ou la compléter en plusieurs fois. A chaque requête complémentaire, il peut fournir une ou plusieurs données qui sont toutes prises en compte. Le temps de traitement pour obtenir une action est donc diminué. L'utilisateur peut choisir l'ordre d'énonciation des informations qui lui est naturel, ce qui accroît l'ergonomie. Le cheminement n'est plus arborescent mais réticulaire, un cheminement trans verse ou un saut vers n'importe quelle étape d'affectation de paramètre étant possible à tout moment. Le nombre total de paramètres à affecter pour obtenir une requête complète peut être prédéterminé initialement, par exemple lorsqu'un seul type d'action est prévu, ou peut être déterminé en cours de procédé, en fonction des valeurs d'une partie des paramètres.Such a method allows the control of the configurable system in natural language. In fact, the order of the parameter assignments is not imposed on the user. The latter can state a complete request at once, if he is experienced with the process or complete it several times. For each additional request, it can provide one or more data which are all taken into account. The processing time to obtain an action is therefore reduced. The user can choose the order of information that is natural to him, which improves ergonomics. The journey is no longer tree-like but reticular, a transverse path or a jump to any step of parameter assignment being possible at any time. The total number of parameters to be assigned to obtain a complete request can be predetermined initially, for example when only one type of action is planned, or can be determined during the process, depending on the values of a part of the parameters.
De préférence, lesdits paramètres consistent en un ou plusieurs paramètre(s) de sélection, permettant de sélectionner un type d'action à exécuter parmi plusieurs, et un ou plusieurs paramètre(s) de renseignement, permettant de préciser l'action à exécuter au sein d'un type d'action donné, l'étape de vérification susmentionnée consistant à :Preferably, said parameters consist of one or more selection parameter (s), making it possible to select a type of action to be executed from among several, and one or more information parameter (s), making it possible to specify the action to be executed at Within a given type of action, the aforementioned verification step consisting in:
- d'abord, vérifier s'il reste au moins un paramètre de sélection sans valeur affectée et, dans la négative, désigner un lot de paramètres de renseignement obligatoires en fonction de la valeur affectée audit ou à chaque paramètre de sélection, ledit lot comportant un, plusieurs ou aucun paramètre(s) de renseignement, et vérifier s'il reste, dans ledit lot, au moins un paramètre de renseignement à saisie vocale sans valeur affectée. Dans ce cas, la valeur du ou des paramètres de sélection détermine le type d'action choisi et conditionne le nombre et le type de paramètres de renseignements devant obligatoirement être précisés pour que la requête soit complète, c'est-à-dire que l'action puisse être exécutée. Ces paramètres de renseignements obligatoires sont automatiquement désignés en fonction du type d'action choisi. L'action attribuée à la combinaison particulière obtenue des valeurs affectées à chaque paramètre de sélection et à chaque paramètre de renseignement obligatoire est finalement exécutée par le système paramétrable. Le ou les paramètres de sélection peuvent être à saisie vocale ou autre, le ou les paramètres de renseignement aussi.- first, check whether there is at least one selection parameter with no assigned value and, if not, designate a batch of mandatory information parameters according to the value assigned to said audit or to each selection parameter, said batch comprising one, several or no information parameter (s), and check whether there remains, in said batch, at least one information parameter with voice input without assigned value. In this case, the value of the selection parameter (s) determines the type of action chosen and conditions the number and type of information parameters that must be specified for the query to be complete, that is to say that the action can be performed. These mandatory information parameters are automatically designated according to the type of action chosen. The action attributed to the particular combination obtained from the values assigned to each selection parameter and to each mandatory information parameter is finally executed by the configurable system. The selection parameter (s) can be entered by voice or other, the information parameter (s) also.
Avantageusement, l'étape de vérification susmentionnée consiste, lorsqu'il reste au moins un paramètre de sélection à saisie vocale sans valeur affectée, c'est-à-dire s'il reste une sélection de type d'action à faire, à inviter l'utilisateur à énoncer une requête complémentaire et reprendre le procédé à partir de l'étape de réception et de traitement susmentionnée. Selon un mode de réalisation particulier de l'invention, le traitement d'une requête complémentaire peut être suivi d'une étape consistant, pour tout groupement reconnu associé à une valeur admissible attribuée à un paramètre à saisie vocale auquel une valeur est déjà affectée, à vérifier auprès de l'utilisateur s'il souhaite affecter une nouvelle valeur audit paramètre et, dans l'affirmative, à affecter audit paramètre ladite valeur admissible, dans la négative, à laisser ledit paramètre inchangé. Ainsi, si l'utilisateur revient sur son choix, il peut corriger les valeurs de paramètres déjà affectées, mais il ne risque pas de le faire par erreur. Une telle étape de vérification est plus légère à mettre en œuvre dans le cadre du procédé de l'invention que dans le cadre d'un procédé arborescent.Advantageously, the aforementioned verification step consists, when there remains at least one selection parameter with voice input without assigned value, that is to say if there remains a selection of type of action to be performed, to be invited the user to state an additional request and resume the process from the reception and processing step mentioned above. According to a particular embodiment of the invention, the processing of an additional request can be followed by a step consisting, for any recognized group associated with an admissible value assigned to a parameter with voice input to which a value is already assigned, to check with the user if he wishes to assign a new value to said parameter and, if so, to assign said parameter to said admissible value, if not, to leave said parameter unchanged. Thus, if the user goes back on his choice, he can correct the parameter values already assigned, but he is not likely to do so by mistake. Such a verification step is lighter to implement in the context of the method of the invention than in the context of a tree-like method.
Certains paramètres qui ne sont pas à saisie vocale peuvent être paramètre à saisie alphanumérique. Par exemple, dans le cas d'un serveur téléphonique, on peut également vouloir permettre la transmission de certains paramètres, non à l'aide du signal de parole, mais en exploitant les fréquences du signal émis à l'aide des touches d'un combiné téléphonique lorsque celui-ci autorise un usage en mode fréquence vocale (en anglais : Dual Tone Multiple Frequency). Selon une caractéristique particulière de l'invention, les paramètres peuvent comprendre aussi au moins un paramètre à saisie alphanumérique ou un paramètre à saisie en mode fréquence vocale, le procédé comportant au moins une étape de réception de données alphanumériques, respectivement une étape de réception de signal en mode fréquence vocale, et au moins une étape d'affectation d'une valeur audit ou à un desdits paramètre(s) alphanumérique(s) en fonction desdites données alphanumériques reçues, respectivement une étape d'affectation d'une valeur audit paramètre à saisie en mode fréquence vocale en fonction des données alphanumériques reçues dans ce mode. De telles données alphanumériques ou en mode fréquence vocale peuvent être saisies par l'intermédiaire d'un téléphone à touche ou d'un clavier du système, par exemple dans le cas d'un distributeur de billets de train placé dans une gare. Un paramètre peut aussi être transmis, soit par saisie vocale, soit par saisie en mode fréquence vocale. Selon une autre caractéristique particulière de l'invention, lesdites requêtes peuvent être reçues par l'intermédiaire d'un réseau de transmission de données, par exemple un réseau de télécommunications public ou privé ou un bus de données interne à un système. Avantageusement dans ce cas, on invite l'utilisateur à énoncer lesdites requêtes en émettant un message parlé à destination dudit utilisateur par l'intermédiaire dudit réseau de transmission de données. Ainsi, le système commandé par le procédé, par exemple, un serveur téléphonique, détecte si une requête exprimée par un utilisateur est incomplète et décide automatiquement d'organiser un échange de questions/réponses pour compléter les informations.Some parameters which are not with voice input can be parameter with alphanumeric input. For example, in the case of a telephone server, one may also want to allow the transmission of certain parameters, not using the speech signal, but by exploiting the frequencies of the signal emitted using the keys of a telephone handset when this authorizes use in voice frequency mode (in English: Dual Tone Multiple Frequency). According to a particular characteristic of the invention, the parameters can also include at least one alphanumeric input parameter or one input parameter in voice frequency mode, the method comprising at least one step of receiving alphanumeric data, respectively one step of receiving signal in voice frequency mode, and at least one step of assigning a value to said or one of said alphanumeric parameter (s) as a function of said received alphanumeric data, respectively a step of assigning a value to said parameter input in voice frequency mode according to the alphanumeric data received in this mode. Such alphanumeric or voice frequency data can be entered via a touch-tone telephone or a system keyboard, for example in the case of a train ticket vending machine located in a station. A parameter can also be transmitted, either by voice input, or by input in voice frequency mode. According to another particular characteristic of the invention, said requests can be received via a data transmission network, for example a public or private telecommunications network or a data bus internal to a system. Advantageously in this case, the user is invited to state said requests by sending a spoken message to said user via said data transmission network. Thus, the system controlled by the method, for example, a telephone server, detects if a request expressed by a user is incomplete and automatically decides to organize a question / answer exchange to supplement the information.
De préférence, chaque invitation à énoncer une requête complémentaire est formulée en fonction du ou des paramètre(s) à saisie vocale ou à saisie en mode fréquence vocale sans valeur affectée. Ainsi l'utilisation du procédé par un utilisateur novice, c'est-à-dire qui n'aurait initialement aucune idée des données à fournir, est sans difficulté, le procédé permettant de guider l'utilisateur paramètre par paramètre en fonction des données qu'il n'a pas fournies, de façon à compléter la requête. Un véritable dialogue s'établit entre l'utilisateur et le système. Ce dernier est capable de vérifier si les informations données par l'utilisateur sont incomplètes ou inexactes. Ainsi, le procédé selon l'invention permet de proposer, avec un unique système et sans impliquer plusieurs interfaces distinctes, un mode d'utilisation expérimenté, employé par un utilisateur connaissant à l'avance toutes les données attendues par le système et fournissant toutes ces données dès la requête initiale, et un mode d'utilisation novice, employé par un utilisateur fournissant les données une par une à mesure qu'elles lui sont demandées, ainsi que tous les intermédiaires possibles entre ces deux modes. La transition entre ces différents modes d'utilisation est automatique, transparente et continue.Preferably, each invitation to state a complementary request is formulated as a function of the parameter (s) for voice input or for input in voice frequency mode with no value assigned. Thus the use of the method by a novice user, that is to say who initially had no idea of the data to be provided, is without difficulty, the method making it possible to guide the user parameter by parameter according to the data that 'he did not provide, so complete the request. A real dialogue is established between the user and the system. The latter is able to check whether the information given by the user is incomplete or inaccurate. Thus, the method according to the invention makes it possible to propose, with a single system and without involving several distinct interfaces, an experienced mode of use, employed by a user knowing in advance all the data expected by the system and providing all these data from the initial request, and a novice mode of use, employed by a user supplying the data one by one as they are requested, as well as all the possible intermediaries between these two modes. The transition between these different modes of use is automatic, transparent and continuous.
Avantageusement, le procédé selon l'invention peut, au besoin, comporter aussi les étapes consistant à inviter l'utilisateur à fournir un identifiant, à vérifier l'authenticité dudit identifiant, et à n'inviter l'utilisateur à énoncer ladite requête initiale que si l'identifiant est reconnu authentique. Ainsi, la sûreté du système est améliorée, par exemple lorsqu'il permet la consultation de données confidentielles. Au sens de l'invention, les actions exécutées peuvent être de tout type, par exemple, l'émission d'un message à destination de l'utilisateur, par exemple un message d'information, l'envoi d'un ordre d'achat, de vente, de réservation, à un service approprié, etc. Le système paramétrable commandé par le procédé peut être lui-même un système de commande d'un deuxième système, par exemple une machine, un automate ou un véhicule, et les actions exécutées être l'envoi de commandes correspondantes.Advantageously, the method according to the invention can, if necessary, also include the steps consisting in inviting the user to provide an identifier, in verifying the authenticity of said identifier, and in inviting the user to state said initial request only if the identifier is recognized as authentic. Thus, the security of the system is improved, for example when it allows the consultation of confidential data. Within the meaning of the invention, the actions executed can be of any type, for example, the transmission of a message to the user, for example an information message, the sending of an order purchase, sale, reservation, appropriate service, etc. The configurable system controlled by the method can itself be a control system for a second system, for example a machine, an automaton or a vehicle, and the actions executed are the sending of corresponding commands.
L'invention a aussi pour objet un système paramétrable à commande vocale, caractérisé par le fait qu'il comporte :The subject of the invention is also a configurable voice-controlled system, characterized in that it comprises:
- un moyen d'exécution apte à exécuter des actions distinctes en fonction des valeurs prises par des paramètres comprenant plusieurs paramètres à saisie vocale,an execution means able to execute distinct actions as a function of the values taken by parameters comprising several parameters with voice input,
- un moyen de production de signal apte à produire, à destination d'un utilisateur, au moins un signal d'invitation à énoncer une requête initiale et au moins un signal d'invitation à énoncer une requête complémentaire,a signal production means capable of producing, for a user, at least one invitation signal to say an initial request and at least one invitation signal to say an additional request,
- un moyen de réception de signal vocal apte à recevoir au moins un signal vocal dudit utilisateur, - un moyen de stockage dans lequel sont stockés un ensemble de groupements de mots formant les expressions reconnaissables par ledit système, c'est-à-dire un dictionnaire du système, et des valeurs admissibles prédéterminées attribuées auxdits paramètres à saisie vocale, au moins une valeur admissible étant attribuée à chacun desdits paramètres à saisie vocale, au moins un desdits groupements de mots étant associé à chacune desdites valeurs admissibles,- a voice signal reception means able to receive at least one voice signal from said user, - a storage means in which are stored a set of groupings of words forming the expressions recognizable by said system, that is to say a dictionary of the system, and predetermined admissible values assigned to said voice input parameters, at least one admissible value being assigned to each of said voice input parameters, at least one of said groupings of words being associated with each of said admissible values,
- un moteur de reconnaissance automatique de la parole apte à traiter ledit signal vocal,- an automatic speech recognition engine capable of processing said voice signal,
- une unité de commande apte à exécuter les opérations consistant à : - commander ledit moyen de production de signal pour produire, à destination d'un utilisateur, un signal d'invitation à énoncer une requête initiale,a control unit capable of carrying out the operations consisting in: commanding said signal production means to produce, for a user, a signal for invitation to say an initial request,
- commander ledit moteur de reconnaissance automatique de la parole pour traiter une requête parlée reçue par le moyen de réception de signal vocal, de manière à reconnaître la présence dans ladite requête d'un ou plusieurs desdits groupements de mots, - pour chaque groupement de mots reconnu et associé à une valeur admissible attribuée à un desdits paramètres à saisie vocale, affecter ladite valeur admissible audit paramètre,- controlling said automatic speech recognition engine to process a spoken request received by the voice signal reception means, so as to recognize the presence in said request of one or more of said groupings of words, - for each group of words recognized and associated with an admissible value assigned to one of said parameters with voice input, assign said admissible value to said parameter,
- vérifier s'il reste au moins un paramètre à saisie vocale sans valeur affectée, c'est-à-dire si la requête est incomplète,- check if there is at least one voice input parameter with no assigned value, i.e. if the request is incomplete,
- dans l'affirmative, commander ledit moyen de production de signal pour produire, à destination dudit utilisateur, un signal d'invitation à énoncer une requête complémentaire, et reprendre les opérations susmentionnées à partir de l'opération de reconnaissance automatique de la parole,- in the affirmative, order said signal production means to produce, for said user, an invitation signal to utter a supplementary request, and resume the abovementioned operations from the automatic speech recognition operation,
- dans la négative, si la requête est complète, commander ledit moyen d'exécution pour exécuter une action attribuée à la combinaison particulière obtenue des valeurs affectées à chaque paramètre.- if not, if the request is complete, order said means of execution to execute an action attributed to the particular combination obtained from the values assigned to each parameter.
Avantageusement, lesdits paramètres consistent en un ou plusieurs paramètre(s) de sélection et un ou plusieurs paramètre(s) de renseignement, l'opération de vérification susmentionnée consistant à :Advantageously, said parameters consist of one or more selection parameter (s) and one or more information parameter (s), the above-mentioned verification operation consisting in:
- d'abord, vérifier s'il reste au moins un paramètre de sélection sans valeur affectée et, dans la négative, désigner un lot de paramètres de renseignement obligatoires en fonction de la valeur affectée audit ou à chaque paramètre de sélection, ledit lot comportant un, plusieurs ou aucun paramètre(s) de renseignement, et vérifier s'il reste, dans ledit lot, au moins un paramètre de renseignement à saisie vocale sans valeur affectée, ladite action exécutée par le système paramétrable étant attribuée à la combinaison particulière obtenue des valeurs affectées à chaque paramètre de sélection et à chaque paramètre de renseignement obligatoire.- first, check whether there is at least one selection parameter with no assigned value and, if not, designate a batch of mandatory information parameters according to the value assigned to said audit or to each selection parameter, said batch comprising one, several or no information parameter (s), and check whether there remains, in said batch, at least one intelligence parameter with voice input without assigned value, said action executed by the configurable system being attributed to the particular combination obtained values assigned to each selection parameter and to each mandatory information parameter.
De préférence, l'opération de vérification susmentionnée consiste, lorsqu'il reste au moins un paramètre de sélection à saisie vocale, ou à saisie en mode fréquence vocale, sans valeur affectée, à commander ledit moyen de production de signal pour produire, à destination dudit utilisateur, un signal d'invitation à énoncer une requête complémentaire, et reprendre les opérations susmentionnées à partir de l'opération de reconnaissance automatique de la parole. Avantageusement, on peut prévoir que, lorsque ledit moteur de reconnaissance automatique de la parole reconnaît, dans une requête complémentaire, un groupement de mots associé à une valeur admissible attribuée à un paramètre à saisie vocale auquel une valeur est déjà affectée, ladite unité de commande commande ledit moyen de production de signal pour produire, à destination dudit utilisateur, un signal d'invitation à confirmer qu'une nouvelle valeur admissible doit être affectée audit paramètre, ladite unité de commande étant apte à recevoir, par l'intermédiaire dudit moyen de réception de signal vocal, un signal de réponse positif ou négatif et, dans l'affirmative, à affecter ladite valeur admissible audit paramètre, dans la négative, à laisser ledit paramètre inchangé.Preferably, the aforementioned verification operation consists, when there remains at least one selection parameter for voice input, or for input in voice frequency mode, with no assigned value, to control said signal production means to produce, at destination said user, an invitation signal to say a complementary request, and resume the above operations from the automatic speech recognition operation. Advantageously, it can be provided that, when said automatic speech recognition engine recognizes, in a additional request, a group of words associated with an admissible value assigned to a voice input parameter to which a value is already assigned, said control unit controls said signal production means to produce, for said user, an invitation signal confirming that a new admissible value must be assigned to said parameter, said control unit being capable of receiving, via said voice signal reception means, a positive or negative response signal and, if so, assign said admissible value to said parameter, if not, to leave said parameter unchanged.
Selon une caractéristique particulière de l'invention, ledit moyen de production de signal peut comporter un moyen de production de signal vocal relié à un réseau de télécommunications.According to a particular characteristic of the invention, said signal production means can comprise a voice signal production means connected to a telecommunications network.
De préférence, ledit ensemble de groupements de mots reconnaissables par ledit système et lesdites valeurs admissibles attribuées auxdits paramètres à saisie vocale peuvent être organisés dans un dictionnaire comportant des moyens pour associer au moins un desdits groupements de mots à chacune desdites valeurs admissibles.Preferably, said set of groupings of words recognizable by said system and said admissible values assigned to said voice input parameters can be organized in a dictionary comprising means for associating at least one of said groupings of words with each of said admissible values.
Avantageusement, il peut être en outre prévu dans le système une structure de données, par exemple un logiciel appartenant à l'unité de commande, comportant une liste desdits paramètres à saisie vocale et une liste desdites valeurs admissibles, ladite structure de données comportant des moyens pour attribuer chacune desdites valeurs admissibles à l'un desdits paramètres. L'invention fournit également un programme d'ordinateur contenant des codes d'instruction propres à être lus ou stockées sur un support, lesdits codes étant exécutables par un ordinateur muni d'un moyen de réception de signal apte à recevoir au moins un signal vocal pour exécuter des actions distinctes en fonction des valeurs prises par plusieurs paramètres comprenant plusieurs paramètres à saisie vocale, au moins une valeur admissible prédéterminée étant attribuée à chacun desdits paramètres à saisie vocale, caractérisé par le fait que lesdits codes sont exécutables pour exécuter les opérations consistant à :Advantageously, a data structure may also be provided in the system, for example software belonging to the control unit, comprising a list of said parameters with voice input and a list of said admissible values, said data structure comprising means to assign each of said admissible values to one of said parameters. The invention also provides a computer program containing instruction codes suitable for being read or stored on a medium, said codes being executable by a computer provided with signal reception means capable of receiving at least one voice signal. to execute distinct actions as a function of the values taken by several parameters comprising several parameters with voice input, at least one predetermined admissible value being assigned to each of said parameters with voice input, characterized in that said codes are executable to execute the operations consisting at :
- produire à destination d'un utilisateur un signal d'invitation à énoncer une requête initiale,- produce a signal inviting an user to state an initial request,
- recevoir ladite requête par ledit moyen de réception de signal et traiter ladite requête par une méthode de reconnaissance automatique de la parole de manière à reconnaître la présence dans ladite requête d'un ou plusieurs groupe(s) de mots appartenant à un ensemble prédéterminé de groupements distincts de mots, lesdits groupements formant les expressions reconnaissables par le système, au moins un desdits groupements étant associé à chacune desdites valeurs admissibles,- receive said request by said signal reception means and process said request by an automatic speech recognition method so as to recognize the presence in said request of one or more group (s) of words belonging to a predetermined set of distinct groups of words, said groupings forming the expressions recognizable by the system, at least one of said groupings being associated with each of said admissible values,
- pour chaque groupement reconnu dans ladite requête et associé à une valeur admissible attribuée à un desdits paramètres à saisie vocale, affecter ladite valeur admissible audit paramètre, - vérifier s'il reste au moins un paramètre à saisie vocale sans valeur affectée, c'est-à-dire si la requête est incomplète,- for each group recognized in said request and associated with an admissible value assigned to one of said voice input parameters, assign said admissible value to said parameter, - check if at least one voice input parameter remains without assigned value, this is ie if the request is incomplete,
- dans l'affirmative, inviter l'utilisateur à énoncer une requête complémentaire et reprendre les opération susmentionnées à partir de l'opération de réception et de traitement, - dans la négative, lorsque la requête est complète, exécuter une action attribuée à la combinaison particulière obtenue des valeurs affectées à chaque paramètre.- in the affirmative, invite the user to state an additional request and resume the above operations from the reception and processing operation, - if not, when the request is complete, execute an action attributed to the combination particular value obtained from the values assigned to each parameter.
Le temps d'utilisation d'un tel programme d'ordinateur est généralement plus court qu'avec un procédé arborescent, surtout pour un utilisateur expérimenté, dans la mesure où des affectations multiples de paramètres sont possibles à chaque requête. Ceci est avantageux pour la réduction de coûts de communication qui en découle pour l'utilisateur dans le cas d'un serveur téléphonique.The use time of such a computer program is generally shorter than with a tree-like process, especially for an experienced user, since multiple assignments of parameters are possible for each request. This is advantageous for the reduction in communication costs which results for the user in the case of a telephone server.
Dans le cas d'un programme fournissant une service équivalent par un procédé arborescent, le nombre de tests à effectuer pour atteindre un nœud est globalement proportionnel à la somme des nombres de valeurs possibles pour chaque paramètre en amont de ce nœud, tandis que ce nombre de tests est globalement proportionnel au nombre de paramètres selon l'invention. La réduction du nombre tests à effectuer par rapport au réduit le temps système requis par l'exécution du programme. La conception du programme est modulaire, ce qui accroît sa robustesse. Ainsi, une étape de test sur un paramètre qui serait déficiente peut être court-circuitée en fournissant une réponse correspondante dès la requête initiale, de sorte que le système reste fonctionnel malgré des erreurs éventuelles affectant certains modules. La fiabilité et la robustesse du système vis-à-vis des erreurs de programmation sont donc améliorées. De plus, la longueur du programme selon l'invention est globalement réduite par rapport à celle d'un programme fournissant une service équivalent par un procédé arborescent. Les risques d'erreur de programmation en sont diminués.In the case of a program providing an equivalent service by a tree-like process, the number of tests to be carried out to reach a node is generally proportional to the sum of the numbers of possible values for each parameter upstream of this node, while this number of tests is generally proportional to the number of parameters according to the invention. Reducing the number of tests to perform compared to reduces the overhead required for program execution. The design of the program is modular, which increases its robustness. Thus, a test step on a parameter that would be deficient can be short-circuited by providing a corresponding response from the initial request, so that the system remains functional despite possible errors affecting certain modules. The reliability and robustness of the system vis-à-vis programming errors are therefore improved. In addition, the length of the program according to the invention is overall reduced compared to that of a program providing an equivalent service by a tree-like process. The risks of programming errors are reduced.
De préférence, lesdits paramètres consistent en un ou plusieurs paramètre(s) de sélection et un ou plusieurs paramètre(s) de renseignement, l'opération de vérification susmentionnée consistant à : - d'abord, vérifier s'il reste au moins un paramètre de sélection sans valeur affectée et, dans la négative, désigner un lot de paramètres de renseignement obligatoires en fonction de la valeur affectée audit ou à chaque paramètre de sélection, ledit lot comportant un, plusieurs ou aucun paramètre(s) de renseignement, et vérifier s'il reste, dans ledit lot, au moins un paramètre de renseignement à saisie vocale sans valeur affectée, ladite action exécutée étant attribuée à la combinaison particulière obtenue des valeurs affectées à chaque paramètre de sélection et à chaque paramètre de renseignement obligatoire.Preferably, said parameters consist of one or more selection parameter (s) and one or more information parameter (s), the above-mentioned verification operation consisting of: - first, checking whether at least one parameter remains selection without assigned value and, if not, designate a batch of mandatory information parameters according to the value assigned to said or each selection parameter, said batch comprising one, several or no information parameter (s), and verify if there remains, in said batch, at least one intelligence input parameter with voice input without assigned value, said action executed being attributed to the particular combination obtained from the values assigned to each selection parameter and to each mandatory information parameter.
L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci apparaîtront plus clairement au cours de la description suivante d'un mode de réalisation particulier de l'invention, donné uniquement à titre illustratif et non limitatif, en référence au dessin annexé. Sur ce dessin :The invention will be better understood, and other objects, details, characteristics and advantages thereof will appear more clearly during the following description of a particular embodiment of the invention, given solely by way of illustration and not limiting, with reference to the attached drawing. On this drawing :
- la figure 1 est un schéma d'un système paramétrable selon l'invention,FIG. 1 is a diagram of a configurable system according to the invention,
- la figure 2 représente une partie d'une base de données du système de la figure 1,FIG. 2 represents a part of a database of the system of FIG. 1,
- la figure 3 représente symboliquement une partie d'une grammaire du système de la figure 1, - la figure 4 représente une partie d'un dictionnaire du système de la figure 1,FIG. 3 symbolically represents part of a grammar of the system of FIG. 1, FIG. 4 represents a part of a dictionary of the system of FIG. 1,
- la figure 5 est un schéma global de fonctionnement du système de la figure 1,FIG. 5 is a general diagram of the operation of the system of FIG. 1,
- la figure 6 est un schéma détaillé de l'étape VI de la figure 5. La figure 1 représente un système d'information boursière par téléphone qui comprend un serveur vocal informatique 1 comportant une unité centrale de commande 2, un module d'interface 3 relié à un réseau de télécommunications 4 et des moyens de stockage 5 comprenant une mémoire centrale et un disque dur. Le serveur vocal 1 est relié par le réseau de télécommunications 4 au combiné téléphonique à fréquence vocale 6 d'au moins un utilisateur, de préférence bien sûr à une pluralité de combinés téléphoniques d'utilisateurs. Le serveur vocal 1 est aussi relié à une base de données d'informations boursières 7, par exemple par le réseau de télécommunications 4 ou par d'autres moyens non représentés.FIG. 6 is a detailed diagram of step VI of FIG. 5. FIG. 1 represents a stock market information system by telephone which comprises a computer voice server 1 comprising a central control unit 2, an interface module 3 connected to a telecommunications network 4 and storage means 5 comprising a central memory and a hard drive. The voice server 1 is connected by the telecommunications network 4 to the voice frequency telephone handset 6 of at least one user, preferably of course to a plurality of users' telephone handsets. The voice server 1 is also connected to a stock market information database 7, for example by the telecommunications network 4 or by other means not shown.
Les moyens de stockage 5 contiennent un logiciel de commande 8, un moteur de reconnaissance automatique de la parole 9, une base de données lexicale ou dictionnaire 10, une base de paramètres 11 et un logiciel de simulation vocale 13. Tous ces éléments, se présentant par exemple sous la forme d'une pluralité de fichiers de données, font partie du système d'information boursière et sont configurés pour être exploités conjointement par le serveur 1 pour assurer un service d'information boursière à commande vocale. Le système permet à un utilisateur muni du téléphone 6 de formuler oralement des demandes d'informations précises et d'obtenir, en réponse, les informations demandées. Pour cela, le serveur 1 est apte à recevoir des requêtes orales de l'utilisateur et à envoyer des messages d'information à l'utilisateur par l'intermédiaire du module d'interface 3, du réseau 4 et du téléphone 6. Le contenu des messages d'information est automatiquement adapté en fonction d'une pluralité de paramètres du système. Ces paramètres comprennent une pluralité de paramètres à saisie vocale que le système est apte à positionner en fonction des requêtes orales reçues de l'utilisateur et, éventuellement, un ou plusieurs paramètres à saisie numérique en mode fréquence vocale, que le système est apte à positionner en fonction de données numériques envoyées par l'utilisateur par l'intermédiaire du clavier 12 de son téléphone 6 à fréquence vocale. Les paramètres du système sont en nombre prédéterminé et comportent au moins un paramètre de sélection et au moins un paramètre de renseignement, les uns et les autres pouvant être à saisie vocale ou numérique. Dans le mode de réalisation très simple considéré dans la suite, les paramètres du système comprennent un paramètre de sélection PSI et deux paramètres de renseignement PR1 et PR2, tous à saisie vocale.The storage means 5 contain control software 8, an automatic speech recognition engine 9, a lexical database or dictionary 10, a database of parameters 11 and a voice simulation software 13. All of these elements are presented for example in the form of a plurality of data files, form part of the stock market information system and are configured to be used jointly by the server 1 to provide a stock market information service with voice control. The system allows a user equipped with the telephone 6 to orally formulate specific requests for information and to obtain, in response, the requested information. For this, the server 1 is able to receive oral requests from the user and to send information messages to the user via the interface module 3, the network 4 and the telephone 6. The content information messages is automatically adapted according to a plurality of system parameters. These parameters include a plurality of parameters with voice input that the system is able to position according to the oral requests received from the user and, optionally, one or more parameters with digital input in voice frequency mode, that the system is able to position. according to digital data sent by the user via the keyboard 12 of his telephone 6 to voice frequency. The system parameters are in predetermined number and include at least one selection parameter and at least one information parameter, both of which can be entered by voice or numerically. In the mode of very simple embodiment considered below, the system parameters include a PSI selection parameter and two information parameters PR1 and PR2, all with voice input.
En référence à la figure 2, la base de paramètres 11 comporte deux colonnes : la colonne 14 contient une liste de toutes les valeurs admissibles prédéterminées attribuées à chacun des paramètres à saisie vocale ; la colonne 15 contient, en vis-à-vis de chaque valeur admissible de la colonne 14, le nom du paramètre auquel cette valeur est attribuée. La base de paramètres 11 permet donc d'attribuer chaque valeur admissible à un paramètre prédéterminé. Ainsi, le paramètre PSI a deux valeurs admissibles prédéterminées : PORTEFEUILLE et INFORMATIONS. Le paramètre PR1 a deux valeurs admissibles prédéterminées : TITRE1 et TITRE2. Le paramètre PR2 a deux valeurs admissibles prédéterminées : COURS et VARIATION. Le système est apte à fournir deux types de service à l'utilisateur : un service de consultation de son portefeuille personnel pour lequel aucune option n'est disponible et un service d'informations sur deux titres boursiers distincts TITRE 1 et TITRE2. Pour chaque titre boursier, le système peut fournir à l'utilisateur des données sur le cours actuel ou des données sur sa variation.With reference to FIG. 2, the parameter base 11 has two columns: column 14 contains a list of all the predetermined admissible values assigned to each of the parameters with voice input; column 15 contains, opposite each admissible value in column 14, the name of the parameter to which this value is assigned. The parameter base 11 therefore makes it possible to assign each admissible value to a predetermined parameter. Thus, the PSI parameter has two predetermined admissible values: PORTFOLIO and INFORMATION. Parameter PR1 has two predetermined admissible values: TITLE1 and TITLE2. Parameter PR2 has two predetermined admissible values: COURSE and VARIATION. The system is capable of providing two types of service to the user: a consultation service for his personal portfolio for which no option is available and an information service for two distinct stock titles TITLE 1 and TITLE2. For each stock security, the system can provide the user with data on the current price or data on its variation.
En référence aux figures 3 et 4, le dictionnaire 10 comporte des moyens pour définir tous les énoncés que le moteur de reconnaissance vocal 9 du système est apte à interpréter. Pour cela, le dictionnaire 10 contient une liste d'entrées lexicale 16 qui contient toutes les mots-clefs que le système reconnaît. La figure 4 comporte une partie de cette liste, avec les entrées lexicales INFORMATION, PORTEFEUILLE et COMPTE. Le dictionnaire 10 contient aussi une liste 17 de phonétisations, c'est-à-dire de groupements prédéterminés d'un ou plusieurs phonème(s), formant toutes les expressions reconnaissables par le système. Chaque phonétisation est une séquence de sons élémentaires, comportant une ou plusieurs syllabe(s), associée à un des mots-clefs des la liste 16. Il existe au moins une telle phonétisation pour chaque mot-clef de la liste 16, mais il peut y en avoir plusieurs lorsque un mot-clef présente plusieurs variantes d'élocution possibles. Dans l'exemple représenté à la figure 4, les deux groupements phonétiques « in-for-ma-tion » et « in-fo » sont associés au mot-clef INFORMATION, c'est-à-dire qu'ils sont interprétés par le système comme désignant le même mot-clef. La phonétisation « por-te- feuille » est associé au mot-clef PORTEFEUILLE et la phonétisation « comp-te » est associé au mot-clef COMPTE. Le dictionnaire 10 comporte aussi une liste de valeurs de retour 18 comportant toutes les valeurs admissibles prédéterminées de chacun des paramètres à saisie vocale, ainsi que des valeurs vides. Une unique valeur de retour de la liste 17 est associée à chaque mot-clef de la liste 16. Dans la partie du dictionnaire 10 représentée à la figure 4, le mot-clef INFORMATION est ainsi associé à la valeur de retour INFORMATIONS, les mots-clefs PORTEFEUILLE et COMPTE sont tous deux associés à la valeur de retour PORTEFEUILLE. On voit que le dictionnaire 10 permet ainsi d'associer au moins une phonétisation à chaque valeur admissible de chaque paramètre à saisie vocale. En référence à la figure 3, le dictionnaire 10 contient aussi des blocs de mots-clefs. Un bloc de mots-clefs est un ensemble d'un ou plusieurs mot(s)-clef(s) associé(s) respectivement à une ou plusieurs valeur(s) admissible(s) d'un même paramètre. Il existe au moins un tel bloc par paramètre à saisie vocale. Dans l'exemple représenté, le bloc 19 est associé au paramètre PSI puisqu'il contient les mots-clefs PORTEFEUILLE et COMPTE ; le bloc 20 est aussi associé au paramètre PSI. Le bloc 21 est associé au paramètre PR2 puisqu'il contient les mots-clefs COURS et VARIATION. Le bloc 22 est associé au paramètre PR1 puisqu'il contient les mots-clefs TITRE1 et TITRE2. Certains blocs, par exemple le bloc 23, contiennent des mots-clefs non significatifs par rapport aux paramètres à saisie vocale et ne sont associés à aucun paramètre. Ainsi, les valeurs de retour des mots-clefs BONJOUR et S'IL VOUS PLAIT sont vides.With reference to FIGS. 3 and 4, the dictionary 10 includes means for defining all of the statements that the voice recognition engine 9 of the system is able to interpret. For this, the dictionary 10 contains a list of lexical entries 16 which contains all the keywords that the system recognizes. Figure 4 contains part of this list, with the lexical entries INFORMATION, PORTFOLIO and ACCOUNT. The dictionary 10 also contains a list 17 of phonetizations, that is to say of predetermined groupings of one or more phonemes, forming all the expressions recognizable by the system. Each phonetization is a sequence of elementary sounds, comprising one or more syllables, associated with one of the keywords from list 16. There is at least one such phonetization for each keyword from list 16, but it can there are several when a keyword presents several possible variants of speech. In the example shown in Figure 4, the two phonetic groupings "in-for-ma-tion" and "in-fo" are associated with INFORMATION keyword, i.e. they are interpreted by the system as designating the same keyword. The phonetization “por-te- feuille” is associated with the keyword PORTFOLIO and the phonetization “comp-te” is associated with the keyword ACCOUNT. The dictionary 10 also includes a list of return values 18 comprising all the predetermined admissible values of each of the parameters with voice input, as well as empty values. A single return value from list 17 is associated with each keyword from list 16. In the part of the dictionary 10 represented in FIG. 4, the keyword INFORMATION is thus associated with the return value INFORMATION, the words -KEYS PORTFOLIO and ACCOUNT are both associated with the PORTFOLIO return value. We see that the dictionary 10 thus makes it possible to associate at least one phonetization with each admissible value of each parameter with voice input. With reference to FIG. 3, the dictionary 10 also contains blocks of keywords. A block of keywords is a set of one or more keyword (s) associated respectively with one or more admissible value (s) of the same parameter. There is at least one such block per parameter with voice input. In the example shown, block 19 is associated with the PSI parameter since it contains the key words PORTFOLIO and ACCOUNT; block 20 is also associated with the PSI parameter. Block 21 is associated with parameter PR2 since it contains the keywords COURSE and VARIATION. Block 22 is associated with parameter PR1 since it contains the keywords TITRE1 and TITRE2. Certain blocks, for example block 23, contain keywords which are not significant with respect to the parameters with voice input and are not associated with any parameter. Thus, the return values of the keywords HELLO and PLEASE are empty.
En référence à la figure 3, le dictionnaire 10 contient aussi des moyens définissant la grammaire du système à commande vocale. La grammaire est une liste de toutes les séquences de blocs formant des énoncés recevables par le système. Elle est schématisée par les flèches reliant les blocs entre eux à la figure 3, par exemple la flèche 24. Le dictionnaire 10 comportant la liste 17 des phonétisations reconnaissables, la liste 16 de mots-clefs, la liste 18 des valeurs de retours, la définition des blocs et la définition de la grammaire d'association des blocs permet finalement de définir tous les énoncés vocaux que le système est apte à interpréter.With reference to FIG. 3, the dictionary 10 also contains means defining the grammar of the voice command system. The grammar is a list of all the block sequences forming statements admissible by the system. It is shown diagrammatically by the arrows connecting the blocks to each other in FIG. 3, for example the arrow 24. The dictionary 10 comprising the list 17 of the recognizable phonetizations, the list 16 of keywords, the list 18 of the return values, the definition of blocks and definition of grammar of association of the blocks finally makes it possible to define all the vocal utterances that the system is capable of interpreting.
Le dictionnaire 10 est exploité par le moteur de reconnaissance automatique de la parole 9 de la manière suivante : lorsque le serveur 1 reçoit un signal vocal par le module d'interface 3, il compare ce signal vocal aux groupements prédéterminés de la liste 17. S'il ne reconnaît rien dans début du signal, il ne tient pas compte du début de signal jusqu'à ce qu'il reconnaisse, par exemple par une analyse statistique, une première phonétisation associée à un premier mot-clef de la liste 16. La procédure est ensuite répétée avec la suite du signal vocal, phonétisation par phonétisation, jusqu'à ce que toutes les phonétisations prédéterminées présentes dans le signal vocal et tous les mots-clefs correspondants soient identifiés. Par exemple, le signal vocal correspond à l'énoncé : « bonjour, je veux consulter mon portefeuille. » Le moteur 9 identifie les mots-clefs BONJOUR, JE VEUX, CONSULTER et PORTEFEUILLE. Notons que l'énoncé : « bonjour, je veux consulter mon compte » produit le même résultat.The dictionary 10 is used by the automatic speech recognition engine 9 in the following manner: when the server 1 receives a voice signal by the interface module 3, it compares this voice signal with the predetermined groupings of the list 17. S 'it does not recognize anything at the start of the signal, it does not take account of the start of the signal until it recognizes, for example by a statistical analysis, a first phonetization associated with a first keyword of the list 16. The procedure is then repeated with the continuation of the voice signal, phonetization by phonetization, until all the predetermined phonetizations present in the voice signal and all the corresponding keywords are identified. For example, the voice signal corresponds to the statement: “Hello, I want to consult my portfolio. »Engine 9 identifies the keywords HELLO, I WANT, CONSULT and PORTFOLIO. Note that the statement: "Hello, I want to consult my account" produces the same result.
Partant du bloc initial 25 de la grammaire de la figure 3, le moteur 9 recherche ensuite le premier mot-clef reconnu BONJOUR parmi les blocs reliés au bloc initial 25. S'il ne l'y trouve pas, il recherche ce premier mot-clef dans les blocs reliés aux blocs où la recherche a déjà eu lieu, et ainsi de suite jusqu'à ce qu'il trouve le premier mot-clef, c'est-à-dire dans le bloc 23 dans l'exemple représenté. Puis il recherche le deuxième mot-clef reconnu JE VEUX dans les blocs reliés au bloc 23, puis, s'il ne l'y trouve pas, dans les blocs reliés à ceux-ci, et ainsi de suite jusqu'à atteindre le bloc de sortie 28. Dans l'exemple pris, la séquence des mots-clefs reconnus correspond à la séquence des blocs 23-26-27-19. Ensuite, la séquence de blocs ayant été reconnue, le moteur de recherche 9 retourne la valeur de retour associée à chacun des mots-clefs reconnus, c'est-à-dire dans le cas présent, les valeurs de retour : vide, vide, vide, PORTEFEUILLE.Starting from the initial block 25 of the grammar of FIG. 3, the engine 9 then searches for the first keyword recognized HELLO among the blocks linked to the initial block 25. If it does not find it, it searches for this first word- key in the blocks connected to the blocks where the search has already taken place, and so on until it finds the first keyword, that is to say in block 23 in the example shown. Then it searches for the second recognized keyword I WANT in the blocks linked to block 23, then, if it does not find it, in the blocks linked to them, and so on until reaching the block output 28. In the example taken, the sequence of recognized keywords corresponds to the sequence of blocks 23-26-27-19. Then, the block sequence having been recognized, the search engine 9 returns the return value associated with each of the recognized keywords, that is to say in the present case, the return values: empty, empty, empty, PORTFOLIO.
Lorsqu'une séquence de mots-clefs reconnus ne correspond à aucune séquence de blocs prévue dans la grammaire, l'énoncé ne peut pas être interprété par le système et un message d'erreur est généré. Le fonctionnement du système d'information boursière va maintenant être décrit en référence aux figures 1, 5 et 6.When a sequence of recognized keywords does not correspond to any sequence of blocks provided for in the grammar, the statement cannot be interpreted by the system and an error message is generated. The operation of the stock market information system will now be described with reference to Figures 1, 5 and 6.
L'utilisateur établit un contact téléphonique avec le serveur 1, comme représenté par la flèche 29. A l'étape 30, le système envoie à l'utilisateur un signal d'invitation à s'identifier 32, par exemple un message parlé produit par le simulateur vocal 13 ou une sonnerie. A l'étape 31, l'utilisateur saisit sur le clavier 12 un code personnel d'identification 34. A l'étape 33, le serveur compare le code personnel 34 avec une liste prédéterminée de codes des utilisateurs abonnés au service, de manière à vérifier le droit d'accès de l'utilisateur au service. Si le code personnel 34 n'est pas reconnu, le signal d'invitation à s'identifier 32 est envoyé à nouveau. Si le code personnel 34 est reconnu, le serveur 1 envoie à l'utilisateur un signal 36 d'invitation à énoncer une requête initiale à l'étape 35, par exemple un message parlé.The user establishes a telephone contact with the server 1, as represented by the arrow 29. In step 30, the system sends the user a self-identification signal 32, for example a spoken message produced by the voice simulator 13 or a bell. In step 31, the user enters on the keyboard 12 a personal identification code 34. In step 33, the server compares the personal code 34 with a predetermined list of codes of the users subscribed to the service, so as to check the user's right of access to the service. If the personal code 34 is not recognized, the invitation to identify signal 32 is sent again. If the personal code 34 is recognized, the server 1 sends the user a signal 36 of invitation to say an initial request in step 35, for example a spoken message.
L'utilisateur énonce alors une requête initiale 39 dans le microphone 38 du téléphone 6. A l'étape 37, le serveur 1 reçoit par le réseau 4 et traite par le moteur de reconnaissance automatique de la parole 9 la requête 39, par le procédé de reconnaissance automatique de la parole susmentionné. Le moteur 9 retourne au programme de commande 8 toutes les valeurs de retour des mots-clefs de l'énoncé reconnu. A l'aide de la base de paramètres 11, l'unité centrale 2 identifie chaque paramètre à saisie vocale auquel une valeur de retour est attribué et affecte chaque valeur de retour au paramètre auquel elle est attribuée. Puis l'unité de commande vérifie si une valeur est affectée au paramètre de sélection PSI. Sinon, comme indiqué par la flèche 55, le système retourne à l'étape 35.The user then utters an initial request 39 in the microphone 38 of the telephone 6. In step 37, the server 1 receives via the network 4 and processes the request 39 by the automatic speech recognition engine 9, by the method of the aforementioned automatic speech recognition. The motor 9 returns to the control program 8 all the return values of the keywords of the recognized statement. Using the parameter base 11, the central processing unit 2 identifies each voice input parameter to which a return value is assigned and assigns each return value to the parameter to which it is assigned. Then the control unit checks whether a value is assigned to the PSI selection parameter. Otherwise, as indicated by arrow 55, the system returns to step 35.
En reprenant l'exemple d'énoncé susmentionné, l'étape 37 aboutit à l'affectation de la valeur PORTEFEUILLE à la variable de sélection PSI. Cela signifie que l'utilisateur a choisi, comme type de service la consultation de son portefeuille, et non la consultation d'informations sur des titres. A chaque valeur admissible de la variable de sélection PSI est associé un lot prédéteπniné de paramètres de renseignement obligatoires. Pour la valeur PORTEFEUILLE, ce lot est vide. Pour la valeur INFORMATION, ce lot contient les paramètres PR1 et PR2. A l'étape 40, l'unité de commande vérifie s'il reste un paramètre de renseignement obligatoire sans valeur affectée. Dans le cas présent, il n'y en a pas et la requête est donc reconnue complète. Par conséquent, à l'étape 41, le système effectue l'action attribuée à la valeur PORTEFEUILLE du paramètre PSI, c'est-à-dire qu'il envoie à l'utilisateur un message 56 contenant des données sur son portefeuille d'action. Puis le serveur revient à l'étape 35 pour permettre à l'utilisateur d'effectuer une autre demande de service.Using the example of the aforementioned statement, step 37 leads to the assignment of the value PORTFOLIO to the selection variable PSI. This means that the user has chosen, as a type of service, the consultation of his portfolio, and not the consultation of information on securities. Each admissible value of the selection variable PSI is associated with a predefined batch of mandatory information parameters. For the PORTFOLIO value, this batch is empty. For the INFORMATION value, this batch contains the parameters PR1 and PR2. In step 40, the control unit checks whether there remains a mandatory information parameter with no assigned value. In the present case, there is none and the request is therefore recognized as complete. Consequently, in step 41, the system performs the action assigned to the PORTFOLIO value of the PSI parameter, that is to say that it sends the user a message 56 containing data on his portfolio. action. Then the server returns to step 35 to allow the user to make another service request.
En prenant un autre exemple d'énoncé pour la requête initiale 39, par exemple l'énoncé : « je veux des informations sur l'action Titrël », l'étape 37 aboutit à l'affectation de la valeur INFORMATION au paramètre de sélection PSI et l'affectation de la valeur TITRE 1 au paramètre de renseignement PR1. En référence à la figure 6, à l'étape 42, l'unité de commande vérifie s'il reste un paramètre de renseignement obligatoire sans valeur affectée. Dans l'affirmative, comme dans le présent exemple, on vérifie si c'est le paramètre PR1 à l'étape 43. Dans la négative, comme dans le présent exemple, on vérifie si c'est le paramètre PR2 à l'étape 44. Dans l'affirmative, comme dans le présent exemple, à l'étape 45, le serveur 1 envoie à l'utilisateur un signal d'invitation 46 à formuler une requête complémentaire pour préciser s'il souhaite connaître le cours de l'action TITRE 1 ou sa variation.Taking another example of a statement for the initial request 39, for example the statement: "I want information on the Titrël action", step 37 results in the assignment of the value INFORMATION to the selection parameter PSI and assigning the value TITLE 1 to the information parameter PR1. With reference to FIG. 6, in step 42, the control unit checks whether there remains a mandatory information parameter with no assigned value. If so, as in this example, we check if it is the parameter PR1 in step 43. If not, as in this example, we check if it is the parameter PR2 in step 44 If so, as in this example, in step 45, the server 1 sends the user an invitation signal 46 to formulate an additional request to specify whether he wishes to know the course of the action TITLE 1 or its variation.
L'utilisateur répond par l'énoncé d'une requête complémentaire 48 qui est traitée par le moteur de reconnaissance vocal 9 de la même manière que la requête initiale 39, à l'étape 47. Si le moteur 9 ne retourne aucune valeur de retour, la requête complémentaire 48 n'a pas été comprise et le signal d'invitation 46 est renvoyé, comme indiqué par la flèche 49. Si les valeurs de retour comportent la valeur admissible VARIATION ou COURS, cette valeur est affectée au paramètre PR2. Si les valeurs de retour produites par la requête complémentaire 48 sont attribuées à des paramètres ayant déjà une valeur affectée, les valeurs de ces paramètres sont modifiées en conséquence.The user responds with the statement of an additional request 48 which is processed by the voice recognition engine 9 in the same way as the initial request 39, in step 47. If the engine 9 does not return any return value , the additional request 48 has not been understood and the invitation signal 46 is returned, as indicated by the arrow 49. If the return values include the admissible value VARIATION or COURSE, this value is assigned to the parameter PR2. If the return values produced by the additional request 48 are assigned to parameters which already have an assigned value, the values of these parameters are modified accordingly.
Ainsi, si l'utilisateur a changé d'avis et demandé en requête complémentaire de consulter son portefeuille, la valeur PORTEFEUILLE est affectée au paramètre PSI et le système va à l'étape 40 susmentionnée, comme indiqué par la flèche 51.Thus, if the user has changed his mind and asked in an additional request to consult his portfolio, the value PORTFOLIO is assigned to the PSI parameter and the system goes to the aforementioned step 40, as indicated by the arrow 51.
Sinon, en supposant que la valeur VARIATION a été affectée au paramètre PR2 à l'étape 47, le système revient à l'étape 42 à laquelle il est vérifié que les paramètres de renseignement obligatoires sont tous affectés. La requête est alors reconnue complète. Comme indiqué par la flèche 52, le système passe alors à l'étape 53 d'exécution de l'action correspondant à la combinaison obtenue des paramètres PSI, PR1 et PR2, c'est-à-dire qu'il envoie à l'utilisateur un message d'information concernant la variation du cours de l'action Titrel. Pour cela, le serveur 1 récupère les informations correspondantes dans la base de données d'informations boursières 7, comme indiqué par les flèches 54.Otherwise, assuming that the value VARIATION has been assigned to the parameter PR2 in step 47, the system returns to step 42 in which it is verified that the mandatory information parameters are all assigned. The request is then recognized as complete. As indicated by arrow 52, the system then goes to step 53 for executing the action corresponding to the combination obtained from the parameters PSI, PR1 and PR2, that is to say that it sends to the user an information message concerning the variation of the Titrel share price. For this, the server 1 retrieves the corresponding information from the stock market information database 7, as indicated by the arrows 54.
Si à l'étape 43, on détermine que c'est le paramètre de renseignement obligatoire PR1 qui reste sans valeur affectée, à l'étape 145, le serveur 1 envoie à l'utilisateur un signal d'invitation à formuler une requête complémentaire pour préciser quel est le nom de l'action sur laquelle il veut des informations. L'utilisateur répond par l'énoncé d'une requête complémentaire qui est traitée par le moteur de reconnaissance vocal 9 à l'étape 147. Si le moteur 9 ne retourne aucune valeur de retour, la requête complémentaire n'a pas été comprise et le signal d'invitation est renvoyé, comme indiqué par la flèche 149. Les étapes 47 et 147 peuvent être confondues avec l'étape 37.If in step 43, it is determined that it is the mandatory information parameter PR1 which remains without assigned value, in step 145, the server 1 sends the user an invitation signal to formulate an additional request for specify what is the name of the action on which he wants information. The user responds with the statement of an additional request which is processed by the voice recognition engine 9 in step 147. If the engine 9 does not return any return value, the additional request has not been understood and the invitation signal is returned, as indicated by the arrow 149. Steps 47 and 147 can be confused with step 37.
Dans une variante de réalisation, il est prévue une étape 50, visible à la figure 6, à laquelle on vérifie si les valeurs de retour produites par la requête complémentaire 48 sont attribuées à des paramètres ayant déjà une valeur affectée, par exemple le paramètre PSI. Dans cette variante, si l'utilisateur a changé d'avis et demandé en requête complémentaire, à l'étape 147, de consulter son portefeuille, le serveur 1 envoie un message d'invitation à confirmer que la sélection de service doit être modifiée. L'utilisateur envoie un signal de confirmation positif ou négatif, par exemple par le clavier 12 ou en répondant « oui » ou « non ». Dans l'affirmative, comme indiqué par la flèche 51, la valeur PORTEFEUILLE est affectée au paramètre PSI et le système va à l'étape 40 susmentionnée. Dans la négative, le système revient à l'étape 42. Bien que l'invention ait été décrite en liaison avec un mode de réalisation particulier, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention. En particulier, un moteur de reconnaissance vocal d'un autre type que celui décrit ci-dessus peut être utilisé. Le dictionnaire 10 et la structure de données 11 ne sont qu'un exemple d'organisation des mots reconnaissables par le système, des valeurs admissible des paramètres, et des paramètres à saisie vocale. Ces deux structures peuvent être fusionnées ou agencées différemment sans sortir du cadre de l'invention.In an alternative embodiment, there is provided a step 50, visible in FIG. 6, in which it is checked whether the return values produced by the complementary request 48 are assigned to parameters already having an assigned value, for example the parameter PSI . In this variant, if the user has changed his mind and asked in additional request, in step 147, to consult his portfolio, the server 1 sends an invitation message to confirm that the service selection must be modified. The user sends a positive or negative confirmation signal, for example by the keyboard 12 or by answering "yes" or "no". If so, as indicated by arrow 51, the value PORTFOLIO is assigned to the parameter PSI and the system goes to step 40 above. If not, the system returns to step 42. Although the invention has been described in connection with a particular embodiment, it is obvious that it is in no way limited thereto and that it includes all the technical equivalents of the means described as well as their combinations if these are within the scope of the invention. In particular, a voice recognition engine of another type than that described above can be used. The dictionary 10 and the data structure 11 are only one example of the organization of the words recognizable by the system, the admissible values of the parameters, and the parameters with voice input. These two structures can be merged or arranged differently without departing from the scope of the invention.
De plus, dans le cadre de la présente invention, les étapes et moyens de reconnaissance automatique de la parole peuvent être généralisés à la reconnaissance de formes, de caractères ou de chaînes de caractères. Les paramètres à saisie vocale peuvent être généralisés de manière correspondante à des paramètres à saisie graphique, textuelle ou alphanumérique. De manière correspondante, une requête peut être généralisée à un ensemble de données graphiques, textuelles ou alphanumériques émis par l'utilisateur et reçu par le système selon l'invention par tout moyen approprié, comme une interface textuelle ou graphique. De manière correspondante, le dictionnaire peut être généralisé, au sens de l'invention, à un ensemble de groupements prédéterminés de données graphiques, textuelles ou alphanumériques reconnaissables par le système selon l'invention. In addition, in the context of the present invention, the steps and means for automatic speech recognition can be generalized to the recognition of shapes, characters or character strings. The parameters with voice input can be generalized corresponding to parameters with graphic, text or alphanumeric input. Correspondingly, a request can be generalized to a set of graphic, textual or alphanumeric data sent by the user and received by the system according to the invention by any suitable means, such as a textual or graphic interface. Correspondingly, the dictionary can be generalized, within the meaning of the invention, to a set of predetermined groupings of graphic, textual or alphanumeric data recognizable by the system according to the invention.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0106485A FR2824944B1 (en) | 2001-05-16 | 2001-05-16 | VOICE CONTROL METHOD AND PARAMETRABLE SYSTEM WITH VOICE CONTROL |
| FR0106485 | 2001-05-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2002093415A1 true WO2002093415A1 (en) | 2002-11-21 |
Family
ID=8863372
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2002/001654 Ceased WO2002093415A1 (en) | 2001-05-16 | 2002-05-16 | Method and device for voice data input in an electronic form |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR2824944B1 (en) |
| WO (1) | WO2002093415A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12360661B2 (en) | 2021-06-04 | 2025-07-15 | Cory Ernest SANOY | Speech input to user interface controls |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5748974A (en) * | 1994-12-13 | 1998-05-05 | International Business Machines Corporation | Multimodal natural language interface for cross-application tasks |
| EP1033701A2 (en) * | 1999-03-01 | 2000-09-06 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method using speech understanding for automatic channel selection in interactive television |
| WO2001001284A2 (en) * | 1999-06-30 | 2001-01-04 | Biztro, Inc. | Intelligent forms for improved automated workflow processing |
-
2001
- 2001-05-16 FR FR0106485A patent/FR2824944B1/en not_active Expired - Fee Related
-
2002
- 2002-05-16 WO PCT/FR2002/001654 patent/WO2002093415A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5748974A (en) * | 1994-12-13 | 1998-05-05 | International Business Machines Corporation | Multimodal natural language interface for cross-application tasks |
| EP1033701A2 (en) * | 1999-03-01 | 2000-09-06 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method using speech understanding for automatic channel selection in interactive television |
| WO2001001284A2 (en) * | 1999-06-30 | 2001-01-04 | Biztro, Inc. | Intelligent forms for improved automated workflow processing |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12360661B2 (en) | 2021-06-04 | 2025-07-15 | Cory Ernest SANOY | Speech input to user interface controls |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2824944B1 (en) | 2008-09-19 |
| FR2824944A1 (en) | 2002-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3881317B1 (en) | System and method for accelerating user agent chats | |
| US7974835B2 (en) | Method, system, and apparatus for natural language mixed-initiative dialogue processing | |
| US10418032B1 (en) | System and methods for a virtual assistant to manage and use context in a natural language dialog | |
| US7609829B2 (en) | Multi-platform capable inference engine and universal grammar language adapter for intelligent voice application execution | |
| US7236932B1 (en) | Method of and apparatus for improving productivity of human reviewers of automatically transcribed documents generated by media conversion systems | |
| US7143037B1 (en) | Spelling words using an arbitrary phonetic alphabet | |
| CN104299623B (en) | It is used to automatically confirm that the method and system with disambiguation module in voice application | |
| US20110106527A1 (en) | Method and Apparatus for Adapting a Voice Extensible Markup Language-enabled Voice System for Natural Speech Recognition and System Response | |
| CN118377886B (en) | Task-based dialogue method, storage medium and computer device | |
| US20080154581A1 (en) | Dynamic natural language understanding | |
| US20040006476A1 (en) | Behavioral adaptation engine for discerning behavioral characteristics of callers interacting with an VXML-compliant voice application | |
| WO2002067142A2 (en) | Device for retrieving data from a knowledge-based text | |
| JP2007115143A (en) | Conversation control device | |
| CN111414735B (en) | Text data generation method and device | |
| EP1585110B1 (en) | System for speech controlled applications | |
| FR2738382A1 (en) | VOICE DIALOGUE SYSTEM FOR AUTOMATED INFORMATION PROVIDING | |
| WO2002093415A1 (en) | Method and device for voice data input in an electronic form | |
| FR2864856A1 (en) | Short text e.g. telegram, information extraction and processing system, has module to extract information, and module to process information and narrowcasting of search results of relations between informations or their comparisons | |
| EP1531407A1 (en) | Method and system for querying a multimedia database from a telecommunication terminal | |
| US12347418B2 (en) | Systems and methods for training natural language processing models in a contact center | |
| WO2023232609A1 (en) | Method and device for verifying the use of a human-machine interface by a human operator | |
| CN113885825A (en) | Method and device for intelligently creating application form | |
| WO2025172595A1 (en) | Method for automatically processing a document in accordance with a natural-language command | |
| EP4639413A1 (en) | Method for improving the classification of a digital document from a plurality of learning models | |
| FR2572819A1 (en) | DATA PROCESSING SYSTEM |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: CONSTATATION DE LA PERTE D UN DROIT CONFORMEMENT AE LA REGLE 69(1) CBE FORMULAIRE F.1205 DATE D ENVOI 02.03.04 |
|
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |
|
| WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |