System and method for call classification

A method for voice call analysis and classification includes intercepting a voice call session between an initiating device and a recipient device. Voice call data exchanged between the initiating device and the recipient device during the voice call session is transformed into a predefined data format. The transformed voice call data is analyzed to determine one or more attributes of the intercepted voice call. One or more features associated with the intercepted voice call session are identified based on the determined one or more attributes. The intercepted voice call is classified using the identified one or more features.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims benefit of priority under 35 U.S.C. 119(a)-(d) to a Russian Application No. 2020108161 filed on Feb. 26, 2020, which is incorporated by reference herein.

FIELD OF TECHNOLOGY

The invention relates to the field of information security, and, more specifically, to system and method for voice call classification.

BACKGROUND

At present, practically every owner of a universal mobile device (such as a mobile telephone, a smartphone, a tablet, and so forth) is dealing with unwanted calls from banks, medical centers, insurance offices, beauty salons, and other companies using telemarketing in their work. In the United States, legislation is in effect that legally prohibits certain telemarketer calls without the consent of the user. However, the majority of companies implicitly stipulate such a clause in their contracts and get around the legislation.

In some cases, the companies providing telephone marketing services make active use of intelligent bots (robots), which in the process of communication may imitate people. The robots determine the level of irritability or interest of a person and often tailor the conversation in such a manner as to avoid a marketing tone. Intelligent bots are also often used by hackers to obtain confidential information of the user (such as data related to credit cards, social security numbers, and so forth).

Currently there are mobile applications which determine telephone numbers (such as TrueCaller) that are used to deal with such nuisance calls. In the majority of cases, incoming calls are checked against a database of spam numbers, which is constantly updated, and if the number of a calling spammer or hacker is present in this database the user is notified that the calling party has been detected in intrusive communication.

However, at present, it is possible to make a telephone call anonymous or to mask a telephone number with the aid of number swapping technology. Increasingly often, hackers and other malicious entities use this technology to call bank customers from the numbers of credit organizations and request the information needed to make withdrawals.

Conventional systems are well equipped to deal well with the problem of identifying robotized calls, but typically are not able to classify a call from various malicious entities. Moreover, in new hacking schemes the changing of the number discredits the legal subscriber instead of the hacker. The blocking of such numbers, for example, may result in banks losing the ability to get through to their customers.

Thus, there is a need to solve the problem of call classification, including hacking calls with swapped numbers.

SUMMARY

Disclosed are systems and methods for classifying voice calls by analysis of the recording and certain attributes of the voice call, and providing the user with information on a particular class of call by means of call classification.

In one aspect, a method is proposed for voice call analysis and classification, wherein the method involves steps in which: a voice call session between an initiating device and a recipient device is intercepted. Voice call data exchanged between the initiating device and the recipient device during the voice call session is transformed into a predefined data format. The transformed voice call data is analyzed to determine one or more attributes of the intercepted voice call. One or more features associated with the intercepted voice call session are identified based on the determined one or more attributes. The intercepted voice call is classified using the identified one or more features.

In one aspect, transforming the voice call data further includes recording the voice call data. In one aspect, the predefined data format includes formatted text.

In one aspect, classification type of the intercepted voice call includes at least one of: a regular call and unwanted call. In one aspect, the one or more identified features includes at least one of: a call category, emotional component of the voice call data, presence of robotized speech and call duration.

In one aspect, the call category includes at least one of: telemarketing, social survey, offer of services, fraud.

In one aspect, the call category is determined using one or more call categorization attributes based on the recording. In one aspect, the call categorization attributes include at least one of: words, n-grams, word-embedding, bag-of-words.

In one aspect, the emotional component of the intercepted voice call is positive or negative based on at least one of: (i) rules in which text is broken up into words or sequences of words having a previously assigned positive or negative evaluation, (ii) glossaries in which the number of positive and negative words from a previously compiled glossary are counted, (iii) machine learning.

In one aspect, the presence of the robotized speech is determined using a set of previously selected strings of phonemes.

In one aspect, classifying the intercepted voice call further includes using a trained classification model based on a set of previously selected voice calls having features.

