Method and system for dynamic recommendation of experts for resolving queries

Disclosed herein is a method and a system for dynamic recommendation of experts for resolving queries. The method comprises generating expert scores for each expert connected to the system. A ranked order list of all the experts is generated based on the expert scores and availability of the experts. Further, an expert having the highest expert score in the ranked order list is recommended for resolving the user queries by establishing a communication session between user and the recommended expert. The expert score for the recommended expert is updated in real-time based on information collected from the communication session. The disclosed method helps in reducing total number of service tickets being generated for resolving a set of user queries, thereby reducing total waiting period and the resolution period.

This application claims the benefit of Indian Patent Application Serial No. 201641038191 filed Nov. 8, 2016 which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

The present subject matter is related, in general to automated query handling, and more particularly, but not exclusively to a method and system for dynamic recommendation of experts for resolving queries.

BACKGROUND

The service industry covers a wide variety of activities such as trade, hotels and restaurants, transport, storage and communication, financing, insurance, real estate, business services, community, social and personal services, and services associated with construction. Presently, the quantum at which service requests are generated in various sectors of the service industry is increasing day by day. Handling of these service requests requires assistance from a large number of human professionals/experts. Hence, automated request-response systems that require limited number of human experts are being used in the service industry to cater to the needs of all the service customers.

The existing automated request-response systems make use of standard machine learning and text analysis concepts to handle the service request/user queries. Generally, the user queries can be of two types. The first type of queries comprises of frequently asked questions and known issues which have defined answers available in the automated request-response system. The second type of queries comprises of complicated logic or complex reasoning, for which the answers are not available in the system or which are difficult to comprehend by the system. Hence, such type of complex queries requires human experts to interact with the user for understanding, classifying and the for resolving the complex user queries.

The existing approaches of automated request-response systems, such as chat bot assistants, help in reducing the amount of service requests which are generic or of the first type. However, these systems are not suitable to handle the complex, domain specific service queries or queries of the second type, which can satisfy the service users. Hence, the systems switch to a human-agent mode by connecting user session to a human expert, for example when the automated chat bot or chat system is not able to handle the complicated queries of the user.

In a system where many such human experts are available with varied expertise to handle different type of queries, it is desirable and efficient to choose the human expert who is best suited to the type of query that the user is facing. Hence, there is a need for selection of human experts when dealing with type 2 service queries, thereby the system should be able to connect to the most appropriate human expert seamlessly in real-time.

The challenges mainly faced during dynamic recommendation of experts for resolving queries is to estimate the relative expertise of the available human experts to handle different categories of user queries in an automatic and real-time manner.

SUMMARY

Disclosed herein is a method for dynamic recommendation of experts for resolving queries. The method comprises identifying, by an expert recommendation system, a domain category of one or more queries received from a user. Upon identifying the domain category of the one or more queries, availability of one or more experts in the domain category of the one or more queries is identified. An expert score is generated for each of the one or more available experts based on one or more parameters comprising user ratings for the one or more available experts, time taken by the one or more available experts for resolving queries in the domain category previously, total number of queries resolved by the one or more experts in the domain category and prior experience of the one or more available experts, wherein the expert score for each of the one or more available experts is dynamically updated. Finally, one of the one or more available experts are recommended based on the expert score for resolving the one or more queries.

Further, the present disclosure discloses an expert recommendation system for dynamic recommendation of experts for resolving queries. The expert recommendation system comprises a processor and a memory communicatively coupled to the processor. The memory stores processor-executable instructions, which, on execution, causes the processor to identify a domain category of one or more queries received from a user. Upon identifying the domain category of the one or more queries, availability of one or more experts in the domain category of the one or more queries are identified. The processor further generates an expert score for each of the one or more available experts based on one or more parameters comprising user ratings for the one or more available experts, time taken by the one or more available experts to resolve queries in the domain category previously, total number of queries resolved by the one or more experts in the domain category and prior experience of the one or more available experts, wherein the expert score for each of the one or more available experts is dynamically updated. Finally, the processor recommends one of the one or more available experts based on the expert score for resolving the one or more queries.

