Sign In to Follow Application
View All Documents & Correspondence

Artificial Intelligence Based Techniques For Classifying Data Instances Into Multiple Classes

Abstract: Data classification is an integral part of a number of applications in enterprises. Conventional classification systems may fail to incorporate classifying inputs into multiple classes. The present disclosure provides Artificial Intelligence based techniques for classifying data instances into multiple classes. Training for input data is provided and classes trained for input data are stored in database. Posterior probability of classes is determined by applying AI based naive Bayesian technique on received text input data. Based on the posterior probability, a weighted probability score (WPS) for each class is computed. A subset of classes is identified based on comparison of the WPS with a predetermined threshold. For each class that is not identified in the subset, another weighted probability score is computed and compared with a higher value of WPS. Further, each unseen data instance comprised in the test input data, is classified into the identified subset of classes.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
24 August 2018
Publication Number
09/2020
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ip@legasis.in
Parent Application
Patent Number
Legal Status
Grant Date
2024-02-22
Renewal Date

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th Floor, Nariman Point, Mumbai - 400021, Maharashtra, India

Inventors

1. DIVIANATHAN, Antony Arulkumar
Tata Consultancy Services Limited, SIRUSERI TECHNO PARK, Plot No. 1/G1, SIPCOT IT Park, Siruseri, Navalur Post, Kancheepuram Dist., Chennai - 603103, Tamil Nadu, India
2. HARI, Narasimhan
Tata Consultancy Services Limited, SIRUSERI TECHNO PARK, Plot No. 1/G1, SIPCOT IT Park, Siruseri, Navalur Post, Kancheepuram Dist., Chennai - 603103, Tamil Nadu, India

Specification

Claims:1. A processor implemented method, comprising:
(a) receiving (202), by a processor, a plurality of test input data comprising a plurality of unseen data instances, from one or more data sources;
(b) determining (204) a posterior probability score for each of a plurality of pre-defined classes stored in a database by applying an artificial intelligence based naive Bayesian technique on the plurality of test input data;
(c) computing (206) a first weighted probability score for each of the plurality of pre-defined classes;
(d) performing (208) a first comparison of the first computed weighted probability score of each of the plurality of pre-defined classes with a pre-determined threshold; and
based on the first comparison (210), performing one of:
(a) identifying (212), a first set of pre-defined classes from the plurality of pre-defined classes; or
(i) calculating (214) a standard deviation for a second set of pre-defined classes, wherein the second set comprises one or more pre-defined classes that have the computed weighted probability score less than the pre-determined threshold, wherein the second set of pre-defined classes is a subset of the plurality of pre-defined classes, and wherein the second set of pre-defined classes are different from the first set of pre-defined classes;
(ii) generating (216), based on the standard deviation and the tuning parameter, a second weighted probability score for each pre-defined class from the second set;
(iii) performing (218) a second comparison of the second computed weighted probability score of each pre-defined class from the second set with a weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes; and
(iv) categorizing (220), based on the second comparison, the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes.

2. The processor implemented method of claim 1, wherein the step of categorizing the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes is performed when the second computed weighted probability score is greater than or equal to the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes.

3. The processor implemented method of claim 1, further comprising determining an updation of the pre-defined tuning parameter based on categorization of number of pre-defined classes from the second set.

4. The processor implemented method of claim 3, further comprising updating value of tuning parameter to another value to obtain a modified tuning parameter ? and repeating the steps (ii) and (iii).

5. The processor implemented method of claim 1, further comprising classifying, each of the plurality of unseen data instances comprised in the plurality of test input data, into the first set of pre-defined classes.

6. A system (100), comprising:
a memory(102);
one or more communication interfaces(104); and
one or more hardware processors (106) coupled to said memory through said one or more communication interfaces, wherein said one or more hardware processors are configured to:
(a) receive, a plurality of test input data comprising a plurality of unseen data instances, from one or more data sources;
(b) determine a posterior probability score for each of a plurality of pre-defined classes stored in a database by applying an artificial intelligence based naive Bayesian technique on the plurality of test input data;
(c) compute a first weighted probability score for each of the plurality of pre-defined classes;
(d) perform a first comparison of the first computed weighted probability score of each of the plurality of pre-defined classes with a pre-determined threshold; and
based on the first comparison, said one or more hardware processors are further configured to perform one of:
(a) identify, a first set of pre-defined classes from the plurality of pre-defined classes; or
(i) calculate a standard deviation for a second set of pre-defined classes, wherein the second set comprises one or more pre-defined classes that have the computed first weighted probability score less than the pre-determined threshold, wherein the second set of pre-defined classes is a subset of the plurality of pre-defined classes, and wherein the second set of pre-defined classes are different from the first set of pre-defined classes;
(ii) generate, based on the standard deviation and a tuning parameter, a second weighted probability score for each pre-defined class from the second set;
(iii) perform a second comparison of the second computed weighted probability score of each pre-defined class from the second set with a weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes; and
(iv) categorize, based on the second comparison, the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes.

