Keywords

1 Introduction

The creation and extension of collaborative networks (CNs) are mainly driven by novel technologies and have various forms, like virtual organizations or virtual enterprises [1]. In general, CNs include a variety of stakeholders. Their goals and culture may differ, but their efforts are always characterized by the endeavor to improve networking and collaboration among a variety of entities, human or organizational [1, 2]. The success of such CNs is highly dependent on knowledge exchange and management, which can be technically supported by Enterprise Social Networks (ESNs) [4]. The problem is that even successfully implemented ESNs are mostly not well connected to daily work organization and work, e.g., knowledge discovery, with limited interaction and communication possibilities to other systems. As an example, a social network (e.g., HumHub), an authentication service (e.g., LDAP) and a calendar service (e.g., Google calendar) may be integrated; still, this does not necessarily mean there is a flexible interaction process between them based on unstandardized user input, e.g., in natural language (which is even prevalent in ESNs).

Natural language based assistance systems in consumer space like Siri, Alexa, Cortana and Google Assistant are actively developed and widely used [3]. Consumers can let assistance systems take care of simple processes and automate routines using bots and smart home technologies. They offer interconnectivity with consumer services like calendar, music services or shopping. In the context of smart home, people are using these bots to have everyday tasks in their household managed, while in the business context bots are mainly used for marketing purposes and to respond customers’ requests [5]. The potential of bots, concretely chatbots, for knowledge exchange and collaboration within CNs is not adequately addressed, up to now. To change this situation, the paper has three goals:

  • Give an overview of current chatbot engines and their states

  • Design a solution for better interaction and knowledge exchange within CNs

  • Implement a chatbot into two use-cases with reference character to show the main benefits.

2 Theoretical Background

To examine how chatbots could operate inside companies, basic knowledge of the interaction platforms (ESN), the technology to let bots interact with human users in their natural language (Natural Language Processing) and the working method of chatbots themselves is required.

Enterprise Social Networks (ESN) are web-based platforms which allow users to contribute persistent objects to a shared pool. This shared pool may the technical backbone for collaboration within CNs. Company users can be allowed to respond to those objects (interaction). Also, profile information can be presented, and employees can be connected using features like a “Following” system and friendship requests. Examples of ESN include platforms like weblogs, wikis, microblogs and social networking platforms [6]. Usually, ESN does not provide public access. The access is usually limited to a company or CN via the Intranet. Integrated applications and external services extend the ESN by providing for example a survey tool (e.g. Humhub Polls [7]), a calendar (e.g. by integrating Google Calendar with Automate.io [8]), a file and document management tool (e.g. Humhub Files [9]), a project and task management system (e.g. by integrating Trello via Unito [10]), a customer relationship management system (e.g. by integrating Salesforce in Slack [11]) and many more.

Natural Language Processing (NLP) is a theory-motivated range of computational techniques for the automatic analysis and representation of human language.” [12] It is differentiated in Natural Language Understanding (NLU), which turns natural language into structured data, and Natural Language Generation, which creates a natural language out of structured data [13]. To create a dialogue representation, the use of NLU is needed. With the help of pruning, stemming and part-of-speech tagging a text representation is created, which can be classified to so-called intents (“intent classification”). Additionally, user-specific objects (entities) can be extracted. This process is known as Named-Entity Recognition (NER) [14].

Chatbots are text-based software systems that interact with human users in their natural language and make decisions based on predefined rules [15]. They include an interpreter, which analyzes incoming messages, and a key-value memory to store user-specific information. With the use of a chatbot scripting language [16], like AIML [17], it is possible to define the logic of the chatbot by assigning actions to input patterns. Chatbot engines are development tools used to create chatbots [18].

The use of an ESN as communication interface allows for a translation of user sentences into machine code (by using NLP). Instructions can be executed by a chatbot to automate complex tasks or give adequate answers by combining several data sources. In summary, chatbots enable a novel form of interaction within ESNs and therefore new collaboration patterns in CNs.

3 Methodology

