IP Library Granted Patent US 11,100,291
Granted Patent B1
US 11,100,291 · App. 16/505,185 · Granted Aug 24, 2021

Semantic grammar extensibility within a software development framework

Inventors: Keyvan Mohajer (Los Gatos, CA); Christopher S. Wilson (Sunnyvale, CA); Bernard Mont-Reynaud (Sunnyvale, CA)
Assignee: SOUNDHOUND, INC.
G06F40/30G06F8/24
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 11,100,291
App. No.
16/505,185
Granted
Aug 24, 2021
Kind
B1
Abstract

A query-processing server that interprets natural language expressions supports the extension of a first semantic grammar (for a particular type of expression), which is declared extensible, by a second semantic grammar (for another type of expression). When an extension is requested, the query-processing server checks that the two semantic grammars have compatible semantic types. The developers need not have any knowledge of each other, or about their respective grammars. Performing an extension may be done by yet another party, such as the query-processing server, or another server, independently of all previous parties. The use of semantic grammar extensions provides a way to expand the coverage and functionality of natural language interpretation in a simple and flexible manner, so that new forms of expression may be supported, and seamlessly combined with pre-existing interpretations. Finally, in some implementations, this is done without loss of efficiency.

Claims (51)

1. A computer-implemented method for extending automated recognition of natural language expressions in a natural language processing system, the method comprising:

storing by the natural language processing system a first semantic grammar and a second semantic grammar, wherein each semantic grammar has a semantic type and a grammar pattern describing natural language expressions that the semantic grammar can interpret;

receiving by the natural language processing system from a developer, a programmatic indication that the second semantic grammar extends the first semantic grammar, wherein the semantic type of the second semantic grammar is compatible with the semantic type of the first semantic grammar; and

creating by the natural language processing system a merged semantic grammar that interprets a natural language expression based on a combination of the first semantic grammar and the second semantic grammar,

wherein an invocation of the first semantic grammar within a rule of a second semantic grammar invokes the merged semantic grammar.

2. The computer-implemented method of claim 1 , further comprising:

receiving from a user by the natural language processing system a natural language expression; and

interpreting, by the natural language processing system, the natural language expression using the merged semantic grammar.

3. The computer-implemented method of claim 2 , further comprising:

based on the interpretation, generating programmatic output comprising at least one of a graphical output and an auditory output.

4. The computer-implemented method of claim 2 , wherein interpreting the natural language expression comprises:

responsive to the expression having a second interpretation according to the second grammar, automatically deriving an interpretation of the expression according to the merged semantic grammar from the second interpretation by first casting values from the second semantic type to the merged semantic type.

5. The computer-implemented method of claim 1 , wherein creating the merged grammar comprises linking static code libraries for the first semantic grammar and the second semantic grammar.

6. The computer-implemented method of claim 1 , wherein creating the merged grammar comprises jointly compiling the first semantic grammar and the second semantic grammar.

7. The computer-implemented method of claim 1 , wherein creating the merged grammar comprises jointly optimizing the combination of the first semantic grammar and the second semantic grammar.

8. The computer-implemented method of claim 1 , wherein creating the merged grammar comprises dynamically loading a code library for the second semantic grammar.

9. The computer-implemented method of claim 1 , wherein creating the merged grammar is implemented by adding one rule to the second semantic grammar.

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

the first semantic grammar is received from a first developer; and

the second semantic grammar is received from a second developer working independently of the first developer.

11. The computer-implemented method of claim 1 , wherein the first semantic grammar or second semantic grammar include weights for sub-expressions, the interpreting the natural language expression further comprising selecting an interpretation using the weights.

12. A non-transitory computer-readable storage medium storing instructions executable by a computer processor, the instructions comprising:

instructions for storing a first semantic grammar and a second semantic grammar, wherein each semantic grammar has a semantic type and a grammar pattern describing natural language expressions that the semantic grammar can interpret;

instructions for receiving from a developer a programmatic indication that the second semantic grammar extends the first semantic grammar, wherein the semantic type of the second semantic grammar is compatible with the semantic type of the first semantic grammar; and

instructions for creating a merged semantic grammar that interprets a natural language expression based on a combination of the first semantic grammar and the second semantic grammar,

wherein an invocation of the first semantic grammar within a rule of a second semantic grammar invokes the merged semantic grammar.

13. The non-transitory computer-readable storage medium of claim 12 , the instructions further comprising:

instructions for receiving from a user a natural language expression; and

instructions for interpreting the natural language expression using the merged semantic grammar.

14. The non-transitory computer-readable storage medium of claim 12 , wherein creating the merged grammar is implemented by adding one rule to the second semantic grammar.

15. The non-transitory computer-readable storage medium of claim 12 , wherein:

the first semantic grammar is received from a first developer; and

the second semantic grammar is received from a second developer working independently of the first developer.

16. The non-transitory computer-readable storage medium of claim 12 , wherein the invocation of the first semantic grammar within the rule of the second semantic grammar conditionally invokes the merged semantic grammar, based on parameters that control use of the invocation.

17. The non-transitory computer-readable storage medium of claim 16 , wherein at least one context parameter comprises an identifier of an application receiving the natural language query.

18. A computer-implemented method for extending automated recognition of natural language expressions in a natural language processing system, the method comprising:

storing, by the natural language processing system, a first semantic grammar having:

a name,

a semantic type,

a grammar pattern describing natural language expressions that the first semantic grammar can interpret, and

a set of programming actions that describe how to construct the interpretation of a successfully parsed expression;

receiving, by the natural language processing system, a second semantic grammar;

receiving, by the natural language processing system, from a developer, a programmatic indication that the second semantic grammar extends the first semantic grammar;

creating a merged semantic grammar that interprets a natural language expression based on a combination of the first semantic grammar and the second semantic grammar;

receiving from a user a natural language expression; and

interpreting, by the natural language processing system, the natural language expression using the merged semantic grammar.

19. The computer-implemented method of claim 18 , wherein an invocation of a name of the first semantic grammar within a rule of both the first semantic grammar and the second semantic grammar invokes the merged semantic grammar.

20. The computer-implemented method of claim 18 , wherein the invocation of the merged semantic grammar is conditional based on context parameters.

21. The computer-implemented method of claim 20 , wherein the context parameters comprise an identifier of an application receiving the natural language query.

22. The computer-implemented method of claim 20 , wherein the context parameters comprise a geographic location from which the natural language query was received.

23. The computer-implemented method of claim 20 , wherein the context parameters comprise a set of applications owned by a user from whom the natural language query is received.

Assignments (6)
SECURITY INTEREST Recorded Aug 9, 2024
From: SOUNDHOUND, INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 068526/0413 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2024
From: ACP POST OAK CREDIT II LLC, AS COLLATERAL AGENT
To: SOUNDHOUND, INC.; SOUNDHOUND AI IP, LLC
Reel/Frame 067698/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2023
From: SOUNDHOUND AI IP HOLDING, LLC
To: SOUNDHOUND AI IP, LLC
Reel/Frame 064205/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2023
From: SOUNDHOUND, INC.
To: SOUNDHOUND AI IP HOLDING, LLC
Reel/Frame 064083/0484 →
SECURITY INTEREST Recorded Apr 17, 2023
From: SOUNDHOUND, INC.; SOUNDHOUND AI IP, LLC
To: ACP POST OAK CREDIT II LLC
Reel/Frame 063349/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2019
From: MOHAJER, KEYVAN; WILSON, CHRISTOPHER S.; MONT-REYNAUD, BERNARD
To: SOUNDHOUND, INC.
Reel/Frame 050569/0698 →