?Conversational AI is a type of artificial intelligence that enables software to understand and interact with people naturally, using spoken or written language.? This final year project intends to build an in
An artificial intelligence based workplace assistant
“Conversational AI is a type of artificial intelligence that enables software to
understand and interact with people naturally, using spoken or written
language.” This final year project intends to build an intelligent assistant for a
typical office environment in a technology-based company. The appeal for
such assistants, also known as chatbots, comes from the global realization of
their potential impact on businesses in the future. “By 2020, over 50% of
medium to large enterprises will have deployed product chatbots,” said Van
Baker, research vice president at Gartner, while at the Gartner Application
Architecture, Development & Integration Summit in May 2018.
The ability to construct intelligent assistants which can understand/ interpret
and “learn” from exposure to natural languages is what makes it especially
interesting for workplaces. Additionally, the ability to integrate with the digital
channels preferred by the millennial, ease collaborations, streamline events
scheduling etc. make them preferred choices from technology showcase for embracing businesses. Reception assistants, HR assistants, personal
assistants are a few possible manifestations of the product, all geared to save
time and money for the businesses. In Pakistan, some well-known technology
companies are interested in exploring and generate value from experience
with constructing pilot projects to build AI-based assistants. Key technologies
and skills required for the project are in the domains of Natural Language
Processing, Machine Learning/ Deep Learning and Software Engineering.
There are positive interactions with industry to partner in the undertaking of
this project, with at least the support for skilled resources, exposure for the
students to industry environment and opportunity for the students to
transition into career roles in the follow-up of the project based on
performance.
A conversational AI-based assistant can communicate with a real person
behaving like a human. In this context, following are the objectives of this
project.
For an industry partner, this project aspires to create AI-based assistant for
any one or combination of a subset of the following areas:
? HR assistant
? Personal Secretarial Assistant
? Reception assistant
? Office chatbot for internal communications
The difference between a having a human vs an automated agent for these
jobs is that human agents may be trained in one or two of the areas where
conversation-understanding assistant is required. On the other hand, an
automated smart agent, if required, can handle most of the tasks in many
different areas of a workplace. This, not only, cuts the cost for the businesses
but makes their HR job easier. Thus, most of the objectives of this project will
also revolve around this notion.
Specifically, following may be thought of as the primary goals and objectives
of the project.
? Understand the specific requirements of the industry partner for their
needs from office assistant.
? Project tasks will include a brief survey of the known techniques to
create conversational AI assistant which may include open source
libraries and platforms like scikit-learn and Tensorflow or virtual
assistants creating platforms like RASA stack etc., and pick the
techniques and technology which helps the students map to the
requirements in the best way.
? Understanding and employing the cutting-edge ML/DL technology to
create state-of-the-art conversational AI assistant in Pakistan.
? To understand and implement the end-to-end software development
and delployment process in context of AI-based software, keeping in
view the practices and concerns of the industry.
? These assistants are mainly used to provide support to office workers,
so the outcome of the project will have a high usability index.
? Creating assistant which are very intelligent. They are trained once
and they will communicate with the target audience in their style.
? Time permitting, students will try to extend the scope to be a
multilingual assistant that can be a valuable asset for the businesses.
Define the goals
The project will start by defining the goal of the assistant which usually is the
business and marketing team’s responsibility. The students in the project will
interact with the business partners to gather the formal requirements, inspired
by the goals of the customers. Questions like the following may be asked:
? What is the conversational assistant’s overall goal? What do you want
to achieve?
? Why is this the goal?
? What are the current solutions the business use? What do they lack?
? What would the assistant do better?
Define devices, platforms, and channels
This phase will basically be the designing phase to decide on the architecture,
technology and tools best suited for the development of the product. There
are numerous well-known and open source libraries and platforms available to
develop conversational assistants for different businesses. In addition to the
platforms required for the AI part of the software, the standard software
elements for an average software development project, which include
development, storage, interface design, hosting etc., will be decided.
Define functionality and use cases
Defining and implementing the functions of the conversational applications is
probably the most challenging part of the setup process. It includes defining
the use cases based on the goals, creating relevant conversation flows, and
connecting to APIs. This will involve everyone from marketing to UX design
and software development, and will be the crux of the core implementation
tasks and functionalities required.
Development and testing
Building the conversational application is where the software engineering
team, i.e. the students will plays the most important role. Whether the strategy
decided is of building solutions from scratch or using some of the available
solutions and toolkits, the student developers will be responsible for
translating conversations into code and delivering the business logic across
all channels (defined by the industry partner in their situation) and devices, as required by them. At this point in time, the primary device that we target is an
internal-to-establishment, web-based assistant.
Analytics, training, and upgrading
As a final touch, it may also be seen, time permitting, if the team can provide a
way to augment the analytics, training and upgrading of the assistant’s core
capability to understand and respond to conversations. It may be a factor to
consider that with time of interaction after deployment, there can be some
data collected that can be used to retrain new models for the conversational
assistant to base its understanding and responding operations on. However,
as of now, we keep this as an option implementation step.
“By 2020, over 50% of medium to large enterprises will have deployed
product chatbots,” said Van Baker, research vice president at Gartner,
while at the Gartner Application Architecture, Development & Integration
Summit in May 2018.
It is a hot area of development around the globe, which is affecting
businesses of all kind and at different levels of their operation chain.
Especially interested are the financial institutions which, for example, in
Europe are taking the lead from similar advances in US financial sector, to
reduce costs and give their customers, especially the millennials, options to
manage their finances on platforms of their liking.
In medicine, these assistants can automate some parts of the chain, while
under supervision of a doctor. This augments their ability to quickly and
effectively understand the issues with their patients, while the patients save
time by interacting with an agent who is always available. In offices however,
conversational AI-based assistants can be of tremendous help both to the
employers and the employees. For the employers it saves them a lot of
durable investment by automating the tasks while for the employees can bank
on getting timely advice, information and connection, without having to wait
for lengthy delays. However, at certain stages the presence of an oversight by
the humans is necessary, to keep the operations on track.
The conversational AI-based assistant will be implemented using an open-source conversational AI-platform that provides tools to build contextual AI assistants. There are two main components in the construction of an AI-based virtual assistant?—?Natural Language Understanding (NLU) and Core functionality to support dialogue. NLU provides intent classification and entity extraction services. Solution’s Core is the framework that enables conversation or dialogue management. The response understanding and generation, with machine learning, power it.
Natural Language processing (NLP) AI assistant takes some combination of steps to convert the user’s text into structured data that is used to select appropriate response. Some of the technical Natural Language Processing steps, in a general AI-based assistant, are:
1. Tokenization: The NLP processes the input text into pieces or tokens, individual words that are linguistically symbolic or are differently useful for the application.
2. Named Entity Recognition: The AI assistant model identifies categories of words, like names, address etc., depending on the required data.
3. Normalization: The AI assistant program model tries to suppress any possible errors in the input text that arise from common spelling mistakes or typographical errors to make the system ‘behave’ more like human-effect.
4. Dependency Parsing: The AI assistant looks for the objects and subjects- verbs, nouns and common phrases in the user’s text to find dependent and related phrases that users might be trying to convey.
5. Sentiment Analysis: Tries to predict the time for human hand-off during conversation, based on analysis of the ‘mood’ of user’s responses.
The conversational AI-based assistant uses database to store input text, tokens, responses, etc., This knowledge base enables AI assistant with the data/ information that is needed to respond appropriately. As the assistant is used in the operational environment, its ‘experiences´ are also recoded in the database, to further improve its performance based on experience gained.
Technologies
Programming language to implement:
1. Dialogflow
2. Flask
3. Python
Other languages may be looked at as well depending on the need.
Containerization Technology:
1. Docker.
Docker might be used to containerize the solution if scalability is later managed by providing the containerized solutions as a potential cloud service.
A comprehensive Natural language processing service will be employed to make AI assistant understand the messages sent by users.
1. Wit.ai
2. Api.ai
For database of AI assistant, following database solutions can be considered:
1. MongoDB
2. PostGres
3. MySQL
The input and output would be text-based as the core requirement of the project, however, time permitting, open-source text-to-speech, can be employed to at least hear the response. Open-source Speech-to-text may be employed to take human voice as the input.
| Item Name | Type | No. of Units | Per Unit Cost (in Rs) | Total (in Rs) |
|---|---|---|---|---|
| ZOTAC GAMING GeForce RTX 2060 AMP ZT- T20600D-10M Graphics Card, 6GB | Equipment | 1 | 65000 | 65000 |
| Printing (Miscellaneous) | Miscellaneous | 1 | 5000 | 5000 |
| Overheads | Miscellaneous | 1 | 5000 | 5000 |
| Total in (Rs) | 75000 |
LGU Gate Pass System is mainly a project to provide a facility and security to the student...
Dates are the most beneficial fruit when it comes to nutrition; they have immense importan...
An unmanned ground vehicle (UGV) roaming in a specified area will be equipped with cameras...
Vending machine is essentially an automated machine that dispenses items like drinks, snac...
Emotions are very meaningful aspects and key factor of human nature and behavior. Emotion...