Patent Description:
Speech recognition has become an increasingly popular mode of human-machine interaction. As the number and types of devices that users interact with on a daily basis has grown, speech recognition has become a convenient and efficient way of inputting information into a computing device. In some instances, transcription of a user's spoken input using speech recognition techniques can be preferable to typing input with a physical or virtual keyboard. Mobile devices such as smartphones sometimes provide a virtual keyboard through which input can be provided by tapping or swiping across letters presented on a touchscreen display of the device. However, virtual keyboards provided on small-screen displays can be difficult for some to use, and generally requires that the user have at least one free hand to provide the input. One useful alternative to the virtual keyboard for typing or otherwise inputting information is speech recognition. Through speech recognition techniques, a user can speak what he or she intends to have typed, and the device responds accordingly such as by presenting transcribed text that corresponds to the user's spoken input. One objective of speech recognition techniques is to accurately interpret a user's spoken input.

<CIT> is concerned with analysing the content of an audio/video stream automatically to identify keywords which can then be used to select specific advertising content. <CIT> discloses an editing tool provided for developing word-pronunciation pairs based on a spelled word input. The editing tool includes a transcription generator that receives the spelled word input from the user and generates a list of suggested phonetic transcriptions. The editor displays the list of suggested phonetic transcriptions to the user and provides a mechanism for selecting the desired pronunciation from the list of suggested phonetic transcriptions.

When trying to reach potential customers, advertisers may bid on keywords that users enter into search engines. These keywords may be referred to as "adwords. " When a user types a search query into a search box, an advertisement system compares bids from different advertisers that bid on the keywords of the search query as well as other criteria to select advertisements to display to the user. The search engine also displays search results with the selected advertisements.

Instead of typing the search query, the user may speak the search query. The device that the user is speaking into may perform speech recognition on the user's speech to generate a transcription of the user's speech. The speech recognition system provides the transcription to the search engine and the advertisement system. The advertisement system selects advertisements based on the transcription, and the search engine displays those advertisements as well as the search results of the transcription.

When bidding on keywords, some advertisers may want to bid on names such as their business name or a name of their product. Some of the business names and product names may not be pronounced the same way a text-to-speech system pronounces the business name or product name. A chicken restaurant named "Chicken<NUM>" that wants to bid on the keyword "chicken<NUM>" may present a couple of problems. First, the restaurant may pronounce the keyword "chicken<NUM>" as "chicken cubed. " In other words, in existing systems for speech recognition and transcription, the expected pronunciation of "chicken<NUM>" is "chicken cubed," and when a user speaks "chicken<NUM>" the speech recognizer will transcribe "chicken cubed. " Thus, when a user speaks "chicken cubed," no advertisements for "chicken<NUM>" are displayed to the user because the system interprets "chicken<NUM>" as "chicken three. " Second, because "chicken cubed" is not a very common phrase, a speech recognizer may be more likely to believe a user is speaking another more common, similar sounding phrase such as "chicken soup. " If the transcription is "chicken soup," then the advertisement system will present advertisements for advertisers that bid on "chicken soup" instead of "chicken<NUM>. " Therefore, this presents a technical problem in existing systems for keyword based bidding being subject to drawbacks of not being able to correctly recognize and transcribe that a word uttered by a user relates to particular respective keyword selected by an advertiser. This can result in displaying incorrect or irrelevant content, i.e. advertisements, which is an unnecessary strain on valuable network and processing resources, as the displayed result is not relevant to the user's speech query. There is also an associated drawback of possible loss of revenue by the advertiser, as the content is not being provided to an audience that is interested in the content. Accordingly, there is a need for a better and more efficient and accurate speech recognition and transcription method and system for use in keyword bidding system to ensure the display of correct content items based on a spoken user query. In an embodiment, the present invention attempts to address this drawback by considering transcriptions of related words, and preferably assigning weights to one or more potential bidding candidate keywords based on one or more measured or detected attributes related to the keyword provided by an advertiser.

