CLIAMS:I/We claim:
1. A method implemented by an automated response system (102) for providing response to feedback, the method comprising:
obtaining, by a processor (110), the feedback from at least one data source;
identifying, by the processor (110), at least one event from the feedback, wherein the at least one event is indicative of an activity affecting quality of a service provided to a consumer by an organization;
invoking, by the processor (110), at least one rule based on the at least one identified event and at least one ontology knowledge base, wherein the at least one rule is indicative of a criterion defined to proceed with a course of action to address the at least one event, and wherein the at least one ontology knowledge base includes domain-specific data pertinent to the at least one event; and
generating, by the processor (110), at least one workflow for providing a response to address the feedback, based on the at least one rule.
2. The method as claimed in claim 1, wherein the at least one data source includes an in-house database, an external database, and a social networking forum.
3. The method as claimed in claim 1, wherein the at least one event is identified using at least one of a natural language processing technique and an optical mark recognition technology.
4. The method as claimed in claim 1, wherein the at least one rule is invoked based on a semantic agent.
5. The method as claimed in claim 4, wherein the semantic agent comprises at least one of a consumer agent, an organization agent, an environmental agent, and a determination agent.
6. The method as claimed in claim 1 further comprising:
identifying, by the processor (110), at least one relationship between a pluralities of events on the basis of metadata associated with each of the plurality of events;
allotting, by the processor (110), a criticality level to each of the plurality of events based on the at least one event and the at least one relationship between the plurality of events; and
assigning, by the processor (110), a priority to each of the plurality of events based on the allotted criticality level.
7. The method as claimed in claim 1 further comprising computing, by the processor (110), a Key Performance Indicator (KPI) score for the consumer, wherein the KPI score is indicative of an overall satisfaction of the consumer for the response to the feedback.
8. An automated response system (102) for providing an automated response to feedback, the automated response system (102) comprising:
a processor (110);
an identification module (120), coupled to the processor (110), to,
obtain the feedback from at least one data source; and
identify at least one event from the feedback, wherein the at least one event is indicative of an activity affecting the services provided to the consumer by an organization;
and
a workflow generation module (122), coupled to the processor (110), to,
invoke at least one rule based on the at least one identified event and at least one ontology knowledge base, wherein the at least one rule is indicative of a criterion defined to proceed with a course of action to address the at least one event, and wherein the at least one ontology knowledge base includes domain-specific data pertinent to the at least one event; and
generate at least one workflow for providing a response to address the feedback, based on the at least one rule.
9. The automated response system (102) as claimed in claim 8, wherein the at least one data source includes an in-house database, an external database, and a social networking forum.
10. The automated response system (102) as claimed in claim 8, wherein the identification module (120) identifies the at least one event using at least one of a natural language processing technique and an optical mark recognition technology.
11. The automated response system (102) as claimed in claim 8, wherein the workflow generation module (122) invokes the at least one rule based on a semantic agent.
12. The automated response system (102) as claimed in claim 11, wherein the semantic agent comprises at least one of a consumer agent, an organization agent, an environmental agent, and a determination agent.
13. The automated response system (102) as claimed in claim 8, wherein the identification module (120),
identifies at least one relationship between pluralities of events on the basis of metadata associated with each of the plurality of events;
allots a criticality level to each of the plurality of events based on the at least one event and the at least one relationship between the plurality of events; and
assigns a priority to each of the plurality of events based on the allotted criticality level.
14. The automated response system (102) as claimed in claim 8 further comprises a monitoring module (124), coupled to the processor (110), to compute a Key Performance Indicator (KPI) score for the consumer, wherein the KPI score is indicative of an overall satisfaction of the consumer for the response to the feedback.
15. A non-transitory computer-readable medium having embodied thereon a computer program for executing a method comprising:
obtaining, by a processor (110), a feedback from at least one data source;
identifying, by the processor (110), at least one event from the feedback, wherein the at least one event is indicative of an activity affecting the services provided to the consumer by an organization;
invoking, by the processor (110), at least one rule based on the at least one identified event and at least one ontology knowledge base, wherein the at least one rule is indicative of a criterion defined to proceed with a course of action to address the at least one event, and wherein the at least one ontology knowledge base includes domain-specific data pertinent to the at least one event; and
generating, by the processor (110), at least one workflow for providing a response to address the feedback, based on the at least one rule.
,TagSPECI:TECHNICAL FIELD
[0001] The present subject matter relates, in general, to data processing and, particularly but not exclusively, to providing an automated response to a feedback.
BACKGROUND
[0002] The dynamic nature of the current business scenario and increased consumer awareness has created a highly competitive environment for business organizations. In order to establish and retain their position in the current dynamic business environment, organizations typically invest significant resources in building and maintaining their consumer base. As would be understood, an increase in the number of consumers carves a path of growth and development for an organization. On the other hand, it becomes equally compelling for the organization to engage resources to handle the expanding consumer base. In continuation with the same ideology organizations have started making use of social media and semantic web technologies in order to get a better insight of consumer's expectations.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.
[0004] Fig.1 illustrates a network environment implementing an automated response system, in accordance with an embodiment of the present subject matter.
[0005] Fig. 2 illustrates a component level view of the automated response system, in accordance with the embodiment of the present subject matter.
[0006] Fig.3 illustrates a method for providing an automated response to a feedback, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0007] System(s) and method(s) for providing an automated response to a feedback are described. The system(s) and method(s) can be implemented in a variety of computing devices, such as laptops, desktops, workstations, tablet-PCs, notebooks, portable computers, tablet computers, internet appliances, and similar systems. However, a person skilled in the art will comprehend that the embodiments of the present subject matter are not limited to any particular computing system, architecture, or application device, as they may be adapted to new computing systems and platforms as they become available.
[0008] In the last few decades, the increase in global trade has benefitted consumers across the world by introducing a wide variety of products in the market. On the other hand, from an organization's perspective, owing to the cut-throat competition, it has become relevant to stay abreast with the rapidly changing business scenario to maintain their profitability. Generally, progress and growth of an organization may be evaluated based on its market share or consumer base. Therefore, in order to stay ahead in the race, attracting and retaining consumers has always been the top priority of organizations.
[0009] Nowadays, in an attempt to gain consumer insight, organizations are investing their resources in understanding consumer's expectations and views towards the services offered to them. For example, organizations request consumers to provide their feedback on various services offered by the organizations. In the same context, social networking forums such as Facebook®, Twitter®, Youtube®, Linkedin®, review sites, blogs etc. have emerged as a popular and convenient platform for consumers to discuss and express their opinions. Generally, consumers connect to the organizations by visiting their respective web pages, for example, to get information about their various products, for registering a complaint, for registering their contact numbers for receiving updates, providing feedbacks, etc. Therefore, organizations tend to keep a close watch on such social networking forums to stay connected with the consumers. However, getting the consumers' feedback does not hold any significance if the feedback is not satisfactorily responded to. Therefore, providing a prompt and satisfactory response to consumer feedbacks becomes equally relevant as it may assist in establishing and maintaining a positive word-of-mouth for the organization, which would definitely help in expanding their consumer base.
[0010] As would be understood, an organization may have to deal with a wide variety of consumers with a large number of issues. Owing to different frames of mind and requirements, each consumer may have different expectations from the services offered by the organization. Therefore, it is not possible to satisfy the consumers by following a single predefined set of methodologies. In other words, the organizations may not be able to satisfy the consumers by providing a standard response to their feedbacks. In order to understand and resolve consumer issues, the response provided to different consumers may have to be different based on the expectations, requirements, and historical records of a specific consumer.
[0011] Further, in an attempt to deliver accurate and satisfying response to the consumers, an exhaustive and detailed analysis of a consumer feedback may have to be done. For example, in case of a billing related query, various details about the consumer are considered before responding to the consumer. The details may include current usage of the consumer, previous bills raised in name of the consumer, payments made by the consumer, regularity of making payments by the consumer, and the like. However, carrying out such detailed analysis may lead to handling and processing of a large amount of data. In the context of the above-mentioned example, a large amount of data pertaining to the current usage, consumer's account, and corresponding monetary transactions may be retrieved, stored, processed, and analyzed to deliver an accurate response to the consumer. For each consumer, handling and processing of such a huge amount of data may lead to an investment of substantial amount of resources and time by the organization.
[0012] In addition, to carry out such analysis, data has to be retrieved from various departments of the organization. Referring to the above-mentioned example of the billing related query, various departments of an organization, such as a customer relationship management department, an accounts department, a sales department etc. may have to work in conjunction with each other to provide the requested details. This may again lead to increase in time and resources to be utilized for the analysis. Therefore, providing a satisfactory response to a consumer feedback is a time-extensive exercise involving utilization of a substantial amount of resources. In addition, cost associated with the analysis may also be substantially increased on account of the increased resources, handling and processing of a large amount of data, and a significant time to be utilized for performing the analysis.
[0013] According to the present subject matter, an automated response system, hereinafter referred to as a system, for providing automated response to a feedback is disclosed. In one implementation, the system obtains the feedback from at least one data source. Upon obtaining the feedback, the system may identify at least one event from the feedback. The at least one event may be understood as an activity or incident affecting, directly or indirectly, the experience generated by the services provided by an organization to the consumer. Further, at least one rule may be invoked based on the at least one event and at least one ontology knowledge base. The at least one ontology knowledge base includes domain-specific data pertinent to the at least one event. In continuation to the invocation of the at least one rule, at least one workflow for providing an automated response to the feedback is generated. The at least one workflow may provide a response to the feedback.
[0014] In one implementation, the system may obtain or retrieve the feedback from a data source. In an implementation, the feedback may be directly obtained from a consumer. For example, a consumer may post a comment on a blog or on a social networking form. In another implementation, the system may derive the feedback based on details pertaining to an incident, which may affect the services availed by the consumers. For example, in case of a planned service shutdown, an organization may want to inform the consumers about disruption of services in advance. Similarly, in electricity industry, in case of a storm or earthquakes, it may not be possible for a consumer to provide a feedback. In such situations, the system may derive the feedback based on the details pertaining to the storm or the earthquake available from the data source. For example, the system may obtain details pertaining to the storm from an external database, such as an online portal of a news agency, and based on the details, may derive that electricity failure may be possible in the affected areas.
[0015] In one implementation, the system may obtain feedback from a data source by scanning the data source for detecting occurrence(s) of at least one of a plurality of keywords that may be pre-defined. For example, from a social networking forum, feedbacks pertaining to an organization may be captured by defining keywords related to a name or a signature of the organization. The keywords pertaining to the name or the signature of the organization may then be detected and based on the detection, the feedback relevant to the organization may be obtained. This would assist in reducing an amount of data to be handled and processed by filtering out non-relevant feedbacks and content in the initial stages of the analysis.
[0016] Upon obtaining the feedback, the system may identify the event from the feedback. In one implementation, the event may be identified based on a set of policies pre-defined by an organization. The policies are indicative of requirements and expectations of the organization. In one implementation, a plurality of keywords, hereinafter referred to as event keywords, may be utilized to identify the event. For example, an organization may define keywords and phrases, such as "bill", "billing", "breakdown", "invoice", a service name, "new connection", "poor", "unhappy", "happy", "satisfied", "unsatisfied", "discontinue", "activate", deactivate" and "unbelievable" to identify the event. Therefore, a set of keywords and phrases can be defined for different parameters, such as billing, new connection, breakdown, and a service name, pertaining to client-consumer association. For example, the system may scan the feedback, and detect the pre-defined event keywords "billing" and "unhappy". Therefore, an event pertaining to a consumer being unhappy due to a billing issue may be identified.
[0017] In a further implementation, the event may be identified using techniques including, but not limited to, natural language processing and an optical mark recognition. As is generally understood, the above-mentioned techniques can be used to transform the data in a form adaptable to a system. Based on the identification of the one or more events, the plurality of events can be categorized based on the detected parameters. In one implementation, during the identification and categorization of the events, metadata may be associated with each event. The metadata may include, but is not limited to a type of issue, a locality of the consumer, a time stamp, and a frequency of issue. The metadata may be identified on the basis of details pertaining to the event and the feedback. For example, from the identified event, the system may identify the type of issue mentioned in the event, such as high bill and new connection. Similarly, the time stamp may be obtained based on the time at which a feedback is provided by a consumer.
[0018] Following the identification of the event, the metadata associated with each event may be utilized to identify a relationship between one or more of the events. For example, if the system identifies a number of events pertaining to a shortage of water supply in a specific location, then the number of events may be considered to be related in terms of the same geographic location.
[0019] Further, based on the identification of the relationship between the events, the system may allot a criticality level to each event. In one implementation, a criticality level may be defined as "Low", "Medium", and "High". In one implementation, based on the allotted criticality level, the system may assign a priority to an event on the basis of which, the event may be addressed.
[0020] In one implementation, based on the assigned priority, the event, the ontology knowledge base, and a semantic agent, the system may invoke the at least one rule. The rule may be understood as a criterion defined to proceed with a course of action to address the event. As mentioned earlier, an ontology knowledge base includes domain-specific data pertaining to the identified event. For example, in case of an event pertaining to billing, an ontology knowledge base may be generated for providing an analysis of billing history of a consumer, which may include, but is not limited to billings done in name of the consumer, payment trends followed by the consumer, previous issues pertaining to billing and usage made by the consumer. Further, the semantic agent may be understood as an executable code for generating the rules using various factors affecting the services provided to the consumers. The semantic agent may include, but is not limited to a consumer agent, an organization agent, an environmental agent, and a determination agent. Any change in dynamics of the client-consumer association may directly be reflected by a change in the semantic agent, which in turn, may update or modify the rule accordingly. For example, when a personal detail pertaining to a consumer changes, such as a residential address, then the consumer agent may correspondingly change and the rules may be revised accordingly. Therefore, the analysis can be modified, in real time, to accommodate a change in the semantic agent and hence, an accurate and precise analysis can be achieved. Further, integration of the rules with ontology knowledge base may also assist in achieving dynamic updating of the analysis.
[0021] In one implementation, the system may store frequently invoked rules to minimize the processing time for analysis. For example, rules for providing billing details to consumer may be pre-defined in the system, and may be invoked upon receiving a request from a consumer. In another implementation, the rule may be modified based on the event, the semantic agent, and the ontology knowledge base. Further, based on the invocation of the rule, the system may generate the workflow for providing a response to address a feedback. The at least one workflow may include a plurality of steps to provide an automated response to the feedback in an optimum manner. Further, based on the workflow, tasks may be provided to relevant departments of the organization in order to provide an automated response to the consumer.
[0022] In one implementation, the system may monitor the process, and based on the monitoring, may compute a Key Performance Indicator (KPI) score for a consumer. The KPI score is indicative of an overall satisfaction factor of a consumer based on the response provided by the system. Further, the KPI score can be updated on the basis of each response provided to the consumer during his/her association with the organization. The KPI score may assist the organization in evaluating the consumer experience and therefore, determining areas of improvement to better the consumer experience.
[0023] In one implementation, the events may be stored in an in-house database for future reference. In another implementation, based on the nature and type of events identified over a period of time, the pre-defined rules may be updated to stay abreast with the changing dynamics of the industry.
[0024] As would be gathered, filtering of irrelevant data in the initial stages of the analysis assists in avoiding unnecessary handling and processing of data. Further, the system does not have to store all the relevant data in an in-house database. Instead, data required for generation of rules is stored, which is substantially lesser than the total data to be utilized for the analysis. Further, considering ontology knowledge bases and semantic agents for invoking rules may allow in executing an accurate and comprehensive analysis to provide a justified response to a consumer. In addition, the generation of optimum workflows ensures optimum utilization of resources in a time-efficient manner. Further, the optimum utilization of the resources in a time-efficient manner may result into a cost-effective analysis. In addition, the comprehensive and accurate analysis enhances the consumer experience and therefore, establishes a positive word-of-mouth for the organization.
[0025] These and other advantages of the present subject matter would be described in greater detail in conjunction with the following figures. While aspects of described system(s) and method(s) for providing an automated response to a feedback can be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary system(s).
[0026] Fig. 1 illustrates a network environment 100 implementing an automated response system 102, also referred to as system 102, according to an embodiment of the present subject matter. In the network environment 100, the system 102 is connected to a network 104. Further, the system 102 is connected to a database 106. Additionally, the network environment 100 includes one or more user devices 108-1, 108-2...108-N, collectively referred to as user devices 108 and individually referred to as user device 108, connected to the network 104.
[0027] In one implementation, the network environment 100 includes one or more inputs devices 109-1, 109-2....109-N, collectively referred to as input devices 109 and individually referred to as input device 109. The input devices 109 may provide details to the system 102 for analysis. For example, when the system 109 is employed in electricity utility industry, the input devices 109 may include, but are not limited to Advanced metering infrastructure (AMI) meters, load control switches, smart appliances and home automation systems. In another example, when the system 102 is employed in banking industry, the input devices 109 may include, but are not limited to card swiping machines and ATM machines.
[0028] The system 102 can be implemented as any set of computing devices connected to the network 104. For instance, the system 102 may be implemented as workstations, personal computers, desktop computers, multiprocessor systems, laptops, network computers, minicomputers, servers, and the like. In addition, the system 102 may include multiple servers to perform mirrored tasks for users.
[0029] Furthermore, the system 102 can be connected to the user devices 108 through the network 104. Examples of the user devices 108 include, but are not limited to personal computers, desktop computers, smart phones, PDAs, and laptops. Communication links between the user devices 108 and the system 102 are enabled through various forms of connections, for example, via dial-up modem connections, cable links, digital subscriber lines (DSL), wireless or satellite links, or any other suitable form of communication.
[0030] Moreover, the network 104 may be a wireless network, a wired network, or a combination thereof. The network 104 can also be an individual network or a collection of many such individual networks interconnected with each other and functioning as a single large network, e.g., the internet or an intranet. The network 104 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and such. The network 104 may 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), etc., to communicate with each other. Further, the network 104 may include network devices, such as network switches, hubs, routers, host bus adapters (HBAs), for providing a link between the system 102 and the user devices 108. The network devices within the network 104 may interact with the system 102 and the user devices 108 through communication links.
[0031] In said embodiment, the system 102 includes one or more processor(s) 110, interface(s) 112, and a memory 114 coupled to the processor 110. The processor 110 can be a single processing unit or a number of units, all of which could also include multiple computing units. The processor 110 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 processor 110 is configured to fetch and execute computer-readable instructions and data stored in the memory 114.
[0032] The interfaces 112 may include a variety of software and hardware interfaces, for example, interface for peripheral device(s), such as a keyboard, a mouse, an external memory, and a printer. Further, the interfaces 112 may enable the system 102 to communicate with other computing devices, such as web servers, and external data repositories, such as the database 106, in the network environment 100. The interfaces 112 may facilitate multiple communications within a wide variety of protocols and networks, such as a network 104, including wired networks, e.g., LAN, cable, etc., and wireless networks, e.g., WLAN, cellular, satellite, etc. The interfaces 112 may include one or more ports for connecting the system 102 to a number of computing devices.
[0033] The memory 114 may include any non-transitory 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. The non-transitory computer-readable medium, however, excludes a transitory, propagating signal.
[0034] The system 102 also includes module(s) 116 and data 118. The module(s) 116 include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. In one implementation, the module(s) 116 includes an identification module 120, a workflow generation module 122, a monitoring module 124 and other module(s) 126. The other module(s) 126 may include programs or coded instructions that supplement applications and functions of the system 102.
[0035] On the other hand, the data 118 inter alia serves as a repository for storing data processed, received, and generated by one or more of the module(s) 116. The data 118 includes, for example, workflow generation data 128, monitoring data 130, and other data 132. The other data 132 includes data generated as a result of the execution of one or more modules in the module(s) 116.
[0036] In one implementation, the system 102 may provide an automated response to a feedback. For this, in one implementation, the identification module 120 of the system 102 may obtain feedback from a data source. The data source may include, but is not limited to an in-house database, an external database, a social networking forum, a review website and a blog. In one implementation, the identification module 120 may obtain the feedback from a consumer. In one example, a consumer may provide a feedback through a comment posted on a social networking forum or a blog showing his/her disagreement on a recent raised bill by a mobile network service provider. In another implementation, the identification module 120 may derive the feedback based on details available from the data source.
[0037] In one implementation, the identification module 120 may use a plurality of keywords to obtain the feedbacks from the data source. For example, the identification module 120 may receive the keywords from a user or a database. The identification module 120 may scan the data source for the plurality of keywords. Based on the detection of the plurality of keywords in a feedback, the identification module 120 may obtain the feedback from the data source. In one example, the identification module 120 may use a plurality of keywords to detect name of the mobile network service provider in feedbacks. For example, for obtaining feedbacks relevant to an organization XF corporation, the identification module 120 may use a plurality of keywords, such as "XF corporation", "XF corp." and "XF" for detecting any feedback addressed to the organization. Therefore, based on the detection of the pre-defined keywords, the identification module 120 may obtain the feedback.
[0038] Further, after obtaining the feedback, the identification module 120 may identify, from the feedback, at least one event. In one implementation, the identification module 120 may identify the event based on a set of policies pre-defined by an organization. The policies may indicate requirements and expectations of the organization. For example, the organization may define a policy to identify events pertaining to a specific parameter related to which the event is to be identified, such as billing related issues. In one implementation, the identification module 120 may utilize a plurality of event keywords to identify the event. For example, the identification module 120 may identify keywords and phrases, such as "bill", "billing", "breakdown", "invoice", a service name, "new connection", "poor", "unhappy", "happy", "satisfied", "unsatisfied", "discontinue", "activate", deactivate", "start", "stop" and "unbelievable" to identify the event. In one implementation, for identifying the event pertaining to different parameters pertaining to client-consumer association, such as billing, subscription of new services, discontinuing registered services and breakdown, the identification module 120 may identify a set of keywords for each parameter. For example, the identification module 120 may scan the feedback, and detect the predefined event keywords "new service" and "start". Therefore, an event pertaining to a consumer wishing to subscribe to a new service may be identified. Similarly, in another example, the identification module 120 may detect the pre-defined event keywords "discontinue" and a service name. Therefore, the identification module 120 may identify an event pertaining to a consumer wishing to discontinue the service.
[0039] In one implementation, the identification module 120 may identify an event using techniques including, but are not limited to a natural language processing and an optical mark recognition. As is generally understood, the abovementioned techniques are opted to transform the data in a form adaptable to a system. Further, the identification module 120 may categorize the event on the basis of the detection of one or more event keywords in the feedback. In one implementation, the identification module 120 may associate metadata with each event. The metadata may include, but is not limited to a type of issue, a locality of the consumer, a time stamp and a frequency of issue. Further, the metadata may be identified based on the details pertaining to the event and the feedback.
[0040] In one implementation, the identification module 120 may further identify relationship between one or more of the events based on metadata associated with each event. For example, if the identification module 120 identifies a number of events pertaining to a shortage of water supply in a specific location, then the number of events may considered to be related in terms of the same geographic location.
[0041] Further, based on the identification of the relationship between the events, the identification module 120 may allot a criticality level to each event. In one implementation, the identification module 120 may define a criticality level as "Low", "Medium" and "High". In another implementation, the identification module 120 may define a criticality level as "1", "2", "3", "4" and "5", with "1" being the least critical and "5" being the most critical. For example, in case of a mobile network service provider, if an event of a poor network coverage is being reported by a large number of consumers residing in the same geographic location, then the event may be allotted a criticality level "High". In yet another implementation, based on the allotted criticality level, the identification module 120 may assign a priority to an event, and the event may be addressed accordingly. For example, an event with a criticality level "High" may be addressed before an event with a criticality level "Medium". In one implementation, details pertaining to the identification module 120 may be stored in the workflow generation data 128.
[0042] In one implementation, the workflow generation module 122 may invoke a rule based on the assigned priority, the event, ontology knowledge base and semantic agent. The rule may be understood as a criterion defined to proceed with a course of action to address the event. An ontology knowledge base includes domain-specific data pertaining to the event and is generated from details associated with the client-consumer association available on various external and in-house databases. For example, in case of an event pertaining to billing raised for services offered by an organization in utility industry, the domain may be the utility industry and the parameter may be billing. Therefore, an ontology knowledge base may be generated for depicting an analysis of details pertaining to billing in the utility industry, which may include, but is not limited to demographic details, tariffs, discount details, consumer preferences, consumer constraints, billings done in name of the consumer, payment trends followed by the consumer, usage made by the consumer, previous issues pertaining to billing reported by the consumer, similar issues reported by other consumers, recent developments in billing department of the organization and regulatory policies pertaining to service usage released by a central governing committee.
[0043] In one implementation, details, such as consumer-related social events and consumer location-specific natural events, e.g., storm and hurricane can also be considered in the ontology knowledge base. Also, in a specific example of electricity bills, minute details pertaining to various home appliances, such as electricity consumption, energy rating, load condition and service life of each home appliance used by the consumer may also be provided by the ontology knowledge bases for a precise and accurate analysis. In one implementation, the workflow generation module 122 may derive data from various devices installed on site for carrying out the analysis. For example, the inputs devices 109, such as Advanced metering infrastructure (AMI) meters, load control switches, smart appliances and home automation systems may be used to derive such minute details.
[0044] Further, the semantic agent may include, but is not limited to a consumer agent, an organization agent, an environmental agent and a determination agent. The consumer agent may be understood as a consumer-specific factor affecting the consumer-organization association, such as a consumer behavior profile and a consumer emotional profile. Similarly, the organization agent may be understood as a factor specific to an organization affecting the client-consumer association, such as government regulations and governing policies, organizational policies and organizational holidays. Further, the environmental agent may be understood as a factor pertaining to the environment affecting the client-consumer association, such as weather condition and a natural calamity. Furthermore, the determination agent may be understood as a factor pertaining to computation of various entities for the analysis. For example, the determination agent may use details pertaining to the other semantic agents to compute a new entity, which may not be provided by any of the other semantic agents.
[0045] In one implementation, the workflow generation module 122 may store some frequently invoked rules to minimize the processing time for analysis. In another implementation, the workflow generation module 122 may update the rule based on the event, the semantic agent and the ontology knowledge base.
[0046] Further, based on the invocation of the rule, the workflow generation module 122 may generate a workflow for providing an automated response to a feedback. For example, as soon as a condition set by the rule is met, the workflow generation module 122 may generate the workflow. The workflow may include a plurality of steps to address the feedback in an optimum manner. In one implementation, the workflow may include determining probable reasons for the occurrence of the event, determining social channels frequently used by the consumer and recommended actions to provide a response to the feedback. Further, based on the workflow, the workflow generation module 122 may assign tasks to relevant departments of the organization in order to perform the recommended activities to provide an automated response to the consumer. For example, in conformance to the workflow, the workflow generation module 122 may provide at least one of a "Thank You" note, an apology note to a consumer, a consumer appointment and an on-site visit for the consumer. In one implementation, details pertaining to the work generation module 122 may be stored in the workflow generation data 128.
[0047] In one implementation, the monitoring module 124 may monitor the process, and based on the monitoring, may compute a Key Performance Indicator (KPI) score for a consumer. The KPI score is indicative of an overall satisfaction factor of a consumer based on the response provided by the system 102. In one implementation, the KPI scores can be computed on a scale of 0-100, with 0 being the least satisfied and 100 being the most satisfied. Further, the monitoring module 124 may update the KPI score on the basis of each response provided to the consumer during his/her association with the organization.
[0048] In one implementation, the monitoring module 124 may store the event in an in-house database for future reference. In another implementation, with identification of the event over a long duration of time, the monitoring module 124 may update the rules continuously to stay abreast with the changing dynamics of the industry. In one implementation, details pertaining to the monitoring module 124 may be stored in the monitoring data 130.
[0049] Fig. 2 illustrates a component level view of the automated response system 102, according to an embodiment of the present subject matter, for providing an automated response to a feedback. In one implementation, a data retrieving engine 202 may obtain feedback from the data source. In one implementation, the identification module 120 of the system 102 may perform the functionality of the data retrieving engine 202.
[0050] In one implementation, based on policies defined by an organization, a data transformation engine 204 may identify, from the feedback, an event. In another implementation, the data transformation engine 204 may identify the event using techniques including, but are not limited to a natural language processing and an optical mark recognition. Further, the data transformation engine 204 may identify a relationship between the events based on metadata associated with each event, and based on the identification of the relationship between the events, may subsequently, allot a criticality level to each event. In one implementation, based on the allotted criticality level, the data transformation engine 204 may assign a priority to an event, and the event may be addressed accordingly. In one implementation, the identification module 120 of the system 102 may perform the functionality of the data transformation engine 204.
[0051] In another implementation, a domain ontology and semantic agents engine 206 may provide a domain-specific ontology knowledge base and a semantic agent based on the event and the pre-defined policies. In continuation to providing the domain-specific ontology knowledge base and the semantic agent, a rule engine 208 may invoke a rule on the basis of the domain-specific ontology knowledge base, the semantic agent, the event, and the assigned priority. In one implementation, the workflow generation module 122 of the system 102 may perform the functionality of the domain ontology and semantic agents engine 206 and the rule engine 208.
[0052] In one implementation, based on the invocation of the rule, a workflow generator 210 may generate the workflow for providing an automated response to a feedback. Further, a monitoring engine 212 may monitor the process, and based on the monitoring, may compute a Key Performance Indicator (KPI) score for a consumer. In one implementation, the workflow generation module 122 of the system 102 may perform the functionality of the workflow generator 210 and the monitoring engine 212.
[0053] Fig. 3 illustrates a method 300 for providing an automated response to a feedback, according to one embodiment of the present subject matter. The method 300 may be implemented in a variety of computing systems in several different ways. For example, the method 300, described herein, may be implemented using an automated response system 102, as described above.
[0054] The method 300, completely or partially, may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. A person skilled in the art will readily recognize that steps of the method can be performed by programmed computers. Herein, some embodiments are also intended to cover program storage devices, e.g., digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, wherein said instructions perform some or all of the steps of the described method 300.
[0055] The order in which the method 300 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method, or an alternative method. Additionally, individual blocks may be deleted from the method without departing from the spirit and scope of the subject matter described herein. Furthermore, the methods can be implemented in any suitable hardware, software, firmware, or combination thereof. It will be understood that even though the method 300 is described with reference to the system 102, the description may be extended to other systems as well.
[0056] The method 300 may facilitate providing an automated response to a feedback. At block 302, a feedback may be obtained from a data source. The data source may include, but is not limited to an in-house database, an external database, a social networking forum, a review website and a blog. In one implementation, the consumer may not be able to provide a feedback, e.g., in case of a power failure. In such situations, details pertaining to the power failure may be obtained from a database of a local newspaper agency. Therefore, the feedback may be derived based on the details obtained from the database. In one implementation, a plurality of keywords may be defined for capturing at least one feedback relevant for an organization. The data source may then be scanned for detecting at least one of the pluralities of keywords in innumerous feedbacks. Following the detection of one or more of the predefined keywords, the feedback may be obtained. In one implementation, the identification module 120 of the system 102 may obtain the feedback.
[0057] At block 304, in continuation to the obtaining of the feedback, an event may be identified from the feedback. An event is indicative of an activity or incident affecting, directly or indirectly, the experience generated by the services provided to a consumer by an organization. In one implementation, the event may be identified based on a set of predefined policies provided by the organization. In one implementation, a plurality of predefined keywords, hereinafter referred to as event keywords, may be utilized to identify the event. For example, in order to identify the event, keywords and phrases, such as "bill", "billing", "breakdown", "invoice", a service name, "new connection", "poor", "unhappy", "happy", "satisfied", "unsatisfied", "discontinue", "activate", deactivate", "start", "stop" and "unbelievable" may be identified.
[0058] In one implementation, for identifying the event pertaining to different parameters pertaining to a client-consumer association, such as billing, subscription of new services, discontinuing registered services and breakdown, a set of event keywords for each parameter may be identified. In an example, the feedback may be scanned to detect the predefined event keywords "new service" and "start". Therefore, an event pertaining to a consumer wishing to subscribe to a new service may be identified. In one implementation, techniques including, but are not limited to a natural language processing and an optical mark recognition may be used for identification of the event. As is generally understood, the abovementioned techniques are opted to transform the data in a form adaptable to a system. Further, based on the detection of one or more event keywords in the feedback, the event can be categorized. In one implementation, the identification module 120 of the system 102 may identify the event from the feedback.
[0059] At block 306, a relationship between the events may be identified. In one implementation, the relationship may be identified based on metadata associated with each event during the identification and categorization of the events. The metadata may include, but is not limited to a type of issue, a locality of the consumer, a time stamp and a frequency of issue. In one implementation, the metadata may be associated based on the details of the event and the corresponding feedback. Further, based on the identification of the relationship between the events, a criticality level may be allotted to each event. In one implementation, a criticality level may be defined as "Low", "Medium" and "High". In another implementation, an event may be assigned a priority on the basis of the allotted criticality level. Further, based on the priority, the event may be addressed accordingly. For example, an event with a criticality level "High" may be addressed before an event with a criticality level "Medium". In one implementation, the identification module 120 of the system 102 may identify the at least one relationship between the events, and then allot a criticality level to each event based on the relationship.
[0060] At block 308, a rule may be invoked on the basis of the assigned priority, the event, an ontology knowledge base and a semantic agent. An ontology knowledge base includes domain-specific data pertaining to the at least one event. For example, in case of an event pertaining to billing raised for services offered by an organization, an ontology knowledge base may be generated for depicting an analysis of details pertaining to billing in the industry, which may include, but is not limited to billings done in name of the consumer, payment trends followed by the consumer, usage made by the consumer, previous issues pertaining to billing reported by the consumer, similar issues reported by other consumers, recent developments in billing department and regulatory policies released by a central governing committee.
[0061] Further, the semantic agent may be understood as an executable code for generating rules using various factors affecting the services provided to consumers. The at least one semantic agent may include, but is not limited to a consumer agent, an organization agent, an environmental agent and a determination agent. The consumer agent may be understood as a consumer-specific factor affecting the consumer-organization association, such as a consumer behavior profile and a consumer emotional profile. Similarly, the organization agent may be understood as a factor specific to an organization affecting the client-consumer association, such as government regulations and governing policies, organizational policies and organizational holidays. Further, the environmental agent may be understood as a factor pertaining to the environment affecting the client-consumer association, such as weather condition and a natural calamity. Furthermore, the determination agent may be understood as a factor pertaining to computation of various entities for the analysis.
[0062] In one implementation, some frequently invoked rules may be stored in the system 102 to minimize the processing time for analysis. In another implementation, a rule may be updated based on the event, the semantic agent and the ontology knowledge base. In one implementation, the workflow generation module 122 of the system 102 may invoke the rule based on the event and the ontology knowledge base.
[0063] At block 310, based on the invocation of the rule, a workflow may be generated for providing an automated response to a feedback. For example, as soon as a condition set by the at least one rule is met, the workflow may be generated. The workflow may include a plurality of steps to address the feedback in an optimum manner. Further, based on the workflow, tasks may be assigned to relevant departments of the organization in order to provide an automated response to the feedback. In one implementation, the workflow generation module 122 of the system 102 may generate the workflow based on the invocation of the rule.
[0064] In one implementation, the process may be monitored, and based on the monitoring, a Key Performance Indicator (KPI) score pertaining to a consumer may be computed. The KPI score may be understood as a measure of a satisfaction factor of a consumer based on the response provided by the system 102. Further, the KPI score may be updated on the basis of each response provided to the consumer during his/her association with the organization. In one implementation, the monitoring module 124 of the system 102 may monitor the process and compute the KPI score for each consumer.
[0065] Although implementations of a method for providing an automated response to a feedback have been described in language specific to structural features and/or methods, it is to be understood that the present subject matter is not necessarily limited to the specific features or methods described.