Automatic Generation Of Business Intelligence Chatbot For Organizations

1y ago
8 Views
2 Downloads
608.53 KB
5 Pages
Last View : 4d ago
Last Download : 3m ago
Upload by : Randy Pettway
Transcription

Automatic Generation of Business IntelligenceChatbot for OrganizationsMahdi BanisharifMDSE Research GroupUniversity of IsfahanIsfahan, Iranbanisharif@eng.ui.ac.irArman MazloumzadehMDSE Research GroupUniversity of IsfahanIsfahan, Iranarman.mazloumzadeh@gmail.comAbstract— Business Intelligence (BI) helps organizations inmaking data-driven decisions by visualizing the current andhistorical data. Despite the plethora of BI tools, their accessibilityand usability are still issues. To alleviate these issues,organizations use Chatbots. However, due to the variety ofrequirements and different organizational structures, developinga BI chatbot is a complex task that requires the collaboration oftechnical and BI experts. To address this problem, in this paper,we propose a model-driven approach for the automatic generationof personalized BI chatbots for organizations. The approach isimplemented as a framework, which includes two components.First is a modeling component that allows the user to model thebusiness-specific chatbot. Second is an automation component thatautomatically generates the chatbot code. We conducted a casestudy to evaluate the applicability of our approach. The results arepromising for developing interactive BI chatbots according tovarious organizational needs.Keywords—business intelligence, organizational chatbots,chatbot design, model-driven developmentMohammadreza SharbafMDSE Research GroupUniversity of IsfahanIsfahan, Iranm.sharbaf@eng.ui.ac.irBahman ZamaniMDSE Research GroupUniversity of IsfahanIsfahan, Iranzamani@eng.ui.ac.irsupport the integration with popular social networks such asTelegram 4 . For this purpose, organizations working onintelligence tasks have to develop tools that easecommunication, especially when the employees quickly need toaccess large quantities of unstructured data. However, thedevelopment of proper communication tools requires a deepunderstanding of BI techniques and tools. In this regard, anorganization to provide data analysis and visualizationcapabilities for their employees has the following limitations.I. INTRODUCTION The complexity of BI platforms makes it impossiblefor organizations to create personalized mobileapplications for their employees. Each organization has a specific structure with severaldepartments that each department has to extract andanalyze different reports. BI systems work on vital organization information toprovide visual reports. Communication means must bewell-formed to satisfy constraints at the user level andprotect data privacy.Business Intelligence (BI) systems combine operational datawith analytical tools to present complex and competitiveinformation to planners and decision-makers [1]. Datapresentation and visualization happen at the reporting layerthrough BI reports, dashboards, or queries in the BIenvironment. The reporting layer is one of the BI’s coreconcepts [2], which can define queries in standard or userdefined reports based on self-service BI [3]. BI systems help theorganization to reduce the required time for data collection andprocessing significantly. Therefore, a business analyst can makeaccurate and competitive decisions through fast and efficient BIreports, which leads to more income with low costs fororganizations. Moreover, BI systems can improve decisionmaking and data analysis, which leads to growing thesatisfaction of customers as well as employees from the businessenvironment [4].Recently, BI systems have been widely used in organizationsto gain insights into business managers. Thereby, numerousbusiness intelligence tools have been developed to takeadvantage of data and support decision-making. However, mostexisting BI tools, such as Microsoft Power BI1, Tableau2, andOracle Analytics Cloud3, are commercial systems that do notIn recent years, chatbots have been widely adopted invarious organizations as one of the leading technologies toprovide a direct communication channel and exchange businessdata between companies and persons. Chatbot represents areasonable and practical way of interaction between humans andmachines [5]. Chatbots provide an intelligent solution for onlineand on-demand access to data during an interaction with amachine in a dialogic fashion [6]. Although chatbots have beenused as customer service environments during the last years,they currently play a critical role in many businesses to improvecustomer experience. According to the Business Insider report,experts predict that by 2022, 90% of banks and enterprises willuse chatbots [7]. Considering managers as the customers of BItools, we can leverage this solution to the decision-makingprocesses involved in BI. Therefore, the chatbot is a potentialsolution to provide communication means for organizations thatneed ubiquitous and on-demand business intelligence reports.However, the design and development of a chatbot, along withthe business domain and organization needs, usually depend ona deep understanding of business as well as advanced m/https://www.tableau.com/978-1-6654-8027-7/22/ 31.00 2022 lytics-platform/https://telegram.org/

