Systems and methods related to entity tagging of identified personal information in contact center data

The method enhances PII tagging and masking in contact center data by using defined parameters for new entity types, addressing the challenge of handling diverse entities in conversation transcripts for improved data privacy and security.

JP2026522809APending Publication Date: 2026-07-09GENESIS CLOUD SERVICES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
GENESIS CLOUD SERVICES CO LTD
Filing Date
2024-05-10
Publication Date
2026-07-09

AI Technical Summary

Technical Problem

Existing systems struggle to effectively tag and mask personally identifiable information (PII) in contact center data, particularly in conversation transcripts, which is crucial for data privacy and security, and there is a need for improved methods to handle new entity types beyond traditional recognition techniques.

Method used

A method is introduced for extending entity tagging and masking in conversation transcripts by using parameters to define new entity types, including keyword and entity lookup triggers, search scopes, and replacing detected entities with entity names, enhancing the recognition and masking process.

Benefits of technology

This approach improves the accuracy and efficiency of identifying and masking PII in contact center data, ensuring better data privacy and security by effectively handling new entity types and enhancing the utility of the data for downstream applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026522809000001_ABST
    Figure 2026522809000001_ABST
Patent Text Reader

Abstract

A method for extending the tagging and masking of recognized entities in a conversation transcript to cover new entity types. The method is performed in relation to the conversation transcript according to parameters that define the new entity types. The method may include the steps of: searching for one of either a keyword lookup trigger or an entity lookup trigger and triggering a lookup process in response to its detection; executing the triggered lookup process by searching the search range specified by the received parameters for the selected generic entity type and detecting the selected generic entity type therein; modifying the conversation transcript so that the entity names of the detected selected generic entity types are replaced with the entity names of the new entity types; and outputting a modified version of the conversation transcript including the modifications.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - reference to related applications) This application claims the priority and benefit of U.S. Provisional Patent Application No. 63 / 466,063, filed with the United States Patent and Trademark Office on May 12, 2023, entitled "SYSTEMS AND METHODS RELATED TO ENTITY TAGGING OF IDENTIFIED PERSONAL INFORMATION IN CONTACT CENTER DATA", which was changed to pending U.S. Patent Application No. 18 / 661,195, filed on May 10, 2024, entitled "SYSTEMS AND METHODS RELATED TO ENTITY TAGGING OF IDENTIFIED PERSONAL INFORMATION IN CONTACT CETER DATA".

Background Art

[0002] The present invention generally relates to a telecommunication system in the field of customer relationship management, including customer support via internet - based service options. More specifically, but not limited thereto, the present invention relates to systems and methods for tagging identified personal information in contact center data.

Summary of the Invention

[0003] The present invention describes a method for extending the tagging and masking of recognized entities in conversation transcripts to cover new entity types. The method includes the step of receiving a transcript from a conversation between participants, processed so that actual entities recognized therein are replaced with their respective entity names. Each entity name may be associated with an entity type, which includes both dedicated and generic entity types. The method further includes the step of receiving parameters that define new entity types. The parameters may include: a lookup trigger parameter specifying whether the lookup trigger for triggering the lookup process includes a keyword lookup trigger or an entity lookup trigger; a keyword trigger parameter specifying one or more keywords that, when found in the conversation transcript, trigger the lookup process; an entity trigger parameter specifying a selected dedicated entity type, hereinafter referred to as the selected dedicated entity type, that, when found in the conversation transcript, triggers the lookup process, when the lookup trigger includes an entity lookup trigger; a lookup entity parameter specifying a selected generic entity type, hereinafter referred to as the selected generic entity type, that is searched in the conversation transcript in response to the trigger of the lookup process; one or more search parameters specifying the search scope in the conversation transcript for searching for the selected generic entity type during the execution of the lookup process; and an entity name parameter specifying the entity name of a new entity type used to replace the selected generic entity type when found during the lookup process.The method may further include the step of performing a first process in relation to an received conversation transcript according to received parameters that define a new entity type, the first process including searching for one of a keyword lookup trigger or an entity lookup trigger and triggering a lookup process in response to its detection; performing the triggered lookup process by searching a search range specified by the received parameters for a selected generic entity type and detecting the selected generic entity type therein; modifying the conversation transcript so that the entity names of the detected selected generic entity types are replaced with the entity names of the new entity type; and outputting the modified version of the conversation transcript including the modifications. [Brief explanation of the drawing]

[0004] A more complete understanding of the present invention will become more readily apparent, as it is better understood by referring to the following detailed description when the invention is considered in conjunction with the accompanying drawings in which similar reference numerals indicate similar components. [Figure 1] A schematic block diagram of a computing device that can be enabled or implemented by exemplary embodiments of the present invention is shown. [Figure 2] A schematic block diagram of a communications infrastructure or contact center according to an exemplary embodiment of the present invention and / or which an exemplary embodiment of the present invention may enable or implement is shown. [Figure 3] An exemplary process flow diagram illustrating the method of the present invention according to a keyword lookup trigger is shown. [Figure 4] An exemplary process flow diagram illustrating the method of the present invention in accordance with an entity lookup trigger is shown. [Figure 5] An exemplary method of the present invention is illustrated. [Modes for carrying out the invention]

[0005] For the purpose of facilitating an understanding of the principles of the present invention, the description here will be made using specific language with reference to exemplary embodiments illustrated in the drawings. However, it will be apparent to those skilled in the art that some of the detailed materials provided in the examples may not be necessary for carrying out the present invention. In other examples, well-known materials or methods are not described in detail to avoid obscuring the present invention. In addition, any further modifications to the examples provided or to the application of the principles of the present invention, as presented herein, are intended to be as commonly conceived to those skilled in the art.

[0006] Where used herein, non-limiting examples and illustrative statements include "e.g.," "i.e.," "for example," and "for instance." Furthermore, throughout this specification, references to "embodiment," "one embodiment," "this embodiment," "exemplary embodiment," and "specific embodiment" mean that certain features, structures, or characteristics described in relation to a given embodiment may be included in at least one embodiment of the present invention. Thus, the appearance of phrases such as "embodiment," "one embodiment," "this embodiment," "exemplary embodiment," and "specific embodiment" does not necessarily refer to the same embodiment or example. Furthermore, certain features, structures, or characteristics may be combined in any preferred combination and / or partial combination in one or more embodiments or examples.

[0007] Those skilled in the art will recognize from this disclosure that various embodiments can be computer-implemented using many different types of data processing equipment, and that embodiments can be implemented as devices, methods, or computer program products. Accordingly, exemplary embodiments may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Exemplary embodiments may further take the form of computer program products embodied by computer-usable program code in any tangible medium of expression. In any case, exemplary embodiments may generally be referred to as “modules,” “systems,” or “methods.”

[0008] Computing devices It will be understood that the systems and methods of the present invention can be computer-implemented using many different forms of data processing equipment, such as a digital microprocessor and associated memory, which execute appropriate software programs. For background, Figure 1 illustrates a schematic block diagram of an exemplary computing device 100 according to embodiments of the present invention, and / or which such embodiments may enable or implement. It should be understood that Figure 1 is provided as a non-limiting example.