In an aspect of the described embodiments, the following scenarios are considered: When an advertiser enters "chicken<NUM>" into a keyword bidding system, the system may notify the user that "chicken<NUM>" is not in the vocabulary of the speech recognizer. Because a text-to-speech system may pronounce "chicken<NUM>" as "chicken three," the keyword bidding system may also provide information to the advertiser regarding the frequency of "chicken three" in the language model of the speech recognizer. "Chicken three" may appear infrequently in the language model. With these pieces of information, the keyword bidding system may provide information to the advertiser indicating that "chicken<NUM>" is not an appropriate term for bidding in the context of a speech query. The advertiser may then enter the keyword "chicken cubed. " The keyword bidding system may provide information that "chicken cubed" is in the vocabulary of the speech recognizer as well as information related to possible misrecognitions if a user were to speak "chicken cubed" in such a way that the speech recognizer was unable to accurately transcribe it. The keyword bidding system may suggest similar sounding keywords such as "vacuum tube" and "chicken soup" as the advertiser may want to bid on those keywords to reach the largest possible audience of users who search for "chicken<NUM>" using speech queries.

An innovative aspect of the subject matter described in this specification is implemented in a method that includes the features of claim <NUM>.

These and other implementations can each optionally include the additional features of the dependent claims.

Other implementations of this aspect include corresponding systems, configured to perform the operations of the methods.

Particular implementations of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. The system may suggest keywords for advertisers to bid on when the keywords entered by the advertiser are not in the vocabulary of a speech recognizer.

<FIG> is a block diagram of an example system <NUM> for classifying candidate adword as appropriate for bidding or not appropriate for bidding based on the aspects of the invention described herein. Briefly, and as described in further detail below, an advertiser submits a candidate adword <NUM> to a system <NUM> to determine if the candidate adword <NUM> is an appropriate adword to bid on for speech queries. The system <NUM> processes the candidate adword <NUM> using a keyword classifier <NUM>. The keyword classifier <NUM> accesses various data sources to assign a classification <NUM> to the candidate adword <NUM>. The keyword classifier <NUM> classifies the candidate adword <NUM> as appropriate for bidding for speech queries or not appropriate for bidding for speech queries.

In the example shown in <FIG>, an advertiser accesses a keyword bidding system to input the advertiser's selection of an adword to bid on in the context of a speech query. An advertiser bids on an adword to participate in an auction to display an advertisement to a user upon the user entering a query into a search engine. For example, a user may enter the query "pizza. " The advertising management system conducts an auction using the bid values submitted by each advertiser that bid on "pizza" and analyzes other criteria to select advertisements from advertisers that bid on "pizza. " The advertising management system then displays those advertisements to the user along with the search engine results.

The keyword bidding system may be configured to assist the advertiser in identifying adwords that may result in a greater exposure for the advertiser. One way that the keyword bidding system may assist an advertiser is to use a keyword classifier <NUM>. As noted above, the keyword classifier <NUM> analyses the candidate adword <NUM> to classify the candidate adword <NUM> as appropriate for bidding or not appropriate for bidding in the context of a speech query. A candidate adword <NUM> that is appropriate for bidding may be one that a speech recognizer is configured to recognize when a user pronounces a candidate adword using an expected pronunciation. A candidate adword <NUM> that is not appropriate for bidding may be one that a speech recognizer is not configured to recognize when a user pronounces a candidate adword using an expected pronunciation.

An expected pronunciation <NUM> is a way of saying the candidate adword <NUM> that may pronounce some numbers or symbols included in the candidate adword <NUM> as letters. For example, an expected pronunciation for "se7en" may be "SEV-uhn," "broth3rs" may be "three BRUHTH-ers," "chicken4" may be "CHIK-uhn KWOT-roh," and "t4 two" may be "tee fawr too. " An expected pronunciation may be associated with one or more words such as words that have a pronunciation that is the same as the expected pronunciation. For example, "SEV-uhn" may be associated with "seven," "three BRUHTH-ers" may be associated with "three brothers," "CHIK-uhn KWOT-roh" may be associated with "chicken quattro," and "tee fawr too" may be associated with "tea for two. " The expected pronunciation may be received from the advertiser after the keyword classifier <NUM> prompts the advertiser to speak the candidate adword <NUM>. The keyword classifier <NUM> compares the words associated with the expected pronunciation with the candidate adword <NUM> to classify the candidate adword <NUM>.