In one aspect, the trained classification model is based on at least one of: naive Bayesian classifier, logistic regression, MRF (Markov Random Field) classifier, SVM (support vector machine), k-nearest neighbor, and/or decision tree.

In one aspect, the method further includes sending a notification to the recipient device. In one aspect, the notification indicates a classification category of the intercepted voice call.

DETAILED DESCRIPTION

FIG. 1shows a block diagram of a communication network. The communication network100may include an initiating device101, a recipient device102, a switching node110, and media data111. The communication network100provides multiple physical communication channels and at least one switching node110. The switching node110provides services for transmission of media data111(such as voice call data) between the initiating device101and the recipient device102. Examples of communication networks100may include, but are not limited to: a computer network; a telephone network, and/or a cellular communication network.

The term “device” (such as initiating device and recipient device) refers to equipment which transforms user information into media data111(such as voice call data) for transmission by communication channels and which performs the back transformation.

The term “call-up” refers to an attempt to establish a connection with the recipient device102, initiated by the initiating device101.

The term “call” refers to the process of transmitting media data111between the initiating device101and the recipient device102within an established voice call session.

The media data111may comprise: a media file; and/or streaming data (media data sent in streaming mode).

For example, the initiating device101and the recipient device102may be mobile telephones of subscribers of a cellular communication network, where the term “call” refers to an ordinary voice call.

FIG. 2shows a block diagram of an intelligent network, in accordance with aspects of the present disclosure. An example of an intelligent communication network200may include a switching node110, a service switching point220, a service control point230, and a branching point240. The intelligent network200, by modernizing at least one switching node110of the communication network100, may facilitate additional communication services. It should be noted that the architecture of the intelligent network200is independent of the type of switching network100.

In this example, the switching node110retains the functions for providing the basic services, but it may also be equipped with a service switching point220. The service switching point220may be configured to provide for the initiatalizion of various call handling algorithms, may carry out instructions arriving from the service control point230, and may monitor the process of call handling of the intelligent network200.

The service control point230may facilitate services in the entire intelligent network200, providing protocols for interaction between its elements.

In one variant aspect, the intelligent network200may contain a branching point240that may be configured to provide for the transmission of a copy of the media data111to other auxiliary elements of the intelligent network200(for example, a speech recognition device), making the services of the intelligent network200more convenient to the user.

The services provided by intelligent network200may include but are not limited to: a toll-free call service, providing directory information free of charge; televoting, providing voting capabilities by calling up a particular number; and/or providing communications by prepaid cards.

FIG. 3illustrates a call classification system, in accordance with aspects of the present disclosure. The call classification system300may include a communication network100, an initiating device101, a recipient device102, a call handling engine310, media data111(such as voice call data), call attributes312, a recording unit320, a call recording321, a classification unit330, a recognition module331, an analysis module332, a classification module333, a security unit335, a classification model340, and a training unit350.

The call handling engine310may be configured to intercept a voice call from the initiating device101to the recipient device102in the communication network100, to determine the characteristics of the call312. The call handling engine310may be further configured to send the media data111to the recording unit320. The characteristics of the call determined at this stage may include, but are not limited to: identifier of the initiating device101, identifier of the recipient device102, a timestamp indicating time of the intercepted call, status of the recipient device102.

In one aspect, the communication network100may comprise an intelligent network200(shown inFIG. 2), utilizing resources of public telephone networks.

For example, the initiating device101may initiate a voice call. After receiving the voice call, the service switching point220of the switching node110may determine that the connection requires switching with the service control point230. The switching node110may establish the corresponding voice call session and may send a signal containing the characteristics of the call312.

The call handling engine310may be configured to intercept the characteristics of the call312and to notify the switching node110as to the need for routing the intercepted voice call through the branching point240. The branching point240may establish a connection using two different channels: a first channel to the recipient device102and a second channel to the recording unit320.

After the connection has been established, the voice call data111from each of the respective devices are sent through the branching point240, where the data may be duplicated. In other words, one data stream may be directed to the receiving party, another data stream may be directed to the recording unit320. Such duplication may continue until the voice call is completed.