[0009] Computing device 100 may be implemented, for example, through firmware (e.g., application-specific integrated circuits), hardware, or a combination of software, firmware, and hardware. It will be understood that each of the servers, controllers, switches, gateways, engines, and / or modules (which may be collectively referred to as servers or modules) in the following diagrams may be implemented through one or more computing devices 100. As an example, various servers may be processes operating on one or more processors of one or more computing devices 100 that execute computer program instructions to perform various functions described herein and can interact with other systems or modules. Unless otherwise specifically limited, functions described in relation to multiple computing devices may be integrated into a single computing device, or various functions described in relation to a single computing device may be distributed across several computing devices. Furthermore, in relation to the computing systems shown in the following diagrams, such as the contact center system 200 in Figure 2, the various servers and computer devices may be located on local computing devices 100 (i.e., on-site or in the same physical location as the contact center agents), remote computing devices 100 (i.e., away from the site or in a cloud computing environment, for example, in a remote data center connected to the contact center via a network), or a combination of these.Functions provided by servers located on computing devices remotely from the site may be accessed and provided via a virtual private network (VPN) as if such servers were located on-site, or functions may be provided using software as a service (SaaS) accessed over the internet using various protocols, such as exchanging data via extensible markup languages ​​(XML), JSON, etc.

[0010] As illustrated in the illustrated embodiments, the computing device 100 may include a central processing unit (CPU) or processor 105 and main memory 110. The computing device 100 may also include a storage device 115, a removable media interface 120, a network interface 125, an I / O controller 130, and one or more input / output (I / O) devices 135, which may include a display device 135A, a keyboard 135B, and a pointing device 135C, as shown. The computing device 100 may further include additional elements such as a memory port 140, a bridge 145, I / O ports, one or more additional input / output devices 135D, 135E, 135F, and a cache memory 150 that communicates with the processor 105.

[0011] The processor 105 may be any logic circuit that responds to and processes instructions fetched from the main memory 110. For example, the process 105 may be implemented by an integrated circuit, such as a microprocessor, microcontroller, or graphics processing unit, or by a field-programmable gate array or application-specific integrated circuit. As shown in the figure, the processor 105 may communicate directly with the cache memory 150 via a secondary bus or backside bus. The cache memory 150 typically has a faster response time than the main memory 110. The main memory 110 may be one or more memory chips capable of storing data, allowing the stored data to be directly accessed by the central processing unit 105. The storage device 115 may provide storage for an operating system and other software that controls scheduling tasks and access to system resources. Unless otherwise limited, the computing device 100 may include an operating system and software capable of performing the functions described herein.

[0012] As illustrated in the illustrated embodiments, the computing device 100 may include a wide variety of I / O devices 135, one or more of which may be connected via an I / O controller 130. Input devices may include, for example, a keyboard 135B and a pointing device 135C (e.g., a mouse or optical pen). Output devices may include, for example, a video display device, a speaker, and a printer. The I / O devices 135 and / or the I / O controller 130 may include suitable hardware and / or software to enable the use of multiple display devices. The computing device 100 may also support one or more removable media interfaces 120, such as a disk drive, a USB port, or any other suitable device for reading data from or writing data to computer-readable media. More generally, the I / O devices 135 may include any conventional devices for performing the functions described herein.

[0013] Computing device 100 may be, but is not limited to, any workstation, desktop computer, laptop or notebook computer, server machine, virtual machine, mobile or smartphone, portable telecommunications device, media playback device, game system, mobile computing device, or any other type of computing, telecommunications, or media device capable of performing the operations and functions described herein. Computing device 100 includes multiple devices connected by a network or connected to other systems and resources via a network. As used herein, a network includes one or more computing devices, machines, clients, client nodes, client machines, client computers, client devices, endpoints, or endpoint nodes that communicate with one or more other computing devices, machines, clients, client nodes, client machines, client computers, client devices, endpoints, or endpoint nodes. Unless otherwise limited, it should be understood that computing device 100 may communicate with other computing devices 100 via any type of network using any conventional communication protocol. Furthermore, the network may be a virtual network environment in which various network components are virtualized.

[0014] Contact Center Referring here to Figure 2, a communication infrastructure or contact center system 200 according to an exemplary embodiment of the present invention and / or which an exemplary embodiment of the present invention may enable or implement is shown. It should be understood that in this specification, the term “contact center system” is used to refer to the system and / or its components as illustrated in Figure 2, whereas the term “contact center” is used more generally to refer to the contact center system, the customer service provider operating those systems, and / or any organization or company associated therewith. Therefore, unless otherwise specifically limited, the term “contact center” generally refers to the contact center system (such as contact center system 200), the associated customer service provider (such as a specific customer service provider providing customer services through contact center system 200), and the organization or company on which customer services are provided.

[0015] As background, customer service providers generally provide many types of services through contact centers. Such contact centers may be staffed with employees or customer service agents (or simply "agents"), who act as an interface between a company, corporation, government agency, or organization (hereinafter interchangeably referred to as "organization" or "corporation") and people such as users, individuals, or customers (hereinafter interchangeably referred to as "individuals" or "customers"). For example, a contact center agent may assist a customer in making a purchase decision, taking an order, or resolving an issue with a product or service already received. Within a contact center, such interactions between contact center agents and external entities or customers may take place through various communication channels, such as voice (e.g., telephone calls or voice over IP, i.e., VoIP calls), video (e.g., video conferencing), text (e.g., email and text chat), screen sharing, and co-browsing.

[0016] In practice, contact centers generally strive to provide high-quality service to customers while minimizing costs. For example, one way a contact center operates is to handle all customer interactions with live agents. While this approach can be quite successful from a service quality standpoint, it is likely to be prohibitively expensive due to the high cost of agent labor. For this reason, most contact centers utilize a level of automated processes instead of live agents, such as interactive voice response (IVR) systems, interactive media response (IMR) systems, internet robots, or "bots," and automated chat modules, or "chatbots."

[0017] Referring specifically to Figure 2, the contact center system 200 may be used by a customer service provider to provide various types of services to customers. For example, the contact center system 200 may be used to engage in and manage interactions in which automated processes (or bots) or human agents communicate with customers. As understood, the contact center system 200 may be an in-house facility of a business or company for performing sales and customer service functions for products and services available through the company. In another aspect, the contact center system 200 may be operated by a third-party service provider contracted to provide services to another organization. Furthermore, the contact center system 200 may be deployed on equipment dedicated to the company or the third-party service provider, and / or in a remote computing environment such as a private or public cloud environment with infrastructure to support multiple contact centers for multiple companies, for example. The contact center system 200 may include software applications or programs that can run under the above premises, remotely, or in any combination thereof. It should be further understood that the various components of the contact center system 200 may be distributed across various geographical locations, but do not necessarily have to be contained in a single location or computing environment.

[0018] It should be further understood that, unless otherwise specified, any of the computing elements of the present invention may be implemented in a cloud-based or cloud computing environment. As used herein, “cloud computing” or simply “cloud” is defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned by virtualization, released with minimal administrative effort or interaction with service providers, and then scaled accordingly. Cloud computing can be comprised of various characteristics (e.g., on-demand self-service, wide area network access, resource pooling, rapid scalability, measurable services, etc.), service models (e.g., Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS)), and deployment models (e.g., private cloud, community cloud, public cloud, etc.). Cloud execution models, often referred to as "serverless architectures," generally involve a service provider that dynamically manages the allocation and provisioning of remote servers to achieve desired functionality.

[0019] According to the illustrated embodiment in Figure 2, the components or modules of the contact center 200 may include a plurality of customer devices 205A, 205B, 205C, a communication network (or simply the “Network”) 210, a switch / media gateway 212, a call controller 214, an interactive media response (IMR) server 216, a routing server 218, a storage device 220, a statistics (or “stat”) server 226, a plurality of agent devices 230A, 230B, 230C, including workbins 232A, 232B, 232C, respectively, a multimedia / social media server 234, a knowledge management server 236 coupled to a knowledge system 238, a chat server 240, a web server 242, an interaction (or “iXn”) server 244, a universal contact server (or universal contact server, “UCS”) 246, a reporting server 248, a media services server 249, and an analytics module 250. In relation to Figure 2, or any of the computer implementation components, modules, or servers shown in any of the following figures, it should be understood that they may be implemented via a computing device of a type such as the computing device 100 in Figure 1. As should be understood, the contact center system 200 generally manages resources (e.g., employees, computers, telecommunications equipment, etc.) to enable the delivery of services via telephone, email, chat, or other communication mechanisms. Such services may vary depending on the type of contact center and may include, for example, customer service, help desk functions, emergency response, telemarketing, order taking, etc.

