Automated multimedia call center agent

An automated multimedia call center device may receive a verbal request for information from a user device during a multimedia session between the automated multimedia call center device and the user device. The automated multimedia call center device may further obtain a group of recognition results for the verbal request using speech recognition, cause at least two recognition results of the group of recognition results to be visually displayed on the user device, receive selection of one recognition result of the at least two recognition results, perform a search using the selected one recognition result to obtain multimedia content, and provide the multimedia content to the user device.

BACKGROUND INFORMATION

Call center agents handle a variety of requests from customers. For example, a call center agent may receive a voice call from a customer who has questions about how to set up a broadband home router. The call center agent or an automated speech recognition system attempts to guide the customer to problem resolution during the voice call.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description of exemplary embodiments refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.

Embodiments described herein are directed to an automated multimedia call center agent that uses rich multimedia content and speech recognition to resolve customer problems. For example, a customer may initiate a video session to the automated multimedia call center agent to resolve a home wireless router issue. The automated multimedia call center agent may interact with the customer, using speech recognition, to identify the problem to be solved. Following problem identification, the automated multimedia call center agent may provide rich multimedia content, including, for example, documentation relating to the router issue, frequently asked questions relating to the router issue, and video relating to the router issue (e.g., visually showing where to plug cables and how to input configuration information).

In the event that the multimedia content does not resolve the router issue, the automated multimedia call center agent may transfer the video session to a live call center agent. The video session between the customer and the live call center agent can now include multimedia communications, where, for example, the customer could display to the live call center agent, using multimedia technology, equipment cable connections on their router and their router's configuration tables.

An “automated multimedia call center agent,” as broadly described herein may include one or more components located on a live call center agent's device (or a user's device) and/or one or more components located on one or more network devices, such as a server. Thus, an “automated multimedia call center agent” may include components located on a single device or on multiple (possibly remote) devices. For explanatory purposes, the automated multimedia call center agent will be described as being located on a network device, such as a server. Moreover, while the following description focuses on an automated call center agent, embodiments described herein are not so limited. For example, an automated multimedia call center agent may provide piano instructions, math instructions, cooking instructions, tour guide information, and/or other types of information in a multimedia format.

FIG. 1is an exemplary network100in which systems and methods, consistent with exemplary embodiments, may be implemented. As illustrated, network100may include a user device110, a live call center agent device120, an automated multimedia call center agent130, and a network140. The number of user devices110, live call center agent devices120, automated multimedia call center agents130, and networks140illustrated inFIG. 1is provided for simplicity. In practice, there may be more user devices110, live call center agent devices120, automated multimedia call center agents130, and/or networks140.

User device110may include a client entity capable of receiving and/or providing multimedia content. An entity may be defined as a device, such as a computer or another type of computation or communication device, a thread or process running on one of these devices, and/or an object executable by one of these devices. In one embodiment, user device110may include a personal computer, a laptop, a wireless device (e.g., a cellular telephone, a personal digital assistant (PDA), etc.), a telephone device (such as a Plain Old Telephone System (POTS) telephone, a Session Initiation Protocol (SIP) telephone, etc.), a set-top box that provides network access, an Internet Protocol (IP) Multimedia Subsystem (IMS) client, and/or any other type of device that may interact with another device, such as automated multimedia call center agent130. User device110may connect to network140via wired and/or wireless connections.

Live call center agent device120may include a client entity capable of interacting with user device110. The interaction may include providing and/or receiving multimedia content. As indicated above, an entity may be defined as a device, such as a computer or another type of computation or communication device, a thread or process running on one of these devices, and/or an object executable by one of these devices. In one embodiment, live call center agent device120may include a personal computer, a laptop, a wireless device (e.g., a cellular telephone, a PDA, etc.), a telephone device (such as a POTS telephone, a SIP telephone, etc.), a set-top box that provides network access, an IMS client, and/or any other type of device that may interact with another device, such as user device110. Live call center agent device120may connect to network140via wired and/or wireless connections.