For the presented research, a design-oriented approach [19] was chosen. The fundamental paradigm of the Design Science Research (DSR) is constructive with the aim to design, build and reflect artifacts [22]Footnote 1. Therefore, in computer science a generative procedure has been developed by Pfeffers [19], containing four steps: the problem description, the objectives’ development, the design of an artifact and the evaluation of this artifact. This overall problem and the objectives (especially for this paper) are already described in Sect. 1. To design a solution for the given problem, three main tasks were faced: At first, the current state of chatbot technologies was evaluated. Secondly, two use cases, which stand prototypically for the given problem and can be assisted by using a chatbot, were defined. As the last step, a chatbot which is fulfilling the use cases was implemented.

To identify an appropriate chatbot, that is suitable for the integration into ESN current chatbot solutions were evaluated and compared to each other, using Google and Github search, Chatbots Magazine [20] and the corresponding documentation of the found chatbots. Only chatbots with a working website and activity within the last two years were listed. The evaluation had two main steps. Firstly, the bots were evaluated by the criteria architecture (on-premise/SaaS), interconnection possibilities (plugin model) and license model. As the chatbot should be used in commercial space with sensitive data, it is essential that no company data be transferred to other companies. Therefore, Software-as-a-Service and Closed-Source solutions were voted out. Since the solution should be deployed within the company’s ESN, it has to be interconnectable to various services. Hence, chatbots without options to access other services via a plugin model were also excluded. In a second step open source, on-premise and extendible chatbots were compared regarding the development progress and state, availability and quality of documentation, availability of a RESTful API, NLU and chatbot scripting language support as well as context sensitivity.

After choosing a suitable chatbot solution, the use cases will be presented. The use cases are developed as exemplary showcases for the benefits of chatbots within ESNs. For the implementation, some preconditions were assumed. The initial situation is a CN which has successfully implemented an ESN accompanied by an appropriate (internal) social media strategy. Exemplarily, we have chosen the social network Humhub, as it is a well-known open-source, modular ESN solution. The implementation uses ESN data sources, like user profiles and calendar information, as well as generic business data which are provided by other tools like an Active Directory. Because of Humhub’s lack of a RESTful API, a MiddlewareFootnote 2 has been implemented to guarantee the communication between the chosen Chatbot and Humhub as well as the possibility to connect more data sources.

4 Evaluation of Chatbot Engines

Overall 21 chatbot solutions have been evaluated. Table 1 shows the classification of chatbots regarding their architecture (on-premise/SaaS), interconnection possibilities (plugin model) and license model. Eleven of these solutions have been voted out in the first run. Only ten solutions were open source, on-premise, and extendible chatbots. In the second round and based on the presented requirements and conditions, Rasa Core was chosen as a suitable chatbot engine as it fits best to all conditions. It is an open source, highly developed and well-documented software. Also, Rasa Core integrates well with Rasa NLU regarding the classification of intents and the extraction of entities from input sentences.

Table 1. Comparison of Chatbot Engine

5 Chatbot Implementation for ESN

After choosing a suitable chatbot, the concrete use cases have been developed to test if chatbots can improve the interaction within CNs.

5.1 Use Cases

Use Case One deals with the problem of finding an available appointment among multiple employees. In a conversation between two or more employees, it should be possible to trigger the bot to search for an available appointment in a specific timeframe and other conditions (like free rooms or other persons). Up to now, this case is a typical example for high-effort (manual) tasks. The most common way is to start a process of appointment finding, where one leader sets different time slots for a vote. All participants have to choose sufficient time slots. After voting, the leader needs to take action, set a calendar appointment, with integrated room booking, or needs to start the process of booking a room within the CN. The goal is to reduce these unnecessary efforts and interactions. Within the first conversation, the bot should collect all necessary information and present all available appointments. If the employee accepts the suggested time, a new calendar entry will be made for all involved persons (and rooms). The use case as it is shown in Fig. 1 illustrates the benefits of chatbots for organizational processes as it combines data from several users to make an intelligent suggestion.

Fig. 1.
figure 1

The organizational process to find a shared appointment

Use Case Two is the search for employees with specific competences within the company network to support knowledge exchange and agile resource sourcing within CNs. Thus, the leading question of the specific use case was how to improve the discovery of competences and know-how besides a long non-interactive list of central administered (silo mentality) organigram. To search for a specific task or know-how and get a matching competence and people, it was necessary to represent the company’s structure as a graph and assign synonyms. Furthermore, it was necessary to link tasks to each department. Moreover, the idea of ESNs is to empower the user, to provide their description of competencies to push individualism and motivation. In productive implementations, it would also be possible only to return colleagues who are online (for faster workflow, if privacy conditions allow that). Those and the input sentences should be stemmed to match each other using the Python NLTK package. This way, the transferring processes and permanent availability of business knowledge can be improved.

