=Paper=
{{Paper
|id=Vol-2848/user2agent_paper_7
|storemode=property
|title=A Virtual Customer Assistant for the Wealth Management domain in the UWMP project
|pdfUrl=https://ceur-ws.org/Vol-2848/user2agent-paper-5.pdf
|volume=Vol-2848
|authors=Andrea Iovine,Marco de Gemmis,Fedelucio Narducci,Giovanni Semeraro,Doriana Filisetti,Davide Ingoglia,Georgios Lekkas
|dblpUrl=https://dblp.org/rec/conf/iui/IovineGNSFIL20
}}
==A Virtual Customer Assistant for the Wealth Management domain in the UWMP project==
A Virtual Customer Assistant for the Wealth Management domain in the UWMP project Andrea Iovine Marco de Gemmis Fedelucio Narducci Università degli Studi di Bari Aldo Università degli Studi di Bari Aldo Università degli Studi di Bari Aldo Moro, Bari, Italy Moro, Bari, Italy Moro, Bari, Italy andrea.iovine@uniba.it marco.degemmis@uniba.it fedelucio.narducci@uniba.it Giovanni Semeraro Doriana Filisetti Davide Ingoglia Università degli Studi di Bari Aldo Objectway SpA, Milan, Italy Objectway SpA, Milan, Italy Moro, Bari, Italy doriana.filisetti@objectway.com davide.ingoglia@objectway.com giovanni.semeraro@uniba.it Georgios Lekkas Objectway SpA, Milan, Italy georgios.lekkas@objectway.com ABSTRACT domain in the UWMP project. In IUI ’20 Workshops, March 17, 2020, The Universal Wealth Management Platform (UWMP) project Cagliari, Italy. ACM, New York, NY, USA, 4 pages. has the objective of creating a new service model in the fi- nancial domain. An integral part of this service model is 1 INTRODUCTION AND BACKGROUND the creation of a new Virtual Customer Assistant, that is able to assist customers via natural language dialogues. This The purpose of Wealth Management firms is to advise clients paper is a report of the activities performed to develop this on investment strategies, execute orders on their behalf and assistant. It illustrates a general architecture of the system, help them custody their financial assets. This type of work and describes the most important decisions made for its im- has always been closely associated to personal relationships plementation. It also describes the main financial operations and confidentiality. Today however, we expect that the com- that it is able to assist customers with. Finally, it delineates ing of age of a new, digital-savvy generation of wealthy some avenues for future work. individuals will change the relations between clients and wealth management firms. CCS CONCEPTS Digital Assistants such as Amazon Alexa and Apple Siri have popularized the notion of software applications helping • Human-centered computing → Natural language in- users with everyday tasks. In the realm of business, such terfaces; • Computing methodologies → Information ex- applications are also known as Virtual Customer Assistants traction; Discourse, dialogue and pragmatics. and they support text or voice interactions to deliver infor- KEYWORDS mation or to act on behalf of the customer. The goal of a Virtual Customer Assistant is twofold: first, to take over rou- Conversational Agents, Digital Assistants, Finance, Wealth Management tine interactions so that human service agents can engage in more value-adding activities; second, to improve customer ACM Reference Format: experience by reducing friction, i.e. eliminating any factor Andrea Iovine, Marco de Gemmis, Fedelucio Narducci, Giovanni that can deter or slow down interactions between clients and Semeraro, Doriana Filisetti, Davide Ingoglia, and Georgios Lekkas. firm. There are more than 200 software companies offering 2020. A Virtual Customer Assistant for the Wealth Management Digital Assistants for customer interaction. In the financial Copyright © 2020 for this paper by its authors. Use permitted under domain some prominent cases are IBM Watson, Microsoft Creative Commons License Attribution 4.0 International (CC BY 4.0). Virtual Assistant, boost.ai, Creative Virtual. Most of these assistants interact via the bank’s mobile app and web site, while a few in the USA use Facebook Messenger. For example, Royal Bank of Canada has a chatbot called Arbie that helps users open a new account. Bank of Amer- ica’s assistant called Erica [1] interacts with customers using voice and text messages. Wells Fargo’s chatbot [10] provides IUI ’20 Workshops, Cagliari, Italy, Iovine and de Gemmis et al. account information via Facebook Messenger. Capital One’s chatbot named Eno [3], interacts via SMS to execute money transfers and supply account information. Objectway is a global Fintech 100 software provider of the wealth, investment & asset management industry. The company launched its Universal Wealth Management Plat- form (UWMP) initiative to implement a new, fully-digital service model destined to financial institutions. The new digi- tal model complements the existing model based on financial Figure 1: Architecture of a goal-oriented Conversational advisors and physical interactions, by offering clients self- Agent (adapted from [11, 12]) serve functionality on a wide range of investment services. One of the activities of the UWMP project in support of the new digital service model was to implement a service that en- The Speech Recognizer component has the responsibility ables clients to interact with wealth management firms using of transcribing the user’s voice input into a text message. Natural Language dialogue. The goal was to empower clients This is an optional component used by conversational agents with informational and transactional capabilities that were that support a voice-based interaction. always-on and accessible from everywhere. The new service The Natural Language Understanding (NLU) component would have to satisfy the requirement of confidentiality, so takes in input the user’s text message, and outputs a se- priority was set on text interactions. Work on voice was mantic representation of that message. The objective is to postponed due to potential issues with revealing sensitive understand the meaning of the message itself. This means client information. Another requirement was to ensure high performing several Natural Language Processing tasks. In quality of interactions, since failures would have an adverse the NLU component, Intent Recognition is done to under- effect on the perception of quality and trust that clients place stand the action or the request that the user is making. For on wealth management firms. This advised us to focus on the example, the message "Pay 200 USD to Alice" means that the most recurring, time-consuming routine tasks that clients user is trying to start a payment. Entity Recognition is also a faced when interacting with the firm, such as requesting common NLU task, which is used to recognize mentions to information on account balance and performance. entities such as people, organizations, or numbers. From the To try out more complex dialogues, we also decided to ex- previous example message, it should be able to extract "200 plore tasks of a transactional nature, although we expect the USD" as a monetary amount, and "Alice" as a person name. adoption of such features in real life to be slow. Investment Sentiment Analysis is performed to understand the emotional transactions increase the difficulty of interaction due to the state expressed through the message. This could be used to number and variety of financial products, order types and make the agent react differently to different emotional states. the associated ambiguity that derives from such complexity. For example, a customer support agent can decide to hand The rest of this paper is organized as follows: the system off the request to a human operator, in case it detects that architecture is describe in Section 2, while Section 3 shows the user is frustrated. how the system works. Conclusions are outlined in Section The Dialog Manager (DM) component maintains an es- 4. timate of the current state of the conversation. Based on this state and the current user message, it decides the next appropriate action to perform in order to complete the user’s 2 SYSTEM ARCHITECTURE request. For example, the DM might respond by asking a Chatbots can be classified as open-domain or goal-oriented. question (if some information is needed), or by performing a Open-domain agents handle generic conversations, while transaction (if all information has been provided). Typically, goal-oriented chatbots interact with users via natural lan- Goal-Oriented agents employ a frame-based Dialog Manager guage conversations to assist them in their tasks. Goal-oriented [8], in which goal-specific data is enclosed into frames, and CAs can then be classified as informational, transactional can be provided via slot filling. For example, the payment or advisory. Advisory chatbots learn from users, and can frame requires several slots, such as the name of the payee, recommend products based on the interaction, such as in the amount, and the type of payment. In order to complete [6, 7]. Our digital assistant falls into the category of goal- a payment, the DM will need to ask these slots one by one. oriented chatbots [2]. Figure 1 shows a typical architecture Users are also free to provide the values to the slots in any for a goal-oriented conversational agent. preferred order, and the DM reacts accordingly. In our ar- This architecture is called modular, as it is made up of chitecture, the Dialog Manager also interacts with external several components, each with a specific task. services that manage the domain-specific data and perform IUI ’20 Workshops, Cagliari, Italy, A Virtual Customer Assistant for the Wealth Management domain in the UWMP project the transactions. A Natural Language Generator (NLG) com- component can also recognize dates such as "November 13th, ponent is used to transform the output of the DM into a 2019", or relative time expressions such as "three weeks ago", textual form, which can then be presented to the user. In our using the CoreNLP SUTime component. architecture, the NLG component uses template responses, The Dialog Manager component was also custom-made that are filled dynamically with domain-specific data, as done for this project. As said before, it uses frames to store the in Shah et al. [9]. Finally, voice-based systems adopt a Text-to- goal-specific information, and slot filling to acquire said infor- speech synthesizer component to transform the text response mation during the dialog. Given a user message, the Dialog of the NLG into speech. Manager can either: perform a transaction, request a slot, or Our agent implements the NLU, DM and NLG, with In- request a disambiguation. Disambiguation is required when tent and Entity recognition functionalities implemented in multiple entities are found as possible candidate values for a the NLU component. An analysis phase was conducted in slot. For example, given the user utterance "I want to buy 200 order to determine the most appropriate tools for develop- BMW shares", the ER component may recognize two differ- ing the aforementioned components. Several options were ent products: "BMW AG" and "BMW ORD". Therefore, the vetted, based on their ability to cover the requirements of user will be asked to clarify which one should be selected. the project. In particular, we opted for solutions that re- During the conversation, the Dialog Manager also performs quire little training, since traditional supervised methods checks on the slot values, and can auto-fill slot values based require large amount of domain-specific conversational cor- on some conditions (e.g. when the user makes a payment to pora, such as [5]. Big tech companies such as Google or IBM a known payee). already provide their own platforms for the development of conversational agents, such as Dialogflow1 or Watson As- sistant2 . These platforms provide a simple implementation 3 THE SYSTEM AT WORK for most of the components of the architecture described in The main objective of the Virtual Customer Assistant created Figure 1, such as Intent Recognition, Entity Recognition, and for the UWMP project is to assist customers of banks or Dialog Management. However, due to several limitations, other financial institutions. The bot is reactive, that is, it not all of their components are suitable for the requirements responds to requests made by users. It can respond both to of our project. Therefore, we decided to adopt the Intent information requests, and can perform financial transactions. Recognition component from Dialogflow, while the other This means that it can be categorized both as a informational parts of the architecture are custom-made. and transactional agent. The Entity Recognition (ER) module used in the system is From the informational side, the agent can be used to implemented using Stanford CoreNLP3 and Apache Lucene4 . obtain general information about the user’s financial situa- It is able to do both Named Entity Recognition and Entity tion, such as the balance of the user’s cash account. Figure Linking. The ER function can recognize entities such as num- 2 shows an example of this use case. Given the message bers and person names, and also mentions to entities that "What is my cash account balance?", the NLU component will are contained in a dictionary (e.g. financial products). It uses recognize the account balance intent, and the agent will pro- a combination of classifiers in order to recognize entity men- vide the requested information, responding with: "Your cash tions in the user message. A regex (regular expression) clas- account balance is 4890.00 EUR". Users can also keep track sifier is used to recognize entities and keywords using exact of the performance of their investments, such as the value, matching. Additionally, it uses a text classifier based on Con- the performance, and the profit and loss. The agent can also ditional Random Fields (CRF) [4]. The strength of the CRF provide a report for a specific time period provided by the classifier is that it exploits the sentence structure to detect en- user. For example, a user can type "What was my portfolio tity mentions. Therefore, it is able to recognize entities that performance in the last three weeks?", or "What is my portfolio cannot be confined in a dictionary (such as person names), performance from May 1st to August 31st?". This is possible as well as misspelled and incomplete entities. The output of thanks to the time expression recognition component of the the Entity Recognition function is then passed to the Entity Entity Recognizer, described in Section 2. Linking function. Entity linking is used to map certain entity Users can also perform financial transactions directly from mentions to objects in a knowledge base. Fuzzy matching is the chatbot, as said earlier. The most notable transactions used for the entity linking step, which allows the ER com- are payments and investments. Indeed, users can send pay- ponent to map misspelled and incomplete entities. The ER ments by writing for example "Send a payment of 200 USD to 1 https://dialogflow.cloud.google.com/ Alice Smith". In this case, the NLU component will recognize 2 https://www.ibm.com/cloud/watson-assistant the payment intent, and some of the required entities, such 3 https://stanfordnlp.github.io/CoreNLP/ as the payee "Alice Smith", and the amount of "200 USD". 4 https://lucene.apache.org/ Alternatively, the user may not provide any information at IUI ’20 Workshops, Cagliari, Italy, Iovine and de Gemmis et al. the start, e.g. by saying "I want to make a payment". The Dia- to assist users in completing financial operations of vary- log Manager reacts to this accordingly, by collecting all the ing complexity using natural language dialogues. The agent mentioned entities, and prompting the user for the missing supports a wide range of informational and transactional op- information via slot filling. This can be seen in the example erations, and several components were developed to support in Figure 2. In this case, the user provided the payee, but not them. As future work, we plan to investigate the introduc- the amount. Thus, the Dialog Manager responds by asking: tion of a voice-based interaction model. Another avenue for "Please tell me the amount to transfer". If the user wants to future work is the introduction of advisory functionalities, make a payment to an already known payee, some slots will such as financial product recommendations, that enable the be automatically filled, making repeated payments easier. If agent to take a more proactive role in the interaction. Finally, multiple payees are found, the Dialog Manager will prompt the Virtual Customer Assistant will be subject of in-vitro and the user to specify the correct one. When all the required in-vivo experiments, that will assess its ability to aid users information is collected, the Dialog Manager will ask for a in their financial tasks. final confirmation, e.g. by saying "I prepared a payment of 200 USD to Alice Smith, alias Aunt Alice, at Barclays account...". 5 ACKNOWLEDGEMENTS An authorization code is required to complete the transac- This work has been funded by the project UNIFIED WEALTH- tion, to increase security. When the correct code is entered, MANAGEMENT PLATFORM - OBJECTWAY SpA - Via Gio- the agent completes the transaction, and returns a positive vanni Da Procida nr. 24, 20149 MILANO - c.f., P. IVA 07114250967. feedback to the user, as seen in Figure 2. REFERENCES [1] Bank of America Erica [n.d.]. Meet Erica, Your Financial Digital Assis- tant From Bank of America. https://promo.bankofamerica.com/Erica/ [2] Antoine Bordes, Y.-Lan Boureau, and Jason Weston. 2016. Learning End-to-End Goal-Oriented Dialog. arXiv:1605.07683 [cs] (May 2016). [3] CapitalOne Eno [n.d.]. Eno, your Capital One assistant. https: //www.capitalone.com/applications/eno/ [4] Jenny Rose Finkel, Trond Grenager, and Christopher Manning. 2005. Incorporating Non-local Information into Information Extraction Sys- tems by Gibbs Sampling. In Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics (ACL’05). 363–370. [5] Andrea Iovine, Fedelucio Narducci, and Marco de Gemmis. 2019. A Dataset of Real Dialogues for Conversational Recommender Systems. In CLiC-it 2019. 6. [6] Fedelucio Narducci, Pierpaolo Basile, Marco de Gemmis, Pasquale Lops, Figure 2: Examples of conversation with the chatbot and Giovanni Semeraro. 2019. An investigation on the user interaction modes of conversational recommender systems for the music domain. User Modeling and User-Adapted Interaction (Nov. 2019). The agent also lets the user invest in funds or trade stocks. [7] Fedelucio Narducci, Pierpaolo Basile, and Andrea Iovine. 2018. A Investments can be made by specifying a product, the num- domain-independent Framework for building Conversational Recom- ber of stocks (or the amount of money to invest), and the mender Systems. In KARS@Recsys. 29–34. [8] A Rudnicky. 1999. AN AGENDA-BASED DIALOG MANAGEMENT direction (buy or sell). For example, given the message "I ARCHITECTURE FOR SPOKEN LANGUAGE SYSTEMS. IEEE Au- want to buy 200 BMW shares, the investment intent will be tomatic Speech Recognition and Understanding Workshop 13 (1999), recognized by the NLU component, as well as the amount 4. "200", and the "buy" keyword, indicating the direction of the [9] Kiner B Shah. 2017. Approaches towards Building a Banking Assistant. trade. The "BMW" entity will be extracted by the Entity Rec- International Journal of Computer Applications 166 (2017), 6. [10] Wells Fargo Chatbot 2017. Wells Fargo first U.S. bank with Face- ognizer, and the Entity Linking component will try to match book Messenger chatbot. https://stories.wf.com/helpful-banking- it to two different products: "BMW AG" and "BMW ORD". In assistanton-facebook/ this case, the Dialog Manager will request the user to specify [11] Jason Williams, Antoine Raux, and Matthew Henderson. 2016. The Di- the correct one, e.g. by saying "I found several matches for alog State Tracking Challenge Series: A Review. Dialogue & Discourse this product.". This can be seen in the example in Figure 2. 7, 3 (April 2016), 4–33. [12] Tiancheng Zhao and Maxine Eskenazi. 2016. Towards End-to-End Just like for payments, missing information is acquired via Learning for Dialog State Tracking and Management using Deep Re- slot filling. inforcement Learning. (Jun 2016), 1–10. 4 CONCLUSION In this paper, we presented a Virtual Customer Assistant developed for the UWMP project. The aim of the project is