Automated multimedia call center agent130may include a server entity. As indicated above, an entity may be defined as a device, such as a computer or another type of computation or communication device, a thread or process running on one of these devices, and/or an object executable by one of these devices. In one embodiment, automated call center agent130may provide multimedia content in response to input from a user associated with user device110. Automated call center agent130may also receive and store multimedia content for later access by a user device110. Automated multimedia call center agent130may connect to network140via wired and/or wireless connections.

Network140may include one or more networks of any type, including a Public Land Mobile Network (PLMN), a telephone network (e.g., a Public Switched Telephone Network (PSTN) and/or a wireless network), a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), an IMS network, a private network, the Internet, an intranet, and/or another type of network or combination of networks.

In some embodiments, one or more components of network100may perform one or more of the tasks described as being performed by one or more other components of network100.

FIG. 2is an exemplary block diagram of a device200in one embodiment. Device200may correspond to user device110, live call center agent device120, and/or automated multimedia call center agent130. As illustrated, device200may include a bus210, processing logic220, a main memory230, a read only memory (ROM)240, a storage device250, an input device260, an output device270, and/or a communication interface280. In one embodiment, device200may include fewer, additional, or different components than those illustrated inFIG. 2.

Bus210may include a path that permits communication among the components of device200. Processing logic220may include a processor, a microprocessor, or other types of processing logic, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., that may interpret and execute instructions. Main memory230may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processing logic220. ROM240may include a ROM device or another type of static storage device that may store static information and instructions for use by processing logic220. Storage device250may include a magnetic and/or optical recording medium and its corresponding drive.

Input device260may include a mechanism that permits an operator to input information to device200, such as a keyboard, a mouse, a pen, a microphone, a camera, an audio/video recorder, etc. Output device270may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc. Communication interface280may include any transceiver-like mechanism that enables device200to communicate with other devices and/or systems via a network, such as network140.

As will be described in detail below, device200may perform certain operations. Device200may perform these and other operations in response to processing logic220executing software instructions contained in a computer-readable medium, such as main memory230. A computer-readable medium may be defined as a physical and/or logical memory device or a carrier wave.

The software instructions may be read into main memory230from another computer-readable medium, such as storage device250, or from another device via communication interface280. The software instructions contained in main memory230may cause processing logic220to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of, or in combination with, software instructions to implement processes consistent with exemplary embodiments. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software.

FIG. 3is an exemplary functional diagram of a portion of automated multimedia call center agent130according to an exemplary embodiment. As illustrated, automated multimedia call center agent130may include a speech recognition component310, a multimedia retrieval component320, and a session establishment component330. In other embodiments, automated multimedia call center agent130may include fewer, additional, or different components than illustrated inFIG. 3. Moreover, one or more of the components illustrated inFIG. 3may additionally and/or alternatively be implemented within another device, such as live call center agent device120.

Speech recognition component310may include one or more components that perform recognition services for speech received from a user device, such as user device110. In one embodiment, speech recognition component310may receive a speech signal (e.g., from a user of user device110) and use a speech recognition technique to convert the speech signal to a set of words, as a recognition result. The recognition result may be used by automated multimedia call center agent130to, for example, identify a request submitted by the user. In one embodiment, speech recognition component310may provide one or more graphical user interfaces to user device110to help identify a word or words received from user device110.

Multimedia retrieval component320may include one or more components that receive a recognition result from speech recognition component310, obtain multimedia content relating to the recognition result, and provide the multimedia content. In one embodiment, multimedia retrieval component320may include an Interactive Voice Response (IVR) system that allows automated multimedia call center agent130to interact (visually and/or audibly) with the user associated with user device110to receive additional information relating to the initial request. Multimedia retrieval component320may use the recognition result as part of a search query and perform a search using the search query to obtain the multimedia content. In some embodiments, multimedia retrieval component320may further include one or more components that allow a user to provide multimedia content to automated multimedia call center agent130for later retrieval by the user or another user.