Further the present disclosure comprises a non-transitory computer readable medium including instructions stored thereon that when processed by at least one processor causes an expert recommendation system to perform operations comprising identifying a domain category of one or more queries received from a user. The instructions further cause the processor to identify availability of one or more experts in the domain category of the one or more queries. Further, the instructions cause the processor to generate an expert score for each of the one or more available experts based on one or more parameters comprising user ratings for the one or more available experts, time taken by the one or more available experts for resolving queries in the domain category previously, total number of queries resolved by the one or more experts in the domain category and prior experience of the one or more available experts, wherein the expert score for each of the one or more available experts is dynamically updated.

DETAILED DESCRIPTION

The present disclosure relates to a method and an expert recommendation system for dynamic recommendation of experts for resolving queries. The expert recommendation system may be configured to select a most appropriate expert from a set of experts connected to the system based on availability of the experts to provide a seamless expert involvement in resolving the one or more user queries. The availability of the experts may be determined by analyzing the type of the user query and generating a ranked order list of all the available experts who are capable of solving the one or more user queries. Upon determining the availability of the one or more experts, the expert recommendation system initiates a communication session between the user and the expert for connecting the user directly to the highest ranked and available expert in real-time.

Further, the expert recommendation system may create a knowledge base for the recommended experts based on the conversation between the user and the expert during the communication session. In an embodiment, the knowledge base associated with the experts may be updated continuously for evaluating the human experts. The experts may be evaluated by calculating an expert score for each expert in a respective domain of the user query based on one or more parameters associated with the experts. Finally, a ranked order list of all the available experts is generated based on the expert score. As an example, the one or more parameters used in evaluation of the experts may comprise user ratings for the one or more available experts, time taken by the one or more available experts for resolving queries in the domain category previously, total number of queries resolved by the one or more experts in the domain category and prior experience of the one or more available experts.

In an embodiment, the method and the expert recommendation system of present disclosure helps in reducing total number of service tickets being generated for resolving the one or more queries received from the user. Also, expert recommendation system is capable of providing an immediate resolution for the one or more user queries by dynamically recommending the most appropriate expert, thereby reducing the total waiting time for the user.

FIG. 1shows an exemplary environment for dynamic recommendation of experts for resolving queries in accordance with some embodiments of the present disclosure.

Accordingly, the environment100comprises an expert recommendation system103for dynamically recommending an expert for resolving user queries. The expert recommendation system103receives one or more queries from a user and identifies a domain category of each of the one or more queries for identifying a suitable expert for resolving the one or more queries. As an example, an expert who is capable of resolving the hardware related queries may be identified for resolving the one or more queries that belong to a hardware service domain. Further, the expert recommendation system103may identify availability of the one or more experts in the domain category of the one or more queries. Further, the expert recommendation system103generates an expert score205for each of the one or more available experts based on one or more parameters (indicated as input parameters101inFIG. 1) comprising user ratings for the one or more available experts, time taken by the one or more available experts for resolving queries in the domain category previously, total number of queries resolved by the one or more experts in the domain category and prior experience of the one or more available experts.

In some embodiment, the expert recommendation system103may generate a dynamic list of experts102based on the availability and the expert score205associated with each of the one or more experts. The availability status of each of the one or more experts may be identified and stored in an expert availability matrix104. As an example, the availability matrix104may store a value ‘0’ for an expert who is ‘offline’ or currently not available. Alternatively, the availability matrix104may store a value ‘1’ for an expert who is ‘online’ and is available for handling the one or more queries. Further, the expert recommendation system103may recommend one of the one or more experts for resolving the one or more queries by sorting the dynamic list of experts102and identifying one of the available expert having highest expert score205. In an embodiment, a communication session may be established between the user and the recommended expert for resolving the one or more queries. As an example, the communication session may be at least one of an audio and/or video enabled session or an e-mail/text message based chat session between the user and the recommended expert.

