Interactive services are provided by employing a modular approach to
implementing interactive services with multiple interfaces. Such an
approach facilitates supporting natural language understanding interaction
with users through use of interfaces that allow at least different
ordering of inputs, and/or incomplete information, and/or correction of
information, and/or the return of control to prior points in the service.
This is realized, in an embodiment of the invention, by employing a single
interactive service logic that uses "reactive constraint graphs", i.e., a
form of event-driven graph, in which nodes contain a set of constraints on
events. Specifically, control progresses from a node to a derivative node,
i.e., "child", only when all the constraints in the set on the node have
been satisfied. A single set of constraints implicitly supports a
significant number of the possible different orderings of inputs.
Incomplete information is supported because the constraints in the set are
evaluated as soon as possible. Correction of information is supported
because information in the constraint set is updated upon receipt of new
information. Indeed, use of the reactive constraint graphs allows nodes to
be labeled, and allows control to revert to a prior node, i.e., ancestor,
hence allowing the user to go back to prior points in the service. New
inputs can be added to the constraint sets with a complexity polynomial of
the order of the input set.
Des services interactifs sont fournis en utilisant une approche modulaire à mettre en application des services interactifs en interfaces multiples. Une telle approche facilite soutenir l'interaction d'arrangement de langage naturel avec des utilisateurs par l'utilisation des interfaces qui permettent au moins la commande différente des entrées, et/ou de l'information inachevée, et/ou la correction d'information, et/ou le retour de la commande aux points antérieurs dans le service. Ceci est réalisé, dans un mode de réalisation de l'invention, en utilisant une logique interactive simple de service que les utilisations "contrainte réactive représente graphiquement", c.-à-d., une forme de graphique entraîné par les événements, dans laquelle les noeuds contiennent un ensemble de contraintes sur des événements. Spécifiquement, la commande progresse d'un noeud à un noeud dérivé, c.-à-d., "enfant", seulement quand toutes les contraintes dans l'ensemble sur le noeud ont été satisfaites. Un ensemble simple de contraintes soutient implicitement un nombre significatif des différents orderings possibles des entrées. L'information inachevée est soutenue parce que les contraintes dans l'ensemble sont évaluées aussitôt que possible. La correction d'information est soutenue parce que l'information dans l'ensemble de contrainte est mise à jour à la réception de la nouvelle information. En effet, l'utilisation des graphiques réactifs de contrainte permet à des noeuds d'être marqués, et permet à la commande de retourner à un noeud antérieur, c.-à-d., ancêtre, par conséquent permettant à l'utilisateur d'aller de nouveau aux points antérieurs dans le service. De nouvelles entrées peuvent être ajoutées aux ensembles de contrainte avec un polynôme de complexité de l'ordre de l'ensemble d'entrée.