Session establishment component330may include one or more components capable of transferring a session between automated multimedia call center agent130and a user device, such as user device110, to another device, such as live call center agent device120. In one embodiment, session establishment component330may transfer a session in response to a request from the user of user device110. Additionally or alternatively, session establishment component330may automatically transfer a session to live call center agent device120(e.g., in a situation where automated multimedia call center agent130cannot identify multimedia content for a user). In some embodiments, session establishment component330may modify multimedia content based on the capabilities of a user device110. For example, session establishment component330may convert particular content from a first format to a second format (e.g., a data file to an audio file, etc.) based on the capabilities of a user device110. Additionally or alternatively, session establishment component330may translate all or a portion of the multimedia content provided to a user device110from a first language to a second language based on a language preference of the user of user device110.

In some embodiments, one or more components of the above portion of automated multimedia call center agent130may perform one or more of the tasks described as being performed by one or more other components of the above portion of automated multimedia call center agent130.

FIG. 4Ais an exemplary diagram of a portion of a first database400that may be associated with automated multimedia call center agent130. In addition or alternatively, database400may be associated with another device, such as live call center agent device120. While one database is described below, it will be appreciated that database400may include multiple databases stored locally at automated multimedia call center agent130(and/or live call center agent device120), or stored at one or more different and possibly remote locations.

As illustrated, database400may maintain a group of entries in the following exemplary fields: a request field410and a content identifier field420. Database400may maintain additional or different information than that illustrated inFIG. 4A.

Request field410may store information identifying a request that may be provided to automated multimedia call center agent130. For example, the request may involve a computer issue, a networking issue, an automotive issue, a cooking question, and/or any other type of request that may be provided to a call center agent.

Content identifier field420may store a sequence of characters that identifies multimedia content that may be provided when the request identified in request field410is received from a user. The sequence of characters may be a unique sequence of characters.

FIG. 4Bis an exemplary diagram of a portion of a second database450that may be associated with automated multimedia call center agent130. In addition or alternatively, database450may be associated with another device, such as live call center agent device120. While one database is described below, it will be appreciated that database450may include multiple databases stored locally at automated multimedia call center agent130(and/or live call center agent device120), or stored at one or more different and possibly remote locations.

As illustrated, database450may maintain a group of entries in the following exemplary fields: a content identifier field460and a content field470. Database450may maintain additional or different information than that illustrated inFIG. 4B.

Content identifier field460may store a sequence of characters that identifies multimedia content. The sequence of characters may be automatically generated or supplied by a user, such as a user associated with a user device110.

Content field470may store multimedia content or one or more links to multimedia content that is associated with the identifier in content identifier field460. The multimedia content may include, for example, one or more image files, audio files, video files, text files, etc. In one embodiment, content field470may additionally store content information indicating how the multimedia content is to be provided to a user (e.g., the sequence in which the content is to be provided, how the content is to be combined, etc.).

FIG. 5is a flow chart of an exemplary process for providing multimedia content according to an exemplary embodiment. In one embodiment, the exemplary process ofFIG. 5may be performed by automated multimedia call center agent130. In another embodiment, some or all of the exemplary process described below may be performed by another device, such as live call center agent device120, or a combination of devices.

The exemplary process may begin with automated multimedia call center agent130receiving a verbal request from a user (block510). In one embodiment, a user (e.g., via a user device110) may establish a session (e.g., a video session) with automated multimedia call center agent130. Once established, the user may verbally provide a request for information to automated multimedia call center agent130. Assume, for explanatory purposes, that the user provides the following verbal request—“I have a computer issue.”

Automated multimedia call center agent130(e.g., via speech recognition component310) may perform speech recognition on the verbal request to identify what the user has said. If automated multimedia call center agent130is unable to identify what the user has said or if additional information is needed to narrow the request, automated multimedia call center agent130may interact with the user to identify the request (block520). For example, if automated multimedia call center agent130is unable to identify what the user has said, automated multimedia call center agent130may provide a graphical user interface to the user that includes a list of possible recognition results. In one embodiment, the list of possible recognition results may include a predetermined number of top-ranking recognition results. The user may then select the recognition result that corresponds to the verbal request.