In some embodiment, the expert recommendation system103dynamically updates the expert score205associated with the recommended expert based on the updated values of the one or more input parameters101. The values of the one or more input parameters101are updated upon completion of the communication session between the user and the recommended expert, using session related conversation logs106stored in the expert recommendation system103. The conversation logs106related to a most recent communication session are extracted and processed to determine updated values of each of the one or more input parameters101. Finally, a new expert score205for each of the one or more experts is generated based on the updated values of the one or more input parameters101, each time when a communication session is completed.

FIG. 2shows a detailed block diagram illustrating an expert recommendation system103for dynamic recommendation of experts in accordance with some embodiments of the present disclosure.

The expert recommendation system103comprises an I/O interface105, a processor107the memory109. The I/O interface105may be configured to receive the one or more queries from the user. The memory109may be communicatively coupled to the processor107. The processor107may be configured to perform one or more functions of the expert recommendation system103for dynamic recommendation of experts for resolving the one or user queries. In one implementation, the expert recommendation system103comprises data201and modules203for performing various operations in accordance with the embodiments of the present disclosure. In an embodiment, the data201may be stored within the memory109and may include, without limiting to, one or more input parameters101, the expert score205for each of the one or more experts and other data207.

In one embodiment, the data201may be stored within the memory109in the form of various data structures. Additionally, the aforementioned data201may be organized using data models, such as relational or hierarchical data models. The other data207may store data, including temporary data and temporary files, generated by modules203for performing the various functions of the expert recommendation system103.

In some embodiment, the one or more input parameters101are the parameters associated with the one or more experts, that are required for generating the expert score205for each of the one or more experts. The values of each of the one or more input parameters101are computed based on inputs received from the user and the conversation logs106of the communication session between the user and the recommended expert. As an example, the one or more input parameters101may include, without limiting to, user ratings for the one or more available experts, time taken by the one or more available experts for resolving queries in the domain category previously, total number of queries resolved by the one or more experts in the domain category and prior experience of the one or more available experts.

In some embodiment, the user ratings for the one or more available experts may be collected from the user upon completion of the communication session. The user ratings may be assigned on a scale of 1 to 5, wherein a user rating of value ‘1’ may indicate that the user is not satisfied with the solutions provided by the recommended expert. Alternatively, a user rating of value ‘5’ may indicate that the user is completely satisfied with the solutions provided by the recommended expert. Similarly, the user ratings of value 2, 3 and 4 may indicate intermediate levels of user satisfaction for the solutions provided by the recommended expert. In an embodiment, the time taken by the one or more available experts in resolving the one or more queries is the total resolution time or the total time of conversation between the user and the expert during the communication session.

In some embodiment, the expert score205is a unique score assigned to each of the one or more experts based on the one or more input parameters101. The expert having a highest expert score205may be recommended for resolving the one or more queries. The expert scores205computed by the expert recommendation system103may be treated as a true measure of expertise of the one or more experts for handling a particular category of the one or more queries.

In some embodiment, the data201may be processed by one or more modules203of the expert recommendation system103. In one implementation, the one or more modules203may be stored as a part of the processor107. In another implementation, the one or more modules203may be communicatively coupled to the processor107for performing one or more functions of the expert recommendation system103. The modules203may include, without limiting to, a receiving module209, a score generation module211, a recommendation module213and other modules215.

As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In an embodiment, the other modules215may be used to perform various miscellaneous functionalities of the expert recommendation system103. It will be appreciated that such aforementioned modules203may be represented as a single module or a combination of different modules.

The receiving module209is responsible for receiving one or more queries from the user through the I/O interface105. In some embodiment, a machine learning component (not shown in figures) configured in the receiving module209may perform one or more machine learning techniques on the one or more received queries for analyzing and determining the domain category of each of the one or more received queries. As an example, the one or more machine learning techniques performed on the one or more queries may include, without limiting to, user query analysis, entity recognition and user intent mining.

In some embodiment, the user query analysis technique may be performed to identify the type of the one or more queries received from the user. As an example, the type of the one or more queries may be informational, closed, open, directed, undirected, navigational, transactional and so forth.