[0020] Customers wishing to receive services from the contact center system 200 can initiate inbound communication (e.g., phone calls, emails, chats, etc.) to the contact center system 200 via a customer device 205. Figure 2 shows three such customer devices, namely customer devices 205A, 205B, and 205C, but it should be understood that any number may exist. The customer device 205 may be a communication device such as a telephone, smartphone, computer, tablet, or laptop. According to the functions described herein, customers may generally use the customer device 205 to initiate, manage, and perform communications with the contact center system 200, such as phone calls, emails, chats, text messages, web browsing sessions, and other multimedia transactions.

[0021] Inbound and outbound communications with customer devices 205 may traverse network 210, and typically the nature of the network depends on the type of customer device used and the form of communication. For example, network 210 may include telephone, mobile phone, and / or data service communication networks. Network 210 may be a private or public switched telephone network (PSTN), a local area network (LAN), a private wide area network (WAN), and / or a public WAN such as the Internet. Furthermore, network 210 may include a code division multiple access (CDMA) network, a global system for mobile communications (GSM) network, or any wireless network / technology conventional in the art, including but not limited to 3G, 4G, LTE, 5G, etc.

[0022] Regarding the switch / media gateway 212, it can be coupled to the network 210 to transmit and receive telephone calls between a customer and the contact center system 200. The switch / media gateway 212 may include a telephone or communication switch configured to function as a central switch for routing at the agent level within the center. The switch can be a hardware switching system or implemented via software. For example, the switch 215 may include an automatic call distributor, a private branch exchange (PBX), an IP-based software switch, and / or any other switch having dedicated hardware and software configured to receive interactions from the customer, from the Internet, and / or from the telephone network and route those interactions to, for example, one of the agent devices 230. Thus, generally, the switch / media gateway 212 establishes a voice connection between the customer and the agent by establishing a connection between the customer device 205 and the agent device 230.

[0023] As further shown, the switch / media gateway 212 can be coupled to a call controller 214 that functions as an adapter or interface between, for example, the switch of the contact center system 200 and other routing, monitoring, and communication processing components. The call controller 214 can be configured to process PSTN calls, VoIP calls, and the like. For example, the call controller 214 can include computer-telephone integration (CTI) software for interfacing with the switch / media gateway and other components. The call controller 214 can include a SIP server for processing session initiation protocol (SIP) calls. The call controller 214 can also extract data regarding incoming interactions such as a customer's phone number, IP address, or email address and then communicate them to other contact center components when processing the interaction.

[0024] Regarding the interactive media response (IMR) server 216, it can be configured to enable self-help or virtual assistant capabilities. Specifically, the IMR server 216 can be similar to an interactive voice response (IVR) server, except that the IMR server 216 is not limited to voice and can cover various media channels. In an example illustrating voice, the IMR server 216 can be composed of an IMR script for asking the customer about the customer's needs. For example, a bank's contact center can communicate to the customer via the IMR script to press "1" if the customer wants to obtain their account balance. Through continuous interaction with the IMR server 216, the customer may receive services without the need to talk to an agent. The IMR server 216 can also be configured to clarify why the customer is contacting the contact center so that the communication can be routed to appropriate resources.

[0025] With respect to the routing server 218, it may function to route incoming interactions. For example, if it is determined that an inbound communication should be handled by a human agent, the functionality within the routing server 218 may select the most appropriate agent and route the communication to that agent. This agent selection may be based on which available agent is best suited to handle the communication. More specifically, the selection of the appropriate agent may be based on a routing strategy or algorithm implemented by the routing server 218. In doing so, the routing server 218 may query data related to the incoming interaction, such as data related to a specific customer, available agents, and the type of interaction, which may be stored in a specific database as described in more detail below. Once an agent is selected, the routing server 218 may interact with the call controller 214 to route (i.e., connect) the incoming interaction to the corresponding agent device 230. As part of this connection, information about the customer may be provided to the selected agent via their agent device 230. This information is intended to enhance the services that the agent can provide to the customer.

[0026] With respect to data storage, the contact center system 200 may include one or more mass storage devices, generally represented by storage devices 220, for storing data in one or more databases related to the functions of the contact center. For example, storage device 220 may store customer data maintained in customer database 222. Such customer data may include customer profiles, contact information, service level agreements (SLAs), and interaction history (e.g., details of previous interactions with a particular customer, including the nature of previous interactions, disposal data, wait times, handling times, and actions taken by the contact center to resolve the customer's issues). As another example, storage device 220 may store agent data in agent database 223. Agent data maintained by the contact center system 200 may include agent availability and agent profiles, schedules, skills, handling times, etc. As yet another example, storage device 220 may store interaction data in interaction database 224. Interaction data may include data related to numerous past interactions between customers and the contact center. More generally, unless otherwise specified, the storage device 220 may be configured to store data including and / or relating to any of the types of information described herein, and it should be understood that such databases and / or data are accessible to other modules or servers of the contact center system 200 in a manner that facilitates the functions described herein. For example, a server or module of the contact center system 200 may query such database to retrieve data stored therein or to send data there for storage.

[0027] With respect to the stat server 226, it may be configured to record and aggregate data related to the performance and operational characteristics of the contact center system 200. Such information may be stored by the stat server 226 and made available to other servers and modules, such as the reporting server 248, which may then use the data to generate reports used to manage the operational characteristics of the contact center and to perform automated actions in accordance with the functions described herein. Such data may relate to the status of contact center resources, such as average wait time, discard rate, agent occupancy, and others that the functions described herein may require.

[0028] The agent device 230 of the contact center 200 may be a communication device configured to interact with various components and modules of the contact center system 200 to facilitate the functions described herein. For example, the agent device 230 may include a telephone adapted for regular telephone calls or VoIP calls. The agent device 230 may further include a computing device configured to communicate with the server of the contact center system 200, perform business-related data processing, and interface with customers via voice, chat, email, and other multimedia communication mechanisms, according to the functions described herein. Figure 2 shows three such agent devices, namely agent devices 230A, 230B, and 230C, but it should be understood that any number may exist.

[0029] With respect to the multimedia / social media server 234, it may be configured to facilitate (non-voice) media interactions with customer devices 205 and / or server 242. Such media interactions may relate to, for example, email, voicemail, chat, video, text messaging, the web, social media, co-browsing, etc. The multimedia / social media server 234 may take the form of any conventional IP router in the art, having dedicated hardware and software for receiving, processing, and forwarding multimedia events and communications.

[0030] With respect to the knowledge management server 234, it may be configured to facilitate interaction between the customer and the knowledge system 238. Generally, the knowledge system 238 may be a computer system that can receive and respond to questions or queries. The knowledge system 238 may be included as part of the contact center system 200 or operated remotely by a third party. The knowledge system 238 may include an artificial intelligence computer system that can answer questions presented in natural language by retrieving information from sources such as encyclopedias, dictionaries, newswire articles, literary works, or other documents submitted to the knowledge system 238 as reference material, as is known in the art. As an example, the knowledge system 238 may be embodied as IBM Watson or a similar system.

[0031] The chat server 240 may be configured to conduct, orchestrate, and manage electronic chat communications with customers. Generally, the chat server 240 is configured to conduct and maintain chat conversations and generate chat transcripts. Such chat communications may be conducted by the chat server 240 in a manner in which the customer communicates with an automated chatbot, a human agent, or both. In an exemplary embodiment, the chat server 240 may function as a chat orchestration server that allocates chat conversations to chatbots and responsive human agents. In such a case, the processing logic of the chat server 240 may be rules that drive intelligent workload distribution among available chat resources. The chat server 240 may further implement, manage, and facilitate chat functionality and associated UIs, including their user interfaces (also known as UIs) generated on either the customer device 205 or the agent device 230. The chat server 240 may be configured to transfer chat between automated and human sources within a single chat session with a specific customer, for example, so that the chat session is transferred from a chatbot to a human agent or from a human agent to a chatbot. The chat server 240 may also be coupled with a knowledge management server 234 and a knowledge system 238 to receive suggestions and answers to queries presented by the customer during the chat, for example so that it can provide links to relevant articles.

[0032] With respect to the web server 242, such a server may be included to provide site hosting for various social interaction sites that customers subscribe to, such as Facebook, Twitter, and Instagram. Although illustrated as part of the contact center system 200, it should be understood that the web server 242 may be provided by a third party and / or maintained remotely. The web server 242 may also provide web pages to companies or organizations supported by the contact center system 200. For example, a customer may browse a web page to receive information about the products and services of a particular company. Within such a company's web page, a mechanism may be provided for initiating interaction with the contact center system 200, for example, via web chat, voice, or email. An example of such a mechanism is a widget that can be deployed on a web page or website hosted on the web server 242. As used herein, a widget refers to a user interface component that performs a specific function. In some embodiments, a widget may include a graphical user interface control that can be overlaid on a web page displayed to the customer over the Internet. A widget may include buttons or other controls that allow a customer to access specific functions, such as displaying information in a window or text box, sharing or opening a file, or initiating communication. In some embodiments, a widget includes a user interface component having a portable portion of code that can be installed and executed within a separate web page without being compiled. Some widgets may include corresponding or additional user interfaces and may be configured to access various local resources (e.g., calendar or contact information on the customer's device) or remote resources over a network (e.g., instant messaging, email, or social networking updates).

