Source: Deep Learning on Medium
Why Context is Important?
Technology has been the fundamental driver of economics in human history.
Artificial Intelligent, one representative of the general-purpose technology, has catalyzed waves of modern-day innovation and opportunities, fueling the fourth industrial revolution. It started re-shaping the business landscape, everyday life, and relationships between different entities.
To me, Artificial Intelligent was one of society’s most exciting and rewarding journeys into the unknown.
The reality is, in the industry, there were more people who talk about AI, compared to those doing AI. The applicability of AI solution was still quite narrow, and most of the AI initiatives fail due to a lack of core value that can justify the source investment and engineering effort.
The missing piece in the puzzle was not just about the technological content, but the appropriate INDUSTRIAL CONTEXT. But before we delve into the actual example, let first take a look at Natural Language Processing.
Natural Language Processing
Natural Language Processing is a tract of Artificial Intelligence and Linguistics, concerns itself with the design and implementation of computational machinery that communicates with a human using natural language.
At its most ambitious, scientists researchers aim to design a general framework and system for the machine that has the capability of using language as fluently and flexible as humans do.
Although Natural Language Processing itself does not equal to Artificial General Intelligent, it is still one of the preliminary if you considering the embodiment learning is essential. In a simpler term, a truly intelligent body needs to learn from the outside world, which includes reading, seeing, communicating, experiencing, etc.
According to Sebastian Ruder, a research scientist at DeepMind, the 15 years’ worth of NLP work can be condensed into eight milestones, which also trigger the industry reactions and merging applications.
Voice Assistant and ChatBot
Virtual Assistant(or Chatbot) is an industry implementation of Natural Language Processing technology. It can be seen as an automated system trained on general-purpose large corpus or service transcripts that can use AI to recognize and respond to customer requests. When we talk about Chabot, the first thing that comes into your mind is Siri or Google Assistant (you probably have even interacted with them today). Indeed, tech giants are in the race for releasing consumer voice products, you can see the frequency of NLP product update below,
Voice Assistant can be designed against horizontal functionality, for instance, conversation agent, Q&A bot, survey bots, and virtual agent. Or it can be aligned to the vertical industry, including Banking & Finance Services, Consumer, Public Service, Government, Health Care, etc. A simple voice assistant should be able to interact with people, provide relevant information and even complete basic functions like filling a form or booking an scheduling a call-back.
Generally speaking, a successful large scale implementation of voice assistant is tied up to three premises,
- An immediate problem to solve: A company is facing a challenge to scale up even after spending huge money on customer service.
- Content to train an ML Engine: Thousand of transcripts or dialogs generated by the user that can enable the training of a deep learning model.
- Human AI collaboration Model: virtual assistant should be designed to enhance human activity not replacing them. that will allow virtual and human agents working together.
But how does a successful NLP solution looks like in the real world, or even more specific, how should I design a virtual assistant system to solve an existing problem. In the following content, I articulate the design thinking behind a general-purpose bot solution — a smart knowledge assistant.
Virtual Knowledge Assistant
Human generates more data over the past two years than in the previous 5,000 years of humanity. And around 80 percent of those data will be unstructured in five years. Companies across the globe are facing the same challenge, how they can better manage, search, and analyze those unstructured data.
Let’s look at a scenario. An audit team is working on a project to assess the financial operations and financial records of a multi-national organization. They need to check compliance against regulations from different counties, which will involve lots of time spent on manually processing document, then search and compare the terms and conditions.
Even if there is a content management system for those regulation policies, the standard search engine is not sufficient enough to help them get what they want because,
- A typical search engine can only accept key works and cannot understand natural language, or abstract keywords
- The search result rarely bring up the target document
- A search engine usually return a long list of result and require extensive manual reading to locate the right answer
- The search result is highly correlated to the terminology users used
- No customization
The biggest problem here is, the existing system does not have the cognitive understanding capability. To bridge the gap, we need to incorporate the latest horsepower NLP to augment the search solution.
A virtual knowledge assistant comes handy in solving the above challenge. The goal for a properly scoped designed knowledge assistant can offer,
- High speed to retrieving information functionality, which allowed the user to a query a large corpus
- High accuracy that only offers the top results (less than 3 based on confidence score) to the end-user
- Integrated to internal files system to build a self-managed knowledge base
- The ability to offer a granular answer to the end-user
For example, I ask the virtual knowledge assistant: “How can I become a Registered Company Auditors (RCAs) ?” then the assistant scan through ten of thousand policies and tell you “To become an RCA, you need to show the Australian Securities & Investments Commission (ASIC) that you meet the requirements of section 1280 of the Corporations Act 2001 “
This is not a dream with the newest breakthrough in deep learning and Natural Language processing.
Solution Architecture and Design
For the front end user experience design, the team brings the feedback and human factors into the design thinking. Below is the solution UI snapshot. See how we evolve the solution experience from a standard SharePoint search UI to a fully integrated interactive single-page application. (The mockup data was used in the screenshot below)
Behind the interactive front end is the Artificial Intelligent Engine that serves as the brain. To achieve this goal, the data science team has done several R&D, accessing the applicability and suitability of a large number of different NLP techniques in the industry. In the end, few stand out to be considered as the critical components for Virtual Knowledge Assistant.
The engineering team needs to decouple the main functionalities to ensure future scalability of the solution. Hence each component will inherently serve as a microservice container or cloud-native serverless function in the next iteration.
To build a virtual knowledge agent, the first critical part is a scalable and easy to deploy AI platforms. At the KPMG, we have a Global AI Platform called Ignite. This global artificial intelligence accelerator can be used to perform a variety of use cases, especially around cognitive service and NLP solutions.
The team utilized the KPMGs Technology Ecosystem to leverage Best-in-Breed cloud platform, open-source AI tools, and KPMG’s proprietary NLP components.
The second most important part is the BERT model that increases the accuracy of machine comprehension to near-human level performance.
BERT stands for Bidirectional Encoder Representations from Transformer, it is the newest language representation model developed by Google AI Language, and it took the NLP community by storm and throned most of the NLP competition leaderboard. It is also becoming an industrial standard for transfer learning method in NLP.
The data science team is using the original BERT and re-train on the following steps,
- Frist, fine-turn pre-trained model on the client provided corpus
- Second, fine-turn the last layer on the tailed downstream tasks.
The training process was on the Google Cloud Platform using GPU NVIDIA® Tesla® V100, 8 GPUs128 GB HBM2. The whole experiment took 4–5 days, and we managed to improve the result from 67% (via the BiDAF model from AllenNLP) to over 89% (fine-tune BERT).