In an embodiment, the entity recognition technique may be performed to identify the domain category of the one or more queries.

In an embodiment, the user intent mining of the one or more queries may help in understanding the intent of the user by recognizing and extracting one or more important keywords from the one or more queries.

The information collected by performing the one or more machine learning techniques on the one or more queries are used for predicting appropriate responses to the one or more user queries.

In an embodiment, the score generation module211may be used to compute the expert score205for each of the one or more experts associated with the expert recommendation system103. The expert score205may be computed based on the values of the one or more input parameters101and availability of the one or more experts. The score generation module211may retrieve the values of the one or more input parameters101using predetermined functions listed below:a. getUserRating ( ): The ‘getUserRating ( )’ function may be used to retrieve the values of user ratings for each of the one or more experts in a specific domain category from the most recent conversation logs106stored in the expert recommendation system103.b. computeResolutionTime ( ): ‘The computeResolutionTime ( )’ function may be used to retrieve the total resolution time. In an embodiment, the total resolution time may be computed as the difference between the start and the end of the communication session between the user and the recommended expert in a specific domain category.c. getNumberoffickets ( ): The ‘getNumberoffickets ( )’ function may be used to retrieve the total number of tickets resolved by the one or more experts in the specific domain category.d. getCategory ( ): The ‘getCategory ( )’ function may be used to predict the domain category to which the one or more queries belong. In an embodiment, the domain category of the one or more queries may be determined based on the information collected by the machine learning component in the receiving module209.e. getExpertExp ( ): The ‘getExpertExp ( )’ function may be used to retrieve the number of years of experience of the one or more experts in resolving the one or more queries.

In an embodiment, the expert score205for each of the one or more experts may be generated based on the values of the one or more input parameters101. Further, a dynamic list of experts102may be created based on the updated expert score205of each of the one or more experts. The expert scores205for each of the one or more experts in a specific domain category may be calculated using a method which includes, but not limited to, ‘Metric of Expertise’ as indicated in equation (1) shown below.

Sc=(T*(AURS))*NY(1)Where,‘S’ indicates the expert score205for an expert in a specific domain category ‘c’;‘T’ indicates the throughput of the expert i.e., the rate at which the expert can resolve the one or more queries. The value of the throughput of the expert may be computed using equation (2) shown below:

T=NART(2)where, ‘ART’ indicates the Average Response Time taken by the expert to resolve ‘N’ number of tickets/queries in a specific domain category. The value of ART may be computed using equation (3) below:

ARTc,e=∑⁢tiTT,(i→1⁢⁢to⁢⁢n)(4)where, T indicates the average time taken by the expert in the domain category ‘c’; and‘TT’ indicates the total time taken by all the experts in the domain category ‘c’.‘AUR’ indicates Average User rating for the expert in the domain category ‘c’. The value of the AUR may be computed using equation (4) shown below:

AURc,e=∑⁢fiN(3)where, ‘f’ indicates the user rating for the expert in the category ‘c’ per ‘N’ number of tickets/queries resolved by the expert.‘Y’ indicates the number of years of experience of the expert in resolving the one or more user queries.

In an embodiment, initially, each of the one or more experts may be assigned with an expert score205of value ‘1’. Later, the score generation module211evaluates and generates the updated expert score205for each of the one or more experts based on the conversation logs106related to a previous communication between the user and the expert. Further, the score generation module211generates the dynamic list of experts102for indicating the updated expert scores205upon generating the expert score205for each of the one or more experts. In an embodiment, the dynamic list of experts102may be sorted in a predetermined order based on the expert score205for each of the one or more experts. As an example, the dynamic list of experts102may be sorted in an ascending order of the expert score205, thereby indicating an expert having highest expert score205on top of the dynamic list of experts102.