In some implementations, to assign a classification <NUM> to a candidate adword <NUM>, the keyword classifier <NUM> compares the candidate adword <NUM> to words that are recognized by an automatic speech recognizer <NUM>. The automatic speech recognizer <NUM> is configured to convert audio data associated with an utterance to a transcription that includes words in the automatic speech recognizer's vocabulary. The vocabulary of the automatic speech recognizer <NUM> may include words such as "chicken," "brothers," and "seven. " The vocabulary of the automatic speech recognizer <NUM> may not include words such as "se7en," broth3rs," and "t4. " The keyword classifier <NUM> may use the comparison between the candidate adword <NUM> and the vocabulary of the automatic speech recognizer <NUM> as a factor in classifying the candidate adword.

In some implementations, to assign a classification <NUM> to a candidate adword <NUM>, the keyword classifier <NUM> may provide the candidate adword <NUM> to a text-to-speech system <NUM>. The text-to-speech system <NUM> is configured to convert text to audio data. The keyword classifier <NUM> may play the audio data to the user. The keyword classifier <NUM> may provide the audio data from the text-to-speech system <NUM> to the automatic speech recognizer <NUM> for the automatic speech recognizer <NUM> to transcribe the audio data. As an example, the text-to-speech system <NUM> may read "se7en" as "se seven en," and the automatic speech recognizer <NUM> may transcribe the audio data corresponding to "se seven en" as "see seven inn. " As another example, the text-to-speech system <NUM> may read "chicken" as "chicken," and the automatic speech recognizer <NUM> may transcribe the audio data corresponding to "chicken" as "chicken. " The keyword classifier <NUM> may use the audio data from the text-to-speech system <NUM> as a factor in classifying the candidate adword.

In some implementations, to assign a classification <NUM> to a candidate adword <NUM>, the keyword classifier <NUM> may compare the candidate adword <NUM> to vocabularies such as a dictionary <NUM> and advertising keywords <NUM>. The dictionary <NUM> may include words or a subset of words of one or more languages. For example, the dictionary <NUM> may include a subset of English words. The advertising keywords <NUM> may include words that are available for bidding in the keyword bidding system. The advertising keywords <NUM> may include words such as "pizza," "furniture," and "carpenter" but not words such as "best," "very," and "most. " The keyword classifier <NUM> may use the fact that the candidate adword <NUM> is included in the dictionary <NUM> or advertising keywords <NUM> as a factor in classifying the candidate adword.

In some implementations, to assign a classification <NUM> to a candidate adword <NUM>, the keyword classifier <NUM> may access a language model <NUM> or an acoustic model <NUM>. The language model <NUM> may provide data related to probabilities of particular word sequences. For example, the language model <NUM> may calculate a higher likelihood that a user would type or speak the query "mobile phone" rather than "mobile groan. " The acoustic model <NUM> may provide data related to the phonemes of an utterance matching phonemes of a particular language. For example, the acoustic model <NUM> may calculate a probability that each phoneme in an utterance of "mobile" matches the phonemes "/m/ /o/ /b/ lol /I/. " The language model <NUM> and acoustic model <NUM> may also be used by the automated speech recognizer <NUM>.

<FIG> is an example screenshot of a user interface <NUM> that displays the results of classifying a candidate adword. The user interface <NUM> illustrates a user interface for a keyword bidding system and more specifically a keyword classifier. The system <NUM> from <FIG> that includes the keyword classifier <NUM> may be an example of a system that may generate the user interface <NUM>.

To view the user interface <NUM>, an advertiser may access a keyword bidding system. The keyword bidding system allows an advertiser to enter adwords that the advertiser would like to display advertisements for when a user speaks or enters a query that includes the adword. The advertiser may access the keyword bidding system through a web browser or through an application running on an operating system of a computing device. The keyword bidding system may include a keyword classifier to indicate to the advertiser whether the adword is appropriate for bidding or not.