7. The system of claim 6, wherein the step of categorizing the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes is performed when the second computed weighted probability score is greater than or equal to the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes.

8. The system of claim 6, wherein said one or more hardware processors are further configured to determine an updation of the pre-defined tuning parameter based on categorization of number of pre-defined classes from the second set.

9. The system of claim 8, wherein said one or more hardware processors are further configured to update value of tuning parameter to another value to obtain a modified tuning parameter ? and repeating the steps (ii) and (iii).

10. The system of claim 6, wherein said one or more hardware processors are further configured to classify, each of the plurality of unseen data instances comprised in the plurality of test input data, into the first set of pre-defined classes.
, Description:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:

“ARTIFICIAL INTELLIGENCE BASED TECHNIQUES FOR CLASSIFYING DATA INSTANCES INTO MULTIPLE CLASSES”

Applicant

Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India

The following specification particularly describes the invention and the manner in which it is to be performed.

TECHNICAL FIELD
The disclosure herein generally relates to field of classification, more particularly, to artificial intelligence based techniques for classifying data instances into multiple classes.

BACKGROUND
Classification of data is a well-defined problem in a growing trend of different enterprise scenarios providing many application interfaces to automated systems. A few applications interfaces among many others are text classification, natural language based speech classification, image classification, and the like. There are approaches providing supervised learning methods for classification of data. Existing supervised learning methods for classification that are built using statistical methods classify data to one of the several possible classes based on prior training. In reality, such a constraint of one class category per data cannot be imposed for meaningful application of the technique. Further, conventional classification approaches are prone to be less accurate, hence may lead to inaccurate classification.
SUMMARY

Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one aspect, there is provided a processor implemented method, comprising: (a) receiving, by a processor, a plurality of test input data comprising a plurality of unseen data instances, from one or more data sources; (b) determining a posterior probability score for each of a plurality of pre-defined classes stored in a database by applying a naïve Bayesian technique on the plurality of test input data; and (c) computing a first weighted probability score for each of the plurality of pre-defined classes; performing a first comparison of the first computed weighted probability score of each of the plurality of pre-defined classes with a pre-determined threshold; and based on the first comparison, performing one of: (a) identifying, a first set of pre-defined classes from the plurality of pre-defined classes; or (i) calculating a standard deviation s for a second set of pre-defined classes, wherein the second set comprises one or more pre-defined classes that have the computed weighted probability score less than the pre-determined threshold, wherein the second set of pre-defined classes is a subset of the plurality of pre-defined classes, and wherein the second set of pre-defined classes are different from the first set of pre-defined classes; (ii) generating, based on the standard deviation s and the tuning parameter ?, a second weighted probability score for each pre-defined class from the second set; (iii) performing a second comparison of the second computed weighted probability score of each pre-defined class from the second set with a weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes; and (iv) categorizing, based on the second comparison, the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes.
In an embodiment, the step of categorizing the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes is performed when the second computed weighted probability score is greater than or equal to the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes.
In an embodiment, the method further comprising determining an updation of the pre-defined tuning parameter ? based on categorization of number of pre-defined classes from the second set. In another embodiment, the method further comprising updating value of tuning parameter ? to another value to obtain a modified tuning parameter ? and repeating the steps (ii) and (iii).
In an embodiment, the method further comprising classifying, each of the plurality of unseen data instances comprised in the plurality of test input data, into the first set of pre-defined classes.
In another aspect, there is provided a system comprising: a memory storing instructions; one or more communication interfaces; and one or more hardware processors coupled to the memory through the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to (a) receive, by a processor, a plurality of test input data comprising a plurality of unseen data instances, from one or more data sources; (b) determine a posterior probability score for each of a plurality of pre-defined classes stored in a database by applying a naïve Bayesian technique on the plurality of test input data; and (c) compute a first weighted probability score for each of the plurality of pre-defined classes; perform a first comparison of the first computed weighted probability score of each of the plurality of pre-defined classes with a pre-determined threshold; and based on the first comparison, perform one of: (a) identify, a first set of pre-defined classes from the plurality of pre-defined classes; or (i) calculate a standard deviation s for a second set of pre-defined classes, wherein the second set comprises one or more pre-defined classes that have the computed weighted probability score less than the pre-determined threshold, wherein the second set of pre-defined classes is a subset of the plurality of pre-defined classes, and wherein the second set of pre-defined classes are different from the first set of pre-defined classes; (ii) generate, based on the standard deviation s and the tuning parameter ?, a second weighted probability score for each pre-defined class from the second set; (iii) perform a second comparison of the second computed weighted probability score of each pre-defined class from the second set with a weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes; and (iv) categorize, based on the second comparison, the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes.
In an embodiment, the step of categorizing the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes is performed when the second computed weighted probability score is greater than or equal to the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes.
In an embodiment, the one or more hardware processors are further configured by the instructions to determine an updation of the pre-defined tuning parameter ? based on categorization of number of pre-defined classes from the second set. In another embodiment, the one or more hardware processors are further configured by the instructions to updating value of tuning parameter ? to another value to obtain a modified tuning parameter ? and repeating the steps (ii) and (iii).
In an embodiment, the one or more hardware processors are further configured by the instructions to classify, each of the plurality of unseen data instances comprised in the plurality of test input data, into the first set of pre-defined classes.
In yet another aspect, there are provided one or more non-transitory machine readable information storage mediums comprising one or more instructions which when executed by one or more hardware processors cause (a) receiving, by a processor, a plurality of test input data comprising a plurality of unseen data instances, from one or more data sources; (b) determining a posterior probability score for each of a plurality of pre-defined classes stored in a database by applying a naïve Bayesian technique on the plurality of test input data; and (c) computing a first weighted probability score for each of the plurality of pre-defined classes; performing a first comparison of the first computed weighted probability score of each of the plurality of pre-defined classes with a pre-determined threshold; and based on the first comparison, performing one of: (a) identifying, a first set of pre-defined classes from the plurality of pre-defined classes; or (i) calculating a standard deviation s for a second set of pre-defined classes, wherein the second set comprises one or more pre-defined classes that have the computed weighted probability score less than the pre-determined threshold, wherein the second set of pre-defined classes is a subset of the plurality of pre-defined classes, and wherein the second set of pre-defined classes are different from the first set of pre-defined classes; (ii) generating, based on the standard deviation s and the tuning parameter ?, a second weighted probability score for each pre-defined class from the second set; (iii) performing a second comparison of the second computed weighted probability score of each pre-defined class from the second set with a weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes; and (iv) categorizing, based on the second comparison, the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes.
In an embodiment, the step of categorizing the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes is performed when the second computed weighted probability score is greater than or equal to the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes.
In an embodiment, the instructions may further cause determining an updation of the pre-defined tuning parameter ? based on categorization of number of pre-defined classes from the second set. In another embodiment, the instructions may further cause updating value of tuning parameter ? to another value to obtain a modified tuning parameter ? and repeating the steps (ii) and (iii).
In an embodiment, the instructions may further cause classifying, each of the plurality of unseen data instances comprised in the plurality of test input data, into the first set of pre-defined classes
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
FIG. 1 illustrates a functional block diagram of a system (device) for classifying data instances into multiple classes using artificial intelligence based techniques, according to some embodiments of the present disclosure; and
FIGS. 2A through 2C illustrate an exemplary flow diagram of a processor implemented method for classifying data instances into multiple classes using artificial intelligence based techniques, in accordance with some embodiments of the present disclosure;
It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems and devices embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