If the request is too broad for automated multimedia call center agent130to identify multimedia content to provide to the user, automated multimedia call center agent130may audibly and/or visually request additional information from the user. In the example above, automated multimedia call center agent130may determine that “computer issue” is too broad, and may request additional information from the user to obtain a more narrowed request. Assume that the user narrows the request to “how do I connect a Samsung printer to my Dell computer that runs Windows 98.” Additionally or alternatively, the user may provide additional information in non-verbal ways. For example, the user may provide one or more images, videos, data files, and/or links to automated multimedia call center agent130to help automated multimedia call center agent to narrow the request. In the example above, the user may, for example, provide an image of the printer (or a link to a Samsung web site that provides information regarding the printer) and/or an image of the computer (or a link to a Dell web site that provides information regarding the computer) to automated multimedia call center agent130. In the case of an image or video, automated multimedia call center agent130may analyze the image/video to obtain additional information relating to the request. In the case of a data file, automated multimedia call center agent130may parse the data file to obtain additional information relating to the request. In the case of a link, automated multimedia call center agent130may retrieve a web page using the link and may parse the web page to obtain additional information relating to the request.

Automated multimedia call center agent130may obtain multimedia content for the request (block530). For example, automated multimedia call center agent130(e.g., via multimedia retrieval component320) may perform a search of a database, such as database400, using word(s) from the request (and/or words provided to narrow the request) to identify multimedia content to be provided to the user. Automated multimedia call center agent130may, for example, obtain the multimedia content from a database, such as database450. In the example above, the multimedia content may include video/audio showing a person connecting a Samsung printer to a Dell computer that runs Windows 98 and explaining the steps involved. Other multimedia content (or links to other multimedia content) may also be provided, such as a documentation manual for Samsung printers.

Automated multimedia call center agent130may provide the obtained multimedia content to the user (block540). For example, automated multimedia call center agent130may cause the video/audio to be rendered on user device110.

Automated multimedia call center agent130may determine whether the request has been satisfied (block550). For example, automated multimedia call center agent130may audibly and/or visually ask the user whether the multimedia content satisfied the user's request.

If automated multimedia call center agent130determines that the request has been satisfied (block550—YES), processing may end (e.g., processing may return to block510with automated multimedia call center agent130receiving another request from the user or another user). If, on the other hand, automated multimedia call center agent130determines that the request has not been satisfied (block550—NO), automated multimedia call center agent130may transfer the session to live call center agent device120(block560). In an exemplary embodiment, the automated call center agent transfers all relevant information about the user request that it has gathered, for example, user name, user account number, user callback information, and transfers this data to the live call center agent along with the communication session. In this way, the live call center agent associated with live call center agent device120may interact with the user to satisfy the request. In one embodiment, the interaction may involve the user providing multimedia content to live call center agent device120. For example, the user may capture live video of the user attempting to connect the printer to the computer and provide the live video to the live call center agent associated with live call center agent device120. Additionally or alternatively, the live call center agent may capture live video of the call center agent connecting a printer to a computer and provide the live video to the user associated with user device110. In some embodiments, automated multimedia call center agent130may obtain and provide additional multimedia content to the user prior to transferring the user to the live call center agent.

FIG. 6is a flow chart of an exemplary process that may be associated with block520ofFIG. 5. In one embodiment, the exemplary process ofFIG. 6may be performed by automated multimedia call center agent130(e.g., via speech recognition component310). In another embodiment, some or all of the exemplary process described below may be performed by another device, such as live call center agent device120, or a combination of devices.

The exemplary process may begin with automated multimedia call center agent130determining whether multiple recognition results exist for a verbal input received from the user (block610). For example, automated multimedia call center agent130(e.g., via speech recognition component310) may determine whether multiple recognition results exist when a highest ranking recognition result does not exceed a threshold. In this case, disambiguation of the verbal input is needed to correctly identify the user request.