In the example user interface <NUM>, the advertiser has entered the candidate adword <NUM> "chicken<NUM>" into the text box <NUM>. The advertiser may want to present an advertisement when a user enters or speaks "chicken<NUM>" because "chicken<NUM>" may be the name of the advertiser's business or a product that the advertiser sells. Once the advertiser enters the adword <NUM>, the keyword bidding system may provide feedback to the user suggesting whether the adword <NUM> is an appropriate adword for bidding or not an appropriate adword for bidding in the context of a spoken search query.

In some implementations, the keyword bidding system compares the adword entered by the advertiser to a vocabulary of words that are recognized by an automatic speech recognizer. The automatic speech recognizer is configured to transcribe utterances spoken by a user. The automatic speech recognizer selects words from its vocabulary that match the audio data of the utterance. If the advertiser enters an adword that is not in the vocabulary of the automatic speech recognizer, then no spoken query will trigger a presentation of an advertisement for that adword. In user interface <NUM>, the keyword bidding system has provided feedback <NUM> to indicate to the advertiser that the adword "chickenthree" is not in the vocabulary of the automatic speech recognizer. If the advertiser had entered an adword that was in the vocabulary of the speech recognizer, then the feedback would indicate that the adword is a term that the speech recognizer would recognize. As noted previously, the expected pronunciation of "chicken<NUM>" corresponds to "chicken cubed," but the keyword bidding system interprets "chicken<NUM>" as corresponding to "chicken three. " Thus, when a user speaks "chicken<NUM>" with the expected pronunciation, the user won't see advertisements for "chicken<NUM>" if the advertiser only bid on "chicken<NUM>.

In some implementations, the keyword bidding system compares a text-to-speech generated pronunciation of the candidate adword <NUM> to a language model of terms recognized by the speech recognizer. The keyword bidding system <NUM> may provide information in feedback <NUM> to indicate a frequency that the candidate adword <NUM> appears in the language model. More common terms such as "cheese pizza" would have a higher frequency in the language model than terms such as "mobile groan. " In the example of <FIG>, feedback <NUM> indicates that "chicken three" appears infrequently in the language model. The infrequency is likely because users do not often speak "chicken three" as a search query.

To assist the user in selecting an appropriate adword, the keyword bidding system may provide a text-to-speech control <NUM>. Upon selecting the text-to-speech control <NUM>, a text-to-speech system converts the adword <NUM> to audio data and outputs the audio data to an audio output device such as a speaker. In some implementations, the text-to-speech control <NUM> may also provide the audio data to the automatic speech recognizer. The automatic speech recognizer may transcribe the audio data from the text-to-speech system and provide the transcription to the user interface <NUM>. In the example user interface <NUM>, the transcription "chicken three" would be displayed to the user such as in feedback <NUM>.

In the example user interface <NUM>, the advertiser may enter the adword <NUM> by typing the adword in text box <NUM> or by speaking the adword <NUM>. The advertiser may navigate to user interface <NUM> after interacting with user interface <NUM> and realizing that the adword <NUM> would not be appropriate for bidding on as a spoken query because the adword <NUM> is not in the vocabulary of the speech recognizer. Therefore, the advertiser may type in words associated with the expected pronunciation of the adword <NUM> or speak the adword <NUM>. In this example, the adword <NUM> is "chicken cubed.

The user interface <NUM> displays the possible misrecognitions <NUM> based on the adword <NUM>. The possible misrecognitions <NUM> are queries that are similar to an utterance of the adword <NUM> such that a speech recognizer may conclude that a user was saying one of the possible misrecognitions <NUM> instead of the adword <NUM>. In some implementations, to identify possible misrecognitions, the keyword bidding system may prompt the advertiser to speak the adword <NUM> if the advertiser did not speak the adword <NUM> to enter the adword <NUM>. In some implementations, to identify possible misrecognitions, the keyword bidding system may provide the adword <NUM> to a text-to-speech system. Once the keyword bidding system has audio data from an utterance of the adword <NUM>, the keyword bidding system may apply a language model and an acoustic model to the audio data to identify possible misrecognitions. The acoustic model identifies the phonemes of the utterance to identify likely words in the utterance. The acoustic model may assign scores to each of the phonemes in the utterance or to each of the likely words. The score may indicate the confidence that the likely phonemes or likely words are correct. The language model identifies likely word combinations from the likely phonemes or likely words identified by the acoustic model. The language model may calculate scores for each of the phrases. In some implementations, if the advertiser enters the adword <NUM> that includes words that correspond to an expected pronunciation of the adword <NUM>, the keyword bidding system may use the acoustic model and language model to identify possible misrecognitions from the text of the adword <NUM>.