DETAILED DESCRIPTION OF EMBODIMENTS

Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
The embodiments herein provide artificial intelligence based techniques for classifying data instances into multiple classes. The typical interpretation of results obtained from conventional classification algorithms has been modified to solve a problem where a plurality of data instances can belong to more than one of the many class possibilities. The data instances are classified into multiple classes using either ‘one to many’, or ‘many to many’ mapping. In an embodiment, the ‘one to many’ mapping implies that at most one data instance from the plurality of data instances is classified into multiple classes. For example, if a document comprising of a plurality of sentences has to be classified into three pre-defined classes, then, based on the ‘one to many’ approach, only one sentence among the plurality of sentences belonging to the document is classified into each of the three pre-defined classes. The ‘many to many’ approach implies that at least more than one data instance from the plurality of data instances is classified into multiple classes. For example, if a document comprising of a plurality of sentences has to be classified into three pre-defined classes, then, based on the ‘many to many’ mapping, at least more than one sentence among the plurality of sentences belonging to the document are classified into each of the three pre-defined classes.
Referring now to the drawings, and more particularly to FIGS. 1 and FIGS. 2A through 2C, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
FIG. 1 illustrates a functional block diagram of a system for classifying data instances into multiple classes using artificial intelligence based techniques, according to some embodiments of the present disclosure. The system 100 includes or is otherwise in communication with one or more hardware processors such as a processor 106, an I/O interface 104, at least one memory such as a memory 102, and a classification module 108. In an embodiment, the classification module 108 can be implemented as a standalone unit in the system 100. In another embodiment, the classification module 108 can be implemented as a module in the memory 102. The processor 106, the I/O interface 104, and the memory 102, may be coupled by a system bus.
The I/O interface 104 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The interfaces 104 may include a variety of software and hardware interfaces, for example, interfaces for peripheral device(s), such as a keyboard, a mouse, an external memory, a camera device, and a printer. The interfaces 104 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, local area network (LAN), cable, etc., and wireless networks, such as Wireless LAN (WLAN), cellular, or satellite. For the purpose, the interfaces 104 may include one or more ports for connecting a number of computing systems with one another or to another server computer. The I/O interface 104 may include one or more ports for connecting a number of devices to one another or to another server.
The hardware processor 106 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the hardware processor 106 is configured to fetch and execute computer-readable instructions stored in the memory 102.
The memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, the memory 102 includes the plurality of modules 108 and a repository 110 for storing data processed, received, and generated by one or more of the modules 108. The modules 108 may include routines, programs, objects, components, data structures, and so on, which perform particular tasks or implement particular abstract data types.
The data repository 110, amongst other things, includes a system database and other data. The other data may include data generated as a result of the execution of one or more modules in the modules 108. The system database stores the training data, test data and number of classes the test data belongs to, which are generated as a result of the execution of one or more modules in the modules 108. The data stored in system database can be learnt to further provide increased number of pre-defined classes.
In an embodiment, the classification module 108 can be configured to classify a plurality of test data comprising a plurality of unseen data instances into multiple classes. Classifying the plurality of test data comprising the plurality of unseen data instances into multiple classes can be carried out by using methodology, described in conjunction with FIGS. 2A through 2C and use case examples.
FIGS. 2A through 2C, with reference to FIG. 1, is an exemplary flow diagram of a processor implemented method for classifying data instances into multiple classes using the classification module 108 of FIG. 1, in accordance with some embodiments of the present disclosure. In an embodiment of the present disclosure, at step 202, the one or more hardware processors 106 receive, a plurality of test input data comprising a plurality of unseen data instances, from one or more data sources. In an embodiment, the test input data may comprise but not limited to, text, image, speech, video and the like, wherein the text could be obtained from a document, an email, a sentence, a novel, a letter, a recipe, a poem, an article in a newspaper and magazine, an instruction, writing on a webpage, and the like. In an embodiment, prior to receiving the test input data, the one or more processors 106 receive a plurality of labeled training input data. In an embodiment, input training data could be but not limited to a text which is preprocessed by parsing the files, removing stop words and performing stemming. The stemmed words are then passed on to the classification module 108 which computes a posterior probability (interchangeably referred as word level probabilities for text) of the stemmed words. The preprocessed trained input data is further trained to be classified into a plurality of pre-defined classes, wherein the plurality of pre-defined classes are determined based on user requirements. For example, in a travel related information system, the text may include user queries which, based on the user requirements, could be classified in the plurality of pre-defined classes such as fare, ground service, station, fare basis, city, food service, class of service, restriction, days, and stops. Further, for an email classification system, based on user requirements and the provided text, one example of the plurality of pre-defined classes could be address, moving address, update address, new address, seasonal address, phone number, account details, and the like.
Referring back to step 202 of FIG. 2A, the plurality of test input data comprising a plurality of unseen data instances received from one or more data sources may comprise but are not limited to text, image, speech, video and the like. For example, in a typical scenario, a text for classification is as below:
“Hello We are currently in the process of moving and will be utilizing a PO Box until our new home construction is complete. I need to update my address to 136 Calimesa CA 92320. As per bank request I was required to send this information in a secure message. Please let me know what other information you need. Thank you. Best Regards. Kimberly Howard”.
Further, based on the training, it is assumed that the plurality of classes considered for the above mentioned text are Moving_Address, New_Address, Update_Address, and Seasonal_Address.
Further, at step 204 of the FIG. 2A, a posterior probability score is determined for each of a plurality of pre-defined classes stored in a database by applying an artificial intelligence based naive Bayesian technique on the plurality of test input data. The posterior probability score describes the conditional probability of a given event, computed after observing a second event whose conditional and unconditional probabilities were known in advance. It is computed by revising the prior probability, that is, the probability assigned to the first event before observing the second event. In an embodiment, the plurality of test input data could be but not restricted to text. In case of text classification, the posterior probability score (interchangeable referred as word level probability score for text classification) is determined by applying an artificial intelligence based naive bayesian technique on plurality of test input data. The artificial intelligence based naive bayesian technique determines posterior probability score by first computing class specific probabilities and then computing conditional probabilities for the plurality of pre-defined classes. The class specific probabilities is computed by using an expression provided below as:
1+Log((No of times word repeats in the text)/(total unique words))
where, unique words are the words in the text which represent the plurality of pre-defined classes. Further, based on class specific probabilities, the conditional probability for the plurality of pre-defined classes is calculated by determining the probability of occurrence of the words for each of the plurality of pre-defined classes in the text against available words for the plurality of pre-defined classes in the text. As can be seen from Table 1, the posterior probability score for each of a plurality of pre-defined classes, assumed for previous example illustrating step 202 of FIG. 2, is determined by finding maximum value of sum of the conditional probability for the plurality of pre-defined classes.
Class Posterior Probability Score
Moving_Address 0.288421
New_Address 0.149545
Update_Address 0.267224
Seasonal_Address 0.232344
Table 1
In conventional classification based approaches, the plurality of unseen data instances are classified into a class which is identified with highest posterior probability (e.g., in this example, MOVING_ADDRESS is the class which is identified with the highest posterior probability score 0.288421). However, the present disclosure provides a modification over existing approaches, wherein the modification, as depicted in steps 206 through 220 of FIG. 2, enables solving a problem where the plurality of unseen data instances can belong to more than one class from the plurality of pre-defined classes.
Referring back to FIG. 2A, as depicted in step 206, the one or more hardware processors 106 compute a first weighted probability score for each of the plurality of pre-defined classes. In the present disclosure, the first weighted probability score for each of the plurality of pre-defined classes is calculated based on the posterior probability of that class and a summation of posterior probabilities of all of the pre-defined classes. The step of computing first weighted probability score for each of the plurality of pre-defined classes is expressed by means of formulation as:
P_i = p_i/(P_1+ P_2+ P_3 ) x 100
where, P_idenotes the first weighted probability of ith pre-defined class from the plurality of pre-defined classes, p_idenotes posterior probability of ith pre-defined class from the plurality of pre-defined classes, and P_1+ P_2+ P_3 denotes the sum of posterior probabilities of all of the pre-defined classes.
As can be seen from Table 1, the posterior probability for pre-defined class Moving_Address is 0.288421 and summation of posterior probabilities of all the pre-defined classes listed in Table 1 is 0.937534 (0.288421 + 0.149545 + 0.267224 + 0.232344). For computing the first weighted probability score of pre-defined class Moving_Address, the posterior probability of pre-defined class Moving_Address (i.e. 0.288421) is divided by summation of posterior probabilities of all the pre-defined classes listed in Table 1 (i.e. 0.937534) and the result is further multiplied with 100 to give a first weighted probability score which is computed as 30.76 for pre-defined class Moving_Address. Likewise, the first weighted probability score is computed for all the pre-defined classes listed in Table 1 which is shown in Table 2.
Class First Weighted Probability Score
Moving_Address 30.76
New_Address 15.95
Update_Address 28.50
Seasonal_Address 24.78
Table 2
Referring back to FIG. 2A, at step 208, the one or more hardware processors 106 perform a first comparison of the first computed weighted probability score of each of the plurality of pre-defined classes with a pre-determined threshold. In an embodiment, the pre-determined threshold is determined based on number of pre-defined classes. In another embodiment, the pre-determined threshold is calculated by dividing 100 by total number of pre-defined classes. In an embodiment of the present disclosure, a self-learning frame work is provided, when the test input data comprises at least a new identified class other than the plurality of pre-defined number of classes, to train and incorporate the newly identified class into the plurality of pre-defined classes. Since, the number of pre-defined classes can vary based on training, the pre-determined threshold can be dynamic in nature. Referring back to illustrating steps 202, 204, and 206, the predetermined threshold for the plurality of pre-defined classes including Moving_Address, New_Address, Update_Address, and Seasonal_Address is calculated as 25 (As the number of pre-defined classes in the example is 4).
As depicted in steps 210 and 212 of the FIGS. 2A and 2B, based on the first comparison, a first set of pre-defined classes from the plurality of pre-defined classes is identified, wherein the first set of pre-defined classes comprises the classes having the first weighted computed probability score greater than the pre-determined threshold. As can be seen from Table 2, the first weighted computed probability score of pre-defined classes named as Moving_Address and Update_Address is greater than 25, so the above mentioned classes are identified as the first set of pre-defined classes from the plurality of pre-defined classes.
Further, as depicted in step 214 of FIG. 2C, the one or more hardware processors 106 calculate, a standard deviation s for a second set of pre-defined classes, wherein the second set comprises one or more pre-defined classes that have the computed weighted probability score less than the pre-determined threshold (e.g., classes ‘New_Address’ and ‘Seasonal_Address’) . The second set of pre-defined classes is a subset of the plurality of pre-defined classes and different from the first set of pre-defined. Further, as depicted in step 214 of FIG. 2C, the one or more hardware processors 106 calculate, a standard deviation s for a second set of pre-defined classes, wherein the second set comprises one or more pre-defined classes that have the computed weighted probability score less than the pre-determined threshold (e.g., classes ‘New_Address’ and ‘Seasonal_Address’). The second set of pre-defined classes is a subset of the plurality of pre-defined classes and different from the first set of pre-defined. The standard deviation s is calculated by performing steps: (i) calculating sum of the first weighted probability score of all the pre-defined classes comprised in the plurality of pre-defined classes. For example, as depicted in Table 2, the number of pre-defined classes is 4 and the first weighted probability score for the 4 classes is provided as: Class Moving_Address: .30.76, Class New_Address: .15.95, Class Update_Address: 28.50, and Class Seasonal_Address: 24.78, wherein sum of first weighted probability score for the above-mentioned 4 classes is 99.99; and (ii) calculating a mean value of the first weighted probability score of all the pre-defined classes comprised in the plurality of pre-defined classes (e.g., mean of first weighted probability score for the above-mentioned 4 classes is 24.9975); (iii) computing, for each of the plurality of pre-defined classes, a difference of the first weighted probability score with the mean value (e.g., difference of the first weighted probability score with the mean value for each of the above mentioned 4 classes is provided as: Class Moving_Address: 5.7625, Class New_Address: -9.0475, Class Update_Address: 3.5025, Class Seasonal_Address: -0.2175); (iv) calculating square of difference for each of the plurality of pre-defined classes followed by sum of the square of differences (e.g., square of the difference for each of the above mentioned 4 classes is provided as: Class Moving_Address: 33.2064, Class New_Address: 81.8572, Class Update_Address: 12.2675, Class Seasonal_Address: 0.0473and the sum of the square of differences is 127.3784); and (v) calculating a variance using a mathematical expression provided below as:
((Square of the sum of differences))/((Total number of pre-defined classes)-1)
For example, the variance for the above mentioned 4 classes is 42.4594. Further, the standard deviation is calculated by finding square root of the variance. The value of the standard deviation for the second set of pre-defined classes mentioned in the previous example is 6.51 which is computed by finding the square root of the variance.
Referring back to FIG. 2C, at step 216, the one or more hardware processors generate, based on the standard deviation s and a tuning parameter ? ?, a second weighted probability score for each pre-defined class from the second set. The value of tuning parameter ?, is selected from a pre-defined range, wherein the pre-defined range could be, but not restricted to x to y (e.g., say x=0 and y=1. The second weighted probability score for each pre-defined class from the second set is computed by first multiplying the value of standard deviation s with the selected value of tuning parameter ? and then adding the multiplied result to the first weighted probability score of each pre-defined class from the second set. Referring back to the previous example, wherein New_Address and Seasonal_ Address are identified as the pre-defined classes in the second set, the second computed weighted probability score for each pre-defined class from second set is shown in Table 3.
Class Second Weighted Probability Score
New_Address 15.95 + (6.51 x1) =22.46
Seasonal_Address 24.78 + (6.51 x 1) = 31.29
Table 3
As can be seen from Table 3, the value of tuning parameter ? selected for each pre-defined class from the second set is 1.
Further, as depicted in step 218 of FIG. 2C, the one or more hardware processor 106 perform a second comparison of the second computed weighted probability score of each pre-defined class from the second set with a weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes. In an embodiment, the expression ‘second comparison’ may refer to ‘a first instance of a comparison’, and the literal meaning of the expression ‘second comparison’ shall not be construed as a set being compared for the second time. Further, with reference to the previous example, wherein New_Address and Seasonal_ Address are identified as the pre-defined classes in the second set, the second comparison of second computed weighted probability score with for each pre-defined class from second set with the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes is shown in Table 4.
Class Comparison of Second Weighted Probability Score
New_Address 15.95 + (6.51 x1) = 22.46 < 30.76
Seasonal_Address 24.78 + (6.51 x 1) = 31.29 > 30.76
Table 4
As can be seen from Table 4, the second computed weighted probability for New_Address is less than 30.76, which is the higher value amongst weighted probability scores associated with the first set of pre-defined classes.
Referring back to FIG. 2C, at step 220, the one or more processors 106 categorize, based on the second comparison, the one or more pre-defined classes from the second set of pre-defined classes into the first set of pre-defined classes. In an embodiment, the step of categorization is performed when the second computed weighted probability score is greater than or equal to the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes. As depicted in above mentioned-example, that the second computed weighted probability for Seasonal_Address is more than 30.76, so Seasonal_Address is categorized into the first set of pre-defined classes. However, the one or more pre-defined classes from the second set of pre-defined classes that have the second computed weighted probability score less than the weighted probability score that is higher amongst weighted probability scores associated with the first set of pre-defined classes (e.g. New_Address), are discarded. In an embodiment, the one or more hardware processors 106 are further configured to classify, each of the plurality of unseen data instances (say unseen text data) comprised in the plurality of test input data, into the first set of pre-defined classes.
In an embodiment, an initial value of the tuning parameter ? is selected arbitrarily from the pre-defined range. In another embodiment, an updation of the pre-defined tuning parameter ? is determined based on categorization of number of pre-defined classes from the second set. In yet another embodiment, the updation of the pre-defined tuning parameter ? is determined based on evaluating the performance of the classification module 108 to meet user requirements. In an embodiment, based on the updation, the value of tuning parameter ? is updated to another value to obtain a modified tuning parameter ?. Further, the steps 216 and 218 of FIG. 2C are repeated for each modified tuning parameter ?. For Example, it is assumed that user requirement is to classify the unseen data instances into minimum three classes, then with the arbitrarily selected initial value of the tuning parameter ? (say 0.1), it is determined if the classification module 108 is classifying the unseen data instances into minimum three classes. In case, if the classification module 108 is unable to classify the unseen data instances into minimum three classes with the selected initial value of the tuning parameter ? (say 0.1), then the value of tuning parameter ? is updated to another value (say 0.2) to obtain a modified tuning parameter ? and steps 216 and 218 of FIG. 2C are repeated. Further, with the modified tuning parameter ? updated with a new value (e.g. 0.2), it is determined if the classification module 108 is classifying the unseen data instances into minimum three classes. Otherwise, the value of tuning parameter ? is updated to another value (say 0.3) to obtain another modified tuning parameter ?. For each modified tuning parameter ?, steps 216 and 218 of FIG. 2C are repeated till the classification module 108 classifies the unseen data instances into minimum three classes.
In an embodiments, an artificial intelligence based technique for classifying data instances into multiple classes could be expressed by means of a formulations shown as:
Q_i ? P_(i )+ ? s (P)=P_n
Where, n represents number of classes, P_(i ) represents list of all weighted probabilities scores, wherein value of i ranges from 1 to n;
Q_i represents the number of pre-defined classes into which the unseen data instances are classified, wherein the value of I ranges from 1 to m, and wherein m < n;
? represents tuning parameter ? which is computed by iteratively evaluating the performance of the model with different values;
s represents standard deviation s;
(P) represents maximum value of posterior probability; and
P_n represents probability for n classes.
In an embodiment, the method could be implemented but not limited to an email classification scenario, wherein the conventional methods classifiy a received email into one of the number of classes which may result in missing out important information comprised in the email. For example, a banking professional receives an email from a customer which states “Please update my PAN identifiers, Aadhar identifiers and change my name to Antony”. Based on prior training a number of pre-defined classes (e.g. PAN_identifiers, Update_Address, Update _Name, Update_ Aadhar, Update_PAN, Update_Name, New_Name and the like.) could be stored in the database. Conventional approaches can classify the received email into any one of the pre-defined classes (Say Update_Aadhar). However, the received email also refers to update other details which are missed out using existing approaches. In reality such a constraint of one class per document cannot be imposed for meaningful application of the technique. The proposed disclosure identifies more than one class from the number of classes (Say Update_Name, Update_Aadhar, Update_Name) so that maximum information comprised in the email can be analyzed and further utilized.
In an embodiment, the method could be implemented but not restricted to compliance monitoring. For example, audio conversations between customers and help desk agents are recorded for quality and training purpose. Post the call, these conversations are listened and validated against pre-defined checklist to know the efficiency of the help desk agents, if they have adhered to said verbatim, decent language is used, proper salutation is provided on call, politeness was shown etc. Further, based on the business conditions, it is determined if the call is Compliant (i.e. conforms to checklist) or Non-compliant (i.e. doesn’t match the checklist). The manual process of compliance monitoring, which requires listening to the calls repeatedly and validating the outcome, is automated. Using a combination of classification and rule based validation techniques, such calls (after they are provided in text form, i.e. voice to text conversion) can be audited by a machine and results be presented. Once chat transcript is provided, it is run through the classification module 108, to see in which all classes the text spoken by customer fits into. These classes are taken and corresponding rules are validated and accordingly rated like Yes / No / Not Applicable and the like for compliance monitoring.
Experimental results:
In an embodiment, a comparative analysis of conventional classification systems with the proposed classification system is provided with reference to Table 5. The proposed methodology classifies data instances comprised in an input data (e.g. text) into the classes which are relevant to the input data. However, the conventional approaches classify data instances comprised in the input data (e.g. text) into all the available the classes irrespective of relevance with input data. Further, it can be shown from Table 5 that the classification performed using proposed methodology is less prone to error and provides better classification accuracy than the conventional approaches.
Query Expected Class Late Payment Waive Off Issue New Card Update Address Update Email ID Update Phone Number Update Debit/Credit Card
I am a customer of ABC Bank. I have been charged an amount of $25 with regard to my late payment. I request you to kindly waive off the mentioned amount. IBM Watson Late Payment Waive Off 0.95 0 0.2 0 0 0
Proposed AI based Bayesian Technique 0.62 0 0 0 0 0
Hi. Please change my address from some address to current address. Also please update my email from x to y@gmail.co.in. IBM Watson Update Address, Update Email id 0 0 0.17 0 0.18 0.3
Proposed AI based Bayesian Technique 0 0 0.45 0.31 0.23 0
Table 5
For example, as depicted in Table 5, a conventional classification system (e.g. IBM Watson) and the proposed classification system are trained for six pre-defined classes. As shown in Table 5, the six pre-defined classes are late payment waive off, issue new card, update address, update email id, update phone number, update credit/debit card. Further, both the above mentioned classification systems, receive a first query. It can be seen from the Table 5 that the first query discusses about late payment waive off. Thus, for the first query, the expected classification result should be late payment waive off which means that the received first query should be classified into late payment wave off class only. However, as depicted in Table 5, the conventional classification system (IBM Watson) classifies the first received query into two classes (e.g. late payment waive off and update email id). Since the first received query does not discuss about updation of email id, the classification of first received query into update email id class is a result of wrong classification. Thus, it is evident from Table 5 that the conventional classification system (IBM Watson) wrongly classifies the first query into an undesirable class which leads to increased classification error. However, the proposed classification system classifies the first received query into expected late payment waive off class, thereby provide more accurate classification results.
Referring back to Table 5, another example comparing performance of conventional classification system (IBM Watson) and proposed classification system is provided. In another example, a second query is received by both the classification systems (IBM Watson and proposed classification system). As can be seen from the Table 5, the second query discusses about updating address and email id. Thus, for the second query, the expected classification result should be update address class and update email id class which means that the received second query should be classified into update address class and update email id class only. However, as depicted in Table 5, the conventional classification system (IBM Watson) classifies the second received query into three classes (e.g. update address, update phone number and update credit/debit card). Since the second received query does not discuss about updation of phone number and credit/ debit card, the classification of second received query into update phone number class and update credit/debit class is a result of wrong classification. Thus, it is evident that the conventional classification system (IBM Watson) wrongly classifies the first query into undesirable classes. Further, the conventional classification system (IBM Watson) does not classify the second received query into update email id class which is one among the expected classes. Thus, the conventional systems performs misclassification which leads to increased classification error. However, as depicted in Table 5, the proposed classification system also wrongly classifies the second received query into one class (e.g. update phone number) which is not the expected class, but the proposed classification system does not miss out the expected classes comprised in the input data. Thus, the proposed classification system is less prone to error. In an embodiment, the AI based Bayesian technique is comprised in memory 102 of the system 100 which when executed by the processor 106 performs the proposed methodology described herein.
The illustrated steps of method 200 is set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development may change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation.
The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules described herein may be implemented in other modules or combinations of other modules. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
It is intended that the disclosure and examples be considered as exemplary only, with a true scope and spirit of disclosed embodiments being indicated by the following claims.

Documents

Application Documents

# Name Date
1 201821031736-STATEMENT OF UNDERTAKING (FORM 3) [24-08-2018(online)].pdf 2018-08-24
2 201821031736-REQUEST FOR EXAMINATION (FORM-18) [24-08-2018(online)].pdf 2018-08-24
3 201821031736-FORM 18 [24-08-2018(online)].pdf 2018-08-24
4 201821031736-FORM 1 [24-08-2018(online)].pdf 2018-08-24
5 201821031736-FIGURE OF ABSTRACT [24-08-2018(online)].jpg 2018-08-24
6 201821031736-DRAWINGS [24-08-2018(online)].pdf 2018-08-24
7 201821031736-COMPLETE SPECIFICATION [24-08-2018(online)].pdf 2018-08-24
8 201821031736-FORM-26 [04-10-2018(online)].pdf 2018-10-04
9 Abstract1.jpg 2018-10-12
10 201821031736-Proof of Right (MANDATORY) [06-12-2018(online)].pdf 2018-12-06
11 201821031736-ORIGINAL UR 6(1A) FORM 26-091018.pdf 2019-02-15
12 201821031736-ORIGINAL UR 6(1A) FORM 1-121218.pdf 2019-04-22
13 201821031736-OTHERS [30-07-2021(online)].pdf 2021-07-30
14 201821031736-FER_SER_REPLY [30-07-2021(online)].pdf 2021-07-30
15 201821031736-COMPLETE SPECIFICATION [30-07-2021(online)].pdf 2021-07-30
16 201821031736-CLAIMS [30-07-2021(online)].pdf 2021-07-30
17 201821031736-FER.pdf 2021-10-18
18 201821031736-US(14)-HearingNotice-(HearingDate-18-01-2024).pdf 2023-12-29
19 201821031736-Correspondence to notify the Controller [16-01-2024(online)].pdf 2024-01-16
20 201821031736-FORM-26 [17-01-2024(online)].pdf 2024-01-17
21 201821031736-FORM-26 [17-01-2024(online)]-1.pdf 2024-01-17
22 201821031736-Written submissions and relevant documents [01-02-2024(online)].pdf 2024-02-01
23 201821031736-PatentCertificate22-02-2024.pdf 2024-02-22
24 201821031736-IntimationOfGrant22-02-2024.pdf 2024-02-22

Search Strategy

1 2021-02-1011-14-41E_10-02-2021.pdf

ERegister / Renewals

3rd: 22 May 2024

From 24/08/2020 - To 24/08/2021

4th: 22 May 2024

From 24/08/2021 - To 24/08/2022

5th: 22 May 2024

From 24/08/2022 - To 24/08/2023

6th: 22 May 2024

From 24/08/2023 - To 24/08/2024

7th: 25 Aug 2024

From 24/08/2024 - To 24/08/2025

8th: 19 Aug 2025

From 24/08/2025 - To 24/08/2026