=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== https://ceur-ws.org/Vol-2848/user2agent-paper-5.pdf
             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