Method and apparatus for building an intelligent automated assistant

US9501741B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9501741-B2
Application numberUS-201314141261-A
CountryUS
Kind codeB2
Filing dateDec 26, 2013
Priority dateSep 8, 2005
Publication dateNov 22, 2016
Grant dateNov 22, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for building an automated assistant, the method comprising: registering, by a processor, a service for use in conjunction with an 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; filtering, by the active ontology, at least one request for services to the service in accordance with the one or more active processing elements specified by the service; wherein: the active ontology is configured to perform natural language processing on user input, the natural language processing performed in response to input facts relating to events collected from a user's environment, and the active ontology comprises a plurality of active processing elements configured to match specific types of facts. 2. The method of claim 1 , wherein the active ontology models a domain, and wherein each active processing element of the plurality of active processing elements represents at least one of: an object in the domain and a task to be accomplished in the domain. 3. The method of claim 1 , wherein at least two of the plurality of active processing elements communicate through message passing. 4. The method of claim 1 , wherein each active processing element of the plurality of active processing elements is configured for at least one of: service registration, language recognition, activity recognition, time recognition and task automation. 5. The method of claim 1 , wherein the service is part of a service-oriented architecture, the method further comprising interfacing the service-oriented architecture to an execution environment including the active ontology. 6. The method of claim 5 , wherein the service-oriented architecture is interfaced to the active ontology via a service broker. 7. The method of claim 6 , wherein the service broker is configured for at least one of: remote service selection, task delegation, query issuance, update issuance and service request monitoring. 8. The method of claim 7 , wherein the service broker selects remote services for registration based on meta-data relating to the remote services. 9. The method of claim 1 , wherein the service is invoked by the automated assistant to accomplish one or more tasks. 10. The method of claim 1 , wherein each active processing element of the plurality of active processing elements is configured to receive at least one fact and to perform at least one action responsive to the at least one fact, and wherein the at least one fact relates to at least one event collected from a user's environment. 11. The method of claim 1 , wherein at least one of the plurality of active processing elements is configured to send at least one fact to at least one other active processing element. 12. The method of claim 1 , wherein at least one of the plurality of active processing elements is configured to receive at least one fact from at least one other active processing element. 13. An electronic device, comprising: one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: registering, by a processor, a service for use in conjunction with an 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; filtering, by the active ontology, at least one request for services to the service in accordance with the one or more active processing elements specified by the service; wherein: the active ontology is configured to perform natural language processing on user input, the natural language processing performed in response to input facts relating to events collected from a user's environment, and the active ontology comprises a plurality of active processing elements configured to match specific types of facts. 14. The electronic device of claim 13 , wherein the active ontology models a domain, and wherein each active processing element of the plurality of active processing elements represents at least one of: an object in the domain and a task to be accomplished in the domain. 15. The electronic device of claim 13 , wherein at least two of the plurality of active processing elements communicate through message passing. 16. The electronic device of claim 13 , wherein each active processing element of the plurality of active processing elements is configured for at least one of: service registration, language recognition, activity recognition, time recognition and task automation. 17. The electronic device of claim 13 , wherein the service is part of a service-oriented architecture, the one or more programs further comprising instructions for interfacing the service-oriented architecture to an execution environment including the active ontology. 18. The electronic device of claim 17 , wherein the service-oriented architecture is interfaced to the active ontology via a service broker. 19. The electronic device of claim 18 , wherein the service broker is configured for at least one of: remote service selection, task delegation, query issuance, update issuance and service request monitoring. 20. The electronic device of claim 19 , wherein the service broker selects remote services for registration based on meta-data relating to the remote services. 21. The electronic device of claim 13 , wherein the service is invoked by the automated assistant to accomplish one or more tasks. 22. The electronic device of claim 13 , wherein each active processing element of the plurality of active processing elements is configured to receive at least one fact and to perform at least one action responsive to the at least one fact, and wherein the at least one fact relates to at least one event collected from a user's environment. 23. The electronic device of claim 13 , wherein at least one of the plurality of active processing elements is configured to send at least one fact to at least one other active processing element. 24. The electronic device of claim 13 , wherein at least one of the plurality of active processing elements is configured to receive at least one fact from at least one other active processing element. 25. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device, cause the device to: register a service for use in conjunction with an 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; filtering, by the active ontology, at least one request for services to the service in accordance with the one or more active processing elements specified by the service; wherein: the active ontology is configured to perform natural language processing on user input, the natural language processing performed in response to input facts relating to events collected from a user's environment, and the active ontology comprises a plurality of active processing elements configured to match specific types of facts.

Assignees

Inventors

Classifications

  • Probabilistic graphical models, e.g. probabilistic networks · CPC title

  • Event management; Broadcasting; Multicasting; Notifications · CPC title

  • G09B21/00Primary

    Teaching, or communicating with, the blind, deaf or mute (audible presentation of material to be studied G09B5/04; devices or methods for replacing direct visual or auditory perception by another kind of perception A61F9/08, A61F11/04; audible indication of meter readings or of colour G01D7/12; watches for blind persons G04B25/02; speech analysis, speech recognition G10L; sound-recording or reproducing, per se G11B) · CPC title

  • G06N5/02Primary

    Knowledge representation; Symbolic representation · CPC title

  • Interprogram communication · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9501741B2 cover?
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 inter…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G09B21/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 22 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).