In some implementations, the keyword bidding system identifies possible misrecognitions using acoustic models and language models that have been trained in various noise environments. For example, the acoustic model may have been trained with car noise or with wind noise. The keyword bidding system may identify possible misrecognitions by considering confidence scores from acoustic models trained under different noise conditions.

In the example shown in user interface <NUM>, the keyword bidding system has identified three possible misrecognitions <NUM> for the adword <NUM> "chicken cubed. " The possible misrecognitions <NUM> are "vacuum tube," "chicken soup," and "chicken lube. " The keyword bidding system compares each of the possible misrecognitions <NUM> to previous queries provided by users. The previous queries may be separated into previous spoken queries and previous typed queries and the frequencies that each possible misrecognition appears in each group may be provided to the advertiser. The frequencies in previous queries <NUM> indicates that "chicken soup" was included in <NUM>% of the previous queries, "vacuum tube," was included in <NUM>% of the previous queries, and "chicken lube" was included in <NUM>% of the previous queries.

In some implementations, the keyword bidding system may also provide information related to a location of the user when the user typed or spoke the possible misrecognitions <NUM>. For example, the keyword bidding system may provide information that indicates the neighborhoods or zip codes that different percentages of users were in when they spoke or typed "chicken soup. " The keyword bidding system may also provide the most common location or a particular number of top locations where users were then they spoke or typed "chicken soup.

In some implementations, the keyword bidding system may also provide information related to a time of day, day of the week, or time of year when the user typed or spoke the possible misrecognitions <NUM>. For example, the keyword bidding system may provide information that indicates fifty percent of the users who spoke or typed "chicken soup" as a query did so between the hours of 9am and 12pm. The keyword bidding system may also provide the most common times of the day, days of the week, or times of the year when users spoke or typed "chicken soup" as a query.

In some implementations, the keyword bidding system may also provide information related to the context of a query when a user typed or spoke the possible misrecognitions <NUM>. For example, the keyword bidding system may indicate that a certain percentage of users were in the middle of an electronics search or travel planning when speaking or typing "chicken soup. " The keyword bidding system may also provide the most common contexts when users spoke of typed "chicken soup" as a query.

The user interface <NUM> also includes a probability <NUM> of an advertisement being displayed when a user types of speaks the possible misrecognitions <NUM>. As shown in user interface <NUM>, the probability <NUM> of an advertisement being displayed when a user types or speaks "chicken soup" is eighty percent. There may be various reasons that an ad may not be displayed when a user inputs a query such as no advertiser has bid on the query, the advertiser bid on the user typing in the query and the user spoke the query, the context of the query did not match the context requested by the advertiser, the location of the user did not match the location requested by the advertiser, and other similar reasons.

The user interfaces <NUM> and <NUM> may each provide adword data that is related to typed queries or spoken queries or both. The user interfaces <NUM> and <NUM> may separate the data and indicate for each field whether the data is associated with typed queries or spoken queries or combine the data. The advertiser may select an adword to bid on for spoken queries or typed queries or both.

The data provided in user interfaces <NUM> and <NUM> is data that is continuously updated by the keyword bidding system. As users search speak and type more queries, the previous query data updates and as more advertisements are displayed, the probabilities of different queries triggering an advertisement are updated. The acoustic models and language models may also be updated as users speak more queries. The keyword bidding system may notify the advertisers when data related to their keywords has been updated. The keyword bidding system may also notify the advertisers on a periodic basis the status of the data related to their keywords, including notifying the advertisers if there has been no change in the data. The advertisers may choose to update the adwords that they bid on given the updated data.

