=Paper=
{{Paper
|id=Vol-1829/iStar17_paper_7
|storemode=property
|title=
|pdfUrl=https://ceur-ws.org/Vol-1829/iStar17_paper_7.pdf
|volume=Vol-1829
|authors=Zia Babar,Alexei Lapouchnian,Eric Yu
|dblpUrl=https://dblp.org/rec/conf/istar/BabarLY17
}}
====
Chatbot Design - Reasoning about design options using i* and process architecture Zia Babar1, Alexei Lapouchnian2, Eric Yu1,2 1Faculty of Information, University of Toronto 2Department of Computer Science, University of Toronto zia.babar@mail.utoronto.ca, alexei@cs.toronto.edu, eric.yu@utoronto.ca Abstract. Software systems are often designed without considering their social intentionality and the software process changes required to accommodate them. With the rise of artificial intelligence and cognitive services-based systems, software can no longer be considered a passive participant in a domain. Struc- tured and methodological approaches are required to study the intentions and motives of such software systems and their corresponding effect on the design of business and software processes that interact with these software systems. This paper considers chatbots as domain example for illustrating the complexi- ties of designing such intentional and intelligent systems, and the resultant changes and reconfigurations in processes. A mechanism of associating process architecture models and actor models is presented. The modeling and analysis of two types of chatbots - retrieval-based and generative - are shown using both process architecture and actor models. Keywords: Enterprise Modeling, Goal Modeling, Actor Modeling, Software Processes, Chatbot, Adaptive Enterprise. 1 Introduction Rapid advancement in software and emerging technologies is influencing the de- sign of enterprises while promoting continuous and ongoing cycles of innovation and transformation [1]. Software systems and software processes are enablers of such enterprise transformation [2] and structured methodologies need to be developed that would aid in selection of suitable designs and configurations of such software systems and processes. However, such investigations cannot be done from just one perspective and process models and actor models need to be collectively aiding in the design of enterprise software while the enterprise itself is undergoing rapid cycles of transfor- mation and innovation. Integrating these modeling approaches together would allow for meaningful and multi-dimensional analysis for determining alternative configura- tions of processes and the analysis of requirement satisfaction. This promotes deeper domain reasoning and a judicious understanding of the implications of design actions. Chatbots are an appropriate selection for introducing and illustrating some of the concepts in this paper due to their apparent intentional nature. A chatbot is a software system that converses with human users using natural language, either in verbal or textual form [3]. Recent advances in cognitive services, machine learning, natural language processing and artificial intelligence have seen chatbots become ever more pervasive and being put to use in commercial applications [4]. Generally, they are being developed as an additional (conversational) interface to existing software appli- cations. Chatbots work by producing a response to an inquiry from a human user. Despite being software systems, chatbots appear to exhibit intentionality and are ac- tive (as opposed to passive) participants in the overall domain and their interaction with the user. They have defined functional goals, such as conversing with the user, processing information intelligently, sourcing all available data while processing a response, etc. These functional goals are accompanied by non-functional goals like providing a natural conversational experience, ensuring the incorporation of appropri- ate context into the response, being coherent and have sensible responses, providing a diverse set of responses, etc. Thus, it would be appropriate to model chatbots as social actors and utilize the i* framework [5] for analyzing their strategic intentions, ration- ales, and dependencies, in conjunction with the process of designing and developing these chatbots, while considering bi-directional influences between actor and process perspectives. Chatbots can be classified in one of two ways depending on their sophistication and the complexity involved in producing the response (to the inquiry): • Retrieval-based chatbots are simple in design and are generally used for situations where a simple response or action is required to a user inquiry or command. • Generative chatbots are more complex and are generally used in situations which require the construction of a unique and contextually appropriate response to user inquiries. 2 Analyzing Social Implications of Process Architecture Reconfigurations The visual depiction of the social aspect is done using the i* framework while the process related elements and activities are modeled using a process architecture model that was previously introduced in [6][7][8][9]. A process architecture model is needed to be able to model relationships among multiple processes, such as between software development processes and the software usage process. The primary reason for focus- ing on process architectures (and not on individual business processes) is to investi- gate inter-process relationships and configurations; in particular, to identify variations of how functionality can be distributed across processes in the enterprise, to explore the different possible process relationships, and to model how these choices affect enterprise objectives. Following the above-mentioned process architecture modeling framework, Process Elements (PEs) are basic process activity units that produce some output or outcome. A collection of PEs that are be executed collectively as part of the same execution cycle is referred to as a Process Stage (PS). The two perspectives -- actor and process -- can be associated by considering common constructs that appear in both models, represented as a process segment in the process-based model and a task (or operationalized goal) in the actor-based model. The models can be associated together at one of two levels, • PS Level: PS are single-purpose process structures and are meant to accomplish certain enterprise functional requirements (goals) while adhering to non-functional requirements (softgoals). PS are executed by participants (or actors). • PE Level: In an actor model, a goal is eventually achieved through some task(s), which map to a PE in the process model (assuming both models are decomposed to the same granularity), thus allowing for model linking at a more granular level. Thus, process goals and process activities would be mapped to actor goals and ac- tor tasks respectively, with mechanisms and data flows being represented as depend- ent resources in the actor models. Existing actor modeling techniques (such as i*) can be used (with extensions and annotations) to signify the association between models from both modeling perspectives while allowing for traceability and movement of changes in one modeling perspective to the other. A PS may have multiple associated actors to ensure the attainment of the process stage goal. Although in simple cases, fulfilling the goal of a process stage maybe entirely self-contained within a single actor boundary. In general, this approach is not limited to a one-to-one mapping be- tween the elements of the different modeling approaches, nor are they expected to be at the same level of granularity and abstraction. Variation points (VP) in the process architecture model can signify alternative pro- cess configurations (also called variants). An actor model can be associated at this VP by having alternatives shown as one of several means-to-end for an actor goal. Actor goal satisfaction techniques will be employed to determine the optimum alternate (based on softgoal tradeoff analysis) which maps to a process architecture configura- tions. Care must be taken when proposing an alternate process configuration at a VP as the proposed alternate should not result in goal non-satisfaction for other process stages in other parts of the process architecture. 2.1 Retrieval-Based Chatbots Retrieval-based chatbots are configured to select a response from a predefined set of responses based on the response’s suitability to the inquiry. As the responses are pre-constructed, there is no chance of grammatical mistakes and the primary intelli- gence required on the chatbot’s side is to retrieve an appropriate response to match the inquiry. This ensures that the chatbots are simple in nature, and as a result they are unable to handle advanced queries from the user. There are several third-party frame- works and solutions available that are able to provide message parsing and response selection capabilities, thus retrieval-based chatbots are quick to construct but have limited flexibility and use in cases where domain specific responses are required. Fig. 1 shows the dependency relationships that exist between the retrieval-based chatbot on other actors (including the internal chatbot rationales). The i* model al- lows the determination of the type of chatbot that needs to be developed, and the nec- essary process structure that should be formed, to allow the satisfaction of various goals. In this case, the simplicity of the intentions and motives of the retrieval-based chatbot are reflected in a less complex process architecture (Fig. 2). The two tasks, Understand Request and Construct Response, are attained by corresponding pro- cess stages Understand User Request and Construct User Response. Request Intelligent User Third-Party Retrieval-Based Processing Fulfill User Framework Chatbot Request Sensible Response Provider Retrieve- Consistent Based Response Response Intent Process Classifier Understan d Request Construct Response Message Parser Classify Message Select Intent Recognise Generate Appropriate Message Response Response Deconstru Entities Plan ct Message Context Candidate Response Response Plan Fig. 1. i* Strategic Rationale Model for Retrieval-Based Chatbots Understand User Request Construct User Response Response Classify Recognize Generate Plan Obtain Select Deconstruct Understand X Message Message Response Candidate Appropriate Message Context Intent Entities Plan Responses Response U U Context Response Context Intent Message Set Classifier Parser Fig. 2. Process Architecture Model for Retrieval-Based Chatbots 2.2 Generative Chatbots Generative chatbots attempt to construct a response by tracking the ongoing con- versation, utilizing the history of exchanges with the users, and by matching appropri- ate responses based on a semantic understanding of the inquiry. As the responses are constructed by the chatbot in real-time, there is a chance of the chatbot making mis- takes in sentence construction. Additionally, the responses as constructed by a genera- tive chatbot may be domain specific (for example, queries about medical conditions) which require access to a domain-specific knowledge base. Due to their specialized and complicated nature, often such chatbots have to be developed within an organiza- tion itself without having the benefit of using pre-built third-party frameworks. Request Natural Intelligent Conversation User Generative Processing Fulfill User Internal Dev Chatbot Request Team Sensible Response Generativ e Process Consistent Response Intent Response Classifier Understan Construct Response Minimum d Request Grammatical Message Errors Parser Classify Select Message Appropriate Perform Intent Recognise Generate Response Domain Message Response Calculatio Deconstru Entities Plan ns ct Analyze Candidate Message Previous Response Response Messages Context Plan Fig. 3. i* Strategic Rationale Model for Generative Chatbots Understand User Request Classify Recognize Generate Deconstruct Understand Message Message Response Message Context Intent Entities Plan U U Context Intent Response Classifier Message Plan Parser X Classify Intent Construct User Response Develop Train Analyze Perform Obtain Select Select Data Classifier Classifier Previous Domain Candidate Appropriate Algorithm Algorithm Messages Calculations Responses Response Previous Response Context Message Set Fig. 4. Process Architecture Model for Generative Chatbots Fig. 3 shows the dependency relationships that exist between the generative chat- bot on other actors with the process architecture model depicting the processes in- volved in processing a user request shown Fig. 4. The generative chatbot requires an additional level of intelligence in order to be able to carry out a natural conversation with a human user. While the tasks (Understand Request and Construct Response) remain the same, the softgoals Intelligent Process and Natural Conversation indi- cate a different approach needs to be adopted to ensure their satisfaction. This re- quires the addition/modification of new tasks decompositions and dependencies on Internal Dev Team. The corresponding process architecture model (Fig. 4) reflects this by including a new process stage, Classify Intent, whose output is used by the Chatbot associated processes. While these diagrams are simplistic in nature and illus- tration, they do indicate the nature of propagation and traceability analysis that can be performed by associating actor models with process architecture models. 3 Conclusions and Future Work The above is part of our ongoing research [6][7][8][9] for developing a framework for characterizing fundamental types of software-enabled enterprise transformations where we consider the upstream factors in the design of software systems and pro- cesses which can be traced to enterprise business objectives and social contexts, and the downstream effects of selecting alternative design and configuration options for software systems on software processes. In this paper, actor models are shown as a means of determining optimum process architecture configurations based on the unique strategic motives and intentions of those actors. They extend and complement the process architecture models by allowing for the inclusion of social and agent rela- tionships with the process participants (involved in the enactment of process activi- ties) being treated as actors from a social modeling perspective. Association points between the models allow for navigating between the modeling notations, with the models themselves consistently reflecting the same domain reality. In future work, we plan to continue to explore various association points (including possible modeling patterns) between the two kinds of models and how change on one modeling perspec- tive can be traced to, and be influenced by the other. Additionally, we’ll investigate possible extensions to the i* framework for attaining the above. 4 References 1. Wilkinson, M.: Designing an “adaptive‟ enterprise architecture. BT Technology Journal, 24( 4), pp. 81–92 (2006) 2. The Economist: Organisational Agility: How Business can Survive and Thrive in Turbu- lent Times. A report from The Economist Intelligence Unit (2009) 3. Surmenok, P.: Chatbot Architecture, March 10, 2017, http://pavel.surmenok.com/2016/09/11/chatbot-architecture/ 4. Augello, A., Gentile, M., Weideveld, L., Dignum, F.: A model of a social chatbot. In Intel- ligent Interactive Multimedia Systems and Services, pp. 637-647. Springer (2016) 5. Yu, E., Giorgini, P., Maiden, N., Mylopoulos, J.: Social Modeling for Requirements Engi- neering. MIT Press (2011) 6. Lapouchnian, A., Yu, E., Sturm, A.: Redesigning process architectures towards a frame- work of design dimensions. In 9th International RCIS Conf., pp. 205-210, IEEE (2015) 7. Lapouchnian, A., Yu, E., Sturm, A.: Design Dimensions for Business Process Architec- ture. In International Conference on Conceptual Modeling, pp. 276-284, Springer (2015) 8. Lapouchnian, A., Yu, E.: Exploiting emergent technologies to create systems that meet shifting expectations. In Proceedings of 24th Annual International Conference on Comput- er Science and Software Engineering, pp. 371-374, IBM Corp (2014) 9. Babar, Z., Lapouchnian, A., Yu, E.: Modeling DevOps Deployment Choices using Process Architecture Design Dimensions. In The Practice of Enterprise Modeling, Springer (2015)