Abstract:
The present invention discloses a contact center with speaker identification and verification (SIV) capabilities. In the invention, a set of contact center components can provide automated interactive communications with callers, can provide queue management for callers waiting to communicate with live agents, and can provide skills based routing for assigning live agents to callers. The SIV component can analyze speech utterances to determine a speaker identify based upon biometric characteristics of the analyzed speech utterances. Additionally, the SIV component can process speech from contact center sessions. In one embodiment, the SIV component can prevent agent substitutions from occurring of which the call center is unaware. The SIV component can also be used to distinguish whether communication session content was spoken by a contact center agent or a caller.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This continuation-in-part application claims the benefit of U.S. patent application Ser. No. 11/680,304 filed 28 Feb. 2007, which is hereby incorporated by reference herein. 
    
    
     BACKGROUND 
     1. Field of the Invention 
     The present invention relates to the field of contact center technologies and, more particularly, identifying contact center agents based upon biometric characteristics of an agent&#39;s speech 
     2. Description of the Related Art 
     Historically, contact center agents have been placed in operations centers where they work along side many other contact center agents. Each agent has operated from an agent-specific desktop, which includes a data terminal and phone connection. Contact center agents have been identified based upon a user name and password combination and/or based upon an identifier of a device (e.g., phone or terminal) used by the agent. 
     Conventionally, front end software that drives the agent desktop has been part of a vendor-specific solution that connects the agent to contact center backend components, which are also vendor-specific. The protocols, hardware, and software used by the different vendors have historically been incompatible with one another, requiring all contact center components to be those of a single vendor. 
     In a related application (U.S. patent application Ser. No. 11/680,304 entitled “IMPLEMENTING A CONTACT CENTER USING OPEN STANDARDS AND NON-PROPRIETARY COMPONENTS”), Applicants have disclosed an open contact center which describes a technique for implementing a contact center based upon open standards, which are independent upon any specific vendor. An open contact center permits interactions to occur using standard hardware and software devices. For example, an agent can interact with contact center components using standard telecommunication devices, such as a SIP based phone and/or a HTTP based browser. Use of standards based hardware can permit contact center agents to work outside a centralized operations center. That is, in an open contact center environment, contact center agents can seamlessly work from remote locations, such as from their home or from geographically separated small office locations. Basically, agents of an open contact center would be able to work from any location so long as a network connection exists that permits them to communicate with the open contact center backend system. 
     Further, use of open standards within a contact center combined with an ability to integrate geographically distributed agents can create an opportunity for independent knowledge brokers to sell their services to one or more contact centers. For example, a doctor, lawyer, computer technician, and the like, can work from their own office and sell their services by the hour to many different contact centers. These contact centers benefit because they do not have to employ skilled agent on a full time basis, but can instead dynamically obtain services of the independent knowledge brokers as needed. Customers benefit as well by being granted access to a large pool of skilled professionals. Knowledge brokers are provided with a new competitive market in which they can sell their skills. 
     Conventional agent identifying techniques lack a fraud resistant means of identifying an agent. That is, basing agent identity solely on a user name or device identity (i.e., conventional identification techniques) can be easily spoofed by dishonest agents. For example, an agent could initially authenticate themselves with a contact center and then substitute a representative to handle calls in their place. Callers, and/or the call center would remain unaware of the substitution, which could result in an unqualified or untrained call center agent handling customer issues. Further, a contact center could be paying a premium for an agent believed to have exceptional skills, when in fact a substitute, who would normally be paid at a lower rate, is handling calls. 
     SUMMARY OF THE INVENTION 
     The present invention identifies contact center agents based upon biometric characteristics of an agent&#39;s speech. More specifically, recorded and/or live contact center communications can be speech processed using speaker identify verification (SIV) techniques. The contact center can be implemented using standardized components and protocols, which permit agents to use a front end interface (e.g., a HTTP browser and/or a SIP phone) connected to backend contact components over a standard network. In one embodiment, the contact center components can be vendor independent, Service Oriented Architecture (SOA) components. 
     The SIV techniques can be advantageously used in the context of a contact center in many different manners. For example, during agent authorization, the agent can be required to speak a phrase, which is analyzed (e.g., voice print analysis) to ensure that the speaker is the intended agent instead of another individual using the agent&#39;s hardware and/or password. During contact center communication sessions, agent speech can be repetitively sampled to ensure that a substitute has not replaced the contact center agent who is intended to handle the caller issues. 
     In another example, SIV techniques can be used to automatically distinguish a caller&#39;s utterances from those of a contact center agent. One use of this technique is to automatically determine if an inappropriate phrase, such as cursing, was uttered by an agent (who can be disciplined for cursing) or a caller. Another use can be to increase speaker identification accuracy for transcription purposes. 
     The present invention can be implemented in accordance with numerous aspects consistent with the material presented herein. For example, one aspect of the present invention can include a contact center including a set of contact center components and a SIV component. The contact center components can provide automated interactive communications with callers, can provide queue management for callers waiting to communicate with live agents, and can provide skills based routing for assigning lie agents to callers. The SIV component can analyze speech utterances to determine a speaker identify based upon biometric characteristics of the analyzed speech utterances. Additionally, the SIV component can process speech from contact center sessions to automatically identify at least one contact center agent involved in each of the contact center sessions. In one embodiment, the SIV component can be repetitively used to prevent agent substitutions from occurring of which the call center is unaware. In another embodiment, the SIV component can be used to distinguish whether communication session content was spoken by a contact center agent or a caller. Speaker determination can be important for transcriptions, for detecting an origin of inappropriate phrases (e.g., cursing), and other purposes. 
     Another aspect of the present invention can include a contact center, which includes an agent desktop, a portal server, an application server, and a SIV component. The agent desktop can include a standard Hypertext Transfer Protocol (HTTP) based browser and a standard phone. The agent desktop can permit an agent to handle call center communications. The portal server can provide an agent portal, through which the agent utilizing the agent desktop communicates. The agent portal can include a set of agent portlets within which contact center information is presented. The application server can execute contact center applications and can be configured to receive input for the contact center applications from the agent portlets and to present contact center output through the agent portlets. 
     Still another aspect of the present invention can include a method for identifying contact center agents based upon voice characteristics. In the method, a contact center can receive speech content that is associated with a communication session involving a contact center agent. Biometric characteristics can be extracted from the speech content. These extracted biometric characteristics can be compared against previously stored biometric characteristics associated with at least one contact center agent. Results of this comparison can be used to determine an identify of a speaker of the speech content. These extracted biometric characteristics can be compared against previously stored biometric characteristics associated with at least one contact center agent. Results of this comparison can be used to determine an identify of a speaker of the speech content. The contact center can then perform at least one programmatic action based upon results of the determined identity. 
     It should be noted that various aspects of the invention can be implemented as a program for controlling computing equipment to implement the functions described herein, or as a program for enabling computing equipment to perform processes corresponding to the steps disclosed herein. This program may be provided by storing the program in a magnetic disk, an optical disk, a semiconductor memory, or any other recording medium. The program can also be provided as a digitally encoded signal conveyed via a carrier wave. The described program can be a single program or can be implemented as multiple subprograms, each of which interact within a single computing device or interact in a distributed fashion across a network space. 
     It should also be noted that the methods detailed herein can also be methods performed at least in part by a service agent and/or a machine manipulated by a service agent in response to a service request. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       There are shown in the drawings, embodiment which are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown. 
         FIG. 1  is a schematic diagram of a system in which a contact center uses speaker identify verification (SIV) techniques to identify contact center agents in accordance with an embodiment of the inventive arrangements disclosed herein. 
         FIG. 2  is a schematic diagram of a system for implementing an open contact center that includes SIV capabilities in accordance with an embodiment of the inventive arrangements disclosed herein. 
         FIG. 3  is a schematic diagram of a standards based contact center having SIV capabilities shown from an agent perspective. 
         FIG. 4  is a flow chart of a method in which a contact center determines identity of a speaker based upon speech characteristics in accordance with an embodiment of the inventive arrangements disclosed herein. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  is a schematic diagram of a system  100  in which a contact center  130  uses speaker identify verification (SIV) techniques to identify contact center agents in accordance with an embodiment of the inventive arrangements disclosed herein. The contact center  130  can be a functional area used by one or more organizations to handle inbound/outbound communications with callers  114 . Callers  114  can be transferred from an automated response component of the call center  130  to available agents  116  based on the skills needed to handle the caller&#39;s issues and based upon expertise possessed by agent  116 . Thus, a live communication session  112  can be conducted between the caller  114  and contact center agent  116 . These sessions can be recorded  110  to be later analyzed by an agent monitoring component  136 . 
     The contact center  130  can include an SIV component  132 , which can automatically determine a speaker identify based on biometric information contained in speech waves. The SIV component  132  can be associated with one or more speaker identify applications  133  and/or one or more speaker verification applications  133 . Both types of applications  133  compare previously stored speech patterns and/or speech characteristics associated with a particular speaker (as shown by table  139  in data store  138 ) with biometrics extracted form a speech sample. 
     A speaker identify application  133  can determine which registered speaker (e.g., a caller  114  or agent  116 ) provides a given utterance during a session  110 ,  112  and can use this information to perform a contact center  130  task. For example, a pattern matching algorithm can analyze session spoken phrases to determine if any inappropriate phrases, which can be defined using a configurable phrase list, were spoken. When these phrases were spoken by a caller  114  alone, the agent monitoring  136  component can reward an agent  116  for maintaining their composure and/or for professionally calming the caller  114  during a latter part of a contact center session  110 ,  112 . When an inappropriate phrase is spoken by an agent  116  (as determined by the SIV component  132 ) a corrective or punishing action can be taken by the agent monitoring component  136  to prevent future occurrences of these inappropriate phrases by that agent  116 . 
     A speaker verification application  133  can be configured to accept or reject an identify claim of a speaker, such as agent  116 . For example, an agent can initially be prompted by an agent authentication  134  component to provide identifying information. That is, during login, an agent can provide a user name and password combination, a device identifier for a used communication device, and/or a spoken phase that is analyzed by SIV component  132 . The agent authentication component  134  can intermittently verify that the authorized agent  116  who logged into the contact center  130  has not been replaced with a substitute. In other words, a speaker verification application  133  can execute code to determine if the logged agent  116  is participating in a session  110 ,  112 . If not, corrective actions can be taken. 
     The SIV component  132  can utilize a variety of identify determining techniques to perform verification and/or identification tasks based upon speech segments. The SIV component  132  can correlate identify with physiological and behavioral characteristics of the speaker. These characteristics exist both in the spectral envelope (e.g., vocal tract characteristics) and in the supra-segmental features (e.g., voice source characteristics and dynamic features spanning several segments). In one embodiment, the SIV component  132  can use Linear Predictive Coding (LPC)-derived cepstral coefficients and their regression coefficients for short-term spectral measurements. Further, the SIV component  132  can accommodate vocal variations of a speaker using a parameter domain normalization technique or a distance/similarly domain technique. The speaker identify technique used by SIV component  132  can be text dependent (e.g., using a dynamic time warping algorithm) or text independent (e.g., using a vector quantization algorithm). SIV component  132  is not to be construed as limited to any particular technique or technology, as any of a variety of techniques/technologies can be advantageously used by the contact center  130  in accordance with inventive details described herein. 
     The agent authentication component  134  can identify an agent and upon successful authentication can provide the agent with access to contact center  130  resources. For instance, an agent can login using a user id and password, which is submitted to the contact center using a Web interface. In one embodiment, the authentication function can be provided by WEBSPHERE Application Server (WAS) and Portal Server (PS) JAVA security facilities. 
     The agent monitoring component  136  can permit call center agents to be monitored for quality assurance or training from virtually any location. In one embodiment, the agent monitoring component  136  can be provided using the WEBSPHERE Portal Server (WPS) and a reporting component (not shown). For example, agent interactions can be viewed/analyzed using the reporting component for items such as average call handling time, number of calls handled per hours, etc. One of the supervisor&#39;s portlets in their Web browser can contain a view of the call center agents, along with access to the agent reporting database, which can include agent specific statistics. The supervisor portlet can permit a supervisor to access agent information from any Web browser, once the supervisor has been properly authenticated by the agent authentication component  134 . In one embodiment, real-time statistics can be provided by the agent monitoring component  136 , which can even permit the supervisor to silently conference into/observe a real-time agent/caller interaction. This conferencing may require use of additional functions of contact center  130 . 
       FIG. 2  is a schematic diagram of a system  200  for implementing an open contact center that includes SIV capabilities in accordance with an embodiment of the inventive arrangements disclosed herein. The system  200  can represent one contemplated embodiment of system  100 . As defined herein, an open contact center includes components that interact based upon open standards. Use of open standards indicates that specifics of communication protocols, interfaces with components of the open contact center, and the like, are published and available to third party vendors who can construct solutions or enhancements to the open contact center by conforming to the published standards. Open standards can include, but are not limited to, Extensible Markup Language (XML) based standards, service-oriented architecture (SOA) based standards, Real-time Transport Protocol (RTP) based standards, Media Resource Control Protocol (MRCP) based standards, Hyper Text Transfer Protocol (HTTP) based standards, Session Initiation Protocol (SIP) based standards, and the like. Open standards are often established by an independent standard setting body, such as the Internet Engineering Task Force (IETF), World Wide Web Consortium (W3C), etc., or by a cooperating consortium of multiple independent businesses, such as IBM, Sun Microsystems, and the like. Open standards, as used herein, can exist even though one or more companies maintains intellectual property rights to open contact center concepts, such as those presented in the instant application. 
     In system  200 , a communication node  210  of a caller (e.g., contact node  212 ) and/or an agent (e.g., agent node  214 ) are linked to network  220 . Network  220  can include Public Switched Telephone Network (PSTN) components  222  and wide area network (WAN)  224  components. The PSTN  222  can interface with a Private Branch Exchange (PBX  230 ) which routes calls to media gateway  232 . The media gateway  232  can interact with the voice server  242  and the voice enabler  240  using open standards, such as RTP based standards and MRCP based standards. Call provisioning applications (e.g., CCXML based applications) can be used for call provisioning (e.g., DNIS to VXML application) functions. 
     System  200  can utilize an IMS composite services model server  238  to handle IMS composite services applications  250 , which can replace single modality applications commonly used in legacy contact centers. The composite services applications  250  can include voice applications  252 , visual applications  254 , and SIV applications  256 . The contact node  212  and the agent node  214  can each interact with the contact center using many different modalities, such as voice, instant messaging, Web form interactions during sessions, and the like. Each communication node  210  can interface using standard hardware and software, such as a SIP phone and Web browser with LOTUS Lightweight Messaging (LWM) and Blocks Extensible Exchange Protocol (BEEP). Asynchronous JavaScript and XML (AJAX) and HTTP or other communication techniques for exchanging information with the agent node  214  can be used in place of LWM and BEEP. WEBSPHERE PS and agent portlets can be used to interface with the Web browser for added scalability and security. 
     IMS presence server and watchers  236  can be used in system  200  to detect available agents and their skills and to monitor contact center interactions. In one embodiment, collaboration components can be implemented using IBM WORKPLACE or other such components. The voice enabler  240  can be implemented using IBM&#39;s VOICE ENABLER, the voice server  242  can be implemented using WEBSPHERE voice server, and the proxy  234  can be implemented using WAS EDGE SERVER LOAD BALANCER or WAS SIP PROXY. 
     It should again be emphasized that although component implementation specifics for one contemplated embodiment have been described using IBM WEBSPHERE middleware, the invention is not so limited. Any middleware solution or standards based solution can be used in place of the IBM WEBSPHERE specific component described herein, using adaptations and software techniques commonly performed by software engineers and developers, which do not require undue experimentations or inventive efforts. For example, WEBSPHERE components can be replaced by components from a different software platform, such as BEA WEBLOGIC application server from BEA Systems, Inc. of San Jose, Calif., a JBOSS application server from JBoss, Inc. of Atlanta, Ga., a JOnAS application server from the ObjectWeb Consortium, the .NET software platform, and the like. 
       FIG. 3  is a schematic diagram of a standards based contact center  300  having SIV capabilities shown from an agent perspective. Center  300  represents one particular embodiment for system  100 . Specific components of center  300  are implemented using WEBSPHERE enabled components and associated tooling. It should be noted that center  300  utilizes WEBSPHERE enabled components for illustrative purposes only and the scope of the invention is not to be construed as limited in this regard. Other middleware solutions and standards based solutions can be substituted and adapted to achieve approximately equivalent results. 
     As illustrative scenario for center  300  can show how the components interact. In this scenario, a call can come in over a telephone to the contact center  300  using a standard telephone, where the call is transferred to an agent connected to contact center components using agent desktop  310 . The agent can utilize any personal computer in an operations center as the agent desktop  310  and is not constrained to a particular station. The agent can also remotely (i.e., external to an operations center, such as through a home computer) connect to contact center components using a Web browser  312  and SIP based telephone  314 . The agent can sign onto portal  324  via an agent desktop portlet  325 . For example, the agent can enter a user id and password and hit a SUBMIT button. 
     The desktop agent  310  portlet can call the WEBSPHERE PRESENCE SERVER (WPS)  326  with a publish/subscribe mechanism. An IP address of the agent&#39;s SIP phone  314 , browser  312 , BEEP address, and other information including agent expertise and agent utilization can be conveyed to the presence server  326 . After login onto the system, a default screen can be presented in the browser  312  that indicates that the agent is active and available. 
     At this time, a call between a caller on a phone and the contact center  300  can be active. In a running VXML application, the WEBSPHERE Voice Enabler (VE)  334  can prompt a user for input. The BE  334  can interact with the voice server (VS)  336  to determine user context information and a purpose of a call. The caller responses can indicate that agent assistance is needed. For example, a caller can select a dialog option to speak with a live agent. The VXML application can transfer the caller to an agent transfer servlet co-located with the SIP proxy  316 . The transfer can be conducted using a get agent  328  function, which uses one or more expertise specific watchers  327  to detect a suitable agent having a caller needed expertise. Presence information of the agents and caller can be managed by presence server  326 . Once the transfer is made, the agent can receive the call using the SIP phone  314  and can receive caller specific data via the browser  312 . 
     During or after (i.e., the session can be recorded and later analyzed) the communication session, one or more SIV applications  338  can execute within the voice server  336 . For example, one SIV application  338  can verify that the individual using the agent desktop  310  is the agent who is supposed to be handling the call and is not a substitute. In another example, the SIV application  338  can be used to determine whether a spoken comment during the communication session was made by an agent or by a caller. 
       FIG. 4  is a flow chart of a method  400  in which a contact center determines identify of a speaker based upon speech characteristics in accordance with an embodiment of the inventive arrangements disclosed herein. Method  400  can be performed in the context of a system  100  or other contact center system. 
     Method  400  can begin in step  405 , where an agent logs onto a contact center by providing authentication information. The authentication information can include a user name and password, one or more device identifiers, and/or speech input which is processed by a SIV component. In step  410 , the contact center can authorize the agent. Backend contact center components, such as a presence server and associated watchers, can be updated to indicate that the authorized agent is now available to handle caller communications. 
     In step  415 , the contact center can transfer a call to the agent. The caller can be placed in a waiting queue (not shown) if the agent is busy handling another caller. A communication session between the caller and the agent can begin in step  420 . In step  425 , a determination can be made as to whether a SIV action is to be performed for the session. In one embodiment, this can be a real-time SIV action, which can trigger a programmatic action that affects the active session. When no SIV action is to be performed in step  425 , the method can proceed to optional step  430 , where the session can be provided. The method can loop from step  430  to step  415 , where another caller can be transferred to the contact center agent. 
     In asynchronous step  435 , a determination can be made to perform an SIV action involving the recorded session. When no SIV action is to be performed against the recorded session in step  435 , the method can proceed to step  436 , where other recorded sessions can be optionally analyzed. The method loops from step  436  to step  435  when another recording is to be processed using an SIV technique. When all recordings have been analyzed, the method can proceed to step  438 , where other activities can be performed, or where the method can end. 
     When one or more SIV actions are to be performed in either step  425  or step  435 , the method can progress to step  440 , where a portion of speech content from the communication session can be identified. In step  445 , biometric characteristics of a speaker can be extracted from the identified speech content. In step  450 , a speaker identify can be determined from the extracted biometrics. For example, a voice print analysis can indicate that the speech context was spoken by a contact center agent. In step  455 , a programmatic action can be initiated based upon the determined identify. For example, if the speech content confirms or verifies the identify of a contact agent is proper, that agent can be credited for the transaction by a payroll program. In another example, the speech content can include inappropriate phrases (e.g., curses) and corrective or punishment actions can be taken against an agent should the agent be the individual who spoke the inappropriate phrases. In step  460 , a determination can be made as to whether further speech content for the session is to be processed. If so, the method can loop to step  440 . When all desired content has been processed, the method can proceed to step  465 , where the method can return execution to the original processing point. That is, when the original exit was from step  425 , the method can proceed from step  465  to step  430  and when the original exit was from step  435 , the method can proceed from step  465  to step  436 . 
     The present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. 
     The present invention also may be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form. 
     This invention may be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.