System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements

Information

  • Patent Grant
  • 9406078
  • Patent Number
    9,406,078
  • Date Filed
    Wednesday, August 26, 2015
    9 years ago
  • Date Issued
    Tuesday, August 2, 2016
    8 years ago
Abstract
The system and method described herein may use various natural language models to deliver targeted advertisements and/or provide natural language processing based on advertisements. In one implementation, an advertisement associated with a product or service may be provided for presentation to a user. A natural language utterance of the user may be received. The natural language utterance may be interpreted based on the advertisement and, responsive to the existence of a pronoun in the natural language utterance, a determination of whether the pronoun refers to one or more of the product or service or a provider of the product or service may be effectuated.
Description
FIELD OF THE INVENTION

The present invention relates to delivering targeted advertisements and/or processing natural language processing based on advertisements.


BACKGROUND OF THE INVENTION

As technology advances, consumer electronics devices tend to play larger roles due to increased functionality and mobility. For example, mobile phones, navigation devices, embedded devices, and other such devices provide a wealth of functionality beyond core applications. However, increased functionality adds difficulty to the learning curve associated with using electronic devices, and increased mobility intensifies the demand for simple mechanisms to interact with devices on the go. For example, existing systems tend to have complex human to machine interfaces, which may inhibit mass-market adoption for various technologies. For example, when a user wishes to perform a relatively simple task on a mobile phone, such as purchasing a ring tone, the user often is forced to navigate through a series of menus and press a series of buttons. In some instances, this may result in the transaction not necessarily occurring, as the user may prefer to avoid the hassles altogether. As such, there is ever-growing demand for ways to exploit technology in intuitive ways.


Voice recognition software may enable a user to exploit applications and features of a device that may otherwise be unfamiliar, unknown, or difficult to use. However, many existing voice user interfaces (when they actually work) still require significant learning on the part of the user. For example, users often cannot directly issue a request for a system to retrieve information or perform an action without having to memorize specific syntaxes, words, phrases, concepts, semantic indicators, or other keywords/qualifiers. Similarly, when users are uncertain of particular needs, many existing systems do not engage the user in a productive, cooperative dialogue to resolve requests and advance a conversation. Instead, many existing speech interfaces force users to use a fixed set commands or keywords to communicate requests in ways that systems can understand. Using existing voice user interfaces, there is virtually no option for dialogue between the user and the system to satisfy mutual goals.


The lack of adequate voice user interfaces results in missed opportunities for providing valuable and relevant information to users. Not only does this potentially leave user requests unresolved, in certain instances, providers of goods and services may lose out on potential business. In an increasingly global marketplace, where marketers are continually looking for new and effective ways to reach consumers, the problems with existing voice user interfaces leaves a large segment of consumer demand unfulfilled. Furthermore, existing techniques for marketing, advertising, or otherwise calling consumers to action fail to effectively utilize voice-based information, which is one of the most natural, intuitive methods of human interaction.


Existing systems suffer from these and other problems.


SUMMARY OF THE INVENTION

According to various aspects of the invention, a system and method for selecting and presenting advertisements based on natural language processing of voice-based inputs is provided. A natural language voice-based input may be received by a voice user interface. The voice-based input may include a user utterance, and a request may be identified from the utterance. Appropriate action may be taken to service the request, while one or more advertisements may be selected and presented to the user. Advertisements may be selected based on various criteria, including content of the input (e.g., concepts, semantic indicators, etc.), an activity related to the input (e.g., a relation to a request, a requested application, etc.), user profiles (e.g., demographics, preferences, location, etc.), or in other ways. A user may subsequently interact with the advertisement (e.g., via a voice-based input), and action may be taken in response to the interaction. Furthermore, the interaction may be tracked to build statistical profiles of user behavior based on affinities or clusters among advertisements, user profiles, contexts, topics, semantic indicators, concepts, or other criteria.


According to various aspects of the invention, advertisers may create advertisements, which may be stored in an advertisement repository. For example, advertisements may include sponsored messages, calls to action, purchase opportunities, trial downloads, or any other marketing communication, as would be apparent to those skilled in the art. Advertisers may specify various parameters to associate with the advertisements, such as various contexts or topic concepts (e.g., semantic indicators for a “music” concept may include words such as “music,” “tunes,” “songs,” etc.), target demographics (e.g., a preferred audience), marketing criteria or prices for insertion (e.g., dynamic or static pricing based on various marketing criteria), or other information, as would be apparent. The advertisement repository may be associated with a server, where in response to a voice-based input from a user (e.g., at a voice-enabled device), a communications link may be established with the server. Information may be extracted from the voice-based input (e.g., words in the input, applications requested by the input, etc.), and the extracted information may be correlated with user profiles, advertisement parameters, or other information to determine which advertisements to select in relation to the voice-based input. The server may subsequently communicate the selected advertisements to the user, and the server may track the user's subsequent interaction with the selected advertisements.


Other objects and advantages of the invention will be apparent based on the following drawings and detailed description.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a block diagram of an exemplary system for implementing a voice user interface according to various aspects of the invention.



FIG. 2 illustrates a block diagram of an exemplary advertising system according to various aspects of the invention.



FIG. 3 illustrates a flow diagram of an exemplary method for selecting and presenting advertisements based on voice-based inputs according to various aspects of the invention.





DETAILED DESCRIPTION

Referring to FIG. 1, an exemplary system 100 for implementing a voice user interface is illustrated according to various aspects of the invention. System 100 may enable users to perform various tasks on a voice-enabled device. For example, users may control navigation devices, media devices, personal computers, personal digital assistants, or any other device supporting voice-based inputs. System 100 may enable users to request voice-enabled devices to retrieve information or perform various tasks, among other things, using natural language voice-based inputs. For example, system 100 may interpret natural language voice-based inputs and generate responses using, among other things, techniques described in U.S. patent application Ser. No. 10/452,147, entitled “Systems and Methods for Responding to Natural Language Speech Utterance,” filed Jun. 3, 2003, which issued as U.S. Pat. No. 7,398,209 on Jul. 8, 2008, and U.S. patent application Ser. No. 10/618,633, entitled “Mobile Systems and Methods for Responding to Natural Language Speech Utterance,” filed Jun. 15, 2003, which issued as U.S. Pat. No. 7,693,720 on Apr. 6, 2010, both of which are hereby incorporated by reference in their entirety. For example, as described in U.S. patent application Ser. No. 10/452,147, the system 100 may include a speech recognition engine (e.g., an Automatic Speech Recognizer 110) that may recognize words and phrases in an utterance using entries in one or more dictionary and phrase tables. In addition, as further described therein, fuzzy set possibilities or prior probabilities for the words in the dictionary and phrase tables may be dynamically updated to maximize the probability of correct recognition at each stage of the dialog (e.g., the probabilities or possibilities may be dynamically updated based on application domains, questions or commands, contexts, user profiles and preferences, user dialog histories, recognizer dictionary and phrase tables, word spellings, and/or other criteria).


According to various aspects of the invention, system 100 may receive a user input, including at least a voice-based user utterance, at an input device 105. Input device 105 may include any suitable device, or combination of devices, for receiving a voice-based input (e.g., a microphone). In various implementations, input device 105 may include a multi-modal input, such as a touch-screen interface, keypad, or other input. The received utterance may be processed by the Automatic Speech Recognizer 110. Automatic Speech Recognizer 110 may generate one or more preliminary interpretations of the utterance using various techniques. For example, Automatic Speech Recognizer 110 may interpret the utterance using techniques of phonetic dictation to recognize a stream of phonemes. Further, Automatic Speech Recognizer 110 may perform post-processing to enhance the preliminary interpretations. For example, Automatic Speech Recognizer 110 may vary interpretations of an utterance, or components of an utterance, from one context to another. Other techniques for enhancing an interpretation of a user utterance may be used, such as those described in U.S. patent application Ser. No. 11/513,269, entitled “Dynamic Speech Sharpening,” filed Aug. 31, 2006, which issued as U.S. Pat. No. 7,634,409 on Dec. 15, 2009, and which is hereby incorporated by reference in its entirety.


The one or more preliminary interpretations may be provided to a conversational language processor 120. Conversational language processor 120 may include a voice search engine 125, a context determination module 130, and one or more agents 135, among other things, to enable cooperative, conversational interaction between the user and system 100. Conversational language processor 120 may be communicatively coupled to one or more data repositories 140 and one or more applications 150. Conversational language processor 120 may generate a domain-specific conversational response, which may be returned to the user as an output 180. Output 180 may include a multi-modal output (e.g., by simultaneously returning a voice-based response and displaying information on a display device).


System 100 may further include an interaction with one or more applications 150 to service one or more requests in the utterance. For example, the utterance may include one or more requests for performing an action, retrieving information, or various combinations thereof. Output 180 may include a conversational response to advance a conversation to service requests by invoking one or more applications 150, as appropriate. For example, applications 150 may include a navigation application 155, an advertising application 160, a music application, an electronic commerce application 170, and/or other applications 175. Furthermore, Automatic Speech Recognizer 110, conversational language processor 120, data repositories 140, and/or applications 150 may reside locally (e.g., on a user device), remotely (e.g., on a server), and/or hybrid local/remote processing models may be used (e.g., lightweight applications may be processed locally while computationally intensive applications may be processed remotely).


Conversational language processor 120 may build long-term and/or short-term shared knowledge in one or more knowledge sources. For example, shared knowledge sources may include information about previous utterances, requests, and other user interactions to inform generating an appropriate response to a current utterance. The shared knowledge may include public/non-private (i.e., environmental) knowledge, as well as personal/private (i.e., historical) knowledge. For example, conversational language processor 120 may use context determination module 130 to establish a context for a current utterance by having domain agents 135 competitively generate a context-based interpretation of the utterance (e.g., by scoring possible interpretations and selecting a highest scoring interpretation). As such, agents 135 may model various domains (e.g., navigation, music, a specific user, global users, advertising, e-commerce, etc.), and conversational language processor 120 may interpret and/or respond to a voice-based input accordingly. For example, context-based interpretations and responses to a voice-based input may be generated using techniques described in U.S. patent application Ser. No. 11/197,504, entitled “Systems and Methods for Responding to Natural Language Speech Utterance,” filed Aug. 5, 2005, which issued as U.S. Pat. No. 7,640,160 on Dec. 29, 2009, and U.S. patent application Ser. No. 11/212,693, entitled “Mobile Systems and Methods of Supporting Natural Language Human-Machine Interactions,” filed Aug. 29, 2005, which issued as U.S. Pat. No. 7,949,529 on May 24, 2011, both of which are hereby incorporated by reference in their entirety.