[0033] With respect to the Interaction (iXn) server 244, it may be configured to manage the deferred activities of the contact center and the routing of those activities to human agents for completion. As used herein, deferred activities include back-office work that can be performed offline, such as replying to emails, participating in training, and other activities that do not involve real-time communication with customers.

[0034] With respect to the Universal Contact Server (UCS) 246, it may be configured to retrieve information stored in the customer database 222 and / or transmit information thereto for storage in that database. For example, UCS 246 may be used as part of a chat function to facilitate maintaining a history of how chats with a particular customer were handled, and this history may then be used as a reference for how future chats should be handled. More generally, UCS 246 may be configured to facilitate maintaining a history of customer preferences, such as preferred media channels and best times to contact. To do this, UCS 246 may be configured to identify data related to each customer's interaction history, such as data on agent comments, customer communication history, etc. Each of these data types may then be stored in the customer database 222 or other modules and retrieved when required by the functions described herein.

[0035] With respect to the reporting server 248, it may be configured to generate reports from data accumulated and aggregated by the statistics server 226 or other sources. Such reports may include quasi-real-time or historical reports and may relate to the state of contact center resources and performance characteristics, such as average latency, abandonment rate, and agent occupancy. Reports may be generated automatically or in response to specific requests from requesters (e.g., agents, administrators, contact center applications). The reports may then be used to manage contact center operations according to the functions described herein.

[0036] With respect to the media service server 249, it may be configured to provide audio and / or video services to support contact center functions. According to the functions described herein, such functions may include prompting of IVR or IMR systems (e.g., playback of audio files), hold music, voicemail / self-recording, multi-person recording (e.g., audio and / or video calls), speech recognition, dual-tone multi-frequency (DTMF) recognition, fax, audio and video transcoding, secure real-time transport protocol (SRTP), teleconferencing, video conferencing, coaching (e.g., support for coaches to listen to interactions between customers and agents, and for coaches to provide comments to agents without the comments being heard by the customer), call analysis, keyword discovery, and the like.

[0037] With respect to the analysis module 250, it may be configured to provide a system and method for performing analysis on data received from multiple different data sources, where the functionality described herein may be required. According to exemplary embodiments, the analysis module 250 may also generate, update, train, and modify a predictor or model 252 based on collected data, such as customer data, agent data, and interaction data. Model 252 may include a customer or agent behavior model. The behavior model may be used to predict customer or agent behavior in various situations, for example, thereby enabling embodiments of the invention to adjust interactions based on such predictions or allocate resources in preparation for the predicted characteristics of future interactions, thereby improving overall contact center performance and customer experience. Although the analysis module 250 is illustrated as part of a contact center, it will be understood that such a behavior model may also be implemented in a customer system (or the "customer side" of an interaction, as used herein) and used for the benefit of the customer.

[0038] According to exemplary embodiments, the analysis module 250 may have access to data stored in the storage device 220, including a customer database 222 and an agent database 223. The analysis module 250 may also have access to an interaction database 224 that stores data related to interactions and interaction content (e.g., interaction transcripts and events detected therein), interaction metadata (e.g., customer identifier, agent identifier, interaction medium, interaction length, interaction start and end times, department, tagged category), and application settings (e.g., interaction paths through the contact center). Furthermore, as will be discussed further below, the analysis module 250 may be configured to retrieve data stored in the storage device 220 for use in developing and training algorithms and models 252, for example, by applying machine learning techniques.

[0039] One or more of the included Model 252 may be configured to predict customer or agent behavior, and / or aspects related to contact center operations and performance. Furthermore, one or more of the Model 252 may be used for natural language processing, including, for example, intent recognition. Model 252 may be developed based on 1) well-known first-principles equations describing a system, 2) data resulting from an empirical model, or 3) a combination of well-known first-principles equations and data. When developing a model for use in this embodiment, it may generally be preferable to build an empirical model based on collected and stored data, since first-principles equations are often unavailable or not easily derived. It may be preferable for Model 252 to be nonlinear in order to appropriately capture the relationship between the instrumental / disturbance variables and the control variables of a complex system. This is because nonlinear models may show a curvilinear relationship, rather than a linear relationship, between the instrumental / disturbance variables and the control variables, as is common in complex systems such as those considered herein. Given the requirements described above, machine learning or neural network-based approaches are currently preferred embodiments for implementing Model 252. For example, neural networks can be developed based on empirical data using sophisticated regression algorithms.

[0040] The analysis module 250 may further include an optimizer 254. As understood, the optimizer can be used to minimize a “cost function” under a set of constraints, where the cost function is a mathematical representation of a desired objective or system behavior. Since Model 252 can be nonlinear, the optimizer 254 may be a nonlinear programming optimizer. However, the present invention is intended to be carried out by using, individually or in combination, various different types of optimization approaches, including, but not limited to, linear programming, quadratic programming, mixed-integer nonlinear programming, stochastic programming, global nonlinear programming, genetic algorithms, particle / group techniques, and the like.

[0041] According to exemplary embodiments, Model 252 and Optimizer 254 may be used together within Optimization System 255. For example, the Analysis Module 250 may utilize Optimization System 255 as part of an optimization process in which the performance and operational aspects of the contact center are optimized or at least improved. This may include, for example, aspects related to customer experience, agent experience, interaction routing, natural language processing, intent recognition, or other functions related to automated processes.