Fig. 1: Process of Chatbot Generation using the Proposed FrameworkThis paper introduced a new framework to address the issuesmentioned above by providing a domain-specific language aswell as an automatic code generator to build personalized BIchatbots for organizations. Our framework follows a modeldriven approach that helps business managers, who arenonexpert users in programming but aware of the organizationrequirements, quickly design and automatically generate chatbotcode for the targeted platforms. Compared to the softwareservices, well-known communication tools like Telegram andDiscord 5 do not need to install new apps and swap betweendifferent social networks [7]. We provide a proof-of-conceptimplementation based on the Telegram platform, whichcurrently is one of the popular and most used social networks[8]. Our framework generates chatbot code for the Telegramplatform based on enterprise structure, roles, and employeeaccessibility, leading to a more convenient user experience. Tovalidate the proposed approach, we conducted a case study todemonstrate the applicability of our framework by developingchatbots in two businesses with different needs. The resultsshow that the proposed approach facilitates the development ofBI chatbots for various organizations.The rest of the paper is structured as follows: Section IIpresents an overview of the proposed approach. Section IIIproceeds with the details of tools used in the implementation ofthe approach. Section IV presents the case study with adiscussion on the results. Section V reports related work andSection VI concludes the paper and outlines future work.II.OVERVIEW OF THE APPROACHThis section presents our approach that applies Agile andModel-Driven Development (MDD) [9] principles to definepersonalized chatbots for organizations. We followed a modeldriven methodology under the guidelines provided by Gharaatet al. [10] to develop the proposed framework. Regarding thismethodology, our proposed framework includes three mainparts: Modeling, Automation, and Realization. They help inreducing the gap between business needs and technical domainsusing the separation of concerns principle. The Modeling part isresponsible for facilitating the chatbot design according to thebusiness need by providing a domain-specific language. TheAutomation part is used to generate the required codes ansformations to build a personalized chatbot. At last, theRealization part is responsible for deploying chatbot code in the5https://discord.com/target platform and running it for the end-users. The process ofbuilding a personalized chatbot using the proposed frameworkis depicted in Fig. 1. In the following, we represent thecomponents involved in each part in detail.A. ModelingThe proposed framework allows nonexpert users to design abusiness chatbot based on a domain-specific language. Themeta-model of this language is shown in Fig.2. This meta-modelspecifies meta-classes, relations, and all required featuresessential to define a business chatbot. According to Fig.2, eachbusiness chatbot model consists of a Configuration, more thanone States, and several Users and Queries. Each Query involvesone or more parameters (Param) and several Filters, which isapplied on a source dataset to provide the target data as a textualreport or Chart. Furthermore, Users might execute Queriesbased on their Role to access business charts and reports.Moreover, each State has a textual Message, one Keyboard thatincludes more than one Buttons, and can move to another Stateusing several next relations. To facilitate business chatbots'modeling and design activity, we provide a JSON-basedtemplate that helps the organization's employees modelpersonalized chatbots based on the required data and queries.The resulted chatbot model is the output of this part.B. AutomationThis part starts by receiving the chatbot model from theModeling part. The model provides the input of threetransformation activities to automatically generate chatbotsource codes, controllers, and visualizers. In the following, wedig into the main components of this part and explain the internaldata flow between them.Code Generator: This component generates the finalchatbot codes and message processors based on the input model.From the moment a message is received from a chatbot user anddirected to a message processor by the bot controller, thatmessage processor determines which logic should be run andhow the formatted result should be sent back to the user. Sincethe message processors are mainly generated based on modeleddata, they operate entirely based on what the chatbot designerhas been determined to satisfy the requirements.Bot Controller: As discussed above, message processorsget new messages from the bot controller. Thus, the bot

