Method and apparatus for building an intelligent automated assistant

US11928604B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11928604-B2
Application numberUS-201916379048-A
CountryUS
Kind codeB2
Filing dateApr 9, 2019
Priority dateSep 8, 2005
Publication dateMar 12, 2024
Grant dateMar 12, 2024

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 computing device, comprising: one or more processors; memory; and one or more programs stored in memory, the one or more programs including instructions for: collecting at least one input corresponding to one or more events associated with an operating environment of the computing device; obtaining priorities associated with a plurality of active processing elements included in an active ontology, of an intelligent automated assistant, each active processing element being configured to perform one or more actions responsive to receiving one or more inputs of the collected at least one input; processing, based on the obtained priorities, the collected at least one input using the plurality of active processing elements; identifying at least one action based on results of the plurality of active processing elements processing the collected at least one input, wherein identifying the at least one action comprises, identifying based on the processing results, one or more actions associated with valid conditions; and executing the identified at least one action. 2. The computing device of claim 1 , wherein collecting at least one input comprises: receiving the at least one input via one or more sensors distributed in the operating environment of the computing device. 3. The computing device of claim 1 , wherein collecting at least one input comprises: receiving the at least one input via a multimodal user interface. 4. The computing device of claim 1 , wherein the at least one action comprises at least one of: activity recognition, time recognition, natural language processing, reactive activity execution, rule-based planning, automated scheduling, task automation, temporal constraint management, and service brokering. 5. The computing device of claim 1 , wherein the at least one input is tagged with an associated context and a current execution pass. 6. The computing device of claim 1 , wherein processing, based on the obtained priorities, the collected at least one input using the plurality of active processing elements comprises: processing the collected at least one input in accordance with an order of priority associated with the plurality of active processing elements, wherein the order of priority is from highest priority to the lowest priority. 7. The computing device of claim 6 , wherein processing the collected at least one input in accordance with an order of priority associated with the plurality of active processing elements comprises: for each active processing element of the plurality of active processing elements, processing the collected at least one input using a plurality of rules of the corresponding active processing element in accordance with an order of priority associated with the plurality of rules. 8. The computing device of claim 7 , wherein each rule of the plurality of rules comprises a condition and an associated action. 9. The computing device of claim 8 , wherein processing the collected at least one input using a plurality of rules comprises: determining whether the collected at least one input match with a condition associated with each rule of the plurality of rules. 10. The computing device of claim 1 , wherein processing, based on the obtained priorities, the collected at least one input using the plurality of active processing elements comprises: sharing information among at least two of the plurality of active processing elements. 11. The computing device of claim 10 , wherein sharing information among at least two of the plurality of active processing elements comprises: propagating information from a first active processing element to a second active processing element, wherein the information propagated is weighted or associated with a probability. 12. The computing device of claim 1 , wherein the plurality of active processing elements is associated with a specific context. 13. The computing device of claim 1 , wherein the plurality of active processing elements included in the active ontology are arranged in an ontology-like manner such that each active processing element of the plurality of active processing elements is communicatively coupled to at least one other active processing element. 14. The computing device of claim 13 , wherein active processing elements that are communicatively coupled share processing results with one another. 15. The computing device of claim 1 , wherein processing the collected at least one input using the plurality of active of active processing elements is further based on a predefined order of priority. 16. A method for processing inputs in accordance with an active ontology, comprising: at a computing device including one or more processors and a memory: collecting at least one input corresponding to one or more events associated with an operating environment of the computing device; obtaining priorities associated with a plurality of active processing elements included in the active ontology of an intelligent automated assistant, each active processing element being configured to perform one or more actions responsive to receiving one or more inputs of the collected at least one input; processing, based on the obtained priorities, the collected at least one input using the plurality of active processing elements; identifying at least one action based on results of the plurality of active processing elements processing the collected at least one input, wherein identifying the at least one action comprises, identifying based on the processing results, one or more actions associated with valid conditions; and executing the identified at least one action. 17. The method of claim 16 , wherein collecting at least one input comprises: receiving the at least one input via one or more sensors distributed in the operating environment of the computing device. 18. The method of claim 16 , wherein collecting at least one input comprises: receiving the at least one input via a multimodal user interface. 19. The method of claim 16 , wherein the at least one action comprises at least one of: activity recognition, time recognition, natural language processing, reactive activity execution, rule-based planning, automated scheduling, task automation, temporal constraint management, and service brokering. 20. The method of claim 16 , wherein the at least one input is tagged with an associated context and a current execution pass. 21. The method of claim 16 , wherein processing, based on the obtained priorities, the collected at least one input using the plurality of active processing elements comprises: processing the collected at least one input in accordance with an order of priority associated with the plurality of active processing elements, wherein the order of priority is from highest priority to the lowest priority. 22. The method of claim 21 , wherein processing the collected at least one input in accordance with an order of priority associated with the plurality of active processing elements comprises: for each active processing element of the plurality of active processing elements, processing the collected at least one input using a plurality of rules of the corresponding active processing element in accordance with an order of priority associated with the plurality of rules. 23. The method of claim 22 , wherein each rule of the plurality of rules comprises a condition and an associated action. 24. The method

Assignees

Inventors

Classifications

  • G06N5/022Primary

    Knowledge engineering; Knowledge acquisition · CPC title

  • Interprogram communication · CPC title

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

  • Knowledge representation; Symbolic representation · CPC title

  • Probabilistic graphical models, e.g. probabilistic networks · 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 US11928604B2 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 G06N5/022. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 12 2024 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).