IP Library › Granted Patent US 10,276,160
Granted Patent B2
US 10,276,160 · App. 15/348,228 · Granted Apr 30, 2019

Automated assistant for user interaction via speech

Inventors: Jacob Daniel Andreas (Berkeley, CA); Taylor Darwin Berg-Kirkpatrick (Berkely, CA); Pengyu Chen (Cupertino, CA); Jordan Rian Cohen (Kure Beach, NC); Laurence Steven Gillick (Newton, MA); David Leo Wright Hall (Berkeley, CA); Daniel Klein (Orinda, CA); Michael Newman (Somerville, MA); Adam David Pauls (Berkeley, CA); Daniel Lawrence Roth (Newton, MA); Jesse Daniel Eskes Rusak (Somerville, MA); Andrew Robert Volpe (Boston, MA); Steven Andrew Wegmann (Berkeley, CA)
Assignee: Semantic Machines, Inc.
G10L15/22G06F17/241G06F17/248G06F17/279G10L15/063G10L15/1822G10L15/26G10L25/51G10L2015/223
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,276,160
App. No.
15/348,228
Filed
Nov 10, 2016
Granted
Apr 30, 2019
Kind
B2
Art Unit
2657
USPC
704/235
Abstract

An interaction assistant conducts multiple turn interaction dialogs with a user in which context is maintained between turns, and the system manages the dialog to achieve an inferred goal for the user. The system includes a linguistic interface to a user and a parser for processing linguistic events from the user. A dialog manager of the system is configured to receive alternative outputs from the parser, and selecting an action and causing the action to be performed based on the received alternative outputs. The system further includes a dialog state for an interaction with the user, and the alternative outputs represent alternative transitions from a current dialog state to a next dialog state. The system further includes a storage for a plurality of templates, and wherein each dialog state is defined in terms of an interrelationship of one or more instances of the templates.

Claims (37)

1. An interaction system comprising:

an integration section including a first integration component for providing a linguistic interface to a user;

an event processing section including a parser for processing linguistic events from the first integration component; and

a dialog manager configured to receive alternative outputs from the event processing section, and selecting an action and causing the action to be performed based on the received alternative outputs;

wherein the system further includes a storage for a dialog state for an interaction with the user, and wherein the alternative outputs from the event processing section represent alternative transitions from a current dialog state to a next dialog state; and

wherein the system further includes a storage for a plurality of templates, and wherein each dialog state is defined in terms of an interrelationship of one or more instances of the templates.

2. The system of claim 1 wherein the parser is configured to process a linguistic input according to a current dialog state and the plurality of templates to determine the alternative outputs.

3. The system of claim 2 wherein each template defines a plurality of input fields and an output computable from the input fields.

4. The system of claim 3 wherein each template specifies a plurality of actions.

5. The system of claim 2 wherein the parser is further configured to determine each alternative output as a modification of the current dialog state.

6. The system of claim 5 wherein the modification of the current dialog state represents at least one of (a) a change in interrelationship of instances of templates of the current dialog state, (b) addition or removal of an instance of a template, and (c) setting of an input field value of an instance of a template.

7. The system of claim 2 wherein at least some of the alternative outputs are each associated with one or more actions, and the dialog manager is configured to select actions according to the alternative outputs.

8. The system of claim 1 wherein the first integration component includes an automatic speech recognizer configured to receive speech input from the user, and to determine text-based linguistic events for the parser.

9. The system of claim 1 wherein the integration section further includes an application integration component for providing an interface to external applications, and for providing application related events to the event processing section.

10. The system of claim 9 wherein the application related events include at least one of a user interface event, a communication event, and a data access event.

11. The system of claim 1 further includes a storage for salient information, the system being configured to update the salient information according to processing of event received by the event processing section, wherein the parser is configured to process a linguistic input using salience information determined from prior events processed by the event processing section.

12. The system of claim 1 wherein the dialog manager includes a machine learning component for selecting an action according to the alternative outputs.