[0042] The various components, modules, and / or servers in Figure 2 (and other figures included herein) may each include one or more processors that execute computer program instructions and interact with other system components for performing various functions described herein. Such computer program instructions may be stored in memory implemented using standard memory devices such as random-access memory (RAM), or on other non-temporary computer-readable media such as CD-ROMs or flash drives. While each function of a server is described as being provided by a particular server, those skilled in the art should understand that the functions of various servers may be combined or integrated into a single server, or that the functions of a particular server may be distributed across one or more other servers without departing from the scope of the invention. Furthermore, the terms “interaction” and “communication” are used interchangeably and generally refer to any real-time and non-real-time interaction using any communication channel, including but not limited to telephone calls (PSTN or VoIP calls), email, V-mail, video, chat, screen sharing, text messages, social media messages, WebRTC calls, etc. Access to and control of the components of the contact system 200 may be affected through a user interface (UI) that may be generated on the customer device 205 and / or agent device 230. As already mentioned, the contact center system 200 may be operated as a hybrid system in which some or all of its components are remotely hosted in a cloud-based environment or a cloud computing environment.

[0043] Entity recognition and tagging for PII editing / masking In contact centers, named entity recognition (NER) has many applications. One of these is the identification of personally identifiable information (PII), which includes information that can be used to distinguish or track an individual's identity, either directly or indirectly, through connections with other information and / or information that conforms to standards such as the Payment Card Industry-Data Security Standard (PCI-DSS). When contact centers collect data from customers during interactions and use that data for various reasons, they must identify such information so that the data can be masked to prevent disclosure. PII identification is one of the key aspects in which NER is widely utilized. Another use includes converting unstructured text into structured data. Other downstream uses As understood, the degree to which PII can be accurately identified and masked with specific labels greatly improves the downstream use of the data.

[0044] Generally, NER is a subfield of natural language processing (NLP) that focuses on identifying and classifying specific data points from text content. NER deals with important details in text, known as named entities (single words, phrases, or sequences of words), by identifying them and classifying them into predetermined groups or entity types. Categories encompass a diverse range of subjects present in the text, including personal names, geographical locations, organization names, dates, events, and even specific quantitative values ​​such as amounts and percentages.

[0045] Essentially, NER centers around two main steps: identifying entities within a text and classifying these entities into distinct groups. Entity detection, often called mention detection or named entity identification, is the initial and fundamental stage of the NER process. This involves systematically scanning and identifying chunks of text that potentially represent meaningful entities. Most fundamentally, a document or sentence is simply a long string of characters. Tokenization is the process of dividing this string into meaningful parts called tokens. In English, tokens are often equivalent to words, but can also represent punctuation or other symbols. This type of segmentation simplifies subsequent analysis steps by transforming text into manageable units. The next challenge is to understand the significance of these tokens. This is where feature extraction becomes crucial. This involves analyzing the properties of tokens, such as morphological features that deal with the form of words, like base forms or prefixes; syntactic features that focus on the placement and relationships of words in a sentence; and semantic features that capture the inherent meaning of words and allow us to leverage broader world knowledge or context to better understand the role of tokens.

[0046] The next stage in the named entity recognition process is entity classification, which follows entity detection. Entity classification involves assigning identified entities to specific categories or classes based on their semantic importance and context. These categories or entity types can range from people and organizations to places, dates, and countless other labels, depending on the application requirements. A fine-grained process, entity classification requires a rigorous understanding of the context in which entities appear. This classification leverages linguistic, statistical, and sometimes domain-specific knowledge. For example, "apple" in a technology context might refer to a technology company, but in a culinary context, it is more likely to mean the fruit. Such ambiguity in natural language often requires linguistic analysis, or sophisticated NER models trained on extensive datasets, to distinguish between possible meanings.

[0047] The methods for performing NER have evolved significantly over the years, and multiple approaches have been developed to address its challenges. Recently, NER has come to rely heavily on machine learning models. In the realm of traditional machine learning methods for NER, models are trained on data in which entities are labeled. For example, in the sentence "Paris is the capital of France," the words "Paris" and "France" might be labeled as geographical entities. Such methods rely heavily on feature engineering, where specific attributes and information about the data are manually extracted to improve the model's performance. Common design features include word characteristics (details such as word casing, prefixes, and suffixes), context (surrounding words that provide cues, both before and after), syntactic information (part-of-speech tags that reveal the function of a word in a sentence, such as whether it is a noun, verb, adjective, etc.), word patterns (in particular, the shape or pattern of a word to recognize specific forms such as a date or vehicle registration number), and morphological details (information derived from the base form of a word or its morphological nuances). Once the features are prepared, the model is trained on this enhanced data. Common algorithms used here include Support Vector Machines (SVMs), decision trees, and Conditional Random Fields (CRFs). Once trained, the models can predict or annotate named entities in unlabeled raw data.

[0048] An exemplary NER workflow may include the following: Firstly, conversation transcripts are derived from the conversation between the agent and the customer. These may be derived from the text of the ASR transcript of the chat or voice conversation between the agent and the customer. The conversation transcripts are sent to the NER system for processing.

[0049] Secondly, the NER system (i.e., the trained model) identifies named entities and then classifies those entities according to several entity types. For example, such entity types may include any of the following:

[0050] Entity type - "GEO" refers to geographical location and address. "PERSON" - a proper noun referring to a person. "PRICE" currency or money "DATE" "DATE_REL" Relative date entities such as tomorrow, yesterday, etc. "ORG" is a proper noun for an organization. "TIME" is a time entity that includes approximate time, such as AM, PM, and evening. "CARD_NUMBER" Debit card number or credit card number "SSN" - U.S. Social Security Number "PHONE_NUMBER" US phone number "ZIPCODE" US zip code "URL" Website or URL "EMAIL" email address Numbers spelled out like "WORD_DIGIT_SEQ" and "nineteen eighty seven" "MISC" alphanumeric characters "DIGIT" value "NONE" Non-Entity Class "PRODUCT" is a product or brand name such as Apple or M&Ms. "PII_OTHER" License plate number, account number, etc. "USER_INFO" Username and password Spellout class for the "DICTATION" entity

[0051] It should be noted that not all of these entities are PII / PCI-DSS sensitive information. Instead, the list above represents the entity types that may be used in the contact center domain.

[0052] Thirdly, once the entity type is identified, the task becomes determining whether the entity type is PII or PCI-DSS information.

[0053] Fourth, if the recognized entity is determined to belong to a category of PII / PCI-DSS information, the relevant words / tokens must be edited, i.e., masked.

[0054] Fifth, such functionality naturally has a set of generic entity types that can serve the purpose of capturing entity types that do not fall under any of the dedicated entity types. As provided in the list above, the generic entity types include "DIGIT", "MISC", and "WORD_DIGIT_SEQ".

[0055] The need to add new entity types to the list above arises periodically. For example, suppose we need a new entity type named "ACCOUNT_ID" and defined as a 10-digit number. There are two ways to achieve this: two ways to create a system that can achieve the aforementioned identification and masking functions in relation to this new entity type. The first method involves defining a regular expression that encapsulates the relevant patterns. The second method involves retraining the NER model so that it can identify instances of the new entity type. For example, a model used to predict entities that could be called non-deterministic entities is trained with training utterances extended with the new entity type. However, there are drawbacks associated with either of these conventional approaches. Regarding the former, it is necessary to be familiar with each expression in which the new entity type appears, which is rare. Regarding the second point, a sufficient number of relevant utterances need to be generated for the probabilistic model to learn the new entity type well. As one might expect, this can be an expensive and time-consuming process. Furthermore, new patterns may clash with existing patterns. For example, a new 10-digit pattern may conflict with an existing deterministic entity type, "PHONE_NUMBER," which could potentially be a 10-digit number.