In one aspect, the switching node110may not be able to establish a connection with the recipient device102, at least because: the recipient device102responds with a “busy” signal; the recipient device102is unavailable; an error has occurred in establishing the connection; and/or the recipient device102responds with a refusal to receive the connection.

In these scenarios, the call handling engine310may send a signal to the switching node110indicating the need to route the intercepted voice call to the recording unit320.

The recording unit320may be configured to record the media data111being sent within an established voice call session during a call and to direct the produced recording of the call321to the classification unit330. The recording of the call321may comprise a media file, for example.

In one aspect, the recording unit320may produce a recording of the voice call data111in a plurality of fragments. The recording unit320may send a fragment recording of the voice call321to the classification unit330prior to the actual completion of the call, thusly making it possible to determine its classification in advance.

As shown inFIG. 3, the classification unit330may include a recognition module331, an analysis module332, and a classification module333.

The recognition module331may be configured to transform the recording of the call321received from the recording unit320into a predefined format suitable for analysis, such as formatted text.

In one aspect, the recognition module331may divide up the media file into a plurality of fragments. Each fragment of the media file may be subjected to a number of transformations, as a result of which coefficients are obtained which describe frequency characteristics of the corresponding fragment. On the basis of this data, the recognition module331may determine with a certain probability which phoneme the corresponding fragment belongs to.

The recognition module331may also be additionally trained using a set of previously selected texts to recognize strings of probable phonemes. If necessary, the recognition module331may reconstruct unrecognized words by meaning, based on the context and available statistics. The data obtained in the course of the recognition of phonemes and the recognition of strings of phonemes may be combined and the recognition module331may determine the most likely sequence of words.

For example, for two equally probable phonemes “m” and “t” in the word “make”, the recognition module331will conclude that it is more likely that the phoneme “m” is used in the word, since during its training it often encountered the sequence “make money”, and more seldom “take money”.

In one variant aspect, in the concluding phase, the recognition module331may transform numerals into numbers and certain punctuation marks (such as hyphens) may be put in place. This transformed text is the final result of the recognition, which may be sent to the analysis module332by the recognition module331.

In an aspect, the recognition module331may be further trained using a set of previously selected strings of phonemes to recognize robotized speech in a call recording321.

In an aspect, the recognition module331may identify the features of the call312.

The identified call features may include, but are not limited to: a call category, emotional component of the voice call data, presence of robotized speech and call duration.

The analysis module332may be configured to pronounce a verdict as to whether a call recording321pertains to at least one of the categories based on an analysis of the content of the call recording321processed by the recognition module331.

The categories of the call recording321may include, but are not limited to: fraud; spam; offer of services; and/or regular call.

In an aspect, the analysis module332may transform the call recording321processed by the recognition module331into a set of attributes suitable for categorization. The attributes may include, but are not limited to: words; a sequence of words (n-grams); a vectorial representation of words (word embedding); and/or a multiset of words not counting grammar or order (bag-of-words).

Next, using a machine learning algorithm, the analysis module332may determine a type of the call recording321processed by the recognition module331. The machine learning classification algorithm may include, but is not limited to: Bayesian classifiers (naive Bayesian classifier); logistic regression; MRF classifier; the method of support vectors (SVM, support vector machine); nearest neighbor methods (k-nearest neighbor); and/or decision tree.

For example, the machine learning algorithm utilized by the analysis module332may be trained with a large number of fraudulent call recordings, where hackers under a variety of pretexts (checking data, financial transactions) ask for certain personal data, such as bank account numbers or passwords. Each fraudulent call recording may be represented as a set of attributes. As a non-limiting example, the phrase “send password from SMS”, present in the call recording321processed by the recognition module331in the form of one of the attributes, may allow the analysis module332to assign the call recording321processed by the recognition module331to the classification type of “fraud”.

In one aspect, the analysis module332may utilize the plurality of attributes to make an emotional assessment of the call recording321. Such analysis enables the analysis module332to determine whether the emotional content of the intercepted voice call was one of the following: positive; negative; and/or neutral.

