Apparatus and method for forming search engine queries based on spoken utterances

A combination and a method are provided. Automatic speech recognition is performed on a received utterance. A meaning of the utterance is determined based, at least in part, on the recognized speech. At least one query is formed based, at least in part, on the determined meaning of the utterance. The at least one query is sent to at least one searching mechanism to search for an address of at least one web page that satisfies the at least one query.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to speech processing and more specifically to speech recognition driven data retrieval.

In existing spoken language understanding (SLU) systems, when a call arrives at a call center and a caller makes a request, speech recognition is invoked. Often, the caller requests information, which would require a customer service representative (CSR) to search for information, retrieve the information, and provide the information to the caller. Such requests require more time than many other types of calls, resulting in longer waiting times for callers. If waiting times could be reduced, customer satisfaction and subsequently, customer retention would increase.

SUMMARY OF THE INVENTION

In a first aspect of the invention, a machine-implemented method is provided. Automatic speech recognition is performed on a received utterance. A meaning of the utterance is determined based, at least in part, on the recognized speech. At least one query is formed based, at least in part, on the determined meaning of the utterance. The at least one query is sent to at least one searching mechanism to search for an address of at least one web page that satisfies the at least one query.

In a second aspect of the invention, a combination is provided. The combination includes an automatic speech recognizer, a spoken language understanding component, and at least one search query component. The automatic speech recognizer is configured to receive an utterance and convert the utterance to text. The spoken language understanding component is configured to process the text and produce an indication of a meaning of the utterance based, at least in part, on the text. The at least one search query component is configured to process the indication of the meaning and, based at least in part on the indication of the meaning, produce at least one query for a corresponding searching entity that is configured to search for an address of at least one web site that satisfies the at least one query. Each of the at least one search query component is further configured to send the at least one query to the corresponding searching entity.

In a third aspect of the invention, a machine-readable medium having instructions for at least one processor recorded thereon is provided. The machine-readable medium includes instructions for performing automatic speech recognition on a received utterance, instructions for determining a meaning of the utterance based, at least in part, on the recognized speech, instructions for forming a query based, at least in part, on the determined meaning of the utterance, and instructions for sending the query to a searching mechanism to search for an address of at least one web page that satisfies the query.

In a fourth aspect of the invention, a combination is provided. The combination includes means for converting a received utterance to text, means for processing the text and, based at least in part on the text, producing an indication of a meaning of the utterance, means for processing the indication of the meaning of the utterance and, based at least in part on the indication of the meaning of the utterance, producing a query for a searching entity configured to search for an address of at least one web site that satisfies the query.

DETAILED DESCRIPTION OF THE INVENTION

Overview

FIG. 1Aillustrates an exemplary system100in which embodiments consistent with the principles of the invention may be implemented. System100may include a network102, a telephone104, and a customer service representative station106. Both telephone104and station106may be connected to network102via a physical or wireless connection.

Network102may include a network suitable for carrying voice traffic, such as any one of a public switched telephone network (PSTN), a packet switched network, such as, for example, the Internet, or an intranet, an optical network, a wireless network, or any combination of the above networks.

Telephone104may be, for example, a conventional telephone, a wireless telephone, such as, for example, a cellular phone or a personal communication system (PCS). Telephone104may also be a Voice over Internet Protocol (VoIP) phone that may convert voice to digitized packets for transmission through a packet-switched network and that may convert received digitized packets back into voice for a user.

Station106may include a processing device and may receive and send voice signals in a form of digitized packets, such as, for example, VoIP packets. In other implementations, station106may instead receive and send conventional telephone signals from and to network102over a standard telephone line. Station106may be equipped with a speaker and a microphone (not shown) for a customer service representative to communicate with a calling party.

FIG. 1Aillustrates an exemplary system. Systems consistent with the principles of the invention may have many telephones and customer service representative stations.

Typically, a caller may place a call to a customer service center via telephone104. The call may travel through network102to customer service representative station106. Station106may translate the received voice message or utterance from telephone104to text and may analyze the text to determine a meaning. Upon determining a meaning, station106may form a query for a search engine, such as, for example, an Internet search engine or a search engine that may retrieve web pages from a knowledge base of web pages or other resource. The search engine results may be displayed on a monitor of station106for the customer service representative. Thus, the customer service representative may be presented with a selection of web pages that may be relevant to a customer's query.

In an alternate embodiment, in addition to station106forming a query for an Internet search engine or a search engine that may retrieve web pages, station106may form a query to search local and/or remote databases, as well as other data resources and may display search results on the monitor of station106for the customer representative.

Further, station106of the above embodiments may maintain a local or remote log of resources searched for a particular call, search results, time and date of a search, as well as resources selected from the presented search results by the customer service representative.

FIG. 1Billustrates an alternative exemplary system150consistent with the principles of the invention. Exemplary system150may include network102, telephone104, customer service representative station106′, network152, and processing device154.