5.2 Proof of Concept

To pursue the defined goal and show the benefits of an integration of a chatbot within an ESN and the according to the connection of different data sources, the two use cases were implemented by using Rasa Core. In the domain file all user intents and entities, message templates, slots and bot actions were listed. Rasa Core needs multiple training data for input classification, meaning a minimum of ten sentence samples for each intent is needed. Also, dialogue modelling is required, which means that each possible route should be defined. Figure 2 provides a visualization of the dialogue model for use case one. User intents are painted blue, while bot actions are shown with a white background.

Fig. 2.
figure 2

Dialogue model of the implemented calendar chatbot

The implemented chatbot communicates with the user through Humhub Mail. With the calendar use-case, it is possible to ask for an appointment on a specific date or time frame, and the desired duration of the appointment. An NER tool, to extract the necessary time information, is Duckling [21]. Optional properties are additional participants and a meeting room that shall be booked. After collecting all information, the calendars of the persons in the conversation (and possible additional participants) and the room are accessed and matched together to find a suitable time frame for an appointment, which suits all participants. The first feasible time frame found, will be communicated to the conversation. If it is accepted by a participant, the chatbot is booking the appointments to all participants’ calendars. If the time frame is declined, another suitable appointment proposal will be made.

The search for a colleague with desired competencies and know how who, e.g., can help regarding a specific problem, is addressed in use case two. As an example, an employee has a question regarding his paycheck, and a responsible payroll employee could help him. The common approach to identify a person that could be helpful for a specific problem is to search the employee list, ask a colleague or send a broadcast message to all employees. With the help of a chatbot, the needed information could be presented immediately by connecting both employees (as it is shown in Fig. 3). The asking employee tells the chatbot: “I have a problem regarding my paycheck.”. Paycheck is a synonym for payroll, and another employee is assigned the competence “payroll”. The chatbot is automatically detecting “paycheck” with the synonym “payroll” and is looking for a person with this competence. If no employee with a matching competence was found, it would be possible to search a higher organizational level within the company’s structure for “payroll” (like Human Resources department). This is possible as the chatbot was implemented using a JSON description and can be combined with the online-state of the employees.

Fig. 3.
figure 3

Use case two. Identifying competence

We are currently working on an integration of semantic and lexical databases to automate the synonyms creation (e.g., wordnet). Because both, input and JSON model, are stemmed using Python NLTK package and porter stemmer [24] before matching, it is possible to search for “salaries” and find the competence “payroll” although it was only assigned to “salary”.

6 Discussion and Future Directions

By using chatbots in commercial spaces like setting up a joint appointment or searching for persons with specific competencies, organizational processes and the knowledge management can be better assisted. CNs can benefit by reducing organizational efforts of collaboration and strengthen knowledge exchange. Other possible use cases could involve Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), company Wiki, Document Management System (DMS) or other internal or external software systems. Instead of managing organizational matters or searching for information in various, not interconnected tools, employees are thereby enabled to focus on more essential business tasks [25]. The key requirement we saw is an existing ESN or messaging service and an appropriate social media and internal communication strategy among all CN stakeholders. Also, necessary company data has to be accessible by the chatbot with keeping user access rights and policies (privacy). Currently, the main flaw is a strict dialogue flow which is not flexible enough to react to all person’s interactions accurately in contextual situations. That results in complex implementations of essential tasks, where multiple steps are needed to get an objective done. Hence, many training data is needed to keep up a natural language message flow and enable the chatbot to react to messages which differ from the trained paths. Reinforcement learning could be a way to enable the chatbot to make more intelligent decisions [26]. In the future, using better machine learning algorithms, more company data, better interpreters and dialogue models, the user experience will improve more and more. With the rise of data producing wearables like smart glasses, it is imaginable, that future chatbots will make use of these data and at this moment help it react to individual requests in a better way. In regards to the Industrial Internet of Things (IIoT), workers need to operate with more complex machines while the cognitive performance of humans will remain consistent. As a result assistance systems like chatbots will be imperative.