Dynamic Grammar Rules for Speech Recognition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current lightweight voice solutions for small devices require developers to build static grammars for speech recognition, which can be cumbersome and inefficient, especially when recognizing combinations of words like city and state from a single utterance, due to limited computing resources and unnatural user interaction.

Innovation Solution

Implementing a speech recognition system that dynamically defines grammar rules at runtime by matching static rules with user input, allowing for the expansion of dynamic rules based on matched values, enabling more efficient processing of voice utterances and improving user interaction by allowing single-utterance recognition of complex inputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static grammar rules are used for speech recognition on small devices, then the system is simpler to implement and requires fewer computing resources, but the recognition accuracy for complex inputs (like city and state combinations) deteriorates

Engineering Contradiction:
Improvegrammar system complexityVSAvoidspeech recognition accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent implements dynamic grammar rules that are constructed at runtime based on the conversation context. Instead of using fixed static grammars, the system dynamically generates grammar rules tailored to the specific interaction scenario, allowing the grammar to adapt and evolve during the conversation. This resolves the contradiction by making the grammar system dynamic rather than static, improving recognition accuracy for complex inputs without requiring permanently complex grammar structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the grammar construction process into multiple stages: first identifying the intent, then dynamically generating context-specific grammar rules based on that intent. This segmentation allows the system to build specialized grammars for specific tasks (like recognizing city names followed by state names) rather than maintaining a single large static grammar, thereby improving accuracy while keeping individual grammar segments manageable in size.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If large static grammars are built to recognize all possible word combinations, then speech recognition accuracy improves, but the computing resources and memory required increase

Engineering Contradiction:
Improvespeech recognition accuracyVSAvoidmemory and computing resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system dynamically generates grammar rules at runtime based on the specific conversation context rather than loading large static grammars into memory. This dynamic approach allows the system to create only the necessary grammar rules for the current interaction, significantly reducing memory usage and computing resources while maintaining high recognition accuracy for relevant inputs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Instead of loading complete comprehensive grammars that cover all possible inputs, the system generates only the partial grammar rules needed for the current conversation context. This partial action approach loads only the necessary portion of grammar rules into memory at any given time, reducing resource consumption while maintaining accuracy for the specific task at hand.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If static grammars are used, then the system is faster to initialize and simpler to deploy, but the system cannot adapt to different conversation contexts dynamically

Engineering Contradiction:
Improvesystem initialization speedVSAvoidcontext adaptation capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic grammar generation that occurs rapidly at runtime based on conversation context. The system analyzes the user's input and intent, then quickly generates appropriate grammar rules on-the-fly. This dynamic approach maintains fast response times while enabling adaptability to different conversation contexts, resolving the contradiction between initialization speed and context adaptation capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary analysis of the user's intent and conversation context before generating the specific grammar rules needed. This preliminary action allows the system to quickly determine what grammar rules are necessary and generate only those rules, maintaining fast response times while enabling dynamic adaptation to different contexts.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8670987B2Automatic speech recognition with dynamic grammar rules
Publication Date: 2014.03.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8670987B2 patent drawing
  • US8670987B2 patent drawing
  • US8670987B2 patent drawing

AI summary

Automatic speech recognition implemented with a speech recognition grammar of a multimodal application in an ASR engine, the multimodal application operating on a multimodal device supporting multiple modes of user interaction including a voice mode, the multimodal application operatively coupled to the ASR engine, including: matching by the ASR engine at least one static rule of the speech recognition grammar with at least one word of a voice utterance, yielding a matched value, the matched value specified by the grammar to be required for processing of a dynamic rule of the grammar; and dynamically defining at run time the dynamic rule of the grammar as a new static rule in dependence upon the matched value, the dynamic rule comprising a rule that is specified by the grammar as a rule that is not to be processed by the ASR until after the at least one static rule has been matched.