If automated multimedia call center agent130determines that multiple recognition results do not exist for a verbal input (block610—NO), processing may return to block530inFIG. 5, with automated multimedia call center agent130obtaining multimedia content for the request. If, on the other hand, automated multimedia call center agent130determines that multiple recognition results exist for the verbal input (block610—YES), automated multimedia call center agent130may cause a list of recognition results to be provided to the user (block620). The list of recognition results may include a number of highest-ranking recognition results obtained for the verbal input. In one embodiment, automated multimedia call center agent130may cause the list of recognition results to be visually rendered to the user.

Automated multimedia call center agent130may receive selection of a recognition result from the user (block630). For example, the user may select one of the recognition results verbally or via another type of input (e.g., the user may select a number or letter corresponding to the desired recognition result). Processing may then return to block530inFIG. 5, with automated multimedia call center agent130obtaining multimedia content for the request.

The following example700ofFIGS. 7A-7Fillustrates the process described above with respect toFIGS. 5 and 6. Assume, for example700, that an automated multimedia call center agent130provides information relating to automobiles. Assume further that a user establishes a video session with automated multimedia call center agent130to obtain instructions for changing the oil in his 2004 Sonata.

Automated multimedia call center agent130may audibly and/or visually ask the user as to what type of information the user requests (block705), as illustrated inFIG. 7A. In response, assume that the user provides the verbal input—“change my oil” (block710). Automated multimedia call center agent130may perform speech recognition on the verbal input to identify the request. Assume that automated multimedia call center agent130determines that the user has not provided enough information for identifying multimedia content for the request. Thus, automated multimedia call center agent130may request (audibly and/or visually) additional information relating to the vehicle for which the user desires to change the oil (block715). Assume that the user provides the following verbal input—“2004 Sonata” (block720).

Automated multimedia call center agent130may perform speech recognition on the verbal input. Assume, for example700, that when performing the speech recognition operation, automated multimedia call center agent130determines that multiple recognition results exist for the verbal input. Thus, automated multimedia call center agent130may cause a list of the most likely recognition results to be visually rendered to the user's user device110, as illustrated inFIG. 7B. Assume that the user verbally selects recognition result number2(block725), as illustrated inFIG. 7C. Automated multimedia call center agent130may use the verbal inputs from the user (e.g., changing oil and 2004 Sonata) to obtain multimedia content relating to the verbal inputs (e.g., multimedia content relating to changing oil in a 2004 Sonata). In one embodiment, automated multimedia call center agent130may identify the appropriate multimedia content from a database, such as database400. Assume that automated multimedia call center agent130obtains video and audio instructions for changing oil in a 2004 Sonata.

Automated multimedia call center agent130may provide the obtained multimedia content (block730). As illustrated inFIG. 7D, the video/audio instructions for changing the oil in a 2004 Sonata may be rendered to the user by user device110. Once the multimedia content has been provided, automated multimedia call center agent130may audibly and/or visually ask the user if additional information is needed (block735), as illustrated inFIG. 7E. If the multimedia content did not answer the user's questions regarding changing the oil of his automobile, the user may request to be connected to a live agent (block740). In response to the request, automated multimedia call center agent130may transfer the video session between user device110and automated multimedia call center agent130to live call center agent device120, as illustrated inFIG. 7F. In an exemplary embodiment, the automated call center agent transfers all relevant information about the user request that it has gathered, for example, user vehicle information, an indicator that oil change content was rendered to user during the session, etc., and transfers this data to the live call center agent along with the communication session. The user may then interact with the live call center agent to answer any remaining questions regarding changing the oil. In some embodiments, the interaction may include the user providing multimedia content (e.g., an image or video (e.g., live video) of the user performing the steps involved with changing the oil) to the live call center agent and/or the live call center agent providing multimedia content to the user.

FIG. 8is a flow chart of another exemplary process for storing multimedia content consistent with exemplary embodiments. In one embodiment, the exemplary process ofFIG. 8may be performed by automated multimedia call center agent130. In another embodiment, some or all of the exemplary process described below may be performed by another device or combination of devices.

