IP Library Granted Patent US 10,402,492
Granted Patent B1
US 10,402,492 · App. 15/370,666 · Granted Sep 3, 2019

Processing natural language grammar

Inventor: Steven John Schanbacher (Omaha, NE)
Assignee: Open Invention Network, LLC
G06F17/274G06F17/218G10L15/19
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,402,492
App. No.
15/370,666
Granted
Sep 3, 2019
Kind
B1
Abstract

Creating and processing a natural language grammar set of data based on an input text string are disclosed. The method may include tagging the input text string, and examining, via a processor, the input text string for at least one first set of substitutions based on content of the input text string. The method may also include determining whether the input text string is a substring of a previously tagged input text string by comparing the input text string to a previously tagged input text string, such that the substring determination operation determines whether the input text string is wholly included in the previously tagged input text string.

Claims (65)

1. A method, comprising:

receiving and tagging an input text string, the input text string formed from a user's spoken input;

sorting a plurality of previously tagged text strings by length from longest to shortest;

selecting a longest sorted previously tagged text string:

determining whether the tagged input text string is a substring of the selected previously tagged text string;

in response to the tagged input text string is a substring of the selected previously tagged text string:

comparing a tag of the input text string to a tag of the selected previously tagged text string;

in response to the tag of the input text string not matching the tag of the selected previously tagged test string:

selecting a next longest previously tagged text string; and

repeating determining and comparing for the next longest selected previously tagged text string; and

in response to the tag of the input text string matching the tag of the selected previously tagged test string:

adding the input text string to a natural language grammar;

eliminating the selected previously tagged text string from a natural language grammar via a processor; and

utilizing the input text string to connect a caller with a correct department.

2. The method of claim 1 , further comprising:

examining, via the processor, the tagged input text string for at least one set of substitutions based on content of the input text string; and

performing the at least one set of substitutions by expanding the input text string to create at least one previously tagged text string that includes at least one portion of the input text string and at least one additional portion not previously part of the input text string.

3. The method of claim 2 , wherein each of the at least one previously tagged text string contains words that are the same as the input text string except at least one word has been removed from the input text string and has been replaced by a different word in the at least one previously tagged text string.

4. The method of claim 1 , wherein eliminating the selected previously tagged text string from the natural language grammar comprises determining which comprises a longer text string and eliminating that which is a longer text string among the input text string and the selected previously tagged text string.

5. The method of claim 1 , wherein if the input text string and the previously tagged text string do not share a common pre-assigned tag identifier stored in a memory location, then maintaining the input text string and the previously tagged text string in the natural language grammar by writing both the input text string and previously tagged text string to a source code stored in the memory location.

6. The method of claim 2 , wherein the input text string is a plurality of text strings each of which are examined, via the processor for the at least one set of substitutions based on content of the previously tagged text strings, and wherein at least one of the plurality of input text strings are used to generate a grammar source code file.

7. An apparatus, comprising:

a processor configured to:

receive and tag an input text string, the input text string formed from a user's spoken input;

sort a plurality of previously tagged text strings by length from longest to shortest;

select a longest previously tagged text string:

determine whether the tagged input text string is a substring of the selected previously tagged text string;

in response to the tagged input text string is a substring of the selected previously tagged text string:

compare a tag of the input text string to a tag of the selected previously tagged text string;

in response to the tag of the input text string does not match the tag of the selected previously tagged test string:

select a next longest previously tagged text string; and

repeats determine and compare; and

in response to the tag of the input text string matches the tag of the selected previously tagged test string:

add the input text string to a natural language grammar;

eliminate the selected previously tagged text string from the natural language grammar; and

utilize the input text string to connect a caller with a correct department.

8. The apparatus of claim 7 , wherein the processor is further configured to:

examine the tagged input text string for at least one set of substitutions based on content of the input text string; and

perform the at least one set of substitutions by expanding the input text string to create at least one previously tagged text string that includes at least one portion of the input text string and at least one additional portion not previously part of the input text string.