The analysis module332may be configured to determine the emotional content of the intercepted voice call using one of the following methods:based on rules, in which text is broken up into words or sequences of words having a previously assigned positive or negative evaluation;based on glossaries, in which the number of positive and negative words from a previously compiled glossary are counted; such glossaries may include the particles “not” or “non”;based on machine learning; and/orbased on a hybrid method involving the use of some or all of the classifiers in a particular sequence.

The classification module333may be configured to provide a verdict as to whether the call belongs to at least one of the types of voice calls by using a trained classification model340. The classification categories of voice calls may include, but are not limited to: unwanted call and/or regular call.

In one aspect, the characteristics of a call pertaining to an already known class of voice calls may be first collected. On the basis of the collected training data, the classification model340may be trained so that voice calls having similar characteristics can be classified by that classification model340with an improved accuracy.

The classification model340may be trained using at least the following training data: the category of the call recording (such as telemarketing, social survey, offer of services, fraud and the like); the emotional components of the voice call data (positive, negative, neutral); presence of the robotized speech in the call recording and/or the duration of the call.

For example, if the analysis module332has classified a call recording321of the intercepted voice call as offering services and has determined the emotional content of the call as being negative, the classification module333may classify the intercepted voice call as unwanted, and pertaining to spam.

The classification algorithm employed by the classification module333may include at least one of the following:Bayesian classifiers (naive Bayesian classifier);logistic regression;MRF classifier;the method of support vectors (SVM, support vector machine);nearest neighbor methods (k-nearest neighbor); and/ordecision tree.

The security unit335may be configured to inform the user of the recipient device102as to a certain class of the voice call via a notification message. The notification message may include, but is not limited to: an SMS message; a local notification (push notification); and/or a pop-up window.

In one aspect, the notification message sent to the recipient device102may include the recording321of the voice call data processed by the recognition module331.

For example, if during the call-up the switching node110was unable to establish a connection with the recipient device102, the classification unit330may determine the class of the voice call based on the recording of media data (such as voice call data)111sent by the initiating device101. The security unit335may be configured to inform the user of the recipient device102as to the determined class of the missed voice call with a local notification, for example.

In an aspect, the security unit335may send a command to the switching node110in advance to terminate a call-up if the type of the call has been determined at least as fraud.

The training unit350may be configured to train the classification model340on the basis of new training data.

For example, if the decision of the classification model340has proved to be wrong, the user of the recipient device102may redefine the type of the corresponding voice call. In other words, the training unit350may train the classification model340, based on the feedback of the user of the recipient device102, so that the probability of a correct determination of the call class is heightened during further use of the classification model340.

FIG. 4illustrates a method for analyzing and classifying a voice call, in accordance with aspects of the present disclosure.

At step410, the call handling engine310may intercept a voice call from the initiating device101to the recipient device102in the communication network100.

At step420, the recognition module331may transform the recording of the call321received from the recording unit320into a predefined format suitable for analysis, such as formatted text.

At step430, the call handling engine310may be used to determine the attributes of the intercepted voice call312. In one aspect, the call categorization attributes may include at least one of: words, n-grams, word-embedding, bag-of-words.

At step440, the analysis module332may transform the call recording321processed by the recognition module331into a set of features suitable for classification. As noted above, the features may include, but are not limited to: a call category, emotional component of the voice call data, presence of robotized speech and call duration.

At step450, the classification module333may be configured to provide a verdict as to whether the call belongs to at least one of the classification categories of voice calls by using a trained classification model340.

The classification categories of voice calls may include, but are not limited to: fraud; spam; telemarketing; unwanted call; and/or regular call.

In addition, in an aspect, at step460the training unit350may be used to train the classification model340so that the accuracy of the classification is increased in the next iteration.

In addition, in an aspect, at step470the security unit335may be used to provide the user of the recipient device102with information about the call class which has been determined.

FIG. 5is a block diagram illustrating a computer system20on which aspects of systems and methods for call classification may be implemented in accordance with an exemplary aspect. The computer system20may represent a call classification system ofFIG. 3and can be in the form of multiple computing devices, or in the form of a single computing device, for example, a desktop computer, a notebook computer, a laptop computer, a mobile computing device, a smart phone, a tablet computer, a server, a mainframe, an embedded device, and other forms of computing devices.