Processing may begin with automated multimedia call center agent130receiving a session establishment request from a user (e.g., a user associated with user device110) (block810). The user may provide the session establishment request by, for example, attempting to connect to automated multimedia call center agent130in a known manner.

In one embodiment, automated multimedia call center agent130may authenticate the user (block820). For example, automated multimedia call center agent130may request that the user provide a user identifier and/or password. Automated multimedia call center agent130may match the user identifier and password to a list of registered identifier/password combinations. If the user identifier and password match a registered identifier/password in the list, automated multimedia call center agent130may determine that the user is properly authenticated. If the user identifier and password do not match a registered identifier/password in the list, automated multimedia call center agent130may determine that the user is not properly authenticated.

Automated multimedia call center agent130may receive multimedia content from the user (block830). In one embodiment, automated multimedia call center agent130may allow the user to push multimedia content to automated multimedia call center agent130when the user has been properly authenticated. The multimedia content may include audio content, video content, images, data files, and/or other types of content. The multimedia content may further include links to audio content, video content, images, data files, and/or other types of content.

Automated multimedia call center agent130may obtain an identifier for the multimedia content (block840). For example, automated multimedia call center agent130may obtain the identifier from the user of user device110or may generate the identifier automatically. Automated multimedia call center agent130may store the multimedia content and identifier (block850). For example, automated multimedia call center agent130may store the multimedia content and identifier in a database, such as database450. Once stored, the multimedia content may be obtained by the user or other users in the manner described above with respect toFIG. 5.

The following example900ofFIGS. 9A-9Cillustrates the processes described above with respect toFIGS. 5 and 8. Assume, for example900, that a professor wishes to make her lectures available to her students on-line. Accordingly, the professor may, via a user device (referred to in this example as a “professor user device910”), establish a session with an automated multimedia call center agent (referred to in this example as an “automated multimedia device920”), as illustrated inFIG. 9A. The professor may provide information930to automated multimedia device920. Information930may include the professor's multimedia content (e.g., in this example, assume the multimedia content includes audio/video of a lecture) and a name for the multimedia content (e.g., in this example, assume the name is “10/13/07 Lecture”). Automated multimedia device920may store received information930.

Assume, at some later point in time, a student desires to access the multimedia content. The student may, via a user device (referred to in this example as a “student user device940”), establish a session with automated multimedia device920. Automated multimedia device920may audibly and/or visually ask the student as to what type of information the student requests (block950), as illustrated inFIG. 9B. In response, assume that the student provides the verbal input—“Oct. 13, 2007 lecture” (block960). Automated multimedia device920may perform speech recognition on the verbal input to identify the request. Assume that automated multimedia device920correctly identifies the student's request, obtains the corresponding multimedia content (i.e., the 10/13/07 Lecture audio/video file that the professor uploaded to automated multimedia device920), and provides the multimedia content to student user device940.

Student user device940may render audio/video content970/980, as illustrated inFIG. 9C. In this way, the student may obtain multimedia content that has been uploaded by his professor. Similarly, the student could then upload content for the professor, for example, answers to professor questions posed in the lecture.

Embodiments described herein provide an automated multimedia call center agent that allows users to obtain multimedia content relating to topics of interest.

The foregoing description of exemplary embodiments provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while series of blocks have been described with respect toFIGS. 5,6, and8, the order of the blocks may be varied in other embodiments. Moreover, non-dependent blocks may be implemented in parallel.

The exemplary embodiments, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement the exemplary embodiments described herein is not limiting of the invention. Thus, the operation and behavior of the exemplary embodiments were described without reference to the specific software code—it being understood that one would be able to design software and control hardware to implement the exemplary embodiments based on the description herein.

Further, certain portions of the invention may be implemented as “logic” that performs one or more functions. This logic may include hardware, such as an application specific integrated circuit, a field programmable gate array, a processor, or a microprocessor, software, or a combination of hardware and software.