US20210092224A1 - Machine learning dataset generation using a natural language processing technique - Google Patents

Machine learning dataset generation using a natural language processing technique Download PDF

Info

Publication number
US20210092224A1
US20210092224A1 US16/579,340 US201916579340A US2021092224A1 US 20210092224 A1 US20210092224 A1 US 20210092224A1 US 201916579340 A US201916579340 A US 201916579340A US 2021092224 A1 US2021092224 A1 US 2021092224A1
Authority
US
United States
Prior art keywords
phone call
call
server
live
dataset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US16/579,340
Other versions
US10958779B1 (en
Inventor
Jeffrey Rule
Kaitlin Newman
Rajko Ilincic
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Capital One Services LLC
Original Assignee
Capital One Services LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Capital One Services LLC filed Critical Capital One Services LLC
Priority to US16/579,340 priority Critical patent/US10958779B1/en
Assigned to CAPITAL ONE SERVICES, LLC reassignment CAPITAL ONE SERVICES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NEWMAN, KAITLIN, RULE, JEFFREY
Assigned to CAPITAL ONE SERVICES, LLC reassignment CAPITAL ONE SERVICES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NEWMAN, KAITLIN, ILINCIC, RAJKO, RULE, JEFFREY
Priority to US17/170,329 priority patent/US11711462B2/en
Application granted granted Critical
Publication of US10958779B1 publication Critical patent/US10958779B1/en
Publication of US20210092224A1 publication Critical patent/US20210092224A1/en
Priority to US18/212,429 priority patent/US20240031477A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/24Arrangements for supervision, monitoring or testing with provision for checking the normal operation
    • H04M3/247Knowledge-based maintenance systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1491Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/436Arrangements for screening incoming calls, i.e. evaluating the characteristics of a call before deciding whether to answer it
    • H04M3/4365Arrangements for screening incoming calls, i.e. evaluating the characteristics of a call before deciding whether to answer it based on information specified by the calling party, e.g. priority or subject
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/60Aspects of automatic or semi-automatic exchanges related to security aspects in telephonic communication systems
    • H04M2203/6027Fraud preventions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/16Special services or facilities with computer telephone integration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2218Call detail recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2281Call monitoring, e.g. for law enforcement purposes; Call tracing; Detection or prevention of malicious calls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/54Arrangements for diverting calls for one subscriber to another predetermined subscriber

Definitions

  • Machine learning uses statistical techniques for teaching computers with data to perform specific tasks without being explicitly programmed to do so.
  • the goal of machine learning is to construct algorithms that can learn from and make predictions on data. These algorithms work by creating mathematical models which can classify data. The process of creating the models can involve training and fine-tuning the model parameters using input data.
  • a chatbot can be a computer program which conducts a conversation with a human user.
  • Many service providers take advantage of chatbots in their technical as well as business operations. For example, some use chatbots for information gathering purposes and others use chatbots for customer service operations.
  • fraudsters can easily access this information and attempt to change account level information for customers. For example, fraudsters often try to call customer service phone lines and change customers' contact information. The goal of these fraudsters is to change a mean of communication by which a one-time code can be transmitted to a customer so that the fraudster can take over the customer's account and ultimately change the password or order a product. Typically, fraudsters try to change mailing addresses, telephone numbers, or email addresses of customers. In fact, over 90% percent of the calls requesting change of email addresses or phone numbers are fraudulent calls.
  • a system and method is described herein to identify these fraudulent calls and dissuade fraudsters from making future phone calls.
  • a machine learning technique has been described to identify an incoming phone call and direct the call to a chatbot for stalling the call.
  • a server of a service provider can receive a plurality of records at a databases wherein each record is associated with a phone call and includes at least one request generated based on a transcript of the phone call using a natural language processing module of the server.
  • the server can generate a dataset based on the plurality of records, wherein the dataset shows an association between each phone call and the respective at least one request for the phone call.
  • the server can generate a training dataset, which is a subset of the dataset.
  • the server can further train a binary classification model using the training dataset, wherein the binary classification model is configured to receive an input and generate an output.
  • the server can receive a live transcript of a phone call in progress.
  • the server can generate at least one live request based on the live transcript of the phone call using the natural language processing module of the server.
  • the server can provide the at least one live request to the binary classification model as the input to generate the output.
  • the server can transmit the output to an entity receiving the phone call in progress.
  • the system proposed herein identifies a call as having a high likelihood of being a fraudulent call. Then, the system transfers the call to a chatbot which can keep the caller on the phone for a long period of time.
  • the chatbot can use various information such as the phone number or the caller's responses to ask follow-up questions and waste the caller's time. This technique can prevent fraudsters from calling back in future.
  • the chatbot can provide scripted responses and questions which can verify that the call is indeed fraudulent.
  • FIG. 1 shows an example flow chart for classification of an incoming call.
  • FIG. 2 illustrates exemplary hardware components for a server.
  • a service provider can receive a plurality of calls from a plurality of callers. Each caller can discuss at least one request during the call.
  • a server of the service provider can record and analyze the calls as the calls are ongoing.
  • a database of the server can store a record for each call.
  • the record can be a file, folder, media file, document, etc. and include information such as a time for an incoming call, a phone number from which the call was made, a request discussed during the call, an account to which the call pertained, etc.
  • the database can store a voice recording for each call. The voice recording can be a part of the record for the respective call.
  • the server can generate a dataset containing information about all or some of the calls received by the service provider. For example, the dataset can include an identification number for each call, a call transcript, a phone number associated with the call, a time of call, one or more requests discussed during the call, and an assessment as to whether the call was fraudulent.
  • the server can include a transcription module, which can generate a transcript for each call and store the transcript in the database.
  • the transcription module can divide a digital recording into small segments. The transcription module then matches these segments to known phonemes (i.e., the smallest element of a language) in the appropriate language.
  • the transcription module examines phonemes in the context of the other phonemes around them. The transcription module runs the contextual phoneme plot through a complex statistical model and compares them to a large library of known words, phrases and sentences. The transcription module then determines what the caller was saying and outputs it as text.
  • the transcription module can add the transcript of each call to the dataset.
  • the database can store a plurality of scripts previously used by other fraudsters.
  • the server can include a transcript comparison module, which can compare the transcript or parts of the transcript to scripts of other fraudulent calls.
  • the transcript comparison module can calculate a similarity score for the transcript.
  • the similarity score can indicate how similar the transcript is to one or more of the known scripts stored in the database.
  • the transcript comparison module can convert the transcript and the scripts to vectors of features.
  • the transcript comparison module can compare the transcript and the scripts by measuring the distance between these features and generate the similarity score based on the comparison.
  • the transcript comparison module can store the similarity score in association with the respective call.
  • a representative of the service provider speaks with the caller and the representative determines one or more requests discussed by the caller during the call.
  • the representative can generate or modify the record for the call to indicate the user's one or more requests.
  • the record can be stored in the database of the server.
  • the server can access the record to update or generate the dataset. For example, in the dataset and in association with the call (or the identification for the call), the server can store an entry indicating the caller's one or more requests.
  • the server can include an intent recognition module, which can analyze the transcript for a call (or a segment of a call) and determine at least one or more requests discussed during the call (or the segment of the call).
  • intent recognition module can use intent classification techniques.
  • Intent classification can be a natural language understanding (“NLU”) task that can understand at a high level what the user's intent is in a conversation, and thus, what request the user is intending to make during the call.
  • NLU natural language understanding
  • the intent recognition module can determine the intent using hard-coded rules with regular expression (i.e., scanning the words).
  • the intent recognition module can also determine the intent by training a supervised machine learning classification model on labeled data.
  • the intent recognition module can also include some preprocessing modules to convert text into character, word, or sentence embeddings that can be fed into the model.
  • Basic preprocessing can include stemming or lemmatization, sentence or word tokenization, stopword removal, etc. This can include a term frequency based approach, including TF-IDF, or Word2Vec, Universal Sentence Encoder, etc.
  • Part of the NLU can also include dependency parsing to try to capture negation, or sentiment analysis.
  • the intent recognition module can determine a request associated with the intent. This can involve named entity recognition (“NER”). NER can be implemented with regular expressions or more complicated statistical models.
  • NER can be implemented with regular expressions or more complicated statistical models.
  • the intent recognition module can generate or modify the record for the call to indicate the user's one or more requests.
  • the record can be stored in the database of the server. The server can access the record to update or generate the dataset.
  • the intent recognition module can determine that the caller is making a request for an account level change, e.g., a change of address, telephone number, email address or any mean by which the caller can receive a one-time code.
  • the intent recognition module can store this information in the call record and the server can update the dataset to indicate that the caller requested an account level change during the call.
  • the server can include a background sound detection module, which can detect background sounds played during the call.
  • the background sound detection module can review a recording of the call and detect the voice of a caller and the voice of the representative answering the call.
  • the background sound detection module can subtract (or take away) the voice of the caller and the voice of the representative answering the call.
  • the background sound detection module can compare what remains after the subtraction (i.e., the background noise) to known background noises stored on the database.
  • the database can store a plurality of known background noises played during known fraudulent calls. Based on the similarity of a background noise during a given call to one or more of the known background noises stored on the database, the background sound detection module can give a similarity score to the background noise detected during the given call.
  • the background sound detection module can update the record for the call to indicate the similarity score and the server can update or generate the dataset based on the updated record for the call.
  • the call representative can place the caller on a brief hold. During the hold, only the background noise can be heard or recorded.
  • the background sound detection module can detect the background noise without subtracting any sounds from the call recording.
  • the voice recording of the call can include a digital marker which can indicate to the background sound detection module that the call is on hold. The digital marker can be added by the call representative or it can be automatically generated when the caller is placed on hold.
  • the call representative can place the caller on a brief hold and play a predetermined music. During the hold, only the background noise and the predetermined music can be heard or recorded.
  • the background sound detection module can detect the background noise by subtracting the predetermined music from the call recording.
  • the background sound detection module can identify the background noise.
  • a machine learning algorithm can be trained to detect and determine background noises.
  • various voice clips including suspected background noises relating to fraudster calls can be filtered and sampled based on sound frequency.
  • the background sound can be processed using a soundwave matching technique.
  • the overall environment consists of multiple overlapping sound waves, e.g., HVAC system hum, computer keyboard clicks, and ambient street noise. These sound waves can be isolated. If a particular combination of unique sound patterns is heard on multiple calls you can assume a call center style environment where multiple fraudsters are calling from.
  • these sampled clips can be tagged with a name.
  • the model can be trained with these tagged clips. When a call comes in, the call can be tagged in real-time by providing continues voice samples to the model and get fraud alert scores back.
  • the background sound detection module can insert a background name in the record for the call and the server can update the dataset accordingly.
  • the database can include a plurality of vocal profiles for prior callers who were identified as fraudsters. Each vocal profile can store the characteristics of the voice of one fraudster, e.g., voice clip samples.
  • the server can include a voice recognition module, which can identify the vocal characteristics of the voice of a caller and create a vocal profile for the caller.
  • the voice recognition module can compare the vocal profile of a caller to the known vocal profiles of fraudsters. Based on the comparison between the vocal profile of the caller and the known vocal profiles for fraudsters, the voice recognition module can give a similarity score.
  • the voice recognition module can store the score in the record for the call and the server can update the dataset accordingly.
  • the server can include an accent recognition module.
  • the accent recognition module can review the voice recording for a call and recognize an accent for the caller.
  • the accent recognition module can store an accent associated with each call in the record for the call.
  • the server can update the dataset to include the accent for each call.
  • each call can be associated with a phone number (or another identification number).
  • the database of the server can store a list of phone numbers associated with fraudsters.
  • a module of the server can compare the phone number against the known phone numbers for fraudsters stored in the database.
  • the server can update the record for the call if there is a match.
  • the server can also update or generate the dataset based on the record for the call.
  • the server can trace the phone number for a call. Phone numbers are available as part of the incoming call data. The server can use the incoming call data.
  • the record for each call can include a time when the call was made and/or the duration of the call.
  • the server can store the time of the call in the dataset for each respective call.
  • the server can store a label indicator, which can indicate whether the call is fraudulent.
  • a label indicator can indicate whether the call is fraudulent.
  • the server can store a fraud indicator in the dataset or the call record.
  • the service provider representative which responds to the call can make a determination about the call. If the representative determines that the call is fraudulent, the representative can leave a label indicator (or a note) in the record for the call. The server can update the dataset to include the label indicator for the call.
  • the dataset can be labeled data for training a machine-learning model to predict whether a call is fraudulent.
  • the dataset created using the call records can be divided into several sub-datasets.
  • the dataset can be divided into a training dataset, a validation dataset and a test dataset.
  • 70 percent of the data in the main dataset can be placed in the training dataset
  • 20 percent of the data can be placed in the validation dataset
  • 10 percent of the data can be placed in the test dataset. In general, however, no specific ratio for the datasets is required.
  • the training dataset or the main dataset can be a skewed dataset.
  • any training dataset can enable a machine learning algorithm to adjust a model for accurate predictions
  • some training datasets are inadequate for certain applications.
  • datasets that are imbalanced or include a skewed class distribution are examples of datasets which can be insufficient for training classification models.
  • Machine learning algorithms tend to produce unsatisfactory models when trained with imbalanced training datasets because an imbalanced training dataset does not provide the necessary information about the minority class (or classes). If an imbalanced training dataset is fed into a model, the output will be biased, and in many cases result in always predicting the majority class. In other words, a model trained with an imbalanced dataset tends to be more sensitive to detecting the majority class and less sensitive to the minority class. For example, in the case of the fraud detection model, where most of the transactions are not fraudulent, if the model is trained with imbalanced data, the model might predict every transaction as genuine. Yet in these models, it is very important to discover the rarely occurring minority class members. Failure to discover these members can be costly and undermine the model's accuracy and usefulness. For example, failure to detect a fraudulent transaction or phone call can cost the financial institution money and other valuable resources.
  • sampling techniques for balancing an imbalanced training dataset (or dataset). Oversampling, undersampling or a combination of the two are only a few examples of such sampling techniques. These techniques can be used to change the class distribution of a training dataset or to correct a bias in the training dataset. Oversampling will multiply the minority class members in the training dataset so that the training dataset is balanced (or oversampling will multiply selection of the minority class members so that a balanced sample dataset is collected). Undersampling, on the other hand, will discard the majority class members in the training dataset so that the training dataset is balanced (or undersampling will decrease selection of the majority class members so that a balanced sample dataset is collected).
  • hybrid sampling techniques which combine oversampling and undersampling, Random Under-Sampling, Random Over-Sampling, Cluster-Based Over Sampling, Synthetic Minority Over-sampling Technique and Modified synthetic minority oversampling technique are a few examples of sampling techniques which can balance a skewed dataset.
  • multiple datasets are used at different stages of creating classification models.
  • These datasets can include a training dataset, a validation dataset and a test dataset.
  • the training dataset can be used to fit the parameters of the model.
  • the training dataset can include an input vector (e.g., the identification number for each call) and the corresponding answer vector (or the target or label).
  • the training dataset is fed to the model and the model produces a result set, which can be compared with the target. Based on this comparison, the parameters of the model can be adjusted.
  • a validation dataset can be fed into the model to further refine the parameters of the model.
  • the validation dataset provides an unbiased evaluation of the model fit on the training dataset while tuning the model's hyperparameters.
  • the test dataset can be used to provide an unbiased evaluation of a final model fit on the training dataset.
  • the main dataset can be used to train a classification model as describe above.
  • the server can provide certain data points as input to the classification model and receive an output from the classification model. Based on the output, the server can transfer the call to a chatbot.
  • the server is configured to gather certain data points about the call, e.g., the server can receive or ascertain information about a time for an incoming call, a phone number from which the call was made, etc. Additionally, the server can record a segment of the call, and based on the recording, the server can generate data points such as a transcript for the segment of the call, a request discussed during the call, an account to which the call pertained, a background noise, an indication of whether the segment of the call is similar to a known script for fraudulent calls, a vocal profile for the caller, an indication of whether the voice of the caller is a known vocal profile, an accent of the caller, etc.
  • the server can receive or ascertain information about a time for an incoming call, a phone number from which the call was made, etc.
  • the server can record a segment of the call, and based on the recording, the server can generate data points such as a transcript for the segment of the call, a request discussed during the call, an account to which the call pertained,
  • the server can provide these data points as input to the classification model and the classification model can provide an output which would indicate whether the call is a fraudulent call.
  • the classification model can assign a percentage rate to the call, and the percentage rate can indicate the likelihood that the call is a fraudulent call.
  • the server can escalate the call.
  • the service provider can refuse to honor the caller's request.
  • the server can transmit a communication to the representative who is answering the call and ask the representative to transfer the call to the chatbot or place the call on hold so that the server can transfer the call to the chatbot.
  • an escalated call can be transferred to an endless Interactive Voice Response phone loop.
  • a chatbot can be a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods.
  • a chatbot can provide a conversational experience for interaction with users.
  • a user can ask a question, the chatbot can interpret the question and then provide an answer.
  • a chatbot can ask a question or ask a user to provide certain information to the chatbot.
  • the user can provide a response to the chatbot which can classify the information in the response, and act according to the information.
  • a chatbot can be used in a dialog system for various purposes, e.g., customer service or information acquisition.
  • the server can include a chatbot.
  • a call can be transferred to the chatbot to continue the conversation with the caller.
  • the chatbot can use natural language processing systems or techniques.
  • the chatbot can use intent classification techniques to understand what the user asks the chatbot.
  • the server can also include some preprocessing modules to convert text into character, word, or sentence embeddings that can be fed into the chatbot.
  • Basic preprocessing can include stemming or lemmatization, sentence or word tokenization, stopword removal, etc. This can include a term frequency based approach, including TF-IDF, or Word2Vec, Universal Sentence Encoder, etc.
  • Part of the NLU can also include dependency parsing to try to capture negation, or sentiment analysis.
  • the chatbot can perform a task associated with the intent. This can involve named entity recognition (“NER”) to extract the specific information that the chatbot needs to fulfill the request. If the chatbot does not find the information it needs, the chatbot can ask further questions to get the required information.
  • NER can be implemented with regular expressions or more complicated statistical models.
  • a chatbot can scan for keywords within a request or message.
  • the chatbot can associate a task with certain keywords included in the request. For example, if there is a “Hello” keyword in the request, the chatbot can associate this keyword with the task of greeting.
  • the chatbot can reply to the request based on the task associated with the keyword. For example, the chatbot can reply a greeting phrase in response to receiving a greeting task.
  • the chatbot is configured to waste the caller's time without achieving any particular purpose.
  • the idea is that if the service provider wastes the fraudster's time, the fraudster is less unlikely to call the service provider again to perpetrate a fraud because the service provider not only does not engage with the fraudster, the service provider also wastes the fraudster's time.
  • the call can be transferred to a chatbot.
  • the chatbot can ask the caller a few introductory questions and solicit answers.
  • the chatbot can determine the questions based on a variety of factors. For example, the chatbot can receive some of the information that was provided to the classification model as input.
  • the chatbot can ask follow-up questions.
  • the chatbot can ask a set of predetermined questions and solicit answers.
  • the chatbot can ask a mix of predetermined questions as well as follow-up questions.
  • the chatbot can start by asking the user what the user's reason is for calling the service provider. Based on the user's answer, the chatbot can ask a question defined in a decision tree for the user's request. The chatbot can also ask random questions.
  • the chatbot can include a strategy module for responding to a transferred call.
  • the strategy module can select between one or more of the following strategies when the chatbot is engaging a caller.
  • the chatbot can ask questions and based on the caller's answers the chatbot can ask follow-up questions.
  • the chatbot can place the caller on hold.
  • the chatbot can transfer the caller to another chatbot.
  • the chatbot can mix the above strategies to generate new strategies. For example, a chatbot can ask a few introductory questions from a caller and place the caller on hold after asking the questions. Subsequently, the chatbot can ask follow-up questions based on the caller's answers, the chatbot can transfer the call to another chatbot.
  • the second chatbot can ask the same or different questions and follow a different strategy when engaging the caller.
  • the chatbot can determine the strategy for engaging the caller based on a variety of factors. For example, for a caller that is not a first time caller, the chatbot can implement a different strategy than the strategy that was implemented the first time. Specifically, using the voice recognition module or based on the phone number associated with the caller, the server can determine that the caller is not calling the service provider for the first time. When the call is transferred to the chatbot, the server can send an indication to the chatbot that the call is not a first time call. The strategy module can review the strategy implemented for the caller the first time. Using the indication as well as the strategy that was implanted the first time, the strategy module can devise a new strategy for engaging the caller.
  • the chatbot can devise a random strategy for each caller.
  • the chatbot can select a strategy based on a response provided by the caller. For example, in response to an introductory question, the caller can speak a sentence. The chatbot can record the sentence and provide it to an accent recognition module to identify the accent of the caller. Based on the accent of the caller, the chatbot can devise a strategy for engaging the caller.
  • FIG. 1 shows an example flow chart for classification of an incoming call.
  • a call in step 110 , can be routed through a server to a customer service line of a service provider.
  • the server can listen to the call and record the call.
  • the caller can ask the representative of the service provider to change an email address associated with an account of the caller.
  • a transcriber module of the server can transcribe the call and a natural language processing module of the server can determine a request discussed during the call, i.e., change of the email address associated with the account.
  • the server can provide the request as well as the phone number from which the call is made to a classification module.
  • the classification model can make a prediction about whether the call is a fraudulent call. If the call is not predicted to be a fraudulent call, the system will take no further action. If the call is predicted to be a fraudulent call, in step 150 , the server can send a signal to the representative and transfer the call to a chatbot. In step 160 , the chatbot can ask questions and receive input from the caller.
  • the server can transmit a message to the representative.
  • the message can include a false second factor authentication.
  • the message can ask the representative to issue the false second factor authentication.
  • the message can ask the representative to pretend to change the email address or phone number but not actually do it.
  • the call can be transferred to an endless Interactive Voice Response (IVR) phone loop.
  • IVR Interactive Voice Response
  • the fraudster is continuously prompted with questions and the fraudster is asked to press a key in response to these questions. For example, the user is asked to press 1 for a change of email address and press 2 for a change of telephone number.
  • the fraudster will be presented with many questions and in response to these questions, the fraudster will have to press various keys.
  • An endless IVR phone loop will present random questions to the fraudster and ultimately wastes the fraudster's time because it will not allow the fraudster to achieve his or her goal.
  • the questions presented to the fraudster in an endless IVR phone loop are predetermined. For example, all fraudsters will receive the same set of questions.
  • the questions can be shuffled, i.e., selected at random.
  • the questions are presented in a decision tree, i.e., the subsequent questions will depend on the fraudster's response to previous questions.
  • FIG. 2 illustrates exemplary hardware components of a server.
  • a computer system 200 may include and execute one or more subsystem components to perform functions described herein, including the steps of various flow processes described above.
  • a mobile device e.g., a cell phone, a smartphone, a laptop, a desktop, a notebook, a tablet, a wearable device, a server, etc., which includes some of the same components of the computer system 200 , may run an application (or software) and perform the steps and functionalities described above.
  • Computer system 200 may connect to a network 214 , e.g., Internet, or other network, to receive inquiries, obtain data, and transmit information and incentives as described above.
  • a network 214 e.g., Internet, or other network
  • the computer system 200 typically includes a memory 202 , a secondary storage device 204 , and a processor 206 .
  • the computer system 200 may also include a plurality of processors 206 and be configured as a plurality of, e.g., bladed servers, or other known server configurations.
  • the computer system 200 may also include a network connection device 208 , a display device 210 , and an input device 212 .
  • the computer system 200 may store one or more database structures in the secondary storage 204 , for example, for storing and maintaining the information necessary to perform the above-described functions. Alternatively, such information may be in storage devices separate from these components.
  • processor 206 may execute one or more software applications to provide the functions described in this specification, specifically to execute and perform the steps and functions in the process flows described above.
  • Such processes may be implemented in software, such as software modules, for execution by computers or other machines.
  • the GUIs may be formatted, for example, as web pages in HyperText Markup Language (HTML), Extensible Markup Language (XML) or in any other suitable form for presentation on a display device depending upon applications used by users to interact with the computer system 200 .
  • HTML HyperText Markup Language
  • XML Extensible Markup Language
  • the input device 212 may include any device for entering information into the computer system 200 , such as a touch-screen, keyboard, mouse, cursor-control device, microphone, digital camera, video recorder or camcorder.
  • the input and output device 212 may be used to enter information into GUIs during performance of the methods described above.
  • the display device 210 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display (or mobile device screen).
  • the display device 210 may display the GUIs and/or output from sub-system components (or software).
  • Examples of the computer system 200 include dedicated server computers, such as bladed servers, personal computers, laptop computers, notebook computers, palm top computers, network computers, mobile devices, or any processor-controlled device capable of executing a web browser or other type of application for interacting with the system.
  • dedicated server computers such as bladed servers, personal computers, laptop computers, notebook computers, palm top computers, network computers, mobile devices, or any processor-controlled device capable of executing a web browser or other type of application for interacting with the system.
  • system 200 may use multiple computer systems or servers as necessary or desired to support the users and may also use back-up or redundant servers to prevent network downtime in the event of a failure of a particular server.
  • computer system 200 is depicted with various components, one skilled in the art will appreciate that the system can contain additional or different components.
  • aspects of an implementation consistent with the above are described as being stored in a memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; or other forms of RAM or ROM.
  • the computer-readable media may include instructions for controlling the computer system 200 , to perform a particular method, such as methods described above.

Abstract

A server can receive a plurality of records at a databases such that each record is associated with a phone call and includes at least one request generated based on a transcript of the phone call. The server can generate a training dataset based on the plurality of records. The server can further train a binary classification model using the training dataset. Next, the server can receive a live transcript of a phone call in progress. The server can generate at least one live request based on the live transcript using a natural language processing module of the server. The server can provide the at least one live request to the binary classification model as input to generate a prediction. Lastly, the server can transmit the prediction to an entity receiving the phone call in progress. The prediction can cause a transfer of the call to a chatbot.

Description

    BACKGROUND
  • Machine learning uses statistical techniques for teaching computers with data to perform specific tasks without being explicitly programmed to do so. The goal of machine learning is to construct algorithms that can learn from and make predictions on data. These algorithms work by creating mathematical models which can classify data. The process of creating the models can involve training and fine-tuning the model parameters using input data.
  • A chatbot can be a computer program which conducts a conversation with a human user. Many service providers take advantage of chatbots in their technical as well as business operations. For example, some use chatbots for information gathering purposes and others use chatbots for customer service operations.
  • SUMMARY
  • With advancements in computer technology, users inevitably share their personal information with many technology platforms. For example, many technology platforms require their customers to provide personal information before these platforms open an account for their customers. Unfortunately, many of these platforms have been targets of security attacks which have compromised the personal information stored with these platforms. As a result, various personal information of customers is available on the web and elicit use of this information has become a common occurrence.
  • One consequence of the ubiquity of the personal information is that fraudsters can easily access this information and attempt to change account level information for customers. For example, fraudsters often try to call customer service phone lines and change customers' contact information. The goal of these fraudsters is to change a mean of communication by which a one-time code can be transmitted to a customer so that the fraudster can take over the customer's account and ultimately change the password or order a product. Typically, fraudsters try to change mailing addresses, telephone numbers, or email addresses of customers. In fact, over 90% percent of the calls requesting change of email addresses or phone numbers are fraudulent calls.
  • A system and method is described herein to identify these fraudulent calls and dissuade fraudsters from making future phone calls. In particular, a machine learning technique has been described to identify an incoming phone call and direct the call to a chatbot for stalling the call.
  • In one example embodiment, a server of a service provider can receive a plurality of records at a databases wherein each record is associated with a phone call and includes at least one request generated based on a transcript of the phone call using a natural language processing module of the server. The server can generate a dataset based on the plurality of records, wherein the dataset shows an association between each phone call and the respective at least one request for the phone call. The server can generate a training dataset, which is a subset of the dataset. The server can further train a binary classification model using the training dataset, wherein the binary classification model is configured to receive an input and generate an output. Next, the server can receive a live transcript of a phone call in progress. The server can generate at least one live request based on the live transcript of the phone call using the natural language processing module of the server. The server can provide the at least one live request to the binary classification model as the input to generate the output. Lastly, the server can transmit the output to an entity receiving the phone call in progress.
  • The system proposed herein identifies a call as having a high likelihood of being a fraudulent call. Then, the system transfers the call to a chatbot which can keep the caller on the phone for a long period of time. The chatbot can use various information such as the phone number or the caller's responses to ask follow-up questions and waste the caller's time. This technique can prevent fraudsters from calling back in future. The chatbot can provide scripted responses and questions which can verify that the call is indeed fraudulent.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows an example flow chart for classification of an incoming call.
  • FIG. 2 illustrates exemplary hardware components for a server.
  • DETAILED DESCRIPTION
  • Generate a Database Including Call Data
  • In one example embodiment, a service provider can receive a plurality of calls from a plurality of callers. Each caller can discuss at least one request during the call. A server of the service provider can record and analyze the calls as the calls are ongoing. A database of the server can store a record for each call. For example, the record can be a file, folder, media file, document, etc. and include information such as a time for an incoming call, a phone number from which the call was made, a request discussed during the call, an account to which the call pertained, etc. Additionally, the database can store a voice recording for each call. The voice recording can be a part of the record for the respective call. The server can generate a dataset containing information about all or some of the calls received by the service provider. For example, the dataset can include an identification number for each call, a call transcript, a phone number associated with the call, a time of call, one or more requests discussed during the call, and an assessment as to whether the call was fraudulent.
  • The server can include a transcription module, which can generate a transcript for each call and store the transcript in the database. For example, the transcription module can divide a digital recording into small segments. The transcription module then matches these segments to known phonemes (i.e., the smallest element of a language) in the appropriate language. Next, the transcription module examines phonemes in the context of the other phonemes around them. The transcription module runs the contextual phoneme plot through a complex statistical model and compares them to a large library of known words, phrases and sentences. The transcription module then determines what the caller was saying and outputs it as text. In one embodiment, the transcription module can add the transcript of each call to the dataset.
  • Oftentimes, fraudsters follow a specific script during a fraudulent call. As such, it is a strong indicator of a fraudulent call if a caller uses a known script previously used by another fraudster. In one example embodiment, the database can store a plurality of scripts previously used by other fraudsters. The server can include a transcript comparison module, which can compare the transcript or parts of the transcript to scripts of other fraudulent calls. The transcript comparison module can calculate a similarity score for the transcript. The similarity score can indicate how similar the transcript is to one or more of the known scripts stored in the database. In one example embodiment, the transcript comparison module can convert the transcript and the scripts to vectors of features. The transcript comparison module can compare the transcript and the scripts by measuring the distance between these features and generate the similarity score based on the comparison. In one example embodiment, for each call represented in the dataset, the transcript comparison module can store the similarity score in association with the respective call.
  • In one example embodiment, when a caller calls the service provider, a representative of the service provider speaks with the caller and the representative determines one or more requests discussed by the caller during the call. The representative can generate or modify the record for the call to indicate the user's one or more requests. The record can be stored in the database of the server. The server can access the record to update or generate the dataset. For example, in the dataset and in association with the call (or the identification for the call), the server can store an entry indicating the caller's one or more requests.
  • In one example embodiment, the server can include an intent recognition module, which can analyze the transcript for a call (or a segment of a call) and determine at least one or more requests discussed during the call (or the segment of the call). For example, the intent recognition module can use intent classification techniques. Intent classification can be a natural language understanding (“NLU”) task that can understand at a high level what the user's intent is in a conversation, and thus, what request the user is intending to make during the call. The intent recognition module can determine the intent using hard-coded rules with regular expression (i.e., scanning the words). The intent recognition module can also determine the intent by training a supervised machine learning classification model on labeled data. Many machine-learning models can be used for this purpose, e.g., a neural network (or deep learning), a recurrent neural net such as LSTM, decision tree-based methods like random forest or gradient boosted machines, support vector machine, logistic regression, etc. The intent recognition module can also include some preprocessing modules to convert text into character, word, or sentence embeddings that can be fed into the model. Basic preprocessing can include stemming or lemmatization, sentence or word tokenization, stopword removal, etc. This can include a term frequency based approach, including TF-IDF, or Word2Vec, Universal Sentence Encoder, etc. Part of the NLU can also include dependency parsing to try to capture negation, or sentiment analysis.
  • Once the intent recognition module determines the intent of the call (or the segment of the call), the intent recognition module can determine a request associated with the intent. This can involve named entity recognition (“NER”). NER can be implemented with regular expressions or more complicated statistical models. The intent recognition module can generate or modify the record for the call to indicate the user's one or more requests. The record can be stored in the database of the server. The server can access the record to update or generate the dataset.
  • In one example embodiment, the intent recognition module can determine that the caller is making a request for an account level change, e.g., a change of address, telephone number, email address or any mean by which the caller can receive a one-time code. The intent recognition module can store this information in the call record and the server can update the dataset to indicate that the caller requested an account level change during the call.
  • To confuse and stress the representative who answers a call, sometimes fraudsters create a high-stress environment during the call. In some circumstances, the representative is influenced by the high-stress environment and surrenders to the fraudster's demands. For example, some fraudsters play the sound of a baby crying in the background, which can stress many call representatives. In one example embodiment, the server can include a background sound detection module, which can detect background sounds played during the call. The background sound detection module can review a recording of the call and detect the voice of a caller and the voice of the representative answering the call. The background sound detection module can subtract (or take away) the voice of the caller and the voice of the representative answering the call. The background sound detection module can compare what remains after the subtraction (i.e., the background noise) to known background noises stored on the database. For example, the database can store a plurality of known background noises played during known fraudulent calls. Based on the similarity of a background noise during a given call to one or more of the known background noises stored on the database, the background sound detection module can give a similarity score to the background noise detected during the given call. The background sound detection module can update the record for the call to indicate the similarity score and the server can update or generate the dataset based on the updated record for the call.
  • In one example embodiment, to detect the background noise, the call representative can place the caller on a brief hold. During the hold, only the background noise can be heard or recorded. In this example embodiment, the background sound detection module can detect the background noise without subtracting any sounds from the call recording. The voice recording of the call can include a digital marker which can indicate to the background sound detection module that the call is on hold. The digital marker can be added by the call representative or it can be automatically generated when the caller is placed on hold. In another example embodiment, the call representative can place the caller on a brief hold and play a predetermined music. During the hold, only the background noise and the predetermined music can be heard or recorded. In this example embodiment, the background sound detection module can detect the background noise by subtracting the predetermined music from the call recording.
  • In one example embodiment, the background sound detection module can identify the background noise. For example, a machine learning algorithm can be trained to detect and determine background noises. In one embodiment, various voice clips including suspected background noises relating to fraudster calls can be filtered and sampled based on sound frequency. For example, the background sound can be processed using a soundwave matching technique. The overall environment consists of multiple overlapping sound waves, e.g., HVAC system hum, computer keyboard clicks, and ambient street noise. These sound waves can be isolated. If a particular combination of unique sound patterns is heard on multiple calls you can assume a call center style environment where multiple fraudsters are calling from. Additionally, these sampled clips can be tagged with a name. The model can be trained with these tagged clips. When a call comes in, the call can be tagged in real-time by providing continues voice samples to the model and get fraud alert scores back. In these embodiments, the background sound detection module can insert a background name in the record for the call and the server can update the dataset accordingly.
  • In one example embodiment, the database can include a plurality of vocal profiles for prior callers who were identified as fraudsters. Each vocal profile can store the characteristics of the voice of one fraudster, e.g., voice clip samples. The server can include a voice recognition module, which can identify the vocal characteristics of the voice of a caller and create a vocal profile for the caller. The voice recognition module can compare the vocal profile of a caller to the known vocal profiles of fraudsters. Based on the comparison between the vocal profile of the caller and the known vocal profiles for fraudsters, the voice recognition module can give a similarity score. The voice recognition module can store the score in the record for the call and the server can update the dataset accordingly.
  • In one example embodiment, the server can include an accent recognition module. The accent recognition module can review the voice recording for a call and recognize an accent for the caller. The accent recognition module can store an accent associated with each call in the record for the call. The server can update the dataset to include the accent for each call.
  • In one example embodiment, each call can be associated with a phone number (or another identification number). The database of the server can store a list of phone numbers associated with fraudsters. A module of the server can compare the phone number against the known phone numbers for fraudsters stored in the database. The server can update the record for the call if there is a match. The server can also update or generate the dataset based on the record for the call.
  • In one example embodiment, the server can trace the phone number for a call. Phone numbers are available as part of the incoming call data. The server can use the incoming call data.
  • In one example embodiment, the record for each call can include a time when the call was made and/or the duration of the call. The server can store the time of the call in the dataset for each respective call.
  • In one example embodiment, for each call included in the dataset or for each call record, the server can store a label indicator, which can indicate whether the call is fraudulent. There can be various techniques for determining whether a call is fraudulent. In one example, if after the call a customer reports fraudulent activity on the account, the server can store a fraud indicator in the dataset or the call record. As another example, after each call, the service provider representative which responds to the call can make a determination about the call. If the representative determines that the call is fraudulent, the representative can leave a label indicator (or a note) in the record for the call. The server can update the dataset to include the label indicator for the call.
  • In one example embodiment, the dataset can be labeled data for training a machine-learning model to predict whether a call is fraudulent.
  • Generate a Training Dataset
  • In some embodiments, the dataset created using the call records (the “main dataset”) can be divided into several sub-datasets. For example, the dataset can be divided into a training dataset, a validation dataset and a test dataset. In one example embodiment, 70 percent of the data in the main dataset can be placed in the training dataset, 20 percent of the data can be placed in the validation dataset and 10 percent of the data can be placed in the test dataset. In general, however, no specific ratio for the datasets is required.
  • In one example embodiment, the training dataset or the main dataset can be a skewed dataset. Although in theory any training dataset can enable a machine learning algorithm to adjust a model for accurate predictions, in practice, some training datasets are inadequate for certain applications. For example, datasets that are imbalanced or include a skewed class distribution are examples of datasets which can be insufficient for training classification models. In these datasets, there usually is a majority class and at least one minority class, and the number of majority class members can significantly exceed those of the minority class members. This phenomenon often occurs in fraud detection, medical diagnosis or spam classification applications. For example, in fraud detection applications, for every fraudulent transaction, there can be hundreds or even thousands of properly authorized transactions.
  • Machine learning algorithms tend to produce unsatisfactory models when trained with imbalanced training datasets because an imbalanced training dataset does not provide the necessary information about the minority class (or classes). If an imbalanced training dataset is fed into a model, the output will be biased, and in many cases result in always predicting the majority class. In other words, a model trained with an imbalanced dataset tends to be more sensitive to detecting the majority class and less sensitive to the minority class. For example, in the case of the fraud detection model, where most of the transactions are not fraudulent, if the model is trained with imbalanced data, the model might predict every transaction as genuine. Yet in these models, it is very important to discover the rarely occurring minority class members. Failure to discover these members can be costly and undermine the model's accuracy and usefulness. For example, failure to detect a fraudulent transaction or phone call can cost the financial institution money and other valuable resources.
  • There are various sampling techniques for balancing an imbalanced training dataset (or dataset). Oversampling, undersampling or a combination of the two are only a few examples of such sampling techniques. These techniques can be used to change the class distribution of a training dataset or to correct a bias in the training dataset. Oversampling will multiply the minority class members in the training dataset so that the training dataset is balanced (or oversampling will multiply selection of the minority class members so that a balanced sample dataset is collected). Undersampling, on the other hand, will discard the majority class members in the training dataset so that the training dataset is balanced (or undersampling will decrease selection of the majority class members so that a balanced sample dataset is collected).
  • Additionally, hybrid sampling techniques which combine oversampling and undersampling, Random Under-Sampling, Random Over-Sampling, Cluster-Based Over Sampling, Synthetic Minority Over-sampling Technique and Modified synthetic minority oversampling technique are a few examples of sampling techniques which can balance a skewed dataset.
  • The Classification Model
  • In some embodiments, multiple datasets are used at different stages of creating classification models. These datasets can include a training dataset, a validation dataset and a test dataset. Initially, the training dataset can be used to fit the parameters of the model. The training dataset can include an input vector (e.g., the identification number for each call) and the corresponding answer vector (or the target or label). In this stage, the training dataset is fed to the model and the model produces a result set, which can be compared with the target. Based on this comparison, the parameters of the model can be adjusted. After adjusting the parameters of the model, a validation dataset can be fed into the model to further refine the parameters of the model. The validation dataset provides an unbiased evaluation of the model fit on the training dataset while tuning the model's hyperparameters. Finally, the test dataset can be used to provide an unbiased evaluation of a final model fit on the training dataset. Yet in other embodiments, there is no need for training a model using the datasets as described above because fewer or more datasets can be used to train the model.
  • In one example embodiment, the main dataset can be used to train a classification model as describe above. Once the classification model is trained, during a call, the server can provide certain data points as input to the classification model and receive an output from the classification model. Based on the output, the server can transfer the call to a chatbot.
  • For example, at the beginning of a call, the server is configured to gather certain data points about the call, e.g., the server can receive or ascertain information about a time for an incoming call, a phone number from which the call was made, etc. Additionally, the server can record a segment of the call, and based on the recording, the server can generate data points such as a transcript for the segment of the call, a request discussed during the call, an account to which the call pertained, a background noise, an indication of whether the segment of the call is similar to a known script for fraudulent calls, a vocal profile for the caller, an indication of whether the voice of the caller is a known vocal profile, an accent of the caller, etc. The server can provide these data points as input to the classification model and the classification model can provide an output which would indicate whether the call is a fraudulent call. For example, the classification model can assign a percentage rate to the call, and the percentage rate can indicate the likelihood that the call is a fraudulent call.
  • If the assigned percentage rate is higher than a predetermined rate, the server can escalate the call. When a call is escalated, the service provider can refuse to honor the caller's request. For example, the server can transmit a communication to the representative who is answering the call and ask the representative to transfer the call to the chatbot or place the call on hold so that the server can transfer the call to the chatbot. As another example, an escalated call can be transferred to an endless Interactive Voice Response phone loop.
  • The Chatbot
  • A chatbot (also known as a smartbot, talkbot, chatterbot, Bot, IM bot, interactive agent, Conversational interface or Artificial Conversational Entity) can be a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods. A chatbot can provide a conversational experience for interaction with users. In one example, a user can ask a question, the chatbot can interpret the question and then provide an answer. In another example, a chatbot can ask a question or ask a user to provide certain information to the chatbot. The user can provide a response to the chatbot which can classify the information in the response, and act according to the information. A chatbot can be used in a dialog system for various purposes, e.g., customer service or information acquisition.
  • In an example embodiment, the server can include a chatbot. A call can be transferred to the chatbot to continue the conversation with the caller. The chatbot can use natural language processing systems or techniques. For example, the chatbot can use intent classification techniques to understand what the user asks the chatbot. The server can also include some preprocessing modules to convert text into character, word, or sentence embeddings that can be fed into the chatbot. Basic preprocessing can include stemming or lemmatization, sentence or word tokenization, stopword removal, etc. This can include a term frequency based approach, including TF-IDF, or Word2Vec, Universal Sentence Encoder, etc. Part of the NLU can also include dependency parsing to try to capture negation, or sentiment analysis.
  • Once the chatbot knows the intent of the conversation (e.g., account update when the caller asks the chatbot to change the address associated with an account), the chatbot can perform a task associated with the intent. This can involve named entity recognition (“NER”) to extract the specific information that the chatbot needs to fulfill the request. If the chatbot does not find the information it needs, the chatbot can ask further questions to get the required information. NER can be implemented with regular expressions or more complicated statistical models.
  • In another example embodiment, a chatbot can scan for keywords within a request or message. The chatbot can associate a task with certain keywords included in the request. For example, if there is a “Hello” keyword in the request, the chatbot can associate this keyword with the task of greeting. The chatbot can reply to the request based on the task associated with the keyword. For example, the chatbot can reply a greeting phrase in response to receiving a greeting task.
  • In one example embodiment, after a call is transferred to the chatbot, the chatbot is configured to waste the caller's time without achieving any particular purpose. The idea is that if the service provider wastes the fraudster's time, the fraudster is less unlikely to call the service provider again to perpetrate a fraud because the service provider not only does not engage with the fraudster, the service provider also wastes the fraudster's time. For example, when a caller is a suspected fraudster, the call can be transferred to a chatbot. The chatbot can ask the caller a few introductory questions and solicit answers. The chatbot can determine the questions based on a variety of factors. For example, the chatbot can receive some of the information that was provided to the classification model as input. Using this information, the chatbot can ask follow-up questions. As another example, the chatbot can ask a set of predetermined questions and solicit answers. As yet another example, the chatbot can ask a mix of predetermined questions as well as follow-up questions. For example, the chatbot can start by asking the user what the user's reason is for calling the service provider. Based on the user's answer, the chatbot can ask a question defined in a decision tree for the user's request. The chatbot can also ask random questions.
  • In one example embodiment, the chatbot can include a strategy module for responding to a transferred call. The strategy module can select between one or more of the following strategies when the chatbot is engaging a caller. In one example, according to a first strategy, the chatbot can ask questions and based on the caller's answers the chatbot can ask follow-up questions. In another example, according to a second strategy, the chatbot can place the caller on hold. In yet another example, according to a third strategy, the chatbot can transfer the caller to another chatbot. The chatbot can mix the above strategies to generate new strategies. For example, a chatbot can ask a few introductory questions from a caller and place the caller on hold after asking the questions. Subsequently, the chatbot can ask follow-up questions based on the caller's answers, the chatbot can transfer the call to another chatbot. The second chatbot can ask the same or different questions and follow a different strategy when engaging the caller.
  • The chatbot can determine the strategy for engaging the caller based on a variety of factors. For example, for a caller that is not a first time caller, the chatbot can implement a different strategy than the strategy that was implemented the first time. Specifically, using the voice recognition module or based on the phone number associated with the caller, the server can determine that the caller is not calling the service provider for the first time. When the call is transferred to the chatbot, the server can send an indication to the chatbot that the call is not a first time call. The strategy module can review the strategy implemented for the caller the first time. Using the indication as well as the strategy that was implanted the first time, the strategy module can devise a new strategy for engaging the caller. As another example, the chatbot can devise a random strategy for each caller. As yet another example, the chatbot can select a strategy based on a response provided by the caller. For example, in response to an introductory question, the caller can speak a sentence. The chatbot can record the sentence and provide it to an accent recognition module to identify the accent of the caller. Based on the accent of the caller, the chatbot can devise a strategy for engaging the caller.
  • Example Embodiment
  • FIG. 1 shows an example flow chart for classification of an incoming call. In one example embodiment, in step 110, a call can be routed through a server to a customer service line of a service provider. The server can listen to the call and record the call. The caller can ask the representative of the service provider to change an email address associated with an account of the caller. In step 120, a transcriber module of the server can transcribe the call and a natural language processing module of the server can determine a request discussed during the call, i.e., change of the email address associated with the account. In step 130, the server can provide the request as well as the phone number from which the call is made to a classification module. In step 140, the classification model can make a prediction about whether the call is a fraudulent call. If the call is not predicted to be a fraudulent call, the system will take no further action. If the call is predicted to be a fraudulent call, in step 150, the server can send a signal to the representative and transfer the call to a chatbot. In step 160, the chatbot can ask questions and receive input from the caller.
  • In one example embodiment, instead of transferring the call to the chatbot, the server can transmit a message to the representative. In one example, the message can include a false second factor authentication. In another example, the message can ask the representative to issue the false second factor authentication. In yet another example, the message can ask the representative to pretend to change the email address or phone number but not actually do it.
  • In one example embodiment, in step 150, instead of transferring the call to a chatbot, the call can be transferred to an endless Interactive Voice Response (IVR) phone loop. In an endless IVR phone loop, the fraudster is continuously prompted with questions and the fraudster is asked to press a key in response to these questions. For example, the user is asked to press 1 for a change of email address and press 2 for a change of telephone number. The fraudster will be presented with many questions and in response to these questions, the fraudster will have to press various keys. An endless IVR phone loop will present random questions to the fraudster and ultimately wastes the fraudster's time because it will not allow the fraudster to achieve his or her goal.
  • In one example embodiment, the questions presented to the fraudster in an endless IVR phone loop are predetermined. For example, all fraudsters will receive the same set of questions. In another example embodiment, the questions can be shuffled, i.e., selected at random. In yet another example, the questions are presented in a decision tree, i.e., the subsequent questions will depend on the fraudster's response to previous questions.
  • Technical Implementation of the Server
  • FIG. 2 illustrates exemplary hardware components of a server. A computer system 200, or other computer systems similarly configured, may include and execute one or more subsystem components to perform functions described herein, including the steps of various flow processes described above. Likewise, a mobile device, a cell phone, a smartphone, a laptop, a desktop, a notebook, a tablet, a wearable device, a server, etc., which includes some of the same components of the computer system 200, may run an application (or software) and perform the steps and functionalities described above. Computer system 200 may connect to a network 214, e.g., Internet, or other network, to receive inquiries, obtain data, and transmit information and incentives as described above.
  • The computer system 200 typically includes a memory 202, a secondary storage device 204, and a processor 206. The computer system 200 may also include a plurality of processors 206 and be configured as a plurality of, e.g., bladed servers, or other known server configurations. The computer system 200 may also include a network connection device 208, a display device 210, and an input device 212.
  • The memory 202 may include RAM or similar types of memory, and it may store one or more applications for execution by processor 206. Secondary storage device 204 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage. Processor 206 executes the application(s), such as those described herein, which are stored in memory 202 or secondary storage 204, or received from the Internet or other network 214. The processing by processor 206 may be implemented in software, such as software modules, for execution by computers or other machines. These applications preferably include instructions executable to perform the system and subsystem component functions and methods described above and illustrated in the FIGS. herein. The applications preferably provide graphical user interfaces (GUIs) through which users may view and interact with subsystem components.
  • The computer system 200 may store one or more database structures in the secondary storage 204, for example, for storing and maintaining the information necessary to perform the above-described functions. Alternatively, such information may be in storage devices separate from these components.
  • Also, as noted, processor 206 may execute one or more software applications to provide the functions described in this specification, specifically to execute and perform the steps and functions in the process flows described above. Such processes may be implemented in software, such as software modules, for execution by computers or other machines. The GUIs may be formatted, for example, as web pages in HyperText Markup Language (HTML), Extensible Markup Language (XML) or in any other suitable form for presentation on a display device depending upon applications used by users to interact with the computer system 200.
  • The input device 212 may include any device for entering information into the computer system 200, such as a touch-screen, keyboard, mouse, cursor-control device, microphone, digital camera, video recorder or camcorder. The input and output device 212 may be used to enter information into GUIs during performance of the methods described above. The display device 210 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display (or mobile device screen). The display device 210 may display the GUIs and/or output from sub-system components (or software).
  • Examples of the computer system 200 include dedicated server computers, such as bladed servers, personal computers, laptop computers, notebook computers, palm top computers, network computers, mobile devices, or any processor-controlled device capable of executing a web browser or other type of application for interacting with the system.
  • Although only one computer system 200 is shown in detail, system 200 may use multiple computer systems or servers as necessary or desired to support the users and may also use back-up or redundant servers to prevent network downtime in the event of a failure of a particular server. In addition, although computer system 200 is depicted with various components, one skilled in the art will appreciate that the system can contain additional or different components. In addition, although aspects of an implementation consistent with the above are described as being stored in a memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; or other forms of RAM or ROM. The computer-readable media may include instructions for controlling the computer system 200, to perform a particular method, such as methods described above.
  • The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its spirit and scope, as may be apparent. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, may be apparent from the foregoing representative descriptions. Such modifications and variations are intended to fall within the scope of the appended representative claims. The present disclosure is to be limited only by the terms of the appended representative claims, along with the full scope of equivalents to which such representative claims are entitled. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting.

Claims (20)

1. A method comprising:
receiving a plurality of records at a database of a server wherein each record:
is associated with a phone call;
includes at least one request generated based on a transcript of the phone call using a natural language processing module of the server; and
includes a fraud designation being one of a fraudulent call and a non-fraudulent call;
detecting a background noise for each phone call using a background detection module of the server;
comparing the background noise to a plurality of known background noises stored in the database of the server;
if the background noise matches a known background noise stored in the database, storing an identification number of the known background noise in each respective record, wherein the dataset shows an association between each phone call and the background noise;
generating a dataset based on the plurality of records, wherein the dataset shows an association between each phone call, a respective at least one request and the fraud designation for the phone call;
generating a training dataset, which is a subset of the dataset;
training a binary classification model using the training dataset, wherein the binary classification model is configured to receive an input and generate an output;
receiving a live transcript of a new phone call in progress;
generating at least one live request based on the live transcript of the new phone call using the natural language processing module of the server;
providing the at least one live request to the binary classification model as the input to generate the output, wherein the output is a determination of a likelihood that the new phone call has the fraudulent call designation of the fraud designation; and
transmitting the output to an entity receiving the phone call in progress.
2. The method of claim 1, further comprising transmitting a signal to the entity receiving the phone call to transmit the phone call to a chatbot.
3. The method of claim 2, wherein the chatbot is configured to receive a verbal query from a caller and provide a response to the caller based on the verbal query.
4. The method of claim 3, wherein the response is a verbal response, a delay in response or a placement of the phone call on hold.
5. The method of claim 1, wherein each record includes a phone number, an account number, a time of the phone call, or a voice recording of the phone call.
6. The method of claim 5, further comprising:
generating a voice profile for each voice recording using a voice recognition module of the server; and
storing the voice profile in each respective record, wherein the dataset shows an association between each phone call and the voice profile associated with the voice recording of the phone call.
7. The method of claim 6, further comprising:
receiving a live recording of a phone call in progress;
generating a live voice profile based on the live recording of the phone call using the voice recognition module of the server; and
providing the live voice profile to the binary classification model as the input to generate the output.
8. (canceled)
9. The method of claim 1, further comprising:
receiving a live recording of a phone call in progress;
generating a live background noise based on the live recording of the phone call using the background detection module of the server; and
comparing the live background noise to the plurality of known background noises stored in the database of the server;
if the live background noise matches the known background noise stored in the database, providing a live identification number of the known background noise to the binary classification model as the input to generate the output.
10. (canceled)
11. The method of claim 1, wherein the at least one request is:
a change of address;
a change of phone number; or
a change of an email address.
12. The method of claim 1, wherein the training data is generated by sampling the dataset using a sampling technique.
13. The method of claim 12, wherein the sampling technique is undersampling the dataset or oversampling the dataset.
14. The method of claim 12, wherein the sampling technique is one or a combination of the following:
Synthetic Minority Over-sampling Technique;
Modified synthetic minority oversampling technique;
Random Under-Sampling; or
Random Over-Sampling.
15. The method of claim 1, wherein the natural language processing module is configured to determine an intent of a conversation in the transcript of the phone call.
16. The method of claim 15, wherein the intent is determined based on keywords used in the conversation.
17. The method of claim 15, wherein the intent is determined using a machine learning model.
18. A method comprising:
receiving at an entity a classification signal from a server; and
transferring a live phone call to a phone number moderated by a chatbot;
wherein the server is configured to:
receive a plurality of records at a database of the server wherein each record:
is associated with a phone call;
includes at least one request generated based on a transcript of the phone call using a natural language processing module of the server; and
includes a fraud designation being one of a fraudulent call and a non-fraudulent call;
detect a background noise for each phone call using a background detection module of the server;
compare the background noise to a plurality of known background noises stored in the database of the server;
if the background noise matches a known background noise stored in the database, store an identification number of the known background noise in each respective record, wherein the dataset shows an association between each phone call and the background noise;
generate a dataset based on the plurality of records, wherein the dataset shows an association between each phone call, a respective at least one request and the fraud designation for the phone call;
generate a training dataset, which is a subset of the dataset;
train a binary classification model using the training dataset, wherein the binary classification model is configured to receive an input and generate an output;
receive a live transcript of the live phone call in progress;
generate at least one live request based on the live transcript of the live phone call using the natural language processing module of the server;
provide the at least one live request to the binary classification model as the input to generate the output, wherein the output is a determination of a likelihood that the live phone call has the fraudulent call designation of the fraud designation; and
transmit the output to the entity receiving the live phone call in progress.
19. The method of claim 18, wherein generating the training dataset is based on a sampling technique which is undersampling the dataset or oversampling the dataset.
20. The method of claim 18, wherein generating the training dataset is based on a sampling technique which is one or a combination of the following:
Synthetic Minority Over-sampling Technique;
Modified synthetic minority oversampling technique;
Random Under-Sampling; or
Random Over-Sampling.
US16/579,340 2019-09-23 2019-09-23 Machine learning dataset generation using a natural language processing technique Active US10958779B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/579,340 US10958779B1 (en) 2019-09-23 2019-09-23 Machine learning dataset generation using a natural language processing technique
US17/170,329 US11711462B2 (en) 2019-09-23 2021-02-08 Machine learning dataset generation using a natural language processing technique
US18/212,429 US20240031477A1 (en) 2019-09-23 2023-06-21 Machine learning dataset generation using a natural language processing technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/579,340 US10958779B1 (en) 2019-09-23 2019-09-23 Machine learning dataset generation using a natural language processing technique

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/170,329 Continuation US11711462B2 (en) 2019-09-23 2021-02-08 Machine learning dataset generation using a natural language processing technique

Publications (2)

Publication Number Publication Date
US10958779B1 US10958779B1 (en) 2021-03-23
US20210092224A1 true US20210092224A1 (en) 2021-03-25

Family

ID=74882250

Family Applications (3)

Application Number Title Priority Date Filing Date
US16/579,340 Active US10958779B1 (en) 2019-09-23 2019-09-23 Machine learning dataset generation using a natural language processing technique
US17/170,329 Active 2040-03-07 US11711462B2 (en) 2019-09-23 2021-02-08 Machine learning dataset generation using a natural language processing technique
US18/212,429 Pending US20240031477A1 (en) 2019-09-23 2023-06-21 Machine learning dataset generation using a natural language processing technique

Family Applications After (2)

Application Number Title Priority Date Filing Date
US17/170,329 Active 2040-03-07 US11711462B2 (en) 2019-09-23 2021-02-08 Machine learning dataset generation using a natural language processing technique
US18/212,429 Pending US20240031477A1 (en) 2019-09-23 2023-06-21 Machine learning dataset generation using a natural language processing technique

Country Status (1)

Country Link
US (3) US10958779B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681817B2 (en) * 2019-09-25 2023-06-20 Jpmorgan Chase Bank, N.A. System and method for implementing attribute classification for PII data
US20230223038A1 (en) * 2020-12-16 2023-07-13 Truleo, Inc. Audio analysis of body worn camera

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3139593B1 (en) 2005-03-11 2021-08-18 Hand Held Products, Inc. Digital picture taking optical reader having hybrid monochrome and color image sensor array
JP2008533591A (en) 2005-03-11 2008-08-21 ハンド ヘルド プロダクツ インコーポレーティッド Bar code reader with global electronic shutter control
US11961046B2 (en) * 2018-05-22 2024-04-16 Micro Focus Llc Automatic selection of request handler using trained classification model
US10958779B1 (en) * 2019-09-23 2021-03-23 Capital One Services, Llc Machine learning dataset generation using a natural language processing technique
FR3108819A1 (en) * 2020-03-31 2021-10-01 Orange Method and device for managing incoming calls in a communication terminal.
US11895264B2 (en) * 2020-07-02 2024-02-06 Pindrop Security, Inc. Fraud importance system
US11729121B2 (en) * 2021-04-29 2023-08-15 Bank Of America Corporation Executing a network of chatbots using a combination approach
US11907658B2 (en) * 2021-05-05 2024-02-20 Paypal, Inc. User-agent anomaly detection using sentence embedding
US11882239B2 (en) * 2021-05-19 2024-01-23 Mcafee, Llc Fraudulent call detection
US11875811B2 (en) * 2021-12-09 2024-01-16 Lenovo (United States) Inc. Input device activation noise suppression
US11689486B1 (en) * 2022-03-02 2023-06-27 Microsoft Technology Licensing, Llc Topic overlap detection in messaging systems
US20230306429A1 (en) * 2022-03-23 2023-09-28 Actimize Ltd. Method for maintaining ethical artificial intelligence (ai)
US20230370543A1 (en) * 2022-05-12 2023-11-16 Lenovo (United States) Inc. Scam communication engagement

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832203B1 (en) 1999-11-05 2004-12-14 Cim, Ltd. Skills based contact routing
US6917940B1 (en) 2000-03-10 2005-07-12 Hewlett-Packard Development Company, L.P. Olap-based customer behavior profiling method and system
US7933387B1 (en) * 2000-08-15 2011-04-26 Baker Iv Forest S Voice transition script caller
US6856982B1 (en) * 2001-02-26 2005-02-15 Alcatel System, intelligent network service engine and method for detecting a fraudulent call using real time fraud management tools
US6922466B1 (en) 2001-03-05 2005-07-26 Verizon Corporate Services Group Inc. System and method for assessing a call center
US6879685B1 (en) 2001-03-05 2005-04-12 Verizon Corporate Services Group Inc. Apparatus and method for analyzing routing of calls in an automated response system
US8098804B1 (en) 2002-04-29 2012-01-17 Securus Technologies, Inc. Systems and methods for call treatment using a third party database
US6771746B2 (en) * 2002-05-16 2004-08-03 Rockwell Electronic Commerce Technologies, Llc Method and apparatus for agent optimization using speech synthesis and recognition
JP3845350B2 (en) * 2002-09-19 2006-11-15 Necソフト株式会社 Telephone response rejection system, telephone response rejection method, and telephone response rejection program
US7130763B2 (en) * 2003-01-07 2006-10-31 Ramot At Tel Aviv University Ltd. Identification of effective elements in complex systems
US7307997B2 (en) * 2004-05-21 2007-12-11 Alcatel Lucent Detection and mitigation of unwanted bulk calls (spam) in VoIP networks
US20150381801A1 (en) * 2005-04-21 2015-12-31 Verint Americas Inc. Systems, methods, and media for disambiguating call data to determine fraud
US7386105B2 (en) * 2005-05-27 2008-06-10 Nice Systems Ltd Method and apparatus for fraud detection
DE102005029287B4 (en) 2005-06-22 2014-05-08 Nec Europe Ltd. A method for preventing the switching of unwanted telephone calls
US8559618B1 (en) 2006-06-28 2013-10-15 West Corporation Contact center call routing by agent attribute
US20080063178A1 (en) 2006-08-16 2008-03-13 Sbc Knowledge Ventures, L.P. Agent call flow monitoring and evaluation
US20080201158A1 (en) 2007-02-15 2008-08-21 Johnson Mark D System and method for visitation management in a controlled-access environment
US7978831B2 (en) 2007-06-29 2011-07-12 Avaya Inc. Methods and apparatus for defending against telephone-based robotic attacks using random personal codes
US8126723B1 (en) 2007-12-19 2012-02-28 Convergys Cmg Utah, Inc. System and method for improving tuning using caller provided satisfaction scores
CN101266550B (en) * 2007-12-21 2011-02-16 北京大学 Malicious code detection method
US8634542B2 (en) 2008-12-09 2014-01-21 Satmap International Holdings Limited Separate pattern matching algorithms and computer models based on available caller data
US8756065B2 (en) 2008-12-24 2014-06-17 At&T Intellectual Property I, L.P. Correlated call analysis for identified patterns in call transcriptions
US10318922B2 (en) 2009-03-16 2019-06-11 Fonality, Inc. System and method for automatic insertion of call intelligence in an information system
US8494133B2 (en) 2009-06-24 2013-07-23 Nexidia Inc. Enterprise speech intelligence analysis
US8462919B2 (en) 2009-09-09 2013-06-11 Deutsche Telekom Ag System and method for call logging and retrieval
US8625772B2 (en) 2009-12-22 2014-01-07 Cyara Solutions Pty Ltd. Integrated testing platform for contact centres
TW201123815A (en) * 2009-12-31 2011-07-01 C Media Electronics Inc Method for providing background sound to communication device and system applying the method
US8837687B2 (en) 2011-07-14 2014-09-16 Intellisist, Inc. Computer-implemented system and method for matching agents with callers in an automated call center environment based on user traits
US8594297B2 (en) 2011-12-27 2013-11-26 Avaya Inc. System and method for enhanced call routing
CN103167502B (en) * 2013-02-20 2015-09-02 广西英伦信息技术股份有限公司 Based on the method for the illegal calling of OTA technology regulation
US9571640B1 (en) 2013-05-28 2017-02-14 Symantec Corporation Systems and methods for detecting calls from illegitimate calling parties
CH709795B1 (en) 2014-06-18 2021-02-26 Katia Sa A method and system for filtering unwanted incoming telephone calls.
US10334099B2 (en) 2014-10-29 2019-06-25 United Services Automobile Association (Usaa) Media forked application system in call centers
US9112974B1 (en) 2014-12-17 2015-08-18 Noble Systems Corporation Checkpoint widget for indicating checkpoint status information to an agent in a contact center
JP2016152471A (en) 2015-02-17 2016-08-22 日本電気株式会社 Communication system and communication method
US10373171B2 (en) * 2015-02-23 2019-08-06 Genesys Telecommunications Laboratories, Inc. System and method for making engagement offers based on observed navigation path
US9854087B1 (en) * 2015-09-09 2017-12-26 Securus Technologies, Inc. Contraband wireless communications device identification in controlled-environment facilities
US9692885B2 (en) 2015-11-17 2017-06-27 Microsoft Technology Licensing, Llc Determining scam risk during a voice call
US10560575B2 (en) * 2016-06-13 2020-02-11 Google Llc Escalation to a human operator
US9948778B2 (en) * 2016-06-27 2018-04-17 TruVerse, Inc. Automated use of interactive voice response systems
US9774726B1 (en) * 2016-12-22 2017-09-26 Microsoft Technology Licensing, Llc Detecting and preventing fraud and abuse in real time
US20180336336A1 (en) * 2017-05-17 2018-11-22 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University System for authentication - based file access control
US10666798B2 (en) * 2017-12-06 2020-05-26 Ribbon Communications Operating Company, Inc. Methods and apparatus for detection and mitigation of robocalls
US10791222B2 (en) * 2018-06-21 2020-09-29 Wells Fargo Bank, N.A. Voice captcha and real-time monitoring for contact centers
US11503152B2 (en) * 2019-03-08 2022-11-15 Mission Critical Partners, LLC Method, system, and computer program product for accessing data about a caller from multiple data sources in real time
US10958779B1 (en) * 2019-09-23 2021-03-23 Capital One Services, Llc Machine learning dataset generation using a natural language processing technique
US11790177B1 (en) * 2020-12-18 2023-10-17 Securus Technologies, Llc Communication classification and escalation using machine learning model

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681817B2 (en) * 2019-09-25 2023-06-20 Jpmorgan Chase Bank, N.A. System and method for implementing attribute classification for PII data
US20230223038A1 (en) * 2020-12-16 2023-07-13 Truleo, Inc. Audio analysis of body worn camera

Also Published As

Publication number Publication date
US10958779B1 (en) 2021-03-23
US20240031477A1 (en) 2024-01-25
US20210168237A1 (en) 2021-06-03
US11711462B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
US11711462B2 (en) Machine learning dataset generation using a natural language processing technique
US10771627B2 (en) Personalized support routing based on paralinguistic information
US11082554B2 (en) Method for conversion and classification of data based on context
US8145562B2 (en) Apparatus and method for fraud prevention
US11800014B2 (en) Method and system for proactive fraudster exposure in a customer service channel
EP3063758B1 (en) Predicting recognition quality of a phrase in automatic speech recognition systems
US11252279B2 (en) Method and system for fraud clustering by content and biometrics analysis
US8798255B2 (en) Methods and apparatus for deep interaction analysis
US10623572B1 (en) Semantic CRM transcripts from mobile communications sessions
US8412530B2 (en) Method and apparatus for detection of sentiment in automated transcriptions
US20180082184A1 (en) Context-aware chatbot system and method
US9904927B2 (en) Funnel analysis
US20220138770A1 (en) Method and apparatus for analyzing sales conversation based on voice recognition
CN110933225B (en) Call information acquisition method and device, storage medium and electronic equipment
Kopparapu Non-linguistic analysis of call center conversations
JP4143541B2 (en) Method and system for non-intrusive verification of speakers using behavior models
US11310363B2 (en) Systems and methods for providing coachable events for agents
Samaranayaka et al. Enhancing Call Center Operations Through Semantic Voice Analysis
Yang A Real-Time Speech Processing System for Medical Conversations

Legal Events

Date Code Title Description
AS Assignment

Owner name: CAPITAL ONE SERVICES, LLC, VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RULE, JEFFREY;NEWMAN, KAITLIN;SIGNING DATES FROM 20190910 TO 20190923;REEL/FRAME:050464/0437

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: CAPITAL ONE SERVICES, LLC, VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RULE, JEFFREY;NEWMAN, KAITLIN;ILINCIC, RAJKO;SIGNING DATES FROM 20190910 TO 20190923;REEL/FRAME:050467/0981

STCF Information on status: patent grant

Free format text: PATENTED CASE