Reducing a size of a compiled speech recognition grammar
Claim Score by NHIP
Abstract
The present invention discloses creating and using speech recognition grammars of reduced size. The reduced speech recognition grammars can include a set of entries, each entry having a unique identifier and a phonetic representation that is used when matching speech input against the entries. Each entry can lack a textual spelling corresponding to the phonetic representation. The reduced speech recognition grammar can be digitally encoded and stored in a computer readable media, such as a hard drive or flash memory of a portable speech enabled device.

Term
Projected expiry 2 January 2028.
- Priority and filed
- Published
- Today
- Projected expiry
19 claims: 3 independent, 16 dependent
- 1Broadest claimClaim Score 81, broad(NHIP)A compiled speech recognition grammar comprising:a plurality of entries, each entry having a unique identifier and a phonetic representation that is used when matching speech input against the entries, each entry lacking a textual spelling corresponding to the phonetic representation, wherein said compiled speech recognition grammar is digitally encoded and stored in a computer readable media.
- 8A method for reducing a size of speech recognition grammars comprising:omitting the textual representation for a spelling of a plurality of items in a compiled speech recognition grammar, where each grammar item comprises a unique item identifier and a phonetic representation of the entry, wherein the compiled recognition grammar is digitally encoded and stored in a computer readable media.
- 14A speech enabled computing device comprising:a content data store comprising a plurality of content items, each content item having an associated textual description providing an item spelling and a unique identifier;a content handler that is software stored in a medium and executable by a speech enabled computing device, which causes the device to perform at least one programmatic action involving one of the content items;audio transducer configured to capture audio input;a speech recognition grammar comprising a plurality of grammar entries, each grammar entry having the unique identifier and a phonetic representation that is used when matching speech input against the grammar entries, wherein each grammar entry lacks a textual spelling corresponding to the phonetic representation, wherein said speech recognition grammar is digitally encoded and stored in a computer readable media;and a speech recognition engine configured to speech recognize audio input captured by the audio transducer in accordance with the entries of the speech recognition grammar, wherein results of the speech recognition engine are used to trigger programmatic actions of the content handler relating to the content items.
Independent claims3
32 paragraphs in 3 sections, as filed
BACKGROUND
p-00021. Field of the Invention
p-0003The present invention relates to the field of speech processing technologies and, more particularly, to reducing a size of a compiled speech recognition grammar.
p-00042. Description of the Related Art
p-0005Speech input modalities are an extremely convenient and intuitive mechanism for interacting with computing devices in a hands free manner. Speech input modalities can be especially advantageous for interactions involving portable or embedded devices, which lack traditional input mechanisms, such as a full sized keyboard and/or a large display screen. At present, small devices often offer a scrollable selection mechanism, such as an ability to view all entries and highlight a particular selection of interest. As a number of items on a device increase, however, scroll based selections become increasingly cumbersome. Speech based selections, on the other hand, can theoretically handle selections from an extremely long list of items with ease.
p-0006Speech enabled systems match speech input against a set of phonetic representations contained in a speech recognition grammar. Each recognition grammar entry typically contains a unique identifier (i.e., primary key for database and programmatic identification purposes), the phonetic representation, and a textual representation. Multiple recognition grammars can exist on a single device, such as multiple context dependent grammars and/or multiple speaker dependent grammars. An amount of storage space required for containing all device needed recognition grammars can be relatively large when significant numbers of speech recognizable entries exist for a device.
p-0007For example, a speech enabled navigation system can include a large database of street names to be recognized, which each have corresponding speech recognition grammar entries. In another example, digital media players can include hundreds or thousands of songs, which are each multiply indexed based on artist, album, and song title, each user selectable indexing mechanism requiring a corresponding recognition grammar.
p-0008Portable devices are typically resource constrained devices, which can lack vast reserves of available storage space. What is needed is a technique to reduce the amount of memory consumed by recognition grammar entries without reducing the scope of the set of items contained in the recognition grammars. Many traditional storage conservation techniques, such as compressing files, are not helpful in this context due to corresponding performance and processing detriments associated with implementing compression/decompression techniques. Any solution designed for conserving memory of resource constrained devices should ideally not cause performance to suffer, since additional processing resources are often as scarce as memory resources and since increased latencies can greatly diminish a user's satisfaction with the device and the feasibility of the solution.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0009There are shown in the drawings, embodiments which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
p-0010<figref idrefs="DRAWINGS">FIG. 1</figref> is a flow chart of a method for reducing a size of a compiled speech recognition grammar by excluding a textual representation of an associated phrase from the grammar.
p-0011<figref idrefs="DRAWINGS">FIG. 2</figref> is a schematic diagram showing a speech enabled device that uses a grammar compiler to minimize a size of recognition grammars in accordance with an embodiment of the inventive arrangements disclosed herein.
DETAILED DESCRIPTION OF THE INVENTION
p-0012<figref idrefs="DRAWINGS">FIG. 1</figref> is a flow chart of a method <b>100</b> for reducing a size of a compiled speech recognition grammar by excluding a textual representation of an associated phrase from the grammar. Speech grammar entries presently include a unique entry identifier, a phonetic representation that is matched against received speech, and a textual phase for the unique identifier. In many instances, the textual phrase is actually not needed. For example, when responding to a speech phrase “call Mr. Smith,” a speech enabled mobile phone needs to translate the speech into an action (which uses the entry identifier that is matched to a phonetic representation that matches the speech input). The textual phrase for the recognition result contained in the recognition grammar is not necessarily used. Additionally, a different data store of the device can associate the textual phrases with the unique identifiers, which makes the textual representation in the speech recognition grammars largely redundant. Furthermore, only one entry is sufficient in a data store as opposed to multiple entries for the same unique identifier in several recognition grammars differing by assumed speech context.
p-0013The present invention removes that redundancy, which can result in significant memory savings for recognition grammars. For example, memory requirements for storing the textual representation is often approximately equivalent to memory requirements for the phonetic representation, both of which are substantially larger than memory requirements for the unique identifier. Thus, removing textual entries from speech recognition grammars can result in approximately a forty to fifty percent reduction in memory consumption related to the recognition grammars.
p-0014As shown, method <b>100</b> can begin in step <b>105</b>, where a database of phrases and associated identifiers can be identified. One or more speech recognition grammar can correspond to this data store. In one embodiment, the related recognition grammars can be created from the speech recognition data store, as shown in step <b>110</b>. In another embodiment, the related speech recognition grammars can be externally created and/or provided for use by a speech-enabled device along with the entries of the data store. For example, the recognition grammar can be configured at a factory and installed within a speech enabled device. The grammar format for the recognition grammar can conform to any of a variety of standards and can be written in a variety of grammar specification languages.
p-0015In step <b>115</b>, the recognition grammar can be compiled to include annotations (unique entry identifiers) and phonetic representations but to exclude text representations. In optional step <b>120</b>, the grammar can be optimized by positioning annotation locations relative to phonetic representations in a manner that improves performance over non-optimized arrangements. Process <b>160</b> breakout shows one contemplated manner for optimizing the grammar. Other optimizations are possible and are to be considered within the scope of the invention.
p-0016In process <b>160</b>, the grammar entries can be sorted. In step <b>164</b>, commonality filters can be applied so that key phonetic similarities contained within entries are identified. In step <b>166</b>, the filtered grammar can be digitally encoded as a structured hierarchy of phonetic representations for recognizable phrases. Parent nodes of the hierarchy can represent common phrase portions, where child nodes can represent unique portions sharing a commonality defined by the shared parent, where the commonalty is that detected by the commonality filter in step <b>164</b>. The recognition grammar can be intended to recognize an input by the lowest level match in the structured hierarchy. In step <b>168</b>, each terminal node, as well as selective intermediate nodes having a recognition meaning, can be associated with a unique identifier.
p-0017To illustrate this hierarchical structure, a speech enabled device can include a system command of “stop” that pauses music playback and can include speech selectable songs titled “Can't stop the feeling” and “Stop in the name of love.” The phonetic commonality of these three entries is a phrase portion for “stop.” Stop can be a parent node in the hierarchy, which is associated with a unique identifier for the stop system command. Child nodes can exist from the parent node for the songs “Can't stop the feeling” and “Stop in the name of love.” Each child can be associated with a unique identifier for the related song. An actual textual representation for the songs and system command will not be stored in the compiled grammar to conserve space.
p-0018Regardless of whether optimization occurs in step <b>120</b> or not, the compiled grammar can then be registered for use with a speech enabled device, as shown by step <b>125</b>. Once registered, the speech enabled device can receive audio input, as shown by step <b>127</b>. In optional step <b>128</b>, an applicable recognition grammar can be selected. For example, a speaker dependent grammar associated with a user of the speech enabled device can be selected. In another example, a context dependent grammar applicable for the current context of the speech enabled device can be selected. Step <b>128</b> is optional since the method <b>100</b> can be performed in a speech-enabled environment that uses a speaker independent and context independent recognition grammar.
p-0019In step <b>130</b>, the audio input can be processed by a speech recognition engine and compared against entries in the selected recognition grammar. In step <b>135</b>, a grammar entry can be matched against the input phrase, which results in a unique phrase identifier being determined. In step <b>140</b>, a determination can be made as to whether a textual representation for the phrase identifier is needed. If so, the database of phrases can be queried for this representation, as noted by step <b>145</b>. In step <b>150</b>, a programmatic action can be performed that involves the identified phrase and/or the textual representation optionally retrieved in step <b>145</b>.
p-0020<figref idrefs="DRAWINGS">FIG. 2</figref> is a schematic diagram showing a speech enabled device <b>210</b> that uses a grammar compiler to minimize a size of recognition grammars <b>228</b> in accordance with an embodiment of the inventive arrangements disclosed herein. The method <b>100</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> can be implemented by the device <b>210</b>. Other implementations of the method <b>100</b> are contemplated, however, and the method <b>100</b> is not be construed as limited to components expressed in <figref idrefs="DRAWINGS">FIG. 2</figref>.
p-0021In <figref idrefs="DRAWINGS">FIG. 2</figref>, a speech enabled device <b>210</b> can generate recognition grammar <b>228</b> placed in data store <b>226</b> from items in a content data store <b>230</b>. The items <b>230</b> can be textually specified items having a unique identifier. This unique identifier is stored along with a speech recognition data for the item in data store <b>226</b>. The text specification for the item is not redundantly stored in the data store <b>226</b>, as is standard practice. After placing the speech recognition data in the data store <b>226</b>, user speech received through audio transducer <b>214</b> can be recognized by a speech recognition engine <b>220</b>. Results from engine <b>220</b> can cause a programmatic action related to the item to be performed.
p-0022The speech enabled device <b>210</b> can optionally acquire new content to be placed in the data store <b>230</b> from a remotely located content source, which exchanges data over a network that device <b>210</b> connects to using the network transceiver <b>212</b>. New content can be processed by grammar compiler <b>219</b>, which creates entries for the new content that are placed in an appropriate grammar <b>228</b> of data store <b>226</b>. A minimized recognition grammar <b>228</b> can also be established without using compiler <b>219</b>, which occurs when a grammar <b>228</b> contains only factory established items. The grammar compiler <b>219</b> can be software capable of generating speech recognition data for textual items in a format compatible with a recognition grammar <b>228</b>.
p-0023The speech recognition data can include phonetic representations of content items, which can be added to a speech recognition grammar <b>228</b> of device <b>210</b>. The speech recognition data can conform to a variety of grammar specification standards, such as the Speech Recognition Grammar Specification (SRGS), Extensible MultiModal Annotation Markup (EMMA), Natural Language Semantics Markup Language (NLSML), Semantic Interpretation for Speech Recognition (SISR), the Media Resource Control Protocol Version 2 (MRCPv2), a NUANCE Grammar Specification Language (GSL), a JAVA Speech Grammar Format (JSGF) compliant language, and the like. Additionally, the speech recognition data can be in any format, such as an Augmented Backus-Naur Form (BNF) format, an Extensible Markup Language (XML) format, and the like.
p-0024The speech enabled device <b>210</b> can be any computing device able to accept speech input and to perform programmatic actions in response to the received speech input. The device <b>210</b> can, for example, include a speech enabled mobile phone, a personal data assistant, an electronic gaming device, an embedded consumer device, a navigation device, a kiosk, a personal computer, and the like.
p-0025The network transceiver <b>212</b> can be a transceiver able to convey digitally encoded content with remotely located computing devices. The transceiver <b>212</b> can be a wide area network (WAN) transceiver or can be a personal area network (PAN) transceiver, either of which can be configured to communicate over a line based or a wireless connection. For example, the network transceiver <b>212</b> can be a network card, which permits device <b>210</b> to connect to a content source over the Internet. In another example, the network transceiver <b>212</b> can be a BLUETOOTH, wireless USB, or other point-to-point transceiver, which permits device <b>210</b> to directly exchange content with a proximately located content source having a compatible transceiving capability.
p-0026The audio transducer <b>214</b> can include a microphone for receiving speech input as well as one or more speakers for producing speech output.
p-0027The content handler <b>216</b> can include a set of hardware/software/firmware for performing actions involving content <b>232</b> stored in data store <b>230</b>. For example, in an implementation where the device <b>210</b> is an MP3 player, the content handler <b>216</b> can include codecs for reading the MP3 format, audio playback engines, and the like.
p-0028Device <b>210</b> can include a user interface <b>218</b> having a set of controls, I/O peripherals, and programmatic instructions, which enable a user to interact with device <b>210</b>. Interface <b>218</b> can, for example, include a set of playback buttons for controlling music playback (as well as a speech interface) in a digital music playing embodiment of device <b>210</b>. In one embodiment, the interface <b>218</b> can be a multimodal interface permitting multiple different modalities for user interactions, which include a speech modality.
p-0029The speech recognition engine <b>220</b> can include machine readable instructions for performing speech-to-text conversions. The speech recognition engine <b>220</b> can include an acoustic model processor <b>222</b> and/or a language model processor <b>224</b>, both of which can vary in complexity from rudimentary to highly complex depending upon implementation specifics and device <b>210</b> capabilities. The speech recognition engine <b>220</b> can utilize a set of one or more grammars <b>228</b>. In one embodiment, the data store <b>226</b> can include a plurality of grammars <b>228</b>, which are selectively activated depending upon a device <b>210</b> state. Accordingly, grammar <b>228</b> to which the speech recognition data <b>226</b> is added can be a context dependent grammar, a context independent grammar, a speaker dependent grammar, and a speaker independent grammar depending upon implementation specifics for system <b>200</b>.
p-0030Each of the data stores <b>226</b>, <b>230</b> can be physically implemented within any type of hardware including, but not limited to, a magnetic disk, an optical disk, a semiconductor memory, a digitally encoded plastic memory, a holographic memory, or any other recording medium. Each data store <b>226</b>, <b>230</b> can be stand-alone storage units as well as a storage unit formed from a plurality of physical devices, which may be remotely located from one another. Additionally, information can be stored within the data stores <b>226</b>, <b>230</b> in a variety of manners. For example, information can be stored within a database structure or can be stored within one or more files of a file storage system, where each file may or may not be indexed for information searching purposes.
p-0031The present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
p-0032The present invention also may be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
p-0033This invention may be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.
Contents3
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8275834B2 | Cited by | United States of America | Search report |
| US10714096B2 | Cited by | United States of America | Applicant |
| US9894460B1 | Cited by | United States of America | Applicant |
| US8682661B1 | Cited by | United States of America | Applicant |
| US10621442B2 | Cited by | United States of America | Applicant |
| US9472196B1 | Cited by | United States of America | Applicant |
| US9965685B2 | Cited by | United States of America | Search report |
| US9740751B1 | Cited by | United States of America | Applicant |
| US2011161341A1 | Cited by | United States of America | Pre-grant |
| US9691384B1 | Cited by | United States of America | Applicant |
| US10224030B1 | Cited by | United States of America | Search report |
| US2011066682A1 | Cited by | United States of America | Pre-grant |
| US9570077B1 | Cited by | United States of America | Applicant |
| US10002613B2 | Cited by | United States of America | Applicant |
| US2016364963A1 | Cited by | United States of America | Pre-grant |
| US2012327112A1 | Cited by | United States of America | Pre-grant |
| US8370146B1 | Cited by | United States of America | Applicant |
| US10582355B1 | Cited by | United States of America | Applicant |
| CN103999152A | Cited by | China | Search report |
| US10839799B2 | Cited by | United States of America | Applicant |
| US10008203B2 | Cited by | United States of America | Applicant |
| US9922648B2 | Cited by | United States of America | Applicant |
| US2017255615A1 | Cited by | United States of America | Search report |
| US2015088920A1 | Cited by | United States of America | Pre-grant |
| US8914396B2 | Cited by | United States of America | Search report |
| US9286386B2 | Cited by | United States of America | Search report |
| US10089982B2 | Cited by | United States of America | Applicant |
| WO2013101051A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2001049601A1 | Cites | United States of America | Pre-grant |
| US2002077811A1 | Cites | United States of America | Pre-grant |
| US2002082831A1 | Cites | United States of America | Pre-grant |
| US2003125945A1 | Cites | United States of America | Pre-grant |
| US2004088163A1 | Cites | United States of America | Pre-grant |
| US2005038648A1 | Cites | United States of America | Pre-grant |
| US2005171775A1 | Cites | United States of America | Pre-grant |
| US2006206324A1 | Cites | United States of America | Pre-grant |
| US2007055525A1 | Cites | United States of America | Pre-grant |
| US2007185713A1 | Cites | United States of America | Pre-grant |
| US2007185714A1 | Cites | United States of America | Pre-grant |
| US2008201147A1 | Cites | United States of America | Pre-grant |
| US2009094030A1 | Cites | United States of America | Pre-grant |
| US2010049501A1 | Cites | United States of America | Pre-grant |
| US2010049514A1 | Cites | United States of America | Pre-grant |
| US2010153321A1 | Cites | United States of America | Pre-grant |
| US2010211376A1 | Cites | United States of America | Pre-grant |
| US5621859A | Cites | United States of America | Pre-grant |
| US5623609A | Cites | United States of America | Pre-grant |
| US6016470A | Cites | United States of America | Pre-grant |
| US6163768A | Cites | United States of America | Pre-grant |
| US6317712B1 | Cites | United States of America | Pre-grant |
| US7627474B2 | Cites | United States of America | Pre-grant |
| USH2187H | Cites | United States of America | Pre-grant |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 96824808 | United States of America | A | |
| US20080968248 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| US2009171663A1 | United States of America | A1 |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2009171663
- Publication, EPODOC
- US2009171663
- Application
- 11968248
- Application, DOCDB
- 96824808
- Application, EPODOC
- US20080968248
Titles
- English
- REDUCING A SIZE OF A COMPILED SPEECH RECOGNITION GRAMMAR
Classification
- CPC, 1
- G10L15/187
- IPC, 1
- G10L15 06
- USPC, 2
- 704257000
- 704E15007