In an embodiment, the recommendation module213may be responsible for recommending the one or more experts for resolving the one or more queries received from the user. The recommendation module213uses dynamic list of experts102along with availability matrix104of the one or more experts for identifying the most appropriate expert having highest expert score205and who is available for setting up a communication session with the user. As an example, the availability matrix104of the one or more experts may indicate the availability status of the one or more experts as ‘offline’ or ‘online’. If the availability status of an expert is ‘offline’, it means that the expert is either currently involved in resolving the one or more queries from a first user or the expert is currently unavailable for resolving the one or more queries. Similarly, if the availability status of the expert is ‘online’, it means that the expert is available for resolving the one or more queries from the user.

In an embodiment, the recommendation module213compares the availability matrix104of the one or more experts with the dynamic list of experts102for identifying the most appropriate expert for resolving the one or more queries. However, if an expert, having the highest expert score205is currently not available for handling the one or more queries, the expert recommendation system103dynamically identifies an alternative expert in the dynamic list of experts102who is next most appropriate for resolving the one or more queries. Thus, the recommendation module213provides seamless assistance to the users, by identifying and recommending an expert for resolving the one or more queries, even when few of the one or more experts are involved in resolving the one or more queries of the one or more other users.

Exemplary Embodiment

Consider an automated response-request environment100which comprises five experts, namely expert E1, expert E2, expert E3, expert E4 and expert E5 who have varied level of expertise in one or more domain categories, namely domain category C1, domain category C2, domain category C3 and domain category C4. Now, an expert score205for each of the one or more experts (expert E1-expert E5) may be generated using the equation (1) explained in the above description. In an embodiment, the expert score205for each of the one or more experts may be generated by substituting the values of the one or more input parameters101, comprising the total resolution time, the user ratings for the one or more experts, the number of tickets resolved by the one or more experts in a domain category and the total number of years of experience of the expert in the equation (1).

Accordingly, the tickets handled by each of the one or more experts for resolving the one or more queries belonging to the one or more domain categories may be indicated as shown inFIG. 6A. For example, the expert E1 may have solved10tickets belonging to domain category C1, the expert E2 may have solved a single ticket in the domain category C2 and the expert E3 may have solved12tickets in the domain category C4.FIG. 6Aalso indicates the total number of tickets solved in each of the one or more domain categories by each of the experts E1-E5.

Similarly, the User Rating (UR), on a scale of 1-5, provided to each of the one or more experts upon resolving the one or more queries of the user may be as indicated inFIG. 6B. Where, the value ‘5’ indicates the highest UR and the value ‘1’ indicates the lowest UR. For example, the user rating provided to the expert E1 in the domain category C2 may be ‘2’. Whereas, the user rating for the expert E2 in the domain category C2 may be ‘4.7’, which means that the expert E2 is the better expert for handling the one or more queries belonging to the domain category C2, when compared to the expert E1.

Further, the Resolution Time (RT) taken by each of the one or more experts (in minutes) for resolving the one or more queries may be as indicated in theFIG. 6C. For example, the time taken by the expert E1 for resolving the one or more queries in the domain category C1 may be 3 minutes. Similarly, the time taken by the expert E3 for resolving the one or more queries in the domain category C1 may be 4 minutes

The total number of years of experience of each of the one or more experts may be as indicated inFIG. 6D. As an example, the expert E4 may have 4 years of experience in the handling the one or more queries in the one or more domain categories.

Now, the throughput (T) of each of the one or more experts while resolving the one or more queries of one or more domain categories may be calculated using the equation (2) explained earlier.

Accordingly, upon substituting the values of the one or more input parameters101in the equation (2), the throughput of each of the one or more experts may be as indicated inFIG. 6E. For example, the throughput of the expert E2 in the domain category C1 may be 3. Here, the throughput of the expert E2 may be determined based on the total number of tickets handled by the expert E2 and the ART for the expert E2 in the domain category C1.

Similarly, the Average User Rating (AUR) for each of the one or more experts may be computed by substituting the values of the one or more input parameters101in the equation (3) above.

Accordingly, upon substituting the values of the one or more input parameters101in the equation (3), normalizing the values, the AUR for each of the one or more experts may be as indicated inFIG. 6F. For example, the AUR for the expert E1 in the domain category C1 may be 0.48. Here, the AUR for the expert E1 may be computed based on the user rating for the expert in the domain category C1 and the total number of tickets handled by the expert E1 in domain category C1.