9. The apparatus of claim 8 , wherein each of the at least one previously tagged text string contains words that are the same as the input text string except at least one word has been removed from the input text string and has been replaced by a different word in the at least one previously tagged text string.

10. The apparatus of claim 7 , further comprising a memory location configured to store a pre-assigned tag identifier.

11. The apparatus of claim 10 , wherein an elimination of the selected previously tagged text string from the natural language grammar comprises a determination of which is a longer text string and an elimination of that which is a longer text string among the input text string and the selected previously tagged text string.

12. The apparatus of claim 10 , wherein if the input text string and the selected previously tagged text string do not share a common pre-assigned tag identifier stored in the memory location, then the input text string and the selected previously tagged text string are maintained in the natural language grammar by both the input text string and the selected previously tagged text string being written to a source code stored in the memory location.

13. The apparatus of claim 8 , wherein the input text string is a plurality of text strings each of which are examined, via the processor for the at least one set of substitutions based on content of the previously tagged text strings, and wherein at least one of the plurality of input text strings are used to generate a grammar source code file.

14. A non-transitory computer readable storage medium configured to store a set of instructions that when executed causes a processor to perform:

receiving and tagging an input text string, the input text string formed from a user's spoken input;

sorting a plurality of previously tagged text strings by length from longest to shortest;

selecting a longest sorted previously tagged text string:

determining whether the tagged input text string is a substring of the selected previously tagged text string;

in response to the input text string is a substring of the selected previously tagged text string:

comparing a tag of the input text string to a tag of the selected previously tagged text string;

in response to the tag of the input text string not matching the tag of the selected previously tagged test string:

selecting a next longest previously tagged text string; and

repeating determining and comparing for the next longest selected previously tagged text string; and

in response to the tag of the input text string matching the tag of the selected previously tagged test string:

adding the input text string to a natural language grammar;

eliminating the selected previously tagged text string from a natural language grammar; and

utilizing the input text string to connect a caller with a correct department.

15. The non-transitory computer readable storage medium of claim 14 , wherein the processor is further configured to perform:

examining a tagged input text string for at least one set of substitutions based on content of the input text string and the at least one set of substitutions by expanding the input text string to create at least one previously tagged text string that includes at least one portion of the input text string and at least one additional portion not previously part of the input text string.

16. The non-transitory computer readable storage medium of claim 15 , wherein each of the at least one previously tagged text string contains words that are the same as the input text string except at least one word has been removed from the input text string and has been replaced by a different word in the at least one previously tagged text string.

17. The non-transitory computer readable storage medium of claim 15 , wherein eliminating the selected previously tagged text string comprises determining which is a longer text string.

18. The non-transitory computer readable storage medium of claim 17 , wherein eliminating the selected previously tagged text string comprises eliminating the selected previously tagged test string from the natural language grammar.

19. The non-transitory computer readable storage medium of claim 15 , wherein if the input text string and the selected previously tagged text string do not share a common pre-assigned tag identifier stored in the memory location, then maintaining the input text string and the selected previously tagged text string in the natural language grammar.

20. The non-transitory computer readable storage medium of claim 19 , wherein maintaining the input text string and the selected previously tagged text string in the natural language grammar is performed by writing both the input text string and the selected previously tagged text string to a source code stored in the memory location.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062401/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2017
From: WEST CORPORATION
To: OPEN INVENTION NETWORK, LLC
Reel/Frame 044791/0681 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2017
From: U.S. BANK NATIONAL ASSOCIATION
To: WEST CORPORATION; WEST INTERACTIVE SERVICES CORPORATION; WEST SAFETY SERVICES, INC.; WEST UNIFIED COMMUNICATIONS SERVICES, INC.; RELIANCE COMMUNICATIONS, LLC
Reel/Frame 044363/0380 →
Continuity (4)
Continuation 14840632 · Aug 31, 2015
Continuation 14324943 · Jul 7, 2014
Continuation 14171942 · Feb 4, 2014
Continuation 12703435 · Feb 10, 2010