Telephone104and network102may be the same as illustrated by exemplary system100. Station106′ may be similar to station106ofFIG. 1A, but instead, may send utterances received from telephone104via network102to processing device154via network152for processing.

Network154may be, for example, a local area network or other network, in a form of an optical network or a packet-switched network. Utterances may be in digitized form and may be sent to processing device154via network152. Server154may convert the received utterances to textual format, may process the text to determine a meaning from the text, and may form a query for a search engine, such as, for example, an Internet search engine or a search engine that may retrieve web pages from a knowledge base of web pages or other resource. Processing device154may send the query back to station106′, which further sends the query to the search engine. Thus, the customer service representative may be presented with a selection of web pages that may be relevant to a customer's query while the customer representative is conversing with the customer. The customer representative may then select one or more web pages for displaying.

In an alternate embodiment, in addition to server154forming a query for an Internet search engine or a search engine that may retrieve web pages, server154may form a query to search local and/or remote databases, as well as other data resources and may send the query back to station106′, which may further send the query to a search engine and/or other searching resource. Station106′ may receive and display search results on the monitor of station106′ for the customer representative.

Similar to station106, discussed previously, station106′ may maintain a local or remote log of resources searched for a particular call, search results, time and date of a search, as well as resources selected from the presented search results by the customer service representative.

Many other variations of implementations consistent with the principles of the invention are included within the scope of the invention. As an example of another implementation, station106′ may receive an utterance and may convert the utterance to text, which may then be sent to processing device154via network152. Processing device154may determine a meaning of the utterances and may construct a message indicating the meaning and may send the message back to station106′. Station106′ may form a query for one or more search engines and/or other searching resources for local and/or remote web pages, databases, and/or other data resources based on the message and may send the message to the one or more search engines and/or other searching resources. In another variation, station106′ may convert a received utterance to text and may send a message including the text to processing device154via network152. Processing device154may then determine a meaning of the utterance, form a query and may send the query back to station106′, which further sends the query to the one or more search engines of local or remote databases and/or other searching resources as discussed above.

FIG. 1Billustrates an exemplary system and may include a number of telephones104, stations106′, and processing devices154.

Exemplary Processing System

FIG. 2illustrates an exemplary processing system200in which station106, station106′, and processing device154may be implemented. Thus, system100and system150may include at least one processing system, such as, for example, exemplary processing system200. System200may include a bus210, a processor220, a memory230, a read only memory (ROM)240, a storage device250, an input device260, an output device270, and a communication interface280. Bus210may permit communication among the components of system200.

Processor220may include at least one conventional processor or microprocessor that interprets and executes instructions. Memory230may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor220. Memory230may also store temporary variables or other intermediate information used during execution of instructions by processor220. ROM240may include a conventional ROM device or another type of static storage device that stores static information and instructions for processor220. Storage device250may include any type of media, such as, for example, magnetic or optical recording media and its corresponding drive.

Input device260may include one or more conventional mechanisms that permit a user to input information to system200, such as a keyboard, a mouse, a pen, a voice recognition device, etc. Output device270may include one or more conventional mechanisms that output information to the user, including a display, a printer, one or more speakers, or a medium, such as a memory, or a magnetic or optical disk and a corresponding disk drive. Communication interface280may include any transceiver-like mechanism that enables system200to communicate via a network. For example, communication interface280may include a modem, or an Ethernet interface for communicating via a local area network (LAN). Alternatively, communication interface280may include other mechanisms for communicating with other devices and/or systems via wired, wireless or optical connections.

System200may perform such functions in response to processor220executing sequences of instructions contained in a computer-readable medium, such as, for example, memory230, a magnetic disk, or an optical disk. Such instructions may be read into memory230from another computer-readable medium, such as storage device250, or from a separate device via communication interface280.

FIG. 3Aillustrates a functional block diagram of an implementation of station106of system100. Station106may include an automatic speech recognizer module (ASR)302, a spoken language understanding module (SLU)304, and one or more search query modules (SQ)306. Station106may also include other components that are not shown in order to make the figure more understandable.

ASR module302may analyze received speech input or utterances and may provide a transcription of the utterances as output. SLU module304may receive the transcribed input and may use a spoken language understanding model to analyze the group of words that are included in the transcribed input to derive a meaning from the input. ASR modules and SLU modules are well known to those of skill in the art. Training of ASR module302and SLU module304may be performed using existing methods that are known to those of skill in the art. In one implementation, ASR module302and SLU module304may be trained using application dependent vocabulary, such as, for example, vocabulary pertaining to a travel agency application or other application.