13. An interaction system comprising:

an integration section including an integration component for providing a linguistic interface to a user;

an event processing section including a parser for processing linguistic events from the integration component; and

a dialog manager configured to receive alternative outputs from the event processing section, and selecting an action and causing the action to be performed based on the received alternative outputs;

wherein the system further includes a storage for a dialog state for an interaction with the user, and wherein the alternative outputs from the event processing section represent alternative transitions from a current dialog state to a next dialog state; and

wherein the system further includes a storage for a plurality of templates, and wherein each dialog state is defined by a graph of templates including: a root template having one or more inputs, and one or more child templates, each child template having an output connected via a directed link to an input of the root template.

14. The system of claim 13 , wherein the parser is configured to process a linguistic input according to a current dialog state and the plurality of templates to determine the alternative outputs.

15. The system of claim 14 , wherein the parser is further configured to determine each alternative output as a modification of the current dialog state.

16. The system of claim 15 wherein the modification of the current dialog state represents at least one of (a) a change in interrelationship of instances of templates of the current dialog state, (b) addition or removal of an instance of a template, and (c) setting of an input field value of an instance of a template.

17. A method for interacting with a user via dialog, the method comprising:

operating an integration component to provide a linguistic interface to the user;

operating a parser to process linguistic events from the integration component;

operating a dialog manager configured to:

receive alternative outputs from the parser, and

select an action and cause the action to be performed based on the received alternative outputs;

maintaining a plurality of templates and a dialog state for an interaction with the user, wherein the dialog state is defined by a graph of templates including: a root template having one or more inputs, and one or more child templates, each child template having an output connected via a directed link to an input of the root template; and

transforming a current dialog state to a next dialog state by selecting an alternative transition from the current dialog state to the next dialog state, based on the alternative outputs from the parser.

18. The system of claim 17 , wherein the parser is configured to process a linguistic input according to a current dialog state and the plurality of templates to determine the alternative outputs.

19. The system of claim 18 , wherein the parser is further configured to determine each alternative output as a modification of the current dialog state.

20. The system of claim 19 wherein the modification of the current dialog state represents at least one of (a) a change in interrelationship of instances of templates of the current dialog state, (b) addition or removal of an instance of a template, and (c) setting of an input field value of an instance of a template.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2020
From: SEMANTIC MACHINES, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053904/0601 →
CONFIRMATORY ASSIGNMENT TO REPLACE DIGITAL SIGNATURES WITH HAND-WRITTEN SIGNATURES Recorded Jan 4, 2019
From: ANDREAS, JACOB DANIEL; BERG-KIRKPATRICK, TAYLOR DARWIN; CHEN, PENGYU; COHEN, JORDAN RIAN; GILLICK, LAURENCE STEVEN; HALL, DAVID LEO WRIGHT; KLEIN, DANIEL; NEWMAN, MICHAEL; PAULS, ADAM DAVID; ROTH, DANIEL LAWRENCE; RUSAK, JESSE DANIEL ESKES; VOLPE, ANDREW; WEGMANN, STEVEN ANDREW
To: SEMANTIC MACHINES, INC.
Reel/Frame 049341/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2017
From: ANDREAS, JACOB DANIEL; BERG-KIRKPATRICK, TAYLOR DARWIN; CHEN, PENGYU; COHEN, JORDAN RIAN; GILLICK, LAURENCE STEVEN; HALL, DAVID LEO WRIGHT; NEWMAN, MICHAEL; KLEIN, DANIEL; PAULS, ADAM DAVID; ROTH, DANIEL LAWRENCE; ESKES RUSAK, JESSE DANIEL; VOLPE, ANDREW ROBERT; WEGMANN, STEVEN ANDREW
To: SEMANTIC MACHINES, INC.
Reel/Frame 042076/0301 →
Continuity (2)
Provisional Application 62254438 · Nov 12, 2015
Related Publication 20170140755A1 · May 18, 2017