Method and apparatus for building an intelligent automated assistant
First Claim
1. A method for building an automated assistant, the method comprising:
- interfacing a service-oriented architecture comprising a plurality of services to an execution environment comprising an active ontology, wherein the active ontology models a domain and comprises a logical arrangement of a plurality of active processing elements, wherein each active processing element is configured to receive at least one fact relating to the modeled domain and to perform at least one action responsive to at least one received fact; and
registering at least one of the plurality of services for use in the domain, by specifying at least one of;
one or more active processing elements that the at least one of the plurality of services can accept; and
one or more active processing elements that the at least one of the plurality of services cannot accept;
wherein;
at least one of said interfacing and said registering is performed using a processor; and
the active ontology filters requests for services to the at least one of the plurality of services in accordance with the one or more active processing elements specified by the at least one of the plurality of services.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for building an intelligent automated assistant. Embodiments of the present invention rely on the concept of “active ontologies” (e.g., execution environments constructed in an ontology-like manner) to build and run applications for use by intelligent automated assistants. In one specific embodiment, a method for building an automated assistant includes interfacing a service-oriented architecture that includes a plurality of remote services to an active ontology, where the active ontology includes at least one active processing element that models a domain. At least one of the remote services is then registered for use in the domain.
1171 Citations
33 Claims
-
1. A method for building an automated assistant, the method comprising:
-
interfacing a service-oriented architecture comprising a plurality of services to an execution environment comprising an active ontology, wherein the active ontology models a domain and comprises a logical arrangement of a plurality of active processing elements, wherein each active processing element is configured to receive at least one fact relating to the modeled domain and to perform at least one action responsive to at least one received fact; and registering at least one of the plurality of services for use in the domain, by specifying at least one of; one or more active processing elements that the at least one of the plurality of services can accept; and one or more active processing elements that the at least one of the plurality of services cannot accept; wherein; at least one of said interfacing and said registering is performed using a processor; and the active ontology filters requests for services to the at least one of the plurality of services in accordance with the one or more active processing elements specified by the at least one of the plurality of services. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable storage medium containing an executable program for building an automated assistant, where the program is configured to cause a processor to perform a method comprising:
-
interfacing a service-oriented architecture comprising a plurality of services to an execution environment comprising an active ontology, wherein the active ontology models a domain and comprises a logical arrangement of a plurality of active processing elements, wherein each active processing element is configured to receive at least one fact relating to the modeled domain and to perform at least one action responsive to at least one received fact; and registering at least one of the plurality of services for use in the domain, by specifying at least one of; one or more active processing elements that the at least one of the plurality of services can accept; and one or more active processing elements that the at least one of the plurality of services cannot accept; wherein the active ontology filters requests for services to the at least one of the plurality of services in accordance with the one or more active processing elements specified by the at least one of the plurality of services. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system for registering services for use in a domain, said system comprising:
-
an execution environment comprising an active ontology modeling the domain, the active ontology comprising a logical arrangement of a plurality of active processing elements, wherein each active processing element is configured to receive at least one fact relating to the modeled domain and to perform at least one action responsive to at least one received fact; and a processor configured as a service broker for interfacing the at least one active ontology to a service-oriented architecture comprising a plurality of services; wherein a service registers with the at least one active ontology by specifying at least one of; one or more active processing elements that the service can accept; and one or more active processing elements that the service cannot accept and wherein the active ontology filters requests for services to the at least one of the plurality of services in accordance with the one or more active processing elements specified by the at least one of the plurality of services. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
Specification