SQ module304may receive an indication of a meaning of the transcribed utterance from SLU module304. For example, if the utterance is “What can you tell me about the Bahamas,” SLU module304may determine that this is a request for information about a vacation destination and may send, for example, a “Request Info (Bahamas)” command to one or more SQ modules304. SQ module(s)304may then format a query for a search engine, such as, Google, Alta Vista, Webcrawler, Ask Jeeves, or other search engines, and may send the query to the search engine (not shown) via an interface, such as, for example, a standard browser application interface. SQ module(s)304may also format one or more queries for local and/or remote databases and/or other data resources and may send the one or more queries to one or more corresponding searching resources. The search engine and/or the one or more searching resources may respond with one or more pages of relevant information, such as links to web pages, databases or other data resources which may be displayed at station106to a customer service representative during a call with a user.

Optionally, station106may include a logging module (not shown) for logging resources searched for a particular call, search results, time and date of a search, as well as resources selected from the presented search results by the customer service representative.

FIG. 3Billustrates a functional block diagram of an implementation of station106′ and processing device154of system150. Station106′ may include ASR module302and SQ module306. Processing device154may include SLU module304.

ASR module302may analyze received speech input or utterances and may provide a transcription of the utterances as output. Station106′ may send the transcription to SLU module304in processing device154via network152. SLU module304may analyze the group of words that are included in the transcribed input to derive a meaning from the input. An indication of the meaning may then be sent from processing device154to station106′ where one or more SQ modules306may form a query for one or more search engines from the received indication of the meaning and may then send the one or more queries to the one or more search engines via network102or network152. The search engine may return results to a display of station106′.

Further, one or more SQ modules306may form, from the received indication of the meaning, one or queries for one or more other searching resources to search local and/or remote databases, and/or other data resources. The one or more other searching resources may return results to the display of station106′

Optionally, in this implementation station106′ may include a logging module (not shown) for logging resources searched for a particular call, search results, time and date of a search, as well as resources selected from the presented search results by the customer service representative.

FIG. 3Cillustrates a functional block diagram of another implementation of station106′ and processing device154of system150. Station106′ may include ASR module302. Processing device154may include SLU module304and one or more SQ modules306.

ASR module302may analyze received speech input or utterances and may provide a transcription of the utterances as output. Station106′ may send the transcription to SLU module304in processing device154via network152. SLU module304may analyze the group of words that are included in the transcribed input to derive a meaning from the input. An indication of the meaning may then be provided to one or more SQ modules306, which may form one or more queries for a search engine and/or other searching resources, as described above with respect toFIG. 3B, based on the indicated meaning of the words. SQ module306may then send the one or more queries to station106′ via network152and station106′ may then send the one or more queries to a search engine and/or the other searching resources via network102or network152.

As described with respect to the implementation ofFIG. 3B, the implementation of station106′ ofFIG. 3Cmay optionally include a logging module (not shown) for logging resources searched for a particular call, search results, time and date of a search, as well as resources selected from the presented search results by the customer service representative.

The implementations shown inFIGS. 3A-3Care only exemplary and are not intended to limit the scope of the invention to only those implementations.

In the above-mentioned exemplary implementations, the customer service representative working at station106or106′ may receive the results of the search engine and/or the other searching resources, which may be displayed at station106or106′.FIG. 4illustrates an exemplary display of search results based on a customer's utterance, during a phone call with the customer service representative, regarding the Bahamas. Implementations consistent with the principles of the invention may display the search engine results as one or more links and may display a brief description of each web site or other data resource corresponding to the results, as shown inFIG. 4.

Exemplary Processing

FIG. 5is a flowchart that illustrates exemplary processing in an implementation consistent with the principles of the invention. The process may be performed in any of the implementations illustrated with respect toFIGS. 1A-1BandFIGS. 3A-3C, as well as other implementations. In one implementation, the acts shown inFIG. 5may be implemented entirely within station106. In another implementation, the acts ofFIG. 5may be implemented partially in station106′ and partially in processing device154.

The process may begin with station106or106′ receiving a spoken utterance via network102(act502). ASR module302may convert the utterance to text (act504). SLU module304may process the text from ASR module302and may determine a meaning of the text (act506). Output from SLU module304may be provided to SQ module(s)306, each of which may form a query based on the determined meaning from SLU module304and may send the query to one or more searching resources (act508). Each of the one or more searching resources may perform a search based on the provided query and may provide the results to station106or106′ for display to a customer service representative (act510).

Implementations consistent with the principles of the invention may log search results, time and date of search, resources searched for a particular call, and resources selected from the presented search results by the customer service representative during the process described inFIG. 5. The logged results may be later viewed by, for example, the customer service representative, computer system administrator, or others.

Although the above implementations describe performing speech recognition on speech from a calling party, other implementations may perform speech recognition on speech from a called party, such as the customer service representative. In yet other implementations, speech recognition may be performed on both speech input from the calling party and speech input from the customer service representative.

CONCLUSION

Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, hardwired logic may be used in implementations instead of processors, or one or more application specific integrated circuits (ASICs) may be used in implementations consistent with the principles of the invention. Further, implementations consistent with the principles of the invention may perform more or fewer acts than as described inFIG. 5, or may implement acts in a different order than as shown inFIG. 5. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.