<FIG> is a flowchart of an example process <NUM> for classifying candidate adwords as appropriate for bidding or not appropriate for bidding. In general, the process <NUM> analyzes a candidate adword, calculates a score for the candidate adword, and then classified the candidate adword as appropriate for use in a bidding process for advertisements selected based on spoken queries. The process <NUM> will be described as being performed by a computer system comprising one or more computers, for example, the system <NUM> as shown in <FIG>.

The system receives the candidate adword (<NUM>). In some implementations, system receives, from an advertiser, the candidate adword through text input. For example, the advertiser may type "chicken<NUM>" or "chicken cubed" directly into a text input box for a candidate adword. In some implementations, the advertiser speaks the candidate adword and the system transcribes the advertiser's speech. For example, the advertiser may speak "chicken cubed" and the system transcribes "chicken cubed.

The system generates a transcription of an utterance of the candidate adword (<NUM>). In implementations where the advertiser types the candidate adword, the system generates an utterance of the candidate adword. The system generates the utterance through a text-to-speech system. The advertiser may select a control to play the utterance of the candidate adword to assist the advertiser in determining whether to bid on the candidate adword in a speech query.

The system determines an expected pronunciation of the candidate adword (<NUM>). The expected pronunciation is a way of saying the candidate adword that may pronounce some numbers or symbols included in the candidate adword <NUM> as letters. The system may receive an expected pronunciation from the advertiser by recording the advertiser speaking the candidate adword.

The system generates a score for the candidate adword based on a likelihood of a speech recognizer generating a transcription that includes a word associated with expected pronunciation (<NUM>). The system generates a score by combining information from one or more data sources. The system may compare the candidate adword to the vocabulary of words recognized by an automatic speech recognizer. For example, words such as "chicken" and "three" would be words recognized by the automatic speech recognizer, but "chicken<NUM>" and "se7en" would not be recognized. The system may compare the candidate adword to words that are available for bidding. Most words such as "chicken" and "three" are available for bidding, but words such as "best" and "very" may not be available for bidding unless part of a larger query.

The system may access an acoustic model and a language model to determine acoustic model scores and language model scores for words associated with the expected pronunciation of the candidate adword, the candidate adword, or the transcription of the text-to-speech utterance. The acoustic and language model scores may be based on a likelihood that the words associated with the expected pronunciation of the candidate adword, the candidate adword, or the transcription of the text-to-speech utterance may be misrecognized by the automatic speech recognizer. For example, the adword "chicken cubed" may have a low language model score because the words are similar sounding to "chicken soup" which is a more common phrase. The adword "cheese pizza" may have a high language model score because the words, while similar to words such as "sneeze pizza," are more common together than other similar sounding phrases. The adword "seven" may have a low acoustic model score because the word may sound similar to "heaven. " In contrast, the adword "pizza" may have a higher acoustic model score because the word does not sound similar to other words.

In some implementations, the score for the adword may be a sum of the scores generated from each of the data sources. In some implementations, the score for the adword may be a weighted average of the scores generated from each data source. The advertiser or the system may choose to weigh different scores higher depending on the available data. A speech recognizer, language model, or acoustic model that has not been trained with a significant amount of data may be weighed less than data from other sources.

The system classifies, based at least on the score, the candidate adword as an appropriate adword for use in a bidding process for advertisements that are selected based on a transcription of a speech query or as not an appropriate adword for use in the bidding process for advertisements that are selected based on the transcription of the speech query (<NUM>). Once the advertiser receives a classification of the candidate adword, the advertiser may choose to provide a bid for the candidate adword. For example, the advertiser may choose to bid two cents for each advertisement shown when a user speaks "chicken cubed.

The data that the system uses to score the candidate adwords may be continuously updated as more users provide search queries and interact with the corresponding search results and advertisements. As the data is updated, the system may provide notification to the advertiser that the data has updated and provide an updated classification for the candidate adword. The system may maintain a record of the adwords that an advertiser has previously entered but not bid on and provide updates on those adwords also. Once the advertiser has received an updated classification, the advertiser may choose to update a bid amount or update a bidding decision.