[0056] This disclosure proposes methods and systems for making named entity tagging and masking systems more efficient by making them efficiently extensible. In exemplary embodiments, this is achieved through defined parameters specifying a search and lookup process. As understood, the method may be used to extend the tagging and masking of recognized entities in a conversation transcript to cover new entity types. In such cases, the process may be initiated in relation to a transcript from a conversation between participants (e.g., a customer and an agent), where the transcript has been processed such that the actual entities recognized therein (i.e., Apple, Mr. Smith, etc.) have already been replaced with their respective entity names that already exist and are associated with existing entity types. Such existing entity types, e.g., the list provided above, may include both dedicated entity types and generic entity types, as described above.

[0057] According to an exemplary embodiment, the following parameters may be used to define a new entity type. Such parameters may be defined, for example, by input received from the user.

[0058] The first parameter that may be included is referred to herein as the “lookup trigger parameter.” The lookup trigger parameter specifies whether the lookup trigger for triggering the lookup process constitutes a keyword type, if it is referred to as a “keyword lookup trigger,” or an entity type, if it may be referred to as an “entity lookup trigger.”

[0059] A second parameter that may be included is referred to herein as the “keyword trigger parameter.” The keyword trigger parameter specifies one or more keywords that, when found in the conversation transcript, trigger the lookup process. The keyword trigger parameter is used when the lookup trigger specifies that the lookup trigger is a keyword lookup trigger. For example, for the exemplary new entity type ACCOUNT_ID, this parameter might include a list of keywords such as “account id,” “accountid,” “account id,” “account number,” “number of the account,” and “number on the account.” Whenever one of these keywords is found in the conversation transcript, the lookup process is triggered.

[0060] A third parameter that may be included is referred to herein as the “Entity Trigger Parameter.” The Entity Trigger Parameter specifies a selected exclusive entity type (or “Selected Exclusive Entity Type”) from among the exclusive entity types that, when found in the conversation transcript, triggers the lookup process. The Entity Trigger Parameter is used when the Lookup Trigger Parameter specifies that the lookup trigger is an entity lookup trigger. As an example, the entity type “CARD_NUMBER” from the list above may be specified by this parameter. Whenever this entity type is found in the conversation transcript, the lookup process is triggered.

[0061] A fourth parameter that may be included is referred to herein as the “lookup entity parameter.” The lookup entity parameter specifies a selected generic entity type (or “selected generic entity type”) from among the generic entity types that are retrieved in the conversation transcript in response to a trigger for the lookup process. For example, the lookup entity parameter may be one of the generic entity types in the list above, such as “DIGIT,” “MISC,” and “WORD_DIGIT_SEQ.”

[0062] A fifth parameter that may be included is referred to herein as the “Entity Name Parameter.” The Entity Name Parameter specifies the entity name of the new entity type. The entity name is an identifier used to replace the first generic entity type when found during the lookup process. For an exemplary new entity type, this parameter may be “ACCOUNT_ID” or some other similar variation.

[0063] A sixth parameter that may be included is referred to herein as the “Lookup Entity Count Parameter.” The Lookup Entity Count Parameter specifies the number of times a selected generic entity type must be sequentially repeated before a lookup entity is considered found when the lookup process is performed. For example, if the new entity type ACCOUNT_ID is a 10-digit number, this parameter may be set to the number 10, so that the “DIGIT” entity type is required to be repeated 10 times before it is considered found.

[0064] Other parameters that may be included are one or more search parameters that specify the scope of the search within the conversation transcript for searching for a selected generic entity type when performing the lookup process. In certain embodiments, one or more search parameters may include a “participant parameter” that specifies one or more participants in the conversation transcript to restrict the triggering of the lookup process to only those turns associated with a specified number of participants. As used herein, “turn” refers to a turn in which a participant speaks, occurring between turns in which different participants are speaking. For example, this parameter may be specified as “internal” or “agent” if it is desired to search turns only when the agent is speaking, or as “external” or “customer” if it is desired to search turns only when the customer is speaking. This parameter may also be specified as both searching turns when either one is speaking.

[0065] One or more search parameters may further include a “turn count parameter” that specifies the number of turns the search is limited to during the execution of the lookup process. The number of turns specified as part of this parameter, for example, 5 turns or 10 turns, may be measured consecutively from the turn in which the lookup trigger is detected. One or more search parameters may further include a “forward / backward search parameter” that specifies whether the number of turns specified in the turn count parameter is measured forward, backward, or both forward and backward in the conversation transcript with respect to the turn in which the lookup trigger is detected.

[0066] Referring here to Figure 3, an exemplary flow process 300 illustrating the method of the present invention is provided. Process 300 includes a conventional named entity recognition system 305 and a post-processing system 310. The post-processing system 310 represents the functions associated with the present invention, which may include steps involving searching, triggering a lookup process, performing the lookup process, and masking according to the aforementioned parameters that define one or more new entity types. In this case, an exemplary new entity type "ACCOUNT_ID" is provided. Process 300 begins by receiving a conversation script 315 derived from an agent-customer conversation for input to the named entity recognition system 305. As shown, the conversation transcript 315 includes the following three turns: Agent: Please share your account ID for verification. Customer: Yes, it's 5573800046. Agent: Great, verified.

[0067] The conversation transcript 315 is then provided as input to the named entity recognition system 305, which first processes the conversation transcript 315 using NER models trained for each of the list of entity types introduced above. After initial processing, the conversation transcript may be converted into an edited conversation transcript 320, which is shown as output from the named entity recognition system 305. Since the "ACCOUNT_ID" entity type is a new entity type, the NER model has not been trained for the "ACCOUNT_ID" entity type and does not recognize it. Therefore, in the edited conversation transcript 320, the named entity recognition system 305 recognizes some digits as entities, but can only replace the digits with a generic masking label repeatedly shown as "DIGIT". Agent: Please share your account ID for verification. Customer: Yes, <digit> <digit> <digit> <digit> <digit> <digit> <digit> <digit> <digit> <digit>is. Agent: Great, verified.

[0068] Next, the output of the named entity recognition system 305 is provided as input to the post-processing system 310, which performs further processing according to parameters defining the new entity type "ACCOUNT_ID". The result is provided in the post-processed conversation script 325 as follows: Agent: Please share your account ID for verification. Customer: Yes,<ACCOUNT_ID> is. Agent: Great, verified.

[0069] To be understood, the results shown in the post-processed conversation script 325 can be efficiently achieved based on the following parameter values ​​associated with the new entity type "ACCOUNT_ID". First, the lookup trigger parameter specifies a keyword lookup trigger. Second, the keyword trigger parameter specifies "account id" as one of the keywords. Other variations may also be provided as keywords. Third, the lookup entity parameter specifies "DIGIT" as the selected generic entity type. And fourth, the entity name parameter specifies "ACCOUNT_ID" as the name of the new entity type to be used when replacing the selected generic entity type, if found appropriately. Thus, in the process of obtaining the result, the keyword "account id" was searched in the conversation script. Then, once the keyword was found, "DIGIT" was searched in the conversation script. As long as "DIGIT" appears in the conversation script in a way that satisfies all applicable search parameters (search parameters defining the search scope by number of turns, whether those turns are measured forward and / or backward, which participants mention the keyword, etc.), repeated instances of "DIGIT" will be replaced with the name of the new entity type, as shown. Note that in this case, the number of lookup entity parameters may be used to specify that "DIGIT" needs to be repeated 10 times for the resulting detection. The use of this parameter may be similar to that of the exemplary new entity type "ACCOUNT_ID," as it is known to be a 10-digit number. As part of the lookup process, the lookup entity (which is "DIGIT") is verified to be repeated 10 times consecutively before the parameter is considered to exist, for the purpose of masking the parameter thereafter.