Fig. 2: Business Chatbot Metamodelcontroller is the first component of the final chatbot that getsinvolved with new messages received from users. Therefore, thebot controller must be aware of the platform API that themessage originated to receive messages and send back theresponses correctly. After fetching the message, the botcontroller should pick the most suitable message processor bycomparing user authorization and state with the modeled dataand assign handling the message to it. Finally, when theprocessor returns the response to the bot controller, it sends thatresponse back to the message origin to finish the message flow.Visualizer: In message processing, the processor may needto return a diagram as the message's response. In this situation,the processor uses the visualizer component to produce itsintended chart. Thus, the visualizer component should get thepredictor and target parameters required to draw different chartsbased on modeled data and return the chart as a report.C. RealizationWhen the chatbot codes have been ready, the realization partdeploys the chatbot over the targeted platform to make itavailable to chatbot users for interaction. The platformdetermined in modeled data affects the way the deploymentprocess should occur. Therefore, realization should be able to dothe deployment process according to the target platform. In thecurrent version of the proposed framework, we deploy theresulting chatbot over the Telegram platform.III.TOOL SUPPORTTool implementation has been done in two parallel phases,including Modeling and Automation phases, to support thementioned capabilities in our approach. Python is the mainprogramming language used to implement the automationphase, and Eclipse Modeling Framework6 (EMF) is the leadingplatform used in the modeling phase. The implementation isavailable on GitHub 7 under the Apache 2.0 license. In thefollowing, we briefly review each phase.6https://www.eclipse.org/modeling/emf/A. Modeling phaseWe used the Eclipse platform to implement the proposedmeta-model using the Ecore tool. According to the implementedmeta-model, we prepared our extension that helps the user byproviding a JSON-template for chatbot designers. Using thistemplate, designers can determine their intended structure andfeatures for their target chatbot.B. Automation phaseAs the automation's main component, the controller isimplemented based on a python library called “django-tgbot”.The state-based architecture of this library makes the wholesystem event-driven; that is what our framework needs to handlea messaging system. This library is used as our messaginginterface needed to communicate with users on the Telegramplatform. It should be noted that “django-tgbot” creates aDjango project with a bot app as its core, making it possible todevelop more apps to interact with the bot in a highly efficientway and without any overhead.IV.CASE STUDYThis section illustrates the applicability of our approach inautomatic generation of a personalized chatbot for extractingbusiness intelligence reports in different organizations. To thisend, we conducted a descriptive case study following theguidelines introduced by Runeson and Höst [11]. The main goalof our study was to evaluate the applicability of the proposedframework to generate personalized business chatbots fordifferent real-world scenarios. Another goal was to assess thecorrectness of the generated codes and resulting chatbots. Tothis end, we followed our process to deploy two personalizedchatbots for various business domains in the proposedframework. In the following, we first review the design of thecase study. Then, we discuss and draw some conclusionsregarding the results of our /BICGen

A. Case study designAs an appropriate input to this case study, we need thebusiness requirements to design the structure of chatbots. In thefollowing, we introduced the specification of two personalizedchatbots for the Human Resource (HR) department of anorganization and the Sales department of an enterprise.HR Chatbot. This chatbot facilitates the reporting systemsfor a manager in charge of the HR department to extract reportsand analyze performance and support in some main areas,including recruitment, human resources information, payrolland compensation. By considering such requirements, thedesigner defines JSON files to specify the target chatbot. Fig.3.a shows an excerpt of JSON scripts that model the HR chatbot.For instance, the “Recruiting Rate by Segment” report is filteredby Month Name, can only be accessed by the HR Manager, andresult in a Pie Chart. Fig. 3.b presents the interface of theresulting chatbot for a practical scenario of executing the“Recruiting Rate by Segment” report. Fig. 4 shows the extractedchart by the “Recruiting Rate by Segment” report. This chart isautomatically generated by the visualizer part of the HR chatbot.Sales Chatbot. This chatbot is generated for an enterprisethat deals with big data and needs to make quick decisions in acompetitive market. They can make financial reports relevantly.Fig. 5.a shows an excerpt of JSON scripts to design the Saleschatbot. In this chatbot, the “Unit Sold by Segment” report canbe filtered by Segment or Country, and as shown in Fig. 5.b canbe visualized the resulting data by a Pie Chart or Bar Chart. Thegenerated charts are depicted in Fig. 6.(a) JSON Script(b) User InterfaceFig. 5: An Example View of Sales Chatbot(a) JSON Script(b) User InterfaceFig. 3: An Example View of HR Chatbot(a) Pie Chart(b) Bar ChartFig. 6: Sales Report Example: “Unit Sold by Segment”B. DiscussionThe resulting chatbots in our experiment are depicted inFig. 3.b and Fig. 5.b. In this section, we discuss the applicabilityof our approach and the correctness of the generated chatbotsbased on the extracted results.Applicability: We used the proposed approach to generatechatbots for two real-world cases in various enterprises. Thesechatbots include different business requirements, and resultsshow the applicability of the proposed framework to generatechatbots code and address this concern.Fig. 4: HR Report Example: “Recruiting Rate by Segment”Correctness: We performed an expert review to check thefulfillment of requirements by domain experts to assess thecorrectness of generated chatbots. The results show that both

