IP Library Granted Patent US 9,123,336
Granted Patent B1
US 9,123,336 · App. 13/926,675 · Granted Sep 1, 2015

Learning parsing rules and argument identification from crowdsourcing of proposed command inputs

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 9,123,336
App. No.
13/926,675
Granted
Sep 1, 2015
Kind
B1
Abstract

Systems, methods and apparatus for learning parsing rules and argument identification from crowdsourcing of proposed command inputs are disclosed. Crowdsourcing techniques are used to generate rules for parsing input sentences. A parse is used to determine whether the input sentence invokes a specific action, and if so, what arguments are to be passed to the invocation of the action.

Claims (66)

1. A computer-implemented method performed by a data processing apparatus, comprising:

providing, by the data processing apparatus to a first plurality of user devices, a first user interface that includes:

a first task definition describing a first user task to generate a command sentence for an action;

a first set of non-terminal fields, each non-terminal field in the set listing a non-terminal type and a terminal that parses to the non-terminal type; and

a command sentence input field in which a user-generated command sentence is input by the user;

receiving, by the data processing apparatus and from the plurality of user devices, user-generated command sentences input into the command sentence input field;

providing, by the data processing apparatus to a second plurality of user devices, a second user interface that includes:

one of the user-generated command sentences selected from the received user-generated command sentences;

the first set of non-terminal fields, each non-terminal field in the first set listing the non-terminal type and the terminal that parses to the non-terminal type;

a second task definition describing a second user task to classify each of a plurality of n-grams of the command sentence as belonging to one of:

the non-terminal types in the set of non-terminal types; or

none of the non-terminal types in the set of non-terminal types;

receiving, by the data processing apparatus and from the second plurality of user devices, second user task response data classifying the n-grams of the command sentence, wherein for each non-terminal type at least a respective first set of n-grams are classified as belonging to the non-terminal type and at least a second set of n-grams are classified as belonging to none of the non-terminal types;

generating, by the data processing apparatus, command grammars for the action from the second user task response data, each of the command grammars defining non-terminals of each of the non-terminal types and at least one terminal defining at least one of the second set of n-grams; and

persisting the command grammars to a command model.

2. The computer-implemented method of claim 1 , wherein the command sentence is a voice command sentence.

3. The computer-implemented method of claim 1 , wherein the command model facilitates, for each command grammar, the generation of an action score for the action from a bottom-up parse of an input sentence using the command grammar.

4. The computer-implemented method of claim 1 , wherein:

each non-terminal type corresponds to a variable for the action; and

for each non-terminal type, a semantic yield of a non-terminal of the non-terminal type defines an argument of the variable for the action.

5. A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and that upon such execution causes the data processing apparatus to perform operations comprising:

providing, by the data processing apparatus to a first plurality of user devices, a first user interface that includes:

a first task definition describing a first user task to generate a command sentence for an action;

a first set of non-terminal fields, each non-terminal field in the set listing a non-terminal type and a terminal that parses to the non-terminal type; and

a command sentence input field in which a user-generated command sentence is input by the user;

receiving, by the data processing apparatus and from the plurality of user devices, user-generated command sentences input into the command sentence input field;

providing, by the data processing apparatus to a second plurality of user devices, a second user interface that includes:

one of the user-generated command sentences selected from the received user-generated command sentences;

the first set of non-terminal fields, each non-terminal field in the first set listing the non-terminal type and the terminal that parses to the non-terminal type;

a second task definition describing a second user task to classify each of a plurality of n-grams of the command sentence as belonging to one of:

the non-terminal types in the set of non-terminal types; or

none of the non-terminal types in the set of non-terminal types;

receiving, by the data processing apparatus and from the second plurality of user devices, second user task response data classifying the n-grams of the command sentence, wherein for each non-terminal type at least a respective first set of n-grams are classified as belonging to the non-terminal type and at least a second set of n-grams are classified as belonging to none of the non-terminal types;

generating, by the data processing apparatus, command grammars for the action from the second user task response data, each of the command grammars defining non-terminals of each of the non-terminal types and at least one terminal defining at least one of the second set of n-grams; and

persisting the command grammars to a command model.

6. The non-transitory computer readable medium of claim 5 , wherein the command model facilitates, for each command grammar, the generation of an action score for the action from a bottom-up parse of an input sentence using the command grammar.

7. The non-transitory computer readable medium of claim 5 , wherein:

each non-terminal type corresponds to a variable for the action; and

for each non-terminal type, a semantic yield of a non-terminal of the non-terminal type defines an argument of the variable for the action.

8. The non-transitory computer readable medium of claim 5 , wherein:

each non-terminal type corresponds to a variable for the action; and

for each non-terminal type, a semantic yield of a non-terminal of the non-terminal type defines an argument of the variable for the action.

9. A system, comprising:

a data processing apparatus; and

a non-transitory computer readable storage medium in data communication with the data processing apparatus storing instructions executable by the data processing apparatus and that upon such execution causes the data processing apparatus to perform operations comprising:

providing, by the data processing apparatus to a first plurality of user devices, a first user interface that includes:

a first task definition describing a first user task to generate a command sentence for an action;

a first set of non-terminal fields, each non-terminal field in the set listing a non-terminal type and a terminal that parses to the non-terminal type; and

a command sentence input field in which a user-generated command sentence is input by the user;

receiving, by the data processing apparatus and from the plurality of user devices, user-generated command sentences input into the command sentence input field;

providing, by the data processing apparatus to a second plurality of user devices, a second user interface that includes:

one of the user-generated command sentences selected from the received user-generated command sentences;

the first set of non-terminal fields, each non-terminal field in the first set listing the non-terminal type and the terminal that parses to the non-terminal type;

a second task definition describing a second user task to classify each of a plurality of n-grams of the command sentence as belonging to one of:

the non-terminal types in the set of non-terminal types; or

none of the non-terminal types in the set of non-terminal types;

receiving, by the data processing apparatus and from the second plurality of user devices, second user task response data classifying the n-grams of the command sentence, wherein for each non-terminal type at least a respective first set of n-grams are classified as belonging to the non-terminal type and at least a second set of n-grams are classified as belonging to none of the non-terminal types;

generating, by the data processing apparatus, command grammars for the action from the second user task response data, each of the command grammars defining non-terminals of each of the non-terminal types and at least one terminal defining at least one of the second set of n-grams; and

persisting the command grammars to a command model.

10. The system of claim 9 , wherein the command model facilitates, for each command grammar, the generation of an action score for the action from a bottom-up parse of an input sentence using the command grammar.

11. The system of claim 9 , wherein:

each non-terminal type corresponds to a variable for the action; and

for each non-terminal type, a semantic yield of a non-terminal of the non-terminal type defines an argument of the variable for the action.

12. The system of claim 9 , wherein:

each non-terminal type corresponds to a variable for the action; and

for each non-terminal type, a semantic yield of a non-terminal of the non-terminal type defines an argument of the variable for the action.

Assignments (3)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2015
From: USZKOREIT, JAKOB D.; LIANG, PERCY
To: GOOGLE INC.
Reel/Frame 036637/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2013
From: USZKOREIT, JAKOB D.; LIANG, PERCY
To: GOOGLE INC.
Reel/Frame 030925/0352 →