[0070] Referring here to Figure 4, an exemplary flow process 400 illustrating the method of the present invention is provided. Similar to Figure 3, process 400 includes a conventional named entity recognition system 405 and a post-processing system 410. The post-processing system 410 represents the functions associated with the present invention, which may include steps involving searching, triggering a lookup process, performing the lookup process, and masking according to the aforementioned parameters that define one or more new entity types. In this case, an exemplary new entity type "CARD_EXPIRATION_DATE" is provided. Process 400 begins by receiving a conversation script 415 derived from an agent-customer conversation for input to the named entity recognition system 405. As shown, the conversation transcript 415 includes the following four turns: Agent: Please share the last four digits of your card. Customer: Yes, it's 8004. Agent: Please also tell me the date. Customer: Yes, November 2025.

[0071] The conversation transcript 415 is then provided as input to the named entity recognition system 405, which first processes the conversation transcript 415 using NER models trained for each of the list of entity types introduced above. After initial processing, the conversation transcript may be converted into an edited conversation transcript 420, which is shown as output from the named entity recognition system 405. Since the "CARD_EXPIRATION_DATE" entity type is a new entity type, the NER model has not been trained for the "CARD_EXPIRATION_DATE" entity type and does not recognize it. Therefore, in the edited conversation transcript 420, the named entity recognition system 405 recognizes some digits as entities, but can only replace those digits with a generic masking label, "DATE". Agent: Please share the last four digits of your card. Customer: Yes,<CARD_NUMBER> is. Agent: Please also tell me the date. Customer: Yes, <date>is.

[0072] Next, the output of the named entity recognition system 405 is provided as input to the post-processing system 410, which performs further processing according to parameters defining a new entity type "CARD_EXPIRATION_DATE". The result is provided in the post-processed conversation script 425 as follows: Agent: Please share the last four digits of your card. Customer: Yes,<CARD_NUMBER> is. Agent: Please also tell me the date. Customer: Yes,<CARD_EXPIRATION_DATE> is.

[0073] To make it clear, the results shown in the post-processed conversation script 425 can be efficiently achieved based on the following parameter values ​​associated with the new entity type "CARD_EXPIRATION_DATE". First, the lookup trigger parameter specifies the entity lookup trigger. Second, the entity trigger parameter specifies "CARD_NUMBER" as the selected dedicated entity type. Third, the lookup entity parameter specifies "DATE" as the selected generic entity type. And fourth, the entity name parameter specifies "CARD_EXPIRATION_DATE" as the name of the new entity type to be used when replacing the selected generic entity type if it is found appropriately. Thus, in the process of obtaining the result, the entity trigger parameter specified as "CARD_NUMBER" was searched for in the conversation script. When the entity trigger parameter is found and triggers the lookup process, the lookup entity parameter specifies "DATE" as the selected generic entity type. When "DATE" is found when executing the lookup process, the process can proceed to correct the date masking with the entity name of the new entity type. In this case as well, for this to happen, "DATE" must be found within an area of ​​the conversation transcript that matches all the specified search parameters. In this case, the new entity type is one that specifies a particular type of "DATE," which in this case is the card expiration date, with the given entity name "CARD_EXPIRATION_DATE." This is used to replace "DATE" so that it reaches the post-processed conversation script 425.

[0074] As shown in each of these examples, the function of the present invention provides a mechanism for efficiently adding new entity types for tagging and masking conversation transcripts so that more precise and accurate labeled results are achieved. As shown, in the first example, the lookup process is triggered by a keyword lookup trigger, resulting in a more accurate identification of a generic numeric string and masking it as a new entity type "ACCOUNT_ID". In the second example, the lookup process is triggered by an entity lookup trigger, resulting in a more accurate identification of a generic date and masking it as a new entity type "CARD_EXPIRATION_DATE".

[0075] Referring here to Figure 5, an exemplary method 500 is shown for extending the tagging and masking of recognized entities in conversation transcripts to cover new entity types. Method 500 may include initial steps not shown. For example, one initial step may include receiving a transcript from a conversation between participants, processed so that the actual entities recognized therein are replaced with their respective entity names. Each entity name may be associated with an entity type. Entity types may include both dedicated entity types and generic entity types. Another initial step may include receiving parameters that define the new entity types. The parameters may include: a lookup trigger parameter specifying whether the lookup trigger for triggering the lookup process includes a keyword lookup trigger or an entity lookup trigger; a keyword trigger parameter specifying one or more keywords that, when found in the conversation transcript, trigger the lookup process; an entity trigger parameter specifying a selected dedicated entity type, hereinafter referred to as the selected dedicated entity type, that, when found in the conversation transcript, triggers the lookup process when the lookup trigger includes an entity lookup trigger; a lookup entity parameter specifying a selected generic entity type that is searched in the conversation transcript in response to the trigger of the lookup process; one or more search parameters specifying the search scope in the conversation transcript for searching for the selected generic entity type during the execution of the lookup process; and an entity name parameter specifying the entity name of a new entity type used to replace the selected generic entity type when found during the lookup process.

[0076] Method 500 may include steps associated with a first process performed in relation to an received conversation transcript, according to received parameters that define a new entity type. Method 500 may begin in step 505 by searching for one of either a keyword lookup trigger or an entity lookup trigger and triggering a lookup process in response to its discovery. Method 500 may continue in step 510 by executing the triggered lookup process by searching the search range specified by the received parameters for a selected generic entity type and finding the selected generic entity type within it. Method 500 may continue in step 515 by modifying the conversation transcript so that the entity name of the discovered selected generic entity type is replaced with the entity name of the new entity type. Method 500 may continue in step 520 by outputting the modified version of the conversation transcript including the modification. In other embodiments, other parameters, including search parameters, may also be included. In certain embodiments, the conversation script may consist of text derived from a conversation between an agent and a customer in a contact center. In certain embodiments, the received parameters are provided via user input. Furthermore, the received conversation transcript may be a conversation transcript that has been initially processed by a machine learning model trained for named recognition. According to an exemplary embodiment, the output of a modified version of the conversation transcript may be sent to a downstream process that requires specific labeling of the type of personally identifiable information in order to restrict access.

[0077] As those skilled in the art will understand, many of the various features and configurations described above in relation to some exemplary embodiments may be further selectively applied to form other possible embodiments of the present invention. For the sake of brevity and in consideration of the ability of those skilled in the art, each of the possible iterations is not provided or discussed in detail, but all combinations and possible embodiments or others encompassed by some of the following claims are intended to be part of this application. In addition, from the above description of various exemplary embodiments of the present invention, those skilled in the art will understand improvements, changes, and modifications. Such improvements, changes, and modifications within the scope of the skill of those skilled in the art are also intended to be covered by the appended claims. Furthermore, it should be apparent that the above pertains only to the described embodiments of this application, and that numerous changes and modifications can be made herein without departing from the spirit and scope of this application as defined by the following claims and their equivalents.< / date> < / digit> < / digit> < / digit> < / digit> < / digit> < / digit> < / digit> < / digit> < / digit> < / digit>

Claims