generated chatbots support enterprises' requirements, includingdifferent charts, various filters, and specific access levels to thedata. The list of possible reports is available on the projectGitHub (see Section III).V.RELATED WORKIn recent years, several research efforts have been made todeploy chatbots for various contexts to automate tasks andimprove user interactions [12]. In this section, we will focus onapproaches that have been proposed to ease chatbot definitionand deployment.Baudart et al. [13] introduced wcs-ocaml a library, a multitier chatbot generator library, which can be used with thereactive language ReactiveML for developing chatbots using acode-based approach. The proposed library generates thechatbot code for the runtime tier. In fact, this approach providesan opportunity to generate repetitive code and only focus on thereactive feature of chatbot composition. In contrast, since thecomplex interactions require a deep understanding of the codes,we target the low-code technique by offering a model-basedapproach.Lacerda and Aguiar [14] proposed an approach to allownonexperts reused open-source chatbots projects to develop achatbot. They identified assets that could be reused as a blockbox and the assets that should be customized for a particularchatbot. This approach allows nonexperts to develop chatbotprojects in a shorter time by reusing quality-assured codes.However, the proposed approach only contributed to developingFAQ chatbots, while our approach focused on building businessintelligence chatbots.Daniel et al. [15] introduced the Jarvis framework thatprovides a Domain Specific Language (DSL) to define chatbotsin a platform-independent way. They then extended thisapproach by proposing Xatkit [12], a model-based chatbotdevelopment framework that aims to support event-basedconversations and customize intent recognition for chatbots.Similar to our approach, Xatkit also uses a model-baseddevelopment paradigm for the definition of chatbots, however,for a different purpose. We designed a domain-specific languageto support the features required to develop business intelligencechatbots, while Xatkit focuses on developing chatbots forcustomer services and conversational domains.Ed-douibi et al. [16] proposed an approach to automaticallyderive full-fledged chatbots from API-based Open Data sources.This approach relies on a model-based representation, in whichthe API definition is specified via UML class diagrams for theconfiguration of the chatbot and Web API. Then the model isused to generate the chatbot and query the Open Data source.Although this work is very similar to our approach, thegenerated chatbots are general, unlike our resulting chatbots,personalized based on the end-user access level.VI.CONCLUSIONIn this paper, we introduced a model-driven framework todesign and develop personalized chatbots for variousorganizations. This framework provides a domain-specificlanguage to define the details of business chatbots, wheredifferent transformations use the designed model to generatechatbot codes automatically. Our framework helps businessexperts quickly develop personalized chatbots without anyprogramming knowledge while decreasing the development andmaintenance costs.As future work, we plan to prepare a dashboard with a userfriendly interface for enterprise nonexpert employee to entertheir configuration and structure to create JSON files. We alsointend to improve the flexibility of generated chatbots using anNLP component to transmit a command string from themessaging component to the controller component. Moreover,we aim to conduct more experiments to assess the useability ofthe proposed ][11][12][13][14][15][16][17]S. Negash and P. Gray, “Business intelligence,” in Handbook on decisionsupport systems 2, Springer, 2008, pp. 175–193.N. Dedić and C. Stanier, “Measuring the success of changes to existingbusiness intelligence solutions to improve business intelligencereporting,” in International conference on research and practical issuesof enterprise information systems, 2016, pp. 225–236.L. Sparks, “Supply chain management and retailing,” in Supply ChainForum: An International Journal, 2010, vol. 11, no. 4, pp. 4–12.R. Tunowski, “Business intelligence in organization. Benefits, risks anddevelopments,” Przedsiębiorczość i Zarządzanie, vol. 16, no. 2, pp. 133–144, 2015.P. B. Brandtzaeg and A. Følstad, “Why people use chatbots,” inInternational conference on internet science, 2017, pp. 377–392.R. Dale, “The return of the chatbots,” Natural Language Engineering,vol. 22, no. 5, pp. 811–817, 2016.BRN.AI, “Chatbot Report 2019: Global Trends and eport-2019-global-trends-andanalysis-a487afec05b (accessed Feb. 07, 2022).S. Pérez-Soler, M. González-Jiménez, E. Guerra, and J. de Lara,“Towards Conversational Syntax for Domain-Specific Languages usingChatbots.,” J. Object Technol., vol. 18, no. 2, pp. 1–5, 2019.A. Dargahi Nobari, N. Reshadatmand, and M. Neshati, “Analysis ofTelegram, an instant messaging service,” in Conference on Informationand Knowledge Management, 2017, pp. 2035–2038.H. Alfraihi, K. Lano, S. Kolahdouz-Rahimi, M. Sharbaf, and H.Haughton, “The impact of integrating agile software development andmodel-driven development: a comparative case study,” in InternationalConference on System Analysis and Modeling, 2018, pp. 229–245.M. Gharaat, M. Sharbaf, B. Zamani, and A. Hamou-Lhadj, “ALBA: amodel-driven framework for the automatic generation of androidlocation-based apps,” Automated Software Engineering, vol. 28, no. 1,pp. 1–45, 2021.P. Runeson and M. Höst, “Guidelines for conducting and reporting casestudy research in software engineering,” Empirical software engineering,vol. 14, no. 2, pp. 131–164, 2009.G. Daniel, J. Cabot, L. Deruelle, and M. Derras, “Xatkit: a multimodallow-code chatbot development framework,” IEEE Access, vol. 8, pp.15332–15346, 2020.G. Baudart, M. Hirzel, L. Mandel, A. Shinnar, and J. Siméon, “Reactivechatbot programming,” in International Workshop on Reactive andEvent-Based Languages and Systems, 2018, pp. 21–30.A. R. T. de Lacerda and C. S. R. Aguiar, “FLOSS FAQ chatbot projectreuse: how to allow nonexperts to develop a chatbot,” in InternationalSymposium on Open Collaboration, 2019, pp. 1–8.G. Daniel, J. Cabot, L. Deruelle, and M. Derras, “Multi-platform chatbotmodeling and deployment with the jarvis framework,” in Conference onAdvanced Information Systems Engineering, 2019, pp. 177–193.H. Ed-Douibi, J. L. C. Izquierdo, G. Daniel, and J. Cabot, “A Modelbased Chatbot Generation Approach to Converse with Open DataSources,” arXiv preprint arXiv:2007.10503, 2020.