<FIG> shows an example of a computing device <NUM> and a mobile computing device <NUM> that can be used to implement the techniques described here. The mobile computing device <NUM> is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart-phones, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to be limiting.

The computing device <NUM> includes a processor <NUM>, a memory <NUM>, a storage device <NUM>, a high-speed interface <NUM> connecting to the memory <NUM> and multiple high-speed expansion ports <NUM>, and a low-speed interface <NUM> connecting to a low-speed expansion port <NUM> and the storage device <NUM>. Each of the processor <NUM>, the memory <NUM>, the storage device <NUM>, the high-speed interface <NUM>, the high-speed expansion ports <NUM>, and the low-speed interface <NUM>, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor <NUM> can process instructions for execution within the computing device <NUM>, including instructions stored in the memory <NUM> or on the storage device <NUM> to display graphical information for a GUI on an external input/output device, such as a display <NUM> coupled to the high-speed interface <NUM>. Also, multiple computing devices may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).

The high-speed interface <NUM> manages bandwidth-intensive operations for the computing device <NUM>, while the low-speed interface <NUM> manages lower bandwidth-intensive operations. Such allocation of functions is an example only. In some implementations, the high-speed interface <NUM> is coupled to the memory <NUM>, the display <NUM> (e.g., through a graphics processor or accelerator), and to the high-speed expansion ports <NUM>, which may accept various expansion cards (not shown). In the implementation, the low-speed interface <NUM> is coupled to the storage device <NUM> and the low-speed expansion port <NUM>. The low-speed expansion port <NUM>, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.

The memory <NUM> stores information within the mobile computing device <NUM>. An expansion memory <NUM> may also be provided and connected to the mobile computing device <NUM> through an expansion interface <NUM>, which may include, for example, a SIMM (Single In Line Memory Module) card interface. The expansion memory <NUM> may provide extra storage space for the mobile computing device <NUM>, or may also store applications or other information for the mobile computing device <NUM>. Specifically, the expansion memory <NUM> may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example, the expansion memory <NUM> may be provide as a security module for the mobile computing device <NUM>, and may be programmed with instructions that permit secure use of the mobile computing device <NUM>.

The memory may include, for example, flash memory and/or NVRAM memory (non-volatile random access memory), as discussed below. In some implementations, instructions are stored in an information carrier. that the instructions, when executed by one or more processing devices (for example, processor <NUM>), perform one or more methods, such as those described above. The instructions can also be stored by one or more storage devices, such as one or more computer- or machine-readable mediums (for example, the memory <NUM>, the expansion memory <NUM>, or memory on the processor <NUM>). In some implementations, the instructions can be received in a propagated signal, for example, over the transceiver <NUM> or the external interface <NUM>.

The mobile computing device <NUM> may communicate wirelessly through the communication interface <NUM>, which may include digital signal processing circuitry where necessary. The communication interface <NUM> may provide for communications under various modes or protocols, such as GSM voice calls (Global System for Mobile communications), SMS (Short Message Service), EMS (Enhanced Messaging Service), or MMS messaging (Multimedia Messaging Service), CDMA (code division multiple access), TDMA (time division multiple access), PDC (Personal Digital Cellular), WCDMA (Wideband Code Division Multiple Access), CDMA2000, or GPRS (General Packet Radio Service), among others. Such communication may occur, for example, through the transceiver <NUM> using a radio-frequency. In addition, a GPS (Global Positioning System) receiver module <NUM> may provide additional navigation- and location-related wireless data to the mobile computing device <NUM>, which may be used as appropriate by applications running on the mobile computing device <NUM>.

Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

Claim 1:
A computer-implemented method when executed by data processing hardware causes the data processing hardware to perform operations comprising:
receiving a voice input of an adword from an advertiser;
transcribing the voice input into a plurality of potential phrases indicating possible misrecognitions of the adword using an automatic speech recognizer;
presenting, to the advertiser, a list of the plurality of potential phrases;
receiving, from the advertiser, a selection of one or more potential phrases from among the plurality of potential phrases to bid on for spoken queries; and
distributing a content item based on the selection when a spoken query submitted by a user matches at least one of the selected one or more potential phrases.