Further, the Average Resolution Time (ART) for each of the one or more experts may be computed by substituting the values of the one or more input parameters101in the equation (4) above.

Accordingly, upon substituting the values of the one or more input parameters101in the equation (4) the ART for each of the one or more experts may be as indicated inFIG. 6G. For example, ART for the expert E1 for the domain category C1 may be 3 minutes, and ART for the expert E2 in the domain category may be 1 minute.

Finally, the expert score (S) for each of the one or more experts may be computed by substituting the values of the one or more input parameters101in the equation (1) explained earlier.

Accordingly, upon substituting the values of the one or more input parameters101in the equation (1) and normalizing the values with a normalization factor of ‘5’, the expert scores205for each of the one or more experts in the one or more domain categories may be as indicated inFIG. 6H. For example, the expert score for the expert E1 in the domain category C1 may be generated based on the throughput and the AUR for the expert E1 and the total number of tickets solved by the expert E1 in the domain category C1.

A sorted list of the one or more experts may be generated by sorting the one or more experts based on the expert score205of each of the one or more experts in the one or more domain categories. As an example, according to Table H, the sorted list of the one or more experts based on the expert score205for the category C2 may be as indicated below.E=[E5, E4, E3, E1, E2]

Furthermore, the availability of each of the one or more experts is considered for identifying the most appropriate expert for resolving the one or more queries based on the sorted list of the one or more experts. As an example, the availability matrix104for the one or more experts may be as indicated below:A=[1, 0, 1, 1, 0] for E=[E5, E4, E3, E1, E2]

Where, ‘A’ denotes the availability matrix104for the one or more experts E1-E5. Where, a value ‘0’ indicates that the expert is ‘offline’ or is involved in resolving the one or more other queries. Similarly, a value ‘1’ indicates that the expert is ‘online’ and is available for resolving the one or more queries.

Finally, the expert recommendation system103may identify the one or more experts for recommending by comparing the sorted list of the one or more experts with the availability matrix104of the one or more experts. Hence, by comparing the above lists (E and A), the one or more available experts that are most appropriate for handling the one or more queries belonging to domain category ‘C2’ are—expert E5, expert E3 and expert E1.

FIG. 3shows a flowchart illustrating a method for evaluating an expert in accordance with few embodiments of the present disclosure. Accordingly, at step301, a conversation between the user and the expert recommendation system103is initiated. At step303, the expert recommendation system103receives one or more queries from the user. At305, the domain category of each of the one or more received queries are identified, in an embodiment, using the machine learning component configured in the receiving module209of the expert recommendation system103. Upon identifying the domain category of each of the one or more queries, at step307, the expert recommendation system103may provide one or more automated responses to the one or more queries using one or more domain specific, predetermined answers/responses stored in the expert recommendation system103. At step309, the expert recommendation system103checks whether the user is satisfied by the one or more automated responses provided in response to the one or more queries. The confidence score, which is a measure of the user's satisfaction with the one or more automated responses, is calculated by capturing the intent of the user, using the machine learning component. In an embodiment, if the confidence score associated with the one or more automated responses is higher than a threshold value, it means that the user is satisfied by the one or more automated responses provided to him and the one or more queries are resolved. Eventually, at step325, the conversation between the user and the expert recommendation system103is terminated.

Alternatively, if the confidence score is less than the threshold value, then the expert recommendation system103may recommend the one or more experts for resolving the one or more queries of the user. Hence, at step310, the expert recommendation system103generates a dynamic list of experts102associated with the expert recommendation system103. The dynamic list of experts102may be generated based on the one or more initial expert scores205assigned to each of the one or more experts. At step311, the expert recommendation system103generates an availability matrix104of the one or more experts by identifying the one or more available experts among the one or more experts listed in the dynamic list of experts102. At step313, the expert recommendation system103compares the dynamic list of experts102with the availability matrix104to generate a sorted list of all the available experts based on the expert scores205assigned to each of the one or more experts. At step315, the expert recommendation system103recommends one of the one or more available experts from the sorted list of all the available experts for resolving the one or more queries.