business chatbot based on a domain-specific language. The meta-model of this language is shown in Fig.2. This meta-model specifies meta-classes, relations, and all required features essential to define a business chatbot. According to Fig.2, each business chatbot model consists of a Configuration, more than one States, and several Users and .

Related Documents:

Business Intelligence Center In this module we are going to explore the Business Intelligence Center site definition that comes with SharePoint 2010. Lessons Business Intelligence Center Lab : Business Intelligence Center After completing this module, students will be able to: 9 Navigate the Business Intelligence Center Site Definition 9 .

SAP Business Intelligence. 4. Select . SAP Business Objects Web Intelligence. The Web Intelligence Home Page is displayed: Login to Web Intelligence (Connecting to the Server) 1. Open the . Web Intelligence. menu in the upper left corner of the screen. Note: When you start Web Intelligence from the desktop, you will not be connected to the server.

boost performance. Business Intelligence is a key ingredient of success today, used by forward thinking organisations as a driver for business innovation. That's why Business Intelligence is on every CIO's must-have list" Gartner Business Intelligence Summit 2009. With Sage Business Intelligence Solutions, you have a unified and

Emotional Intelligence 2.0 Travis Bradberry and Jean Greaves Thesis-1: Emotional intelligence is a key factor in people’s success. Thesis-2: There is no known connection between cognitive intelligence and emotional intelligence. Thesis-3: People can increase their emotional intelligence even though cognitive intelligence is set.

Emotional Intelligence and Leadership Emotional Intelligence and Management Emotional Intelligence and Perception Emotional Intelligence and Communication Conclusion Definition of Emotional Intelligence (EI) Emotional Intelligence- capacity to be Aware, Express & Control your Emotions, and handle interpersonal relationships Caringly and .

How to access Lawson Business Intelligence 1. Log into your Lawson application with your administrative account (e employee ID a) 2. Click "Bookmarks" tab on the portal page (Step 1) 3. Hover over "Business Intelligence" drop down until "Business Intelligence" link shows up to the right of the "Business Intelligence" drop .

business intelligence resources and sites both in the visible and invisible world wide web. Each of the following selected business intelligence resources and sites have been described along with their current URL address to help you accomplish your business intelligence research goals! My complete link compilation of business intelligence

PUSH INTELLIGENCE Push don't Pull Push Intelligence is the new approach to Business Intelligence that enables the business analyst to better support the needs of the business user. Rather than requiring business users to crawl through dashboards to find relevant changes, Push Intelligence proactively alerts users