IP Library Granted Patent US 9,348,805
Granted Patent B1
US 9,348,805 · App. 14/806,371 · Granted May 24, 2016

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,348,805
App. No.
14/806,371
Granted
May 24, 2016
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 (55)

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

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

a command sentence selected from a log of 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 task definition describing a 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 plurality of user devices, 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 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:

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.

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

4. 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.

5. 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.

6. 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 plurality of user devices, a user interface that includes:

a command sentence selected from a log of 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 task definition describing a 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 plurality of user devices, 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 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.

7. The non-transitory computer readable storage medium of claim 6 , 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 storage medium of claim 6 , wherein the command sentence is a voice command sentence.

9. The non-transitory computer readable storage medium of claim 6 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.

10. The non-transitory computer readable storage medium of claim 6 , 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.

11. 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 plurality of user devices, a user interface that includes:

a command sentence selected from a log of 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 task definition describing a 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 plurality of user devices, 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 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.

12. The system of claim 11 , 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.

13. The system of claim 11 , wherein the command sentence is a voice command sentence.

14. The system of claim 11 , 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.

15. The system of claim 11 , 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 (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2015
From: USZKOREIT, JAKOB D.; LIANG, PERCY
To: GOOGLE INC.
Reel/Frame 036671/0182 →