1. A method for extending the tagging and masking of recognized entities in conversation transcripts to cover new entity types, wherein the method is: Steps include receiving a transcript of a conversation between participants, wherein the transcript is processed such that actual entities recognized in the conversation are replaced with their respective entity names, each entity name being associated with an entity type, and the entity types include both dedicated entity types and generic entity types. A parameter that defines a new entity type, wherein the parameter is A lookup trigger parameter specifies whether the lookup trigger that triggers the lookup process includes a keyword lookup trigger or an entity lookup trigger. When the lookup trigger includes the keyword lookup trigger, a keyword trigger parameter specifies one or more keywords that, when detected in the conversation transcript, trigger the lookup process. When the lookup trigger includes the entity lookup trigger, an entity trigger parameter specifying a selected dedicated entity type from among the dedicated entity types, hereinafter referred to as the selected dedicated entity type, triggers the lookup process when detected in the conversation transcript. In response to the trigger of the lookup process, a lookup entity parameter is searched within the conversation transcript, which specifies a selected generic entity type from among the generic entity types, hereinafter referred to as the selected generic entity type. In executing the lookup process, one or more search parameters specify the search range within the conversation transcript for performing the search for the selected generic entity type, A step of receiving parameters, including an entity name parameter that specifies the entity name of the new entity type, which, if detected during the lookup process, is used to replace the selected generic entity type; The step of performing a first process in relation to the received conversation transcript according to the received parameters that define the new entity type, wherein the first process is The system searches for one of the keyword lookup triggers or entity lookup triggers, and triggers a lookup process in response to its detection. The triggered lookup process is executed by searching the search range specified by the received parameters for the selected generic entity type, and detecting the selected generic entity type within the search range. Modify the conversation transcript so that the entity name of the detected selected generic entity type is replaced with the entity name of the new entity type. A method comprising outputting a revised version of the conversation transcript that includes the aforementioned modifications.

2. The aforementioned conversation script includes text derived from a conversation between an agent and a customer in the contact center. The method according to claim 1, wherein the new entity type includes information that can identify an individual.

3. The method according to claim 2, wherein the one or more search parameters include a participant parameter that specifies one or more of the participants in the conversation transcript to restrict the trigger in the lookup process to only when the detected lookup trigger is found in a turn associated with one or more specified participants.

4. The method according to claim 2, wherein the one or more search parameters include a number of turns parameter that specifies the number of turns the search is limited in the lookup, and the number of turns is measured continuously from the turn in which the lookup trigger is detected.

5. The method according to claim 4, wherein the one or more search parameters include a forward / backward search parameter that specifies whether the turn number of the turn number parameter is measured forward, backward, or both forward and backward in the conversation transcript with respect to the turn in which the lookup trigger is detected.

6. The method according to claim 2, wherein the received parameters further include a lookup entity count parameter that specifies how many times the selected generic entity type must be repeated sequentially before the lookup entity is deemed to have been detected when the lookup process is performed.

7. The one or more search parameters mentioned above are: A participant parameter specifying one or more of the participants in the conversation transcript to restrict the triggers in the lookup process to only those turns associated with one or more of the specified participants, The number of turns in which the search is restricted in the lookup, wherein the number of turns is measured continuously from the turn in which the lookup trigger is detected, and includes a turn number parameter that specifies the number of turns. The method according to claim 2, wherein the turn number parameter includes a forward / backward lookup parameter that specifies whether the turn in which the lookup trigger is detected is measured forward, backward, or both forward and backward in the conversation transcript.

8. The method according to claim 7, wherein the received parameters further include a lookup entity count parameter that specifies how many times the selected generic entity type must be repeated sequentially before the lookup entity is deemed to have been detected when the lookup process is performed.

9. The received parameters include input received from the user, The method according to claim 2, wherein the output of the modified version of the conversation transcript is sent to a downstream process that requires specific labeling of the type of personally identifiable information in order to restrict access to personally identifiable information.

10. The method according to claim 2, wherein the received conversation transcript includes a conversation transcript processed by a machine learning model trained for named entity recognition.

11. A system for extending the tagging and masking of recognized entities in conversation transcripts to cover new entity types, wherein the system Processor and A memory that stores instructions, and when the instructions are executed by the processor, the processor, Steps include receiving a transcript of a conversation between participants, wherein the transcript is processed such that actual entities recognized in the conversation are replaced with their respective entity names, each entity name being associated with an entity type, and the entity types include both dedicated entity types and generic entity types. A parameter that defines a new entity type, wherein the parameter is A lookup trigger parameter specifies whether the lookup trigger that triggers the lookup process includes a keyword lookup trigger or an entity lookup trigger. When the lookup trigger includes the keyword lookup trigger, a keyword trigger parameter specifies one or more keywords that, when detected in the conversation transcript, trigger the lookup process. When the lookup trigger includes the entity lookup trigger, an entity trigger parameter specifying a selected dedicated entity type from among the dedicated entity types, hereinafter referred to as the selected dedicated entity type, triggers the lookup process when detected in the conversation transcript. In response to the trigger of the lookup process, a lookup entity parameter is searched within the conversation transcript, which specifies a selected generic entity type from among the generic entity types, hereinafter referred to as the selected generic entity type. In executing the lookup process, one or more search parameters specify the search range within the conversation transcript for performing the search for the selected generic entity type, A step of receiving parameters, including an entity name parameter that specifies the entity name of the new entity type, which, if detected during the lookup process, is used to replace the selected generic entity type; The first process is performed in relation to the received conversation transcript, according to the received parameters that define the new entity type, and the first process is performed The system searches for one of the keyword lookup triggers or entity lookup triggers, and triggers a lookup process in response to its detection. The triggered lookup process is executed by searching the search range specified by the received parameters for the selected generic entity type, and detecting the selected generic entity type within the search range. Modify the conversation transcript so that the entity name of the detected selected generic entity type is replaced with the entity name of the new entity type. A system that includes outputting a revised version of the conversation transcript that includes the aforementioned modifications.

12. The aforementioned conversation script includes text derived from a conversation between an agent and a customer in the contact center. The system according to claim 11, wherein the new entity type includes information that can identify an individual.

13. The system according to claim 12, wherein the one or more search parameters include a participant parameter that specifies one or more of the participants in the conversation transcript to restrict the trigger in the lookup process to only when the detected lookup trigger is found in a turn associated with one or more specified participants.

14. The system according to claim 12, wherein the one or more search parameters include a number of turns parameter that specifies the number of turns the search is limited in the lookup, and the number of turns is measured continuously from the turn in which the lookup trigger is detected.

15. The system according to claim 14, wherein the one or more search parameters include a forward / backward search parameter that specifies whether the turn number of the turn number parameter is measured forward, backward, or both forward and backward in the conversation transcript with respect to the turn in which the lookup trigger is detected.

16. The system according to claim 12, wherein the received parameters further include a lookup entity count parameter that specifies how many times the selected generic entity type must be repeated sequentially before the lookup entity is deemed to have been detected when the lookup process is performed.

17. The one or more search parameters mentioned above are: A participant parameter specifying one or more of the participants in the conversation transcript to restrict the triggers in the lookup process to only those turns associated with one or more of the specified participants, The number of turns in which the search is restricted in the lookup, wherein the number of turns is measured continuously from the turn in which the lookup trigger is detected, and includes a turn number parameter that specifies the number of turns. The system according to claim 12, wherein the turn number parameter includes a forward / backward lookup parameter that specifies whether the turn in which the lookup trigger is detected is measured forward, backward, or both forward and backward in the conversation transcript.

18. The system according to claim 17, wherein the received parameters further include a lookup entity count parameter that specifies how many times the selected generic entity type must be repeated sequentially before the lookup entity is deemed to have been detected when the lookup process is performed.

19. The received parameters include input received from the user, The system according to claim 12, wherein the output of the modified version of the conversation transcript is sent to a downstream process that requires specific labeling of the type of personally identifiable information in order to restrict access to personally identifiable information.

20. The system according to claim 12, wherein the received conversation transcript includes a conversation transcript processed by a machine learning model trained for named entity recognition.