At step317, a communication session is established between the user and the recommended expert for initiating a conversation between the user and the recommended expert for resolving the one or more queries as shown in step319. The conversation log106of the entire communication session may be stored in the expert recommendation system103for future analysis purposes. At step321, the expert recommendation system103collects information related to the communication session for generating an updated expert score205for the recommended expert, as indicated at step323. As an example, the one or more information collected during the communication session may include, without limiting to, total resolution time, total number of tickets raised and/or handled by the recommended expert, user rating for the recommended expert and so forth. Finally, the expert recommendation system103dynamically generates an updated list of experts based on the updated expert scores205.

FIG. 4shows a flowchart illustrating a method for dynamic recommendation of experts in accordance with some embodiments of the present disclosure.

As illustrated inFIG. 4, the method400comprises one or more blocks for dynamic recommendation of experts for resolving queries using an expert recommendation system103. The method400may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types.

At block401, the expert recommendation system103identifies a domain category of one or more queries received from a user.

At block403, the expert recommendation system103identifies availability of one or more experts in the domain category of the one or more queries for resolving the one or more queries received from the user.

At block405, the expert recommendation system103generates an expert score205for each of the one or more available experts based on one or more input parameters101comprising user ratings for the one or more available experts, time taken by the one or more available experts to resolve queries in the domain category previously, total number of queries resolved by the one or more experts in the domain category and prior experience of the one or more available experts, wherein the expert score205for each of the one or more available experts is dynamically updated.

At block407, the expert recommendation system103recommends one of the one or more available experts based on the expert score205for resolving the one or more queries. The one or more available experts having highest expert score205are recommended for resolving the one or more queries. In an embodiment, a real-time communication session is established between the user and the recommended expert to resolve the one or more queries. Further, the one or more input parameters101corresponding to the recommended expert are updated upon completion of the real-time communication session. In an embodiment, the expert score205for the recommended expert is dynamically updated based on update of the one or more input parameters101.

Computer System

FIG. 5illustrates a block diagram of an exemplary computer system500for implementing embodiments consistent with the present invention. In an embodiment, the computer system500may be the expert recommendation system103which is used for dynamic recommendation of experts for resolving queries. The computer system500may comprise a central processing unit (“CPU” or “processor”)502. The processor502may comprise at least one data processor for executing program components for executing user- or system-generated business processes. A user may include a person, a person using a device such as such as those included in this invention, or such a device itself. The processor502may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.

Using the I/O interface501, the computer system500may communicate with one or more I/O devices (511and512).

In some embodiments, the processor502may be disposed in communication with a communication network509via a network interface503. The network interface503may communicate with the communication network509. The network interface503may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), Transmission Control Protocol/Internet Protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. Using the network interface503and the communication network509, the computer system500may communicate with the user for receiving the one or more queries from the user and to provide response to the one or more user queries. The communication network509can be implemented as one of the different types of networks, such as intranet or Local Area Network (LAN) and such within the organization. The communication network509may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the communication network509may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.

The memory505may store a collection of program or database components, including, without limitation, user/application data506, an operating system507, web server508etc. In some embodiments, computer system500may store user/application data506, such as the data, variables, records, etc. as described in this invention. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase.

Advantages of the embodiment of the present disclosure are illustrated herein.

In an embodiment, the present disclosure provides a method for dynamically recommending experts for resolving one or more queries of a user based on the availability and expert score associated with the available experts.

In an embodiment, the expert recommendation system of present disclosure helps in reducing total number of service tickets being generated for resolving the one or more queries received from the user.

In an embodiment, the expert recommendation system of present disclosure provides immediate resolution for the one or more user queries, thereby reducing the total waiting time for the user.

In an embodiment, the method of present disclosure generates quality content and facilitates in active learning and evaluation of the one or more experts in real-time.

The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise. A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.