Furthermore, conversational language processor 120 may support adaptive misrecognition to reinterpret a current utterance and/or one or more previous utterances. For example, information contained in a current utterance may indicate that interpretations for one or more previous utterances were incorrect, and therefore, the previous utterances may be reinterpreted to improve subsequent interpretations. Accordingly, conversational language processor 120 may use the techniques described herein, along with various other techniques, to interpret and respond to conversational, natural language utterances. Conversational language processor 120 may use various other techniques as will be apparent, such as those described in U.S. patent application Ser. No. 11/200,164, entitled “System and Method of Supporting Adaptive Misrecognition in Conversational Speech,” filed Aug. 10, 2005, which issued as U.S. Pat. No. 7,620,549 on Nov. 17, 2009, and U.S. patent application Ser. No. 11/580,926, entitled “System and Method for a Cooperative Conversational Voice User Interface,” filed Oct. 16, 2006, which issued as U.S. Pat. No. 8,073,681 on Dec. 6, 2011, both of which are hereby incorporated by reference in their entirety. For example, as described in U.S. patent application Ser. No. 11/200,164, an environmental model may be accessed to determine user location, user activity, track user actions, and/or other environmental information to invoke context, domain knowledge, preferences, and/or other cognitive qualities to enhance the interpretation of questions and/or commands. In addition, as further described therein, based on information received from a general cognitive model, the environmental model, and/or a personalized cognitive model, which provide statistical abstracts of user interaction patterns, the system 100 may enhance responses to commands and questions by including a prediction of user behavior.


Referring to FIG. 2, an exemplary advertising system 200 is illustrated according to various aspects of the invention. System 200 may include a server 230 for receiving one or more advertisements from an advertiser 220, wherein the advertisements may be stored in a data repository 260 associated with server 230. For example, advertisements may include sponsored messages or marketing communications, calls to action, purchase opportunities, trial downloads, coupons, or any other suitable marketing, advertising, campaign, or other information, as would be apparent to those skilled in the art. A voice-enabled device 210 may receive a voice-based input and establish communications with advertising server 230. Subsequently, advertising server 230 may select one or more advertisements from among the advertisements stored in data repository 260, and the selected advertisements may be provided to the voice-enabled device for presentation to a user.


Advertiser 220 may access advertising server 230 via an advertiser interface 245. Advertisers 220 may upload targeted advertisements to server 230 via advertiser interface 245, and server 230 may store the advertisements in data repository 260. The advertisements may include graphically-based advertisements that include banners, images, audio, video, or any suitable combination thereof. Furthermore, the advertisements may include interactive or embedded information, such as links, metadata, or computer-executable instructions, or any suitable combination thereof. Advertisers may specify criteria for a campaign or targeting information for an advertisement (e.g., a start date, an end date, budget information, geo-targeting information, conceptual or contextual information, or any other suitable criteria), which may be used to facilitate selecting an advertisement in relation to a particular voice-based input.


In addition to providing interface 245 for advertisers, server 230 may include a content/action identification module 235, a user profile module 240, an advertisement selection module 250, and a tracking module 255. Users may submit voice-based requests to voice-enabled device 210, and voice-enabled device 210 may communicate information about the voice-based input to server 230. Server 230 may invoke advertisement selection module 250 to extract relevant information from the voice-based input, where advertisement selection module 250 may select one or more advertisements relevant to the voice-based input based on information extracted using content/action identification module 235 and/or user profile module 240.


For example, content/action identification module 235 may identify content of the voice-based input (e.g., words in the input), requested information (e.g., search results, a web page, music, video, graphics, or other information), requested actions (e.g., calculating a navigation route, placing a telephone call, playing a song, etc.), a category or topic related to the input (e.g., music, business, stocks, sports, navigation, movies, etc.), or other criteria to use in selecting an advertisement. Further, user profile module 240 may identify characteristics of a specific user (e.g., demographics, personal preferences, location-based information, etc.), global user profiles (e.g., demographic profiles, click-through rates, etc.), or other criteria to use in selecting an advertisement. Moreover, advertisement selection module 250 may account for where a request originates from. For example, advertisements may be selected based on a default user location (e.g., identified from a user profile), current geolocation information (e.g., identified from a navigation device), whether an affiliate or partner of server 230 initiated the request, or other criteria.


For instance, a user may request airline reservations via voice-enabled device 210, and content/action identification module 235 may identify specific words used in the request, a category related to the request (e.g., travel, airlines, hotels, etc.), or other information. Furthermore, user profile module 240 may identify relevant characteristics of the user (e.g., user-specific demographics, location information, preferred airlines or hotels, etc.), as well as global user characteristics (e.g., most popular airlines). In various implementations, advertisements may be selected by assigning a score to each advertisement (e.g., based on click-through rates, relevance metrics, target audiences, etc.). As such, advertisement selection module 250 may correlate the information about the request to select advertisements stored in data repository 260, and server 230 may communicate the selected advertisements to voice-enabled device 210. Furthermore, selected advertisements may be presented according to a predetermined ordering or ranking (e.g., based on a ranking of relevance to an advertisement).


In various implementations, advertisement selection module 250 may retrieve a predetermined number of advertisements for any given request. Furthermore, the selected advertisements may depend upon a presentation format. For example, advertisements may be selected based on an amount of available space on a display of voice-enabled device 210 and/or a size/shape of the selected advertisements. In another example, voice-based advertisements may be selected and presented to the user audibly (e.g., a “hands-free” advertisement may be preferred when voice-enabled device 210 is a telematics device).


Furthermore, the user's subsequent interaction with an advertisement may be tracked using tracking module 255. For example, tracking module 255 may determine whether a conversion or click-through occurs for each advertisement presented to users. Further, tracking module 255 may maintain accounting and/or billing information associated with advertisers 220. For example, advertisers 220 may specify a maximum insertion cost, a cost-per-click-through, an average insertion cost, or other criteria specifying a budget constraint for an advertisement. As such, tracking module 255 may track which advertisements are selected and/or presented, which advertisements result in a conversion or click-through, whether a click-through or conversion results in a transaction or sale, associations between advertisements and users, requests, concepts, semantic indicators, and/or other criteria. For example, tracking user interaction with advertisements may be used to build user-specific and/or global statistical profiles that map or cluster advertisements to topics, semantic indicators, contexts, concepts, etc. based on user behavior, demographics, targeting constraints, content of advertisements, content of requests, actions associated with requests, or other statistically relevant information. Accordingly, the tracking information may be used to bill or invoice advertisers 220, as well as to improve subsequent performance and relevance of advertisements selected using advertisement selection module 250. Other techniques and features of selecting and presenting advertisements based on voice-based inputs may suitably be employed, as would be apparent.


Referring to FIG. 3, an exemplary method for selecting and presenting advertisements based on a voice-based input is illustrated according to various aspects of the invention. The method may begin in an operation 305, where a voice-based input, including at least a user utterance, may be received at a voice user interface. The voice user interface may include any suitable mechanism for receiving the utterance (e.g., a microphone), and may interface with any suitable voice-enabled device, as would be apparent, including personal navigation devices, personal digital assistants, media devices, telematics devices, personal computers, mobile phones, or others.


Subsequently, one or more requests included in the voice-based input may be identified in an operation 310. For example, the requests may include requests to retrieve information, perform tasks, explore or gather information, or otherwise interact with a system or device. For example, a voice-based input to a navigation device may include a request to calculate a route or retrieve location-based information. In another example, a voice-based input to a mobile phone may include a request to place a telephone call, purchase a ringtone, or record a voice-memo. Furthermore, in various implementations, voice-based inputs may include multiple requests, multi-modal requests, cross-device requests, cross-application requests, or other types of requests. For example, an utterance received in operation 305 may be: “Get me a route to Chang's Restaurant, and call them so I can make a reservation.” The utterance may thus include multiple requests, including cross-device requests (e.g., calculate a route using a navigation device, and make a telephone call using a mobile phone), as well as cross-application requests (e.g., search for an address and/or phone number using a voice search engine, and calculate a route using a navigation application).


The requests may be part of a conversational interaction between a user and a system or device, whereby an interpretation of requests in a current utterance may be based upon previous utterances in a current conversation, utterances in previous conversations, context-based information, local and/or global user profiles, or other information. For example, a previous request may be reinterpreted based on information included in subsequent requests, a current request may be interpreted based on information included in previous requests, etc. Furthermore, the conversational interaction may take various forms, including query-based conversations, didactic conversations, exploratory conversations, or other types of conversations. For example, the conversational language processor may identify a type of conversation, and information may be extracted from the utterance accordingly to identify the one or more requests in operation 310. Moreover, the conversational language processor may determine whether any of the requests are incomplete or ambiguous, and action may be taken accordingly (e.g., a system response may prompt a user to clarify an incomplete and/or ambiguous request). The conversational language processor may therefore use various techniques to identify a conversation type, interpret utterances, identify requests, or perform other tasks, such as those described in the aforementioned U.S. Patent Applications and U.S. Patents, which are hereby incorporated by reference in their entirety.


Upon identifying the one or more requests, action may be taken based on the identified requests in an operation 315, while one or more advertisements may be selected in an operation 320 (described in greater detail below). For example, one or more context-appropriate applications may be invoked to service the requests in operation 315 (e.g., a voice search engine, a navigation application, an electronic commerce application, or other application may be invoked depending upon the request). Furthermore, in operation 320, information may be communicated to an advertising server to select one or more advertisements related to the request. Thus, as shown in FIG. 3, taking action in operation 315 and selecting advertisements in operation 320 may be related operations (e.g., advertisements may be selected to help in interpreting incomplete and/or ambiguous requests).


Upon taking action in operation 315 (e.g., to service the request) and selecting one or more advertisements in operation 320 (e.g., in relation to the request), an output may be presented to the user in operation 325. The output may indicate a result of the action associated with operation 315. For example, the output may include requested information, an indication of whether a requested task was successfully completed, whether additional information is needed to service the request (e.g., including a prompt for the information), or other information relating to an action based on the request. Furthermore, the output may include advertisements, as selected in operation 320. For example, the output may include text-based, graphic-based, video-based, audio-based, or other types of advertisements, as would be apparent to those skilled in the art. Further, the output may include other types of advertisements, including calls to action (e.g., a location-based coupon or purchase opportunity, trial downloads, or other actionable advertising or marketing).


Advertisements may be selected in relation to a request based on various criteria. For example, an advertisement may be selected based on words or other content of the request, relevant words or content related to the words or content of the request, etc. In another example, the advertisement may be selected based on requested tasks/information (e.g., a request for movie showtimes may result in an advertisement being selected for a particular theater). In yet another example, the advertisement may be selected based on a topic or category associated with the requested tasks/information (e.g., a request to purchase airline tickets may result in an advertisement being selected for a hotel in a destination associated with a reserved flight). In still other examples, the advertisement may be selected based on location information, (e.g., advertisements may be selected based on a proximity to a user geolocation identified using a navigation device), user-specific and/or global user profiles (e.g., advertisements may be selected based on user-specific and/or global preferences, advertiser campaign criteria, etc.).


Content of a voice-based input may be determined based on various criteria, including contextual or conceptual information (e.g., semantic indicators, qualifiers, or other information). For example, a given concept may include various semantically equivalent indicators having an identical meaning. Thus, for instance, a voice-based input may be “Play some tunes!” or “Play some music!” or other variants thereof, each of which may be interpreted as relating to a specific idea (or concept) of “Music.” Thus, concept or content information in a request may be used to select an advertisement. For example, a user may request to calculate a route in Seattle, Wash. (e.g., “How do I get to the Space Needle?”). Based on a context of the requested task (e.g., “Navigation,” “Seattle,” etc.), a voice search engine may retrieve an address of the Space Needle and a navigation application may calculate the route. Furthermore, user profile information may indicate that the user is visiting Seattle from out-of-town (e.g., the profile may indicate that the user's home is Sacramento), and therefore, an advertisement for popular points-of-interest in Seattle may be selected. In another example, the user may request information about a sporting event (e.g., “Get me the kickoff time for the Eagles game on Sunday”). Based on a context of the requested information (e.g., “Search,” “Sports,” “Philadelphia,” etc.), the requested information may be retrieved, while an advertisement for Eagles apparel or memorabilia may be selected.


In various instances, concepts, semantic indicators, qualifiers, or other information included in, or inferred from, a request may indicate an exploratory nature for the request. In other words, the exploratory request may identify a goal for a conversation, instead of a particular task to perform or information to retrieve. As such, in various implementations, an advertisement may be selected in operation 320 in an effort to advance the conversation towards the goal. For example, an exploratory request may include a request for a navigation route (e.g., “I feel like going to a museum, find me something interesting”). Based on a context of the requested task (e.g., “Navigation,” “Points of Interest,” etc.), the goal of the conversation may be identified, and the request may be serviced in operation 315 (e.g., a voice search engine may locate nearby points of interest based on user preferred topics). Further, the advertising application may select an appropriate advertisement in operation 320, where the advertisement may be selected in an attempt to advance the conversation towards the goal. For example, statistical profiles (e.g., user profiles, global profiles, topic-based profiles, etc.) may reflect an affinity between an advertisement for a particular museum and other users sharing similar demographics or other characteristics with the requesting user. Thus, in addition to retrieving information about museums in operation 315, an advertisement for a museum likely to be of interest to the user may be selected in operation 320.


In various instances, a request may include incomplete, ambiguous, unrecognized, or otherwise insufficient semantic indicators, context, qualifiers, or other information needed to identify the request. In other words, the request may include inadequate information to identify or infer a task to perform, information to retrieve, or a goal for a conversation. Thus, as much information as possible may be extracted and/or inferred from the request based on shared knowledge such as context, user or global profile information, previous utterances, previous conversations, etc. As such, servicing the request may include generating a response and/or communicating with an advertising application to advance a conversation toward a serviceable request. For example, servicing the request in operation 315 and selecting an advertisement in operation 320 may include generating a response and/or selecting an advertisement to frame a subsequent user input, thereby advancing the conversation.


For example, the request may include incomplete, ambiguous, or unrecognized information (e.g., “Do you know [mumbled words] Seattle?”). A context of the requested task may be identified (e.g., “Seattle”), yet the identified context may be insufficient to adequately take action to service the request. Additional information may be inferred based on previous utterances in the conversation, profile information, or other information. However, when the additional information fails to provide adequate information to infer a reasonable hypothesis, servicing the request in operation 315 may include generating a response to frame a subsequent user input and advance the conversation (e.g., information about various topics may be retrieved based on a user's preferred topics). Further, the advertising application may select an advertisement in operation 320 to advance the conversation (e.g., advertisements may be selected based on user and/or global profiles reflecting an affinity between certain advertisements associated with Seattle and user preferences, profiles, etc.). Thus, by selecting an advertisement, indicating dissatisfaction with an advertisement, or otherwise interacting with an advertisement, the interaction may be used to build context and shared knowledge for a subsequent course of the conversation. For example, a user may select an advertisement, and an interpretation of a subsequent voice-based input (e.g., “Call them,” “What's the price range?” etc.) may be interpreted with shared knowledge of the advertisement that the voice-based input relates to. Thus, advertisements may be used in a way that enables advertisers to market to consumers, while also improving the consumers' interaction with a device. Other advantages will be apparent to those skilled in the art.


It will be apparent that operation 320 may use various techniques to select advertisements based on voice-based inputs and/or requests included therein. For example, an advertiser may specify a target audience, marketing criteria, campaign strategies, budget constraints, concepts, semantic indicators, related topics, categories, and/or any other suitable information to associate with an advertisement. For instance, advertisers may pay a premium to prioritize an advertisement in relation to similar advertisements (e.g., advertisements associated with competitors). In another example, various statistical profiles may define affinities between advertisements, topics, users, etc. (e.g., based on click-through or conversion rates, or other tracking information, as described in more detail below). Thus, advertisements may be selected in operation 320 using various techniques, including content of the request, an activity/action associated with the request, user profiles, user preferences, statistical metrics, advertiser-specified criteria, to advance a conversation, to resolve ambiguous requests, or in various other ways, as will be apparent.


The output presented to the user in operation 325 may be provided to the user in various ways. For example, in various implementations, the output may include a voice-based or otherwise audible response. In another example, when an associated device includes a display mechanism, the output may be displayed on the display device. It will be apparent that many combinations or variants thereof may be used, such as augmenting a voice-based response with information on a display device. For example, a user may request information about restaurants, and an advertisement may be selected based on a user preference indicating a favorite type of restaurant (e.g., a Chinese restaurant may be selected based on a user profile indicating a preference for Chinese). Therefore, in one example, the output presented in operation 325 may display information about various restaurants matching the requested information, while a voice-based advertisement for the Chinese restaurant may be played to the user (e.g., via a speaker or other suitable mechanism for playing voice back to the user). Many other variations will be apparent (e.g., a graphical advertisement may be displayed on a display device, while a corresponding or different voice-based advertisement may be played audibly).


Subsequent interaction between the user and the presented advertisements may be monitored in a decisional operation 330. For instance, when the user elects to interact with the advertisement, action may be taken based on the interaction in an operation 335. The interaction may take various forms, including additional voice-based inputs or other suitable mechanisms for interacting with advertisements (e.g., clicking on an advertisement displayed on a personal digital assistant using an associated stylus). For example, a user may initially request information from a voice-enabled media device (e.g., a satellite radio player) about a song currently playing (e.g., “What is this song?”). In addition to outputting the requested information about the song (e.g., “This song is Double Barrel by Dave and Ansel Collins.”), a selected advertisement may enable the user to purchase a ringtone for a mobile phone that corresponds to the song. In this example, the interaction may include a request to purchase the ringtone (e.g., “Yeah, I'll buy that”), and action taken in operation 335 may include completing a transaction for the ringtone and/or downloading the ringtone to the mobile phone. Furthermore, additional advertisements may be selected in an operation 340 based on the interaction, using similar techniques as described in connection with operation 320 (e.g., advertisements for additional ringtones, similar musicians, etc. may be selected). Processing may subsequently return to operation 325 to present output resulting from the interaction.


User advertisement interaction may be tracked in an operation 345. For example, operation 345 may track historical data about users, conversations, topics, contexts, or other criteria to associate information with the selected advertisement. The tracking information may therefore be used to build statistical profiles defining affinities, click-through or conversion rates, or other information about various advertisements, topics, or other criteria on a user-specific and/or a global-user level. Thus, clusters or mappings may be created between advertisements, topics, concepts, demographics, or other criteria based on user behavior with the advertisements (e.g., whether a user interacts with the advertisement in operation 330).


For instance, certain advertisements may experience high click-through rates in relation to a first context and/or topic, but low click-through rates in relation to a second context and/or topic, and therefore, when requests relate to the first context and/or topic, the advertisement may be more likely to be selected in subsequent operations 320/340. In another example, global statistical profiles may indicate that an advertisement experiences more click-throughs by users of a particular demographic, and therefore, the advertisement may be more likely to be selected for users falling within the demographic. Many different techniques for tracking and building statistical profiles will be apparent.


Implementations of the invention may be made in hardware, firmware, software, or any combination thereof. The invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable storage medium may include read only memory, random access memory, magnetic disk storage media, optical storage media, flash memory devices, and others, and a machine-readable transmission media may include forms of propagated signals, such as carrier waves, infrared signals, digital signals, and others. Further, firmware, software, routines, or instructions may be described in the above disclosure in terms of specific exemplary aspects and implementations of the invention, and performing certain actions. However, it will be apparent that such descriptions are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, or instructions.


Aspects and implementations may be described as including a particular feature, structure, or characteristic, but every aspect or implementation may not necessarily include the particular feature, structure, or characteristic. Further, when a particular feature, structure, or characteristic is described in connection with an aspect or implementation, it will be apparent to effect such feature, structure, or characteristic in connection with other aspects or implementations whether or not explicitly described. Thus, various changes and modifications may be made, without departing from the scope and spirit of the invention. The specification and drawings are to be regarded as exemplary only, and the scope of the invention is to be determined solely by the appended claims.

Claims
  • 1. A method for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the method being implemented by one or more physical processors programmed with computer program instructions, which when executed cause the one or more physical processors to perform the method, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the method comprising: in response to receiving the natural language utterance, providing the natural language utterance as an input to a speech recognition engine;in response to receiving the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, providing the words or phrases as an input to the conversational language processor;interpreting the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determining the request based on the interpretation of the natural language utterance;determining a context for the natural language utterance based at least on the recognized words or phrases;selecting an advertisement based at least on the determined context;providing the selected advertisement via an output device coupled to the conversational language processor;obtaining a response to the request;providing the response to the request;in response to receiving a second natural language utterance, providing the second natural language utterance as an input to the speech recognition engine;in response to receiving a second set of words or phrases, recognized from the second natural language utterance, as a second output of the speech recognition engine, providing the second set of words or phrases as a second input to the conversational language processor;interpreting the second natural language utterance at the conversational language processor based on the recognized second set of words or phrases and the determined context; anddetermining a second request, related to the advertisement, based on the interpretation of the second natural language utterance; andobtaining and providing a second response to the second request.
  • 2. The method of claim 1, wherein the conversational language processor comprises one or more domain agents, where a domain agent is configured to assist in: i) interpreting requests related to its domain; and ii) determining a response to the requests related to its domain.
  • 3. The method of claim 2, wherein the domain agents comprise an electronic commerce agent and selecting an advertisement comprises selecting an advertisement that corresponds to an electronic commerce opportunity.
  • 4. The method of claim 1, wherein the conversational language processor is configured to communicate with one or more domain-specific applications, and in response to a request relating to a domain specific application, the conversational language processor invoking the domain specific application to assist in processing the request.
  • 5. The method of claim 4, wherein the domain-specific applications include an electronic commerce application and selecting an advertisement comprises selecting an advertisement that corresponds to an electronic commerce opportunity.
  • 6. The method of claim 1, the method further comprising: using an environmental model to determine environmental information, wherein determining a context for the natural language utterance is based further on the environmental information.
  • 7. The method of claim 6, wherein the environmental information comprises a user location, a user activity, or a user action.
  • 8. The method of claim 6, wherein determining the request is based further on the context.
  • 9. The method of claim 1, wherein presenting the advertisement comprises: audibly presenting a natural language conversational advertisement.
  • 10. The method of claim 1, wherein obtaining the response comprises: (i) servicing the request and determining the response, or (ii) providing the request to a remote device and receiving the response from the remote device.
  • 11. The method of claim 1, wherein the response and the advertisement are provided together or separately.
  • 12. The method of claim 1, wherein obtaining and providing the second response comprises facilitating a purchase or obtaining additional information related to the advertisement.
  • 13. A method for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the method being implemented by one or more physical processors programmed with computer program instructions, which when executed cause the one or more physical processors to perform the method, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the method comprising: in response to receiving the natural language utterance, providing the natural language utterance as an input to a speech recognition engine;in response to receiving the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, providing the words or phrases as an input to the conversational language processor;interpreting the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determining the request based on the interpretation of the natural language utterance;determining a context for the natural language utterance based at least on the recognized words or phrases;selecting an advertisement based at least on the determined context;providing the selected advertisement via an output device coupled to the conversational language processor;obtaining a response to the request;providing the response to the request;receiving an indication that a user interaction with the advertisement has occurred;determining whether the interpretation of the natural language utterance was correct based on the indication; andinterpreting a subsequent natural language utterance based on the determination of whether the interpretation of the natural language utterance was correct.
  • 14. A method for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the method being implemented by one or more physical processors programmed with computer program instructions, which when executed cause the one or more physical processors to perform the method, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the method comprising: in response to receiving the natural language utterance, providing the natural language utterance as an input to a speech recognition engine;in response to receiving the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, providing the words or phrases as an input to the conversational language processor;interpreting the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determining the request based on the interpretation of the natural language utterance;determining a context for the natural language utterance based at least on the recognized words or phrases;selecting an advertisement based at least on the determined context;providing the selected advertisement via an output device coupled to the conversational language processor;obtaining a response to the request;providing the response to the request;receiving an indication that a user interaction with the advertisement has occurred;determining that a subsequent natural language utterance relates to an advertisement context based on the indication;in response to receiving a second natural language utterance after the user interaction, providing the second natural language utterance as an input to the speech recognition engine;in response to receiving a second set of words or phrases, recognized from the second natural language utterance, as a second output of the speech recognition engine, providing the second set of words or phrases as a second input to the conversational language processor;interpreting the second natural language utterance at the conversational language processor based on the recognized second set of words or phrases and the advertisement context; anddetermining a second request, related to the advertisement, based on the interpretation of the second natural language utterance; andobtaining and providing a second response to the second request.
  • 15. A method for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the method being implemented by one or more physical processors programmed with computer program instructions, which when executed cause the one or more physical processors to perform the method, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the method comprising: in response to receiving the natural language utterance, providing the natural language utterance as an input to a speech recognition engine;in response to receiving the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, providing the words or phrases as an input to the conversational language processor;interpreting the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determining the request based on the interpretation of the natural language utterance;determining a context for the natural language utterance based at least on the recognized words or phrases;selecting an advertisement based at least on the determined context;providing the selected advertisement via an output device coupled to the conversational language processor;obtaining a response to the request;providing the response to the request;in response to a determination that the natural language utterance includes incomplete or unrecognized words or phrases such that insufficient information is available to determine the request, selecting a plurality of advertisements, each advertisement relating to its own context;presenting the plurality of advertisements to the output device; andreceiving an indication that a user interaction has occurred with at least one of the plurality of advertisements, wherein determining the request is based further on a corresponding context of an advertisement, among the plurality of advertisements, with which the user interaction occurred.
  • 16. A system for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the system comprising: one or more physical processors programmed with computer program instructions, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the computer program instructions which when executed cause the one or more physical processors to:in response to receipt of the natural language utterance, provide the natural language utterance as an input to a speech recognition engine;in response to receipt of the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, provide the words or phrases as an input to the conversational language processor;interpret the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determine the request based on the interpretation of the natural language utterance;determine a context for the natural language utterance based at least on the recognized words or phrases;select an advertisement based at least on the determined context;provide the selected advertisement via an output device coupled to the conversational language processor;obtain a response to the request;provide the response to the request;in response to receipt of a second natural language utterance, provide the second natural language utterance as an input to the speech recognition engine;in response to receipt of a second set of words or phrases, recognized from the second natural language utterance, as a second output of the speech recognition engine, provide the second set of words or phrases as a second input to the conversational language processor;interpret the second natural language utterance at the conversational language processor based on the recognized second set of words or phrases and the determined context; anddetermine a second request, related to the advertisement, based on the interpretation of the second natural language utterance; andobtaining and providing a second response to the second request.
  • 17. The system of claim 16, wherein the conversational language processor comprises one or more domain agents, where a domain agent is configured to assist: i) interpret requests related to its domain; and ii) determine a response to the requests related to its domain.
  • 18. The system of claim 17, wherein the domain agents comprise an electronic commerce agent and wherein to select an advertisement, the one or more physical processors are further programmed to: select an advertisement that corresponds to an electronic commerce opportunity.
  • 19. The system of claim 16, wherein the one or more physical processors are further programmed to communicate with one or more domain-specific applications, and in response to a request relating to a domain specific application, invoke the domain specific application to assist process the request.
  • 20. The system of claim 19, wherein the domain-specific applications include an electronic commerce application and wherein to select an advertisement, the one or more physical processors are programmed to select an advertisement that corresponds to an electronic commerce opportunity.
  • 21. The system of claim 16, wherein the one or more physical processors are further programmed to: use an environmental model to determine environmental information, wherein the context for the natural language utterance is determined based further on the environmental information.
  • 22. The system of claim 21, wherein the environmental information comprises a user location, a user activity, or a user action.
  • 23. The system of claim 21, wherein the determined request is based further on the context.
  • 24. The system of claim 16, wherein to present the advertisement, the one or more physical processors are programmed to: audibly present a natural language conversational advertisement.
  • 25. The system of claim 16, wherein to obtain the response, the one or more physical processors are further programmed to: (i) service the request and determine the response, or (ii) provide the request to a remote device and receive the response from the remote device.
  • 26. The system of claim 16, wherein the response and the advertisement are provided together or separately.
  • 27. The system of claim 16, wherein to obtain and provide the second response, the one or more physical processors are programmed to facilitate a purchase or obtain additional information related to the advertisement.
  • 28. A system for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the system comprising: one or more physical processors programmed with computer program instructions, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the computer program instructions which when executed cause the one or more physical processors to:in response to receipt of the natural language utterance, provide the natural language utterance as an input to a speech recognition engine;in response to receipt of the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, provide the words or phrases as an input to the conversational language processor;interpret the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determine the request based on the interpretation of the natural language utterance;determine a context for the natural language utterance based at least on the recognized words or phrases;select an advertisement based at least on the determined context;provide the selected advertisement via an output device coupled to the conversational language processor;obtain a response to the request;provide the response to the request;receive an indication that a user interaction with the advertisement has occurred;determine whether the interpretation of the natural language utterance was correct based on the indication; andinterpret a subsequent natural language utterance based on the determination of whether the interpretation of the natural language utterance was correct.
  • 29. A system for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the system comprising: one or more physical processors programmed with computer program instructions, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the computer program instructions which when executed cause the one or more physical processors to:in response to receipt of the natural language utterance, provide the natural language utterance as an input to a speech recognition engine;in response to receipt of the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, provide the words or phrases as an input to the conversational language processor;interpret the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determine the request based on the interpretation of the natural language utterance;determine a context for the natural language utterance based at least on the recognized words or phrases;select an advertisement based at least on the determined context;provide the selected advertisement via an output device coupled to the conversational language processor;obtain a response to the request;provide the response to the request;receive an indication that a user interaction with the advertisement has occurred;determine that a subsequent natural language utterance relates to an advertisement context based on the indication;in response to receipt of a second natural language utterance after the user interaction, provide the second natural language utterance as an input to the speech recognition engine;in response to receipt of a second set of words or phrases, recognized from the second natural language utterance, as a second output of the speech recognition engine, provide the second set of words or phrases as a second input to the conversational language processor;interpret the second natural language utterance at the conversational language processor based on the recognized second set of words or phrases and the advertisement context; anddetermine a second request, related to the advertisement, based on the interpretation of the second natural language utterance; andobtain and provide a second response to the second request.
  • 30. A system for processing natural language utterances that include requests and selecting and presenting advertisements based thereon, the system comprising: one or more physical processors programmed with computer program instructions, the computer program instructions comprising at least a conversational language processor configured to interpret a natural language utterance, which relates to a request, based on words or phrases recognized from the natural language utterance, the computer program instructions which when executed cause the one or more physical processors to:in response to receipt of the natural language utterance, provide the natural language utterance as an input to a speech recognition engine;in response to receipt of the words or phrases, recognized from the natural language utterance, as an output of the speech recognition engine, provide the words or phrases as an input to the conversational language processor;interpret the natural language utterance, at the conversational language processor, based on the recognized words or phrases;determine the request based on the interpretation of the natural language utterance;determine a context for the natural language utterance based at least on the recognized words or phrases;select an advertisement based at least on the determined context;provide the selected advertisement via an output device coupled to the conversational language processor;obtain a response to the request;provide the response to the request;in response to a determination that the natural language utterance includes incomplete or unrecognized words or phrases such that insufficient information is available to determine the request, select a plurality of advertisements, each advertisement relating to its own context;present the plurality of advertisements to the output device;receive an indication that a user interaction has occurred with at least one of the plurality of advertisements, wherein the determination of the request is based further on a corresponding context of an advertisement, among the plurality of advertisements, with which the user interaction occurred.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 14/537,598, entitled “System and Method for Delivering Targeted Advertisements and/or Providing Natural Language Processing Based on Advertisements,” filed Nov. 10, 2014, which is a continuation of U.S. patent application Ser. No. 14/016,757, entitled “System and Method for Delivering Targeted Advertisements and Tracking Advertisement Interactions in Voice Recognition Context,” filed Sep. 3, 2013 (which issued as U.S. Pat. No. 8,886,536 on Nov. 11, 2014), which is a continuation of U.S. patent application Ser. No. 13/371,870, entitled “System and Method for Delivering Target Advertisements and Tracking Advertisement Interactions in Voice Recognition Context,” filed Feb. 13, 2012 (which issued as U.S. Pat. No. 8,527,274 on Sep. 3, 2013), which is a continuation of U.S. patent application Ser. No. 12/847,564, entitled “System and Method for Selecting and Presenting Advertisements Based on Natural Language Processing of Voice-Based Input,” filed Jul. 30, 2010 (which issued as U.S. Pat. No. 8,145,489 on Mar. 27, 2012), which is a continuation of U.S. patent application Ser. No. 11/671,526, entitled “System and Method for Selecting and Presenting Advertisements Based on Natural Language Processing of Voice-Based Input,” filed Feb. 6, 2007 (which issued as U.S. Pat. No. 7,818,176 on Oct. 19, 2010), the contents of which are hereby incorporated by reference in their entirety.

US Referenced Citations (773)
Number Name Date Kind
4430669 Cheung Feb 1984 A
4821027 Mallory Apr 1989 A
4829423 Tennant May 1989 A
4887212 Zamora Dec 1989 A
4910784 Doddington Mar 1990 A
5027406 Roberts Jun 1991 A
5155743 Jacobs Oct 1992 A
5164904 Sumner Nov 1992 A
5208748 Flores May 1993 A
5265065 Turtle Nov 1993 A
5274560 LaRue Dec 1993 A
5357596 Takebayashi Oct 1994 A
5369575 Lamberti Nov 1994 A
5377350 Skinner Dec 1994 A
5386556 Hedin Jan 1995 A
5424947 Nagao Jun 1995 A
5471318 Ahuja Nov 1995 A
5475733 Eisdorfer Dec 1995 A
5479563 Yamaguchi Dec 1995 A
5488652 Bielby Jan 1996 A
5499289 Bruno Mar 1996 A
5500920 Kupiec Mar 1996 A
5517560 Greenspan May 1996 A
5533108 Harris Jul 1996 A
5537436 Bottoms Jul 1996 A
5539744 Chu Jul 1996 A
5557667 Bruno Sep 1996 A
5559864 Kennedy, Jr. Sep 1996 A
5563937 Bruno Oct 1996 A
5577165 Takebayashi Nov 1996 A
5590039 Ikeda Dec 1996 A
5608635 Tamai Mar 1997 A
5617407 Bareis Apr 1997 A
5633922 August May 1997 A
5634086 Rtischev May 1997 A
5652570 Lepkofker Jul 1997 A
5675629 Raffel Oct 1997 A
5696965 Dedrick Dec 1997 A
5708422 Blonder Jan 1998 A
5721938 Stuckey Feb 1998 A
5722084 Chakrin Feb 1998 A
5740256 CastelloDaCosta Apr 1998 A
5742763 Jones Apr 1998 A
5748841 Morin May 1998 A
5748974 Johnson May 1998 A
5752052 Richardson May 1998 A
5754784 Garland May 1998 A
5761631 Nasukawa Jun 1998 A
5774841 Salazar Jun 1998 A
5774859 Houser Jun 1998 A
5794050 Dahlgren Aug 1998 A
5794196 Yegnanarayanan Aug 1998 A
5797112 Komatsu Aug 1998 A
5799276 Komissarchik Aug 1998 A
5802510 Jones Sep 1998 A
5829000 Huang Oct 1998 A
5832221 Jones Nov 1998 A
5839107 Gupta Nov 1998 A
5848396 Gerace Dec 1998 A
5855000 Waibel Dec 1998 A
5867817 Catallo Feb 1999 A
5878385 Bralich Mar 1999 A
5878386 Coughlin Mar 1999 A
5892813 Morin Apr 1999 A
5892900 Ginter Apr 1999 A
5895464 Bhandari Apr 1999 A
5895466 Goldberg Apr 1999 A
5897613 Chan Apr 1999 A
5902347 Backman May 1999 A
5911120 Jarett Jun 1999 A
5918222 Fukui Jun 1999 A
5926784 Richardson Jul 1999 A
5933822 Braden-Harder Aug 1999 A
5950167 Yaker Sep 1999 A
5953393 Culbreth Sep 1999 A
5960397 Rahim Sep 1999 A
5960399 Barclay Sep 1999 A
5960447 Holt Sep 1999 A
5963894 Richardson Oct 1999 A
5963940 Liddy Oct 1999 A
5983190 Trowerll Nov 1999 A
5987404 Della Pietra Nov 1999 A
5991721 Asano Nov 1999 A
5995119 Cosatto Nov 1999 A
5995928 Nguyen Nov 1999 A
5995943 Bull Nov 1999 A
6009382 Martino Dec 1999 A
6014559 Amin Jan 2000 A
6018708 Dahan Jan 2000 A
6021384 Gorin Feb 2000 A
6028514 Lemelson Feb 2000 A
6035267 Watanabe Mar 2000 A
6044347 Abella Mar 2000 A
6049602 Foladare Apr 2000 A
6049607 Marash Apr 2000 A
6058187 Chen May 2000 A
6067513 Ishimitsu May 2000 A
6073098 Buchsbaum Jun 2000 A
6076059 Glickman Jun 2000 A
6078886 Dragosh Jun 2000 A
6081774 deHita Jun 2000 A
6085186 Christianson Jul 2000 A
6101241 Boyce Aug 2000 A
6108631 Ruhl Aug 2000 A
6119087 Kuhn Sep 2000 A
6119101 Peckover Sep 2000 A
6122613 Baker Sep 2000 A
6134235 Goldman Oct 2000 A
6144667 Doshi Nov 2000 A
6144938 Surace Nov 2000 A
6154526 Dahlke Nov 2000 A
6160883 Jackson Dec 2000 A
6167377 Gillick Dec 2000 A
6173266 Marx Jan 2001 B1
6173279 Levin Jan 2001 B1
6175858 Bulfer Jan 2001 B1
6185535 Hedin Feb 2001 B1
6188982 Chiang Feb 2001 B1
6192110 Abella Feb 2001 B1
6192338 Haszto Feb 2001 B1
6195634 Dudemaine Feb 2001 B1
6195651 Handel Feb 2001 B1
6199043 Happ Mar 2001 B1
6208964 Sabourin Mar 2001 B1
6208972 Grant Mar 2001 B1
6219346 Maxemchuk Apr 2001 B1
6219643 Cohen Apr 2001 B1
6226612 Srenger May 2001 B1
6233556 Teunen May 2001 B1
6233559 Balakrishnan May 2001 B1
6233561 Junqua May 2001 B1
6236968 Kanevsky May 2001 B1
6246981 Papineni Jun 2001 B1
6246990 Happ Jun 2001 B1
6266636 Kosaka Jul 2001 B1
6269336 Ladd Jul 2001 B1
6272455 Hoshen Aug 2001 B1
6275231 Obradovich Aug 2001 B1
6278377 DeLine Aug 2001 B1
6278968 Franz Aug 2001 B1
6286002 Axaopoulos Sep 2001 B1
6288319 Catona Sep 2001 B1
6292767 Jackson Sep 2001 B1
6301560 Masters Oct 2001 B1
6308151 Smith Oct 2001 B1
6311159 VanTichelen Oct 2001 B1
6314402 Monaco Nov 2001 B1
6321196 Franceschi Nov 2001 B1
6356869 Chapados Mar 2002 B1
6362748 Huang Mar 2002 B1
6366882 Bijl Apr 2002 B1
6366886 Dragosh Apr 2002 B1
6374214 Friedland Apr 2002 B1
6377913 Coffman Apr 2002 B1
6381535 Durocher Apr 2002 B1
6385596 Wiser May 2002 B1
6385646 Brown May 2002 B1
6393403 Majaniemi May 2002 B1
6393428 Miller May 2002 B1
6397181 Li May 2002 B1
6404878 Jackson Jun 2002 B1
6405170 Phillips Jun 2002 B1
6408272 White Jun 2002 B1
6411810 Maxemchuk Jun 2002 B1
6411893 Ruhl Jun 2002 B2
6415257 Junqua Jul 2002 B1
6418210 Sayko Jul 2002 B1
6420975 DeLine Jul 2002 B1
6429813 Feigen Aug 2002 B2
6430285 Bauer Aug 2002 B1
6430531 Polish Aug 2002 B1
6434523 Monaco Aug 2002 B1
6434524 Weber Aug 2002 B1
6434529 Walker Aug 2002 B1
6442522 Carberry Aug 2002 B1
6446114 Bulfer Sep 2002 B1
6453153 Bowker Sep 2002 B1
6453292 Ramaswamy Sep 2002 B2
6456711 Cheung Sep 2002 B1
6456974 Baker Sep 2002 B1
6466654 Cooper Oct 2002 B1
6466899 Yano Oct 2002 B1
6470315 Netsch Oct 2002 B1
6487494 Odinak Nov 2002 B2
6487495 Gale Nov 2002 B1
6498797 Anerousis Dec 2002 B1
6499013 Weber Dec 2002 B1
6501833 Phillips Dec 2002 B2
6501834 Milewski Dec 2002 B1
6505155 Vanbuskirk Jan 2003 B1
6510417 Quilici Jan 2003 B1
6513006 Howard Jan 2003 B2
6522746 Marchok Feb 2003 B1
6523061 Halverson Feb 2003 B1
6532444 Weber Mar 2003 B1
6539348 Bond Mar 2003 B1
6549629 Finn Apr 2003 B2
6553372 Brassell Apr 2003 B1
6556970 Sasaki Apr 2003 B1
6556973 Lewin Apr 2003 B1
6560576 Cohen May 2003 B1
6560590 Shwe May 2003 B1
6567778 Chao Chang May 2003 B1
6567797 Schuetze May 2003 B1
6567805 Johnson May 2003 B1
6570555 Prevost May 2003 B1
6570964 Murveit May 2003 B1
6571279 Herz May 2003 B1
6574597 Mohri Jun 2003 B1
6574624 Johnson Jun 2003 B1
6578022 Foulger Jun 2003 B1
6581103 Dengler Jun 2003 B1
6584439 Geilhufe Jun 2003 B1
6587858 Strazza Jul 2003 B1
6591239 McCall Jul 2003 B1
6594257 Doshi Jul 2003 B1
6594367 Marash Jul 2003 B1
6598018 Junqua Jul 2003 B1
6601026 Appelt Jul 2003 B2
6604075 Brown Aug 2003 B1
6604077 Dragosh Aug 2003 B2
6606598 Holthouse Aug 2003 B1
6611692 Raffel Aug 2003 B2
6614773 Maxemchuk Sep 2003 B1
6615172 Bennett Sep 2003 B1
6622119 Ramaswamy Sep 2003 B1
6629066 Jackson Sep 2003 B1
6631346 Karaorman Oct 2003 B1
6631351 Ramachandran Oct 2003 B1
6633846 Bennett Oct 2003 B1
6636790 Lightner Oct 2003 B1
6643620 Contolini Nov 2003 B1
6647363 Claassen Nov 2003 B2
6650747 Bala Nov 2003 B1
6658388 Kleindienst Dec 2003 B1
6678680 Woo Jan 2004 B1
6681206 Gorin Jan 2004 B1
6691151 Cheyer Feb 2004 B1
6701294 Ball Mar 2004 B1
6704396 Parolkar Mar 2004 B2
6704576 Brachman Mar 2004 B1
6704708 Pickering Mar 2004 B1
6707421 Drury Mar 2004 B1
6708150 Hirayama Mar 2004 B1
6721001 Berstis Apr 2004 B1
6721633 Funk Apr 2004 B2
6721706 Strubbe Apr 2004 B1
6726636 Der Ghazarian Apr 2004 B2
6735592 Neumann May 2004 B1
6739556 Langston May 2004 B1
6741931 Kohut May 2004 B1
6742021 Halverson May 2004 B1
6745161 Arnold Jun 2004 B1
6751591 Gorin Jun 2004 B1
6751612 Schuetze Jun 2004 B1
6754485 Obradovich Jun 2004 B1
6754627 Woodward Jun 2004 B2
6757544 Rangarajan Jun 2004 B2
6757718 Halverson Jun 2004 B1
6795808 Strubbe Sep 2004 B1
6801604 Maes Oct 2004 B2
6801893 Backfried Oct 2004 B1
6810375 Ejerhed Oct 2004 B1
6813341 Mahoney Nov 2004 B1
6816830 Kempe Nov 2004 B1
6829603 Wolf Dec 2004 B1
6832230 Zilliacus Dec 2004 B1
6833848 Wolff Dec 2004 B1
6850603 Eberle Feb 2005 B1
6856990 Barile Feb 2005 B2
6865481 Kawazoe Mar 2005 B2
6868380 Kroeker Mar 2005 B2
6868385 Gerson Mar 2005 B1
6871179 Kist Mar 2005 B1
6873837 Yoshioka Mar 2005 B1
6877001 Wolf Apr 2005 B2
6877134 Fuller Apr 2005 B1
6901366 Kuhn May 2005 B1
6910003 Arnold Jun 2005 B1
6912498 Stevens Jun 2005 B2
6915126 Mazzara, Jr. Jul 2005 B2
6928614 Everhart Aug 2005 B1
6934756 Maes Aug 2005 B2
6937977 Gerson Aug 2005 B2
6937982 Kitaoka Aug 2005 B2
6941266 Gorin Sep 2005 B1
6944594 Busayapongchai Sep 2005 B2
6950821 Faybishenko Sep 2005 B2
6954755 Reisman Oct 2005 B2
6959276 Droppo Oct 2005 B2
6961700 Mitchell Nov 2005 B2
6963759 Gerson Nov 2005 B1
6964023 Maes Nov 2005 B2
6968311 Knockeart Nov 2005 B2
6973387 Masclet Dec 2005 B2
6975993 Keiller Dec 2005 B1
6980092 Turnbull Dec 2005 B2
6983055 Luo Jan 2006 B2
6990513 Belfiore Jan 2006 B2
6996531 Korall Feb 2006 B2
7003463 Maes Feb 2006 B1
7016849 Arnold Mar 2006 B2
7020609 Thrift Mar 2006 B2
7024364 Guerra Apr 2006 B2
7027586 Bushey Apr 2006 B2
7027975 Pazandak Apr 2006 B1
7035415 Belt Apr 2006 B2
7036128 Julia Apr 2006 B1
7043425 Pao May 2006 B2
7054817 Shao May 2006 B2
7058890 George Jun 2006 B2
7062488 Reisman Jun 2006 B1
7069220 Coffman Jun 2006 B2
7072834 Zhou Jul 2006 B2
7076362 Ohtsuji Jul 2006 B2
7082469 Gold Jul 2006 B2
7085708 Manson Aug 2006 B2
7092928 Elad Aug 2006 B1
7107210 Deng Sep 2006 B2
7107218 Preston Sep 2006 B1
7110951 Lemelson Sep 2006 B1
7127395 Gorin Oct 2006 B1
7127400 Koch Oct 2006 B2
7130390 Abburi Oct 2006 B2
7136875 Anderson Nov 2006 B2
7137126 Coffman Nov 2006 B1
7143037 Chestnut Nov 2006 B1
7143039 Stifelman Nov 2006 B1
7146319 Hunt Dec 2006 B2
7149696 Shimizu Dec 2006 B2
7165028 Gong Jan 2007 B2
7170993 Anderson Jan 2007 B2
7171291 Obradovich Jan 2007 B2
7174300 Bush Feb 2007 B2
7177798 Hsu Feb 2007 B2
7184957 Brookes Feb 2007 B2
7190770 Ando Mar 2007 B2
7197069 Agazzi Mar 2007 B2
7197460 Gupta Mar 2007 B1
7203644 Anderson Apr 2007 B2
7206418 Yang Apr 2007 B2
7207011 Mulvey Apr 2007 B2
7215941 Beckmann May 2007 B2
7228276 Omote Jun 2007 B2
7231343 Treadgold Jun 2007 B1
7236923 Gupta Jun 2007 B1
7254482 Kawasaki Aug 2007 B2
7272212 Eberle Sep 2007 B2
7277854 Bennett Oct 2007 B2
7283829 Christenson Oct 2007 B2
7283951 Marchisio Oct 2007 B2
7289606 Sibal Oct 2007 B2
7299186 Kuzunuki Nov 2007 B2
7301093 Sater Nov 2007 B2
7305381 Poppink Dec 2007 B1
7321850 Wakita Jan 2008 B2
7328155 Endo Feb 2008 B2
7337116 Charlesworth Feb 2008 B2
7340040 Saylor Mar 2008 B1
7366285 Parolkar Apr 2008 B2
7366669 Nishitani Apr 2008 B2
7376645 Bernard May 2008 B2
7386443 Parthasarathy Jun 2008 B1
7398209 Kennewick Jul 2008 B2
7406421 Odinak Jul 2008 B2
7415100 Cooper Aug 2008 B2
7415414 Azara Aug 2008 B2
7421393 Di Fabbrizio Sep 2008 B1
7424431 Greene Sep 2008 B2
7447635 Konopka Nov 2008 B1
7451088 Ehlen Nov 2008 B1
7454368 Stillman Nov 2008 B2
7454608 Gopalakrishnan Nov 2008 B2
7461059 Richardson Dec 2008 B2
7472020 Brulle-Drews Dec 2008 B2
7472060 Gorin Dec 2008 B1
7472075 Odinak Dec 2008 B2
7477909 Roth Jan 2009 B2
7478036 Shen Jan 2009 B2
7487088 Gorin Feb 2009 B1
7487110 Bennett Feb 2009 B2
7493259 Jones Feb 2009 B2
7493559 Wolff Feb 2009 B1
7502672 Kolls Mar 2009 B1
7502738 Kennewick Mar 2009 B2
7516076 Walker Apr 2009 B2
7529675 Maes May 2009 B2
7536297 Byrd May 2009 B2
7536374 Au May 2009 B2
7542894 Murata Jun 2009 B2
7546382 Healey Jun 2009 B2
7548491 Macfarlane Jun 2009 B2
7552054 Stifelman Jun 2009 B1
7558730 Davis Jul 2009 B2
7574362 Walker Aug 2009 B2
7577244 Taschereau Aug 2009 B2
7606708 Hwang Oct 2009 B2
7620549 DiCristo Nov 2009 B2
7634409 Kennewick Dec 2009 B2
7640006 Portman Dec 2009 B2
7640160 DiCristo Dec 2009 B2
7640272 Mahajan Dec 2009 B2
7672931 Hurst-Hiller Mar 2010 B2
7676365 Hwang Mar 2010 B2
7676369 Fujimoto Mar 2010 B2
7684977 Morikawa Mar 2010 B2
7693720 Kennewick Apr 2010 B2
7697673 Chiu Apr 2010 B2
7706616 Kristensson Apr 2010 B2
7729916 Coffman Jun 2010 B2
7729918 Walker Jun 2010 B2
7729920 Chaar Jun 2010 B2
7734287 Ying Jun 2010 B2
7748021 Obradovich Jun 2010 B2
7788084 Brun Aug 2010 B2
7792257 Vanier Sep 2010 B1
7801731 Odinak Sep 2010 B2
7809570 Kennewick Oct 2010 B2
7818176 Freeman Oct 2010 B2
7831426 Bennett Nov 2010 B2
7831433 Belvin Nov 2010 B1
7856358 Ho Dec 2010 B2
7873519 Bennett Jan 2011 B2
7873523 Potter Jan 2011 B2
7873654 Bernard Jan 2011 B2
7881936 Longe Feb 2011 B2
7890324 Bangalore Feb 2011 B2
7894849 Kass Feb 2011 B2
7902969 Obradovich Mar 2011 B2
7917367 DiCristo Mar 2011 B2
7920682 Byrne Apr 2011 B2
7949529 Weider May 2011 B2
7949537 Walker May 2011 B2
7953732 Frank May 2011 B2
7974875 Quilici Jul 2011 B1
7983917 Kennewick Jul 2011 B2
7984287 Gopalakrishnan Jul 2011 B2
8005683 Tessel Aug 2011 B2
8015006 Kennewick Sep 2011 B2
8032383 Bhardwaj Oct 2011 B1
8060367 Keaveney Nov 2011 B2
8069046 Kennewick Nov 2011 B2
8073681 Baldwin Dec 2011 B2
8077975 Ma Dec 2011 B2
8082153 Coffman Dec 2011 B2
8086463 Ativanichayaphong Dec 2011 B2
8103510 Sato Jan 2012 B2
8112275 Kennewick Feb 2012 B2
8140327 Kennewick Mar 2012 B2
8140335 Kennewick Mar 2012 B2
8145489 Freeman Mar 2012 B2
8150694 Kennewick Apr 2012 B2
8155962 Kennewick Apr 2012 B2
8170867 Germain May 2012 B2
8180037 Delker May 2012 B1
8195468 Weider Jun 2012 B2
8200485 Lee Jun 2012 B1
8219399 Lutz Jul 2012 B2
8219599 Tunstall-Pedoe Jul 2012 B2
8224652 Wang Jul 2012 B2
8255224 Singleton Aug 2012 B2
8326627 Kennewick Dec 2012 B2
8326634 DiCristo Dec 2012 B2
8326637 Baldwin Dec 2012 B2
8332224 DiCristo Dec 2012 B2
8346563 Hjelm Jan 2013 B1
8370147 Kennewick Feb 2013 B2
8447607 Weider May 2013 B2
8452598 Kennewick May 2013 B2
8503995 Ramer Aug 2013 B2
8509403 Chiu Aug 2013 B2
8515765 Baldwin Aug 2013 B2
8527274 Freeman Sep 2013 B2
8589161 Kennewick Nov 2013 B2
8620659 DiCristo Dec 2013 B2
8719005 Lee May 2014 B1
8719009 Baldwin May 2014 B2
8719026 Kennewick May 2014 B2
8731929 Kennewick May 2014 B2
8738380 Baldwin May 2014 B2
8849652 Weider Sep 2014 B2
8849670 DiCristo Sep 2014 B2
8849696 Pansari Sep 2014 B2
8849791 Hertschuh Sep 2014 B1
8886536 Freeman Nov 2014 B2
8983839 Kennewick Mar 2015 B2
9009046 Stewart Apr 2015 B1
9015049 Baldwin Apr 2015 B2
9037455 Faaborg May 2015 B1
9105266 Baldwin Aug 2015 B2
9171541 Kennewick Oct 2015 B2
9269097 Freeman Feb 2016 B2
9305548 Kennewick Apr 2016 B2
20010039492 Nemoto Nov 2001 A1
20010041980 Howard Nov 2001 A1
20010049601 Kroeker Dec 2001 A1
20010054087 Flom Dec 2001 A1
20020010584 Schultz Jan 2002 A1
20020015500 Belt Feb 2002 A1
20020022927 Lemelson Feb 2002 A1
20020029186 Roth Mar 2002 A1
20020029261 Shibata Mar 2002 A1
20020032752 Gold Mar 2002 A1
20020035501 Handel Mar 2002 A1
20020040297 Tsiao Apr 2002 A1
20020049535 Rigo Apr 2002 A1
20020049805 Yamada Apr 2002 A1
20020059068 Rose May 2002 A1
20020065568 Silfvast May 2002 A1
20020067839 Heinrich Jun 2002 A1
20020069059 Smith Jun 2002 A1
20020069071 Knockeart Jun 2002 A1
20020073176 Ikeda Jun 2002 A1
20020082911 Dunn Jun 2002 A1
20020087312 Lee Jul 2002 A1
20020087326 Lee Jul 2002 A1
20020087525 Abbott Jul 2002 A1
20020107694 Lerg Aug 2002 A1
20020120609 Lang Aug 2002 A1
20020124050 Middeljans Sep 2002 A1
20020133354 Ross Sep 2002 A1
20020133402 Faber Sep 2002 A1
20020135618 Maes Sep 2002 A1
20020138248 Corston-Oliver Sep 2002 A1
20020143532 McLean Oct 2002 A1
20020143535 Kist Oct 2002 A1
20020152260 Chen Oct 2002 A1
20020161646 Gailey Oct 2002 A1
20020173333 Buchholz Nov 2002 A1
20020173961 Guerra Nov 2002 A1
20020184373 Maes Dec 2002 A1
20020188602 Stubler Dec 2002 A1
20020198714 Zhou Dec 2002 A1
20030014261 Kageyama Jan 2003 A1
20030016835 Elko Jan 2003 A1
20030046346 Mumick Mar 2003 A1
20030064709 Gailey Apr 2003 A1
20030065427 Funk Apr 2003 A1
20030069734 Everhart Apr 2003 A1
20030088421 Maes May 2003 A1
20030097249 Walker May 2003 A1
20030110037 Walker Jun 2003 A1
20030112267 Belrose Jun 2003 A1
20030115062 Walker Jun 2003 A1
20030120493 Gupta Jun 2003 A1
20030135488 Amir Jul 2003 A1
20030144846 Denenberg Jul 2003 A1
20030158731 Falcon Aug 2003 A1
20030161448 Parolkar Aug 2003 A1
20030182132 Niemoeller Sep 2003 A1
20030187643 Van Thong Oct 2003 A1
20030204492 Wolf Oct 2003 A1
20030206640 Malvar Nov 2003 A1
20030212550 Ubale Nov 2003 A1
20030212558 Matula Nov 2003 A1
20030212562 Patel Nov 2003 A1
20030225825 Healey Dec 2003 A1
20030236664 Sharma Dec 2003 A1
20040006475 Ehlen Jan 2004 A1
20040010358 Oesterling Jan 2004 A1
20040025115 Sienel Feb 2004 A1
20040030741 Wolton Feb 2004 A1
20040036601 Obradovich Feb 2004 A1
20040044516 Kennewick Mar 2004 A1
20040098245 Walker May 2004 A1
20040117179 Balasuriya Jun 2004 A1
20040117804 Scahill Jun 2004 A1
20040122674 Bangalore Jun 2004 A1
20040133793 Ginter Jul 2004 A1
20040140989 Papageorge Jul 2004 A1
20040158555 Seedman Aug 2004 A1
20040166832 Portman Aug 2004 A1
20040167771 Duan Aug 2004 A1
20040172247 Yoon Sep 2004 A1
20040172258 Dominach Sep 2004 A1
20040193408 Hunt Sep 2004 A1
20040193420 Kennewick Sep 2004 A1
20040199375 Ehsani Oct 2004 A1
20040205671 Sukehiro Oct 2004 A1
20040243417 Pitts Dec 2004 A9
20040247092 Timmins Dec 2004 A1
20050015256 Kargman Jan 2005 A1
20050021331 Huang Jan 2005 A1
20050021334 Iwahashi Jan 2005 A1
20050021470 Martin Jan 2005 A1
20050021826 Kumar Jan 2005 A1
20050033574 Kim Feb 2005 A1
20050033582 Gadd Feb 2005 A1
20050043940 Elder Feb 2005 A1
20050080632 Endo Apr 2005 A1
20050114116 Fiedler May 2005 A1
20050125232 Gadd Jun 2005 A1
20050131673 Koizumi Jun 2005 A1
20050137850 Odell Jun 2005 A1
20050137877 Oesterling Jun 2005 A1
20050143994 Mori Jun 2005 A1
20050144013 Fujimoto Jun 2005 A1
20050144187 Che Jun 2005 A1
20050149319 Honda Jul 2005 A1
20050216254 Gupta Sep 2005 A1
20050234727 Chiu Oct 2005 A1
20050246174 DeGolia Nov 2005 A1
20050283364 Longe Dec 2005 A1
20050283752 Fruchter Dec 2005 A1
20060041431 Maes Feb 2006 A1
20060047509 Ding Mar 2006 A1
20060072738 Louis Apr 2006 A1
20060074671 Farmaner Apr 2006 A1
20060100851 Schonebeck May 2006 A1
20060182085 Sweeney Aug 2006 A1
20060206310 Ravikumar Sep 2006 A1
20060217133 Christenson Sep 2006 A1
20060242017 Libes Oct 2006 A1
20060253281 Letzt Nov 2006 A1
20060285662 Yin Dec 2006 A1
20070033005 Cristo Feb 2007 A1
20070033020 Francois Feb 2007 A1
20070038436 Cristo Feb 2007 A1
20070038445 Helbing Feb 2007 A1
20070043569 Potter Feb 2007 A1
20070043574 Coffman Feb 2007 A1
20070043868 Kumar Feb 2007 A1
20070050191 Weider Mar 2007 A1
20070055525 Kennewick Mar 2007 A1
20070061067 Zeinstra Mar 2007 A1
20070061735 Hoffberg Mar 2007 A1
20070073544 Millett Mar 2007 A1
20070078708 Yu Apr 2007 A1
20070078709 Rajaram Apr 2007 A1
20070078814 Flowers Apr 2007 A1
20070094003 Huang Apr 2007 A1
20070112555 Lavi May 2007 A1
20070112630 Lau May 2007 A1
20070118357 Kasravi May 2007 A1
20070124057 Prieto May 2007 A1
20070135101 Ramati Jun 2007 A1
20070146833 Satomi Jun 2007 A1
20070162296 Altberg Jul 2007 A1
20070174258 Jones Jul 2007 A1
20070179778 Gong Aug 2007 A1
20070185859 Flowers Aug 2007 A1
20070186165 Maislos Aug 2007 A1
20070192309 Fischer Aug 2007 A1
20070198267 Jones Aug 2007 A1
20070203736 Ashton Aug 2007 A1
20070208732 Flowers Sep 2007 A1
20070214182 Rosenberg Sep 2007 A1
20070250901 McIntire Oct 2007 A1
20070265850 Kennewick Nov 2007 A1
20070266257 Camaisa Nov 2007 A1
20070276651 Bliss Nov 2007 A1
20070299824 Pan Dec 2007 A1
20080034032 Healey Feb 2008 A1
20080046311 Shahine Feb 2008 A1
20080059188 Konopka Mar 2008 A1
20080065386 Cross Mar 2008 A1
20080065389 Cross Mar 2008 A1
20080091406 Baldwin Apr 2008 A1
20080103761 Printz May 2008 A1
20080103781 Wasson May 2008 A1
20080104071 Pragada May 2008 A1
20080109285 Reuther May 2008 A1
20080115163 Gilboa May 2008 A1
20080133215 Sarukkai Jun 2008 A1
20080140385 Mahajan Jun 2008 A1
20080147396 Wang Jun 2008 A1
20080147410 Odinak Jun 2008 A1
20080154604 Sathish Jun 2008 A1
20080162471 Bernard Jul 2008 A1
20080177530 Cross Jul 2008 A1
20080189110 Freeman Aug 2008 A1
20080235023 Kennewick Sep 2008 A1
20080235027 Cross Sep 2008 A1
20080294437 Nakano Nov 2008 A1
20080294994 Kruger Nov 2008 A1
20080319751 Kennewick Dec 2008 A1
20090006077 Keaveney Jan 2009 A1
20090024476 Baar Jan 2009 A1
20090052635 Jones Feb 2009 A1
20090067599 Agarwal Mar 2009 A1
20090076827 Bulitta Mar 2009 A1
20090106029 DeLine Apr 2009 A1
20090117885 Roth May 2009 A1
20090144131 Chiu Jun 2009 A1
20090144271 Richardson Jun 2009 A1
20090150156 Kennewick Jun 2009 A1
20090171664 Kennewick Jul 2009 A1
20090216540 Tessel Aug 2009 A1
20090248605 Mitchell Oct 2009 A1
20090259646 Fujita Oct 2009 A1
20090265163 Li Oct 2009 A1
20090271194 Davis Oct 2009 A1
20090273563 Pryor Nov 2009 A1
20090276700 Anderson Nov 2009 A1
20090287680 Paek Nov 2009 A1
20090299745 Kennewick Dec 2009 A1
20090299857 Brubaker Dec 2009 A1
20090304161 Pettyjohn Dec 2009 A1
20090307031 Winkler Dec 2009 A1
20090313026 Coffman Dec 2009 A1
20100023320 Di Cristo Jan 2010 A1
20100029261 Mikkelsen Feb 2010 A1
20100036967 Caine Feb 2010 A1
20100049501 Kennewick Feb 2010 A1
20100049514 Kennewick Feb 2010 A1
20100057443 Cristo Mar 2010 A1
20100063880 Atsmon Mar 2010 A1
20100064025 Nelimarkka Mar 2010 A1
20100094707 Freer Apr 2010 A1
20100145700 Kennewick Jun 2010 A1
20100185512 Borger Jul 2010 A1
20100204986 Kennewick Aug 2010 A1
20100204994 Kennewick Aug 2010 A1
20100217604 Baldwin Aug 2010 A1
20100286985 Kennewick Nov 2010 A1
20100299142 Freeman Nov 2010 A1
20100312566 Odinak Dec 2010 A1
20100331064 Michelstein Dec 2010 A1
20110022393 Waller Jan 2011 A1
20110106527 Chiu May 2011 A1
20110112827 Kennewick May 2011 A1
20110112921 Kennewick May 2011 A1
20110119049 Ylonen May 2011 A1
20110131036 DiCristo Jun 2011 A1
20110131045 Cristo Jun 2011 A1
20110231182 Weider Sep 2011 A1
20110231188 Kennewick Sep 2011 A1
20110307167 Taschereau Dec 2011 A1
20120022857 Baldwin Jan 2012 A1
20120046935 Nagao Feb 2012 A1
20120101809 Kennewick Apr 2012 A1
20120101810 Kennewick Apr 2012 A1
20120109753 Kennewick May 2012 A1
20120150620 Mandyam Jun 2012 A1
20120150636 Freeman Jun 2012 A1
20120239498 Ramer Sep 2012 A1
20120278073 Weider Nov 2012 A1
20130006734 Ocko Jan 2013 A1
20130054228 Baldwin Feb 2013 A1
20130060625 Davis Mar 2013 A1
20130080177 Chen Mar 2013 A1
20130211710 Kennewick Aug 2013 A1
20130253929 Weider Sep 2013 A1
20130254314 Chow Sep 2013 A1
20130297293 Cristo Nov 2013 A1
20130304473 Baldwin Nov 2013 A1
20130311324 Stoll Nov 2013 A1
20130339022 Baldwin Dec 2013 A1
20140006951 Hunter Jan 2014 A1
20140012577 Freeman Jan 2014 A1
20140108013 Cristo Apr 2014 A1
20140156278 Kennewick Jun 2014 A1
20140236575 Tur Aug 2014 A1
20140249821 Kennewick Sep 2014 A1
20140249822 Baldwin Sep 2014 A1
20140278413 Pitschel Sep 2014 A1
20140288934 Kennewick Sep 2014 A1
20140365222 Weider Dec 2014 A1
20150019217 Cristo Jan 2015 A1
20150019227 Anandarajah Jan 2015 A1
20150066627 Freeman Mar 2015 A1
20150073910 Kennewick Mar 2015 A1
20150095159 Kennewick Apr 2015 A1
20150142447 Kennewick May 2015 A1
20150170641 Kennewick Jun 2015 A1
20150228276 Baldwin Aug 2015 A1
20150348544 Baldwin Dec 2015 A1
20160049152 Kennewick Feb 2016 A1
20160078482 Kennewick Mar 2016 A1
20160078491 Kennewick Mar 2016 A1
20160078504 Kennewick Mar 2016 A1
20160078773 Carter Mar 2016 A1
20160110347 Kennewick Apr 2016 A1
Foreign Referenced Citations (27)
Number Date Country
1320043 Jun 2003 EP
1646037 Apr 2006 EP
2001071289 Mar 2001 JP
2006146881 Jun 2006 JP
2008058465 Mar 2008 JP
2008139928 Jun 2008 JP
2011504304 Feb 2011 JP
9946763 Sep 1999 WO
0021232 Jan 2000 WO
0046792 Jan 2000 WO
0178065 Oct 2001 WO
2004072954 Jan 2004 WO
2007019318 Jan 2007 WO
2007021587 Jan 2007 WO
2007027546 Jan 2007 WO
2007027989 Jan 2007 WO
2008098039 Jan 2008 WO
2008118195 Jan 2008 WO
2008027454 Feb 2008 WO
2009075912 Jan 2009 WO
2009145796 Jan 2009 WO
2010096752 Jan 2010 WO
2016044290 Mar 2016 WO
2016044316 Mar 2016 WO
2016044319 Mar 2016 WO
2016044321 Mar 2016 WO
2016061309 Apr 2016 WO
Non-Patent Literature Citations (21)
Entry
Wu, Su-Lin, et al. “Integrating syllable boundary information into speech recognition.” Acoustics, Speech, and Signal Processing, 1997. ICASSP-97., 1997 IEEE International Conference on. vol. 2. IEEE, 1997.
Wu, Su-Lin, et al. “Incorporating information from syllable-length time scales into automatic speech recognition.” Acoustics, Speech and Signal Processing, 1998. Proceedings of the 1998 IEEE International Conference on. vol. 2. IEEE, 1998.
Kirchhoff, Katrin. “Syllable-level desynchronisation of phonetic features for speech recognition.” Spoken Language, 1996. ICSLP 96. Proceedings., Fourth International Conference on. vol. 4. IEEE, 1996.
“Statement in Accordance with the Notice from the European Patent Office” dated Oct. 1, 2007 Concerning Business Methods (OJ EPO Nov. 2007, 592-593), XP002456252.
Arrington, Michael, “Google Redefines GPS Navigation Landscape: Google Maps Navigation for Android 2.0”, TechCrunch, printed from the Internet <http://www.techcrunch.com/2009/10/28/google-redefines-car-gps-navigation-google-maps-navigation-android/>, Oct. 28, 2009, 4 pages.
Bazzi, Issam et al., “Heterogeneous Lexical Units for Automatic Speech Recognition: Preliminary Investigations”, Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. 3, Jun. 5-9, 2000, XP010507574, pp. 1257-1260.
Belvin, Robert, et al., “Development of the HRL Route Navigation Dialogue System”, Proceedings of the First International Conference on Human Language Technology Research, San Diego, 2001, pp. 1-5.
Chai et al., “MIND: A Semantics-Based Multimodal Interpretation Framework for Conversational Systems”, Proceedings of the International CLASS Workshop on Natural, Intelligent and Effective Interaction in Multimodal Dialogue Systems, Jun. 2002, pp. 37-46.
Cheyer et al., “Multimodal Maps: An Agent-Based Approach”, International Conference on Cooperative Multimodal Communication (CMC/95), May 24-26, 1995, pp. 111-121.
El Meliani et al., “A Syllabic-Filler-Based Continuous Speech Recognizer for Unlimited Vocabulary”, Canadian Conference on Electrical and Computer Engineering, vol. 2, Sep. 5-8, 1995, pp. 1007-1010.
Elio et al., “On Abstract Task Models and Conversation Policies” in Workshop on Specifying and Implementing Conversation Policies, Autonomous Agents '99, Seattle, 1999, 10 pages.
Kuhn, Thomas, et al., “Hybrid In-Car Speech Recognition for Mobile Multimedia Applications”, Vehicular Technology Conference, IEEE, Jul. 1999, pp. 2009-2013.
Lin, Bor-shen, et al., “A Distributed Architecture for Cooperative Spoken Dialogue Agents with Coherent Dialogue State and History”, ASRU'99, 1999, 4 pages.
Lind, R., et al., The Network Vehicle—A Glimpse into the Future of Mobile Multi-Media, IEEE Aerosp. Electron. Systems Magazine, vol. 14, No. 9, Sep. 1999, pp. 27-32.
Mao, Mark Z., “Automatic Training Set Segmentation for Multi-Pass Speech Recognition”, Department of Electrical Engineering, Stanford University, CA, copyright 2005, IEEE, pp. I-685 to I-688.
O'Shaughnessy, Douglas, “Interacting with Computers by Voice: Automatic Speech Recognition and Synthesis”, Proceedings of the IEEE, vol. 91, No. 9, Sep. 1, 2003, XP011100665. pp. 1272-1305.
Reuters, “IBM to Enable Honda Drivers to Talk to Cars”, Charles Schwab & Co., Inc., Jul. 28, 2002, 1 page.
Turunen, “Adaptive Interaction Methods in Speech User Interfaces”, Conference on Human Factors in Computing Systems, Seattle, Washington, 2001, pp. 91-92.
Vanhoucke, Vincent, “Confidence Scoring and Rejection Using Multi-Pass Speech Recognition”, Nuance Communications, Menlo Park, CA, 2005, 4 pages.
Weng, Fuliang, et al., “Efficient Lattice Representation and Generation”, Speech Technology and Research Laboratory, SRI International, Menlo Park, CA, 1998, 4 pages.
Zhao, Yilin, “Telematics: Safe and Fun Driving”, IEEE Intelligent Systems, vol. 17, Issue 1, 2002, pp. 10-14.
Related Publications (1)
Number Date Country
20150364133 A1 Dec 2015 US
Continuations (5)
Number Date Country
Parent 14537598 Nov 2014 US
Child 14836606 US
Parent 14016757 Sep 2013 US
Child 14537598 US
Parent 13371870 Feb 2012 US
Child 14016757 US
Parent 12847564 Jul 2010 US
Child 13371870 US
Parent 11671526 Feb 2007 US
Child 12847564 US