<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Santiago de Compostela, August</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Domain-Independent, Task-Oriented Chatbot Creation and Conversation Policy Management Framework</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tolga C¸ekic¸</string-name>
          <email>tolga.cekic@ykteknoloji.com.tr</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yusufcan Manav</string-name>
          <email>yusufcan.manav@ykteknoloji.com.tr</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enes Burak D u¨ndar</string-name>
          <email>enesburak.dundar@ykteknoloji.com.tr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Onur Deniz</string-name>
          <email>onur.deniz@ykteknoloji.com.tr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sec¸il Arslan</string-name>
          <email>secil.arslan@ykteknoloji.com.tr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Osman Fatih Kılıc¸</string-name>
          <email>osmanfatih.kilic@ykteknoloji.com.tr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Equal Contribution</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>YapıKredi Teknoloji</institution>
          ,
          <country country="TR">Turkey</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <volume>29</volume>
      <issue>2020</issue>
      <fpage>35</fpage>
      <lpage>39</lpage>
      <abstract>
        <p>In this paper, we present a chatbot creation framework that can help people with no technical expertise to design and create chatbots for any domain. This framework enables the creation of highly customizable chatbots that can range from simple question answer systems to chatbots that can handle more complex dialogue flows. In order to be domain independent we created a general Turkish language model using ELMo architecture and intent detection models for chatbots are trained using embeddings generated via this language model. Additionally, in order to make conversations more seamless and cohesive, dialogue act classification is integrated into conversation policy management. The framework also includes an additional tool that allows monitoring of past chatbot conversations and provides analytic tools supported by clustering algorithms.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Conversational systems, or as they are commonly called chatbots are
ubiquitous nowadays as they are used for simple general
conversation or more specialized tasks such as customer services. With their
popularity much research is focused on chatbots to make them more
effective in solving users’ problems and ensure conversations with a
chatbot are akin to conversation between humans.</p>
      <p>
        While general conversation chatbots usually consider a few
utterances from users without coming to a point, for task-oriented
chatbots sometimes the system must keep information from a much
previous utterance and should try to steer conversation toward a certain
point, thus completing its appointed task such as booking a ticket.
While the two approaches have much in common, considering the
research and the techniques used, they present different challenges
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        Research into chatbots started decades ago with the advent of
ELIZA[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] which was designed to mimic psychotherapy and uses
pre-programmed rules to generate answers. It receives user
utterances and by using certain words and word-of-speech tags, it
prepares a response by following predetermined rules. Other chatbots
following similar rule-based design to ELIZA have also been
developed over the years with their own advancements such as PARRY[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
and ALICE[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        In order to create chatbots that can perform more complex
conversations, rule-based approach can be limiting since it can be
unmanageable to create rules that cover more cases. Thus new methods are
devised to create more effective chatbots. IRIS[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], a general
conversation chatbot, uses data from many conversations and extracts the
most appropriate responses to user utterances. For information
retrieval, IRIS uses a vector space model. Gandhe and Traum also
proposed a TF-IDF model to retrieve answers for chatbot from a dataset
of text dialogue scripts.
      </p>
      <p>
        With the advancements in deep neural networks, machine
learning based chatbots have become increasingly successful. Vinyals and
Le introduced sequence to sequence (seq2seq) learning for
conversation systems for generating dynamic responses to each user
utterance [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Although they are very successful in generating
humanlike sentences as pointed out Sordoni et al. They are actually limited
in context sensitive conversations and carrying on information from
previous utterances [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        While machine learning methods can help create human-like
conversations for general conversation, task-oriented chatbots usually
require more complex tools for conversation management. Since
task-oriented chatbots are generally deployed commercially and
interact with customers, their responses must be more precise and
carefully constructed. Thus, unpredictability of seq2seq model sentences
can sometimes be undesirable for such chatbots. Also, some
information must be specifically collected from users and must be kept
to complete task. For instance a chatbot that sells flight tickets must
collect departure and arrival locations as well as date so as to be able
to present an offer and sell a ticket. In order to create such chatbots
intent-slot model is used [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Intents are what a user wants to do with
a chatbot and slots are actually entities that must be collected or filled
for the chatbot to complete its task related to the intent. In order to
create chatbots with intent-slot model, machine learning methods for
intent detection and entity extraction are mixed with other techniques
such as state tracking and policy management.
      </p>
      <p>
        Task-oriented chatbots with intent-slot model can be used for
many different domains and they would have similar designs. In
order to create a scalable system for developing task-oriented chatbots
for multiple domains new frameworks were devised. These
frameworks such as Amazon Lex, Google Dialogflow, Microsoft Luis help
create chatbots with little requirements for programming expertise.
In this paper we offer a novel chatbot creation framework equipped
with tools to handle common problems that can be encountered by
conversation systems. In order to have a powerful intent detection
mechanism that can work in multiple domains, our framework uses a
general ELMo based language model and uses a deep neural network
classifier based that uses ELMo embeddings [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Furthermore, an
additional hybrid intent detection classifier is built with rule-based
intent detection as well as a machine learning so as to find intents even
if training data is sparse or unevenly distributed. Our framework also
has a recurrent neural network (RNN) based dialogue act classifier
that is used in addition to the intent detection and the entity
extraction to have a flexible policy management that can handle complex
conversations. Additionally, an actively used chatbot may need to be
updated to understand and perform new tasks over time. In order to
effectively find these new tasks and to collect their related data the
machine learning models, we have developed an analytics tool to
reinforce capabilities of our chatbot generation framework. With this
tool, new intents can be discovered or data sets for existing intents
can be expanded.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Dialogue Design</title>
      <p>Generally chatbot content is gathered and structured by the people
who work in public relations or marketing. They mostly have very
little to none coding experience and need people with programming
expertise to maintain the chatbot content for them. We desired people
who supervise the chatbot content also manage the dialogue design.
Thus, the content design is decoupled from technical parts that
manages the conversation to simplify creating the chatbots. We developed
an interface for users to create new topics, and structure the content
according to their needs like edit, delete, create flows swiftly.</p>
      <p>To provide this user interface and ease the creation of chatbots,
we streamlined the process and decided to use basic building blocks.
These are:</p>
      <sec id="sec-2-1">
        <title>1. Intent</title>
        <p>Intents are the tasks users want to accomplish. They are the main
building blocks of the chatbots in this framework, and they contain
some or all the following components in them. They can be used in
solitude or chained to each other to create flows for more complex
tasks.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2. Entity</title>
        <p>They are used if information is needed to be collected from the user
to complete a task associated to an intent. Two types of collection
method can be used to collect entities; prompt; a question is asked
to user and waiting for input or choice; the answer is selected from
predetermined set of choices. There are multiple built-in entity types
to satisfy the users’ needs like, phone number, date etc. as well as
ability for chatbot content supervisors to create their own custom
entities.</p>
      </sec>
      <sec id="sec-2-3">
        <title>3. Training Sentences</title>
        <p>Training sentences are used in the training of the intent detection
classifier. They are the possible sentences which customers use to
state a specific intent.</p>
      </sec>
      <sec id="sec-2-4">
        <title>4. Response Actions</title>
        <p>This component determines the responses given by chatbot for a
specific intent. After these responses given, either chatbot can revert to
its default state waiting for user utterances to find an intent or another
follow-up intent can be set and chatbot prompts the user according
to this new intent. Before determining the responses of chatbot some
other actions may need to be taken first, these actions are determined
by functions component.</p>
      </sec>
      <sec id="sec-2-5">
        <title>5. Functions</title>
        <p>Functions are actions taken by chatbot to complete the required task
of an intent. These actions generally uses collected entities as inputs
and they can have connection to external systems such as when
making money a transfer.</p>
        <p>The organized and compact chatbot structure has shorten the time
and eliminated the coding knowledge needed to create chatbots,
while providing the capability to complete tasks independent of
domains.Also as can be see from Figure 1, domain model also has
configurations satisfy conversation flow needs for different domains.</p>
        <p>Chatbot models are created with defining one or more intents
according to the topics that have been determined by the content
supervisors. While creating each intent, possible user utterances that
can specify the intent are added as training sentences. If any entity
is needed to be collected for an intent the corresponding type of the
entities are inserted to the intent, and their collection type is selected.
After that, any integration needed are added as functions. Eventually
the response actions added to the intents. There can be single or
multiple response actions and they may have different conditions which
provide the dynamic responses with regarding to users input to the
entities.</p>
        <p>Each of the chatbot models that are deployed, are uniquely
identified in the conversation manager so that users can go back to an
older model if they want to withdraw their changes and continue on
top of that older model. This uniquely identified models also
provide to serve multiple models in a domain and channel agnostic way.
Users from different domains are directed to their respective chatbot
models, and given an answer from that model.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Intent Detection</title>
      <p>Task-oriented chatbots need to understand users to help them with
their problems. Chatbots created with this framework can contain
multiple intents. Smaller scale chatbots that are tailored to one
specific task could be created with this framework, but in many domains
more complex chatbots with multiple intents are desired. Hence,
having a powerful and flexible intent detection classifier is a must in
taskoriented chatbots. We developed a two stage hybrid structure for this
task.</p>
      <p>
        First stage is a machine learning based intent classifier that uses
ELMo contextual embeddings[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. For Turkish, we have trained an
ELMo language model from scratch using Turkish Wikipedia dump
and Bogazici Web Corpus as data sets [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Our combined training
data contains more than 500 million tokens. Character based nature
of the ELMo is very helpful for obtaining better word representations
for Turkish since it is an agglutinative language.
      </p>
      <p>The ML-based intent classifier is trained with the sample
sentences on the chatbot model. Contextual embeddings of these
sentences are extracted using ELMo and then those embeddings are fed
to a multi-layer perceptron with softmax output layer. For chatbot
usage three most probable intents of a message are retrieved using this
model.</p>
      <p>The rule-based intent classifier is stationed as the second part of
the hybrid intent detection module. This part is used for the intents
with less than minimum amount of training sentences or for specific
intents that can be identified by very distinct keywords or phrases.
For these intents, basic phrases are defined, and these patterns are
searched in the user utterances. The matched patterns ranked
according to their token counts, with the assumption longer phrases are
more specific in describing an intent. Some intents could be reliably
determined at this stage. However, this method does not consider
semantic or contextual information. It makes only pattern based
matching and can miss words with similar meanings that are not present in
the list of pre-determined phrases.</p>
      <p>In the general flow of the intent detection those two methods are
used in tandem. The possible intents from the first stage is checked
if any of them returned with enough confidence then this intent is
selected, but if any of them does not have enough confidence, then
the second stage is used and checked if any of the phrase patterns
matched in the user utterance. If a single intent is matched then this
intent is selected. If zero or more than one intents matched, then up to
a number(which is a configurable property) of possible intents from
the both stages are presented to the user and ask if they would choose
any of the choices.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Entity Finder</title>
      <p>Task oriented chatbots sometimes may need to extract information
from user utterances to complete their tasks. The entities needed to
be collected have many different types and also users can specify
the given type of entities in a different ways, for example users can
specify the date as “next Monday” or “06.01.2020” and the entity
finder should determine both are entities that denotes a date.</p>
      <p>
        First step of the entity finder is spell correction for utterances. For
spell correction in Turkish Language, we utilized Zemberek, a
natural language processing library [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. If the word is not in the
dictionary, it is then converted to the word with the nearest Levenshtein
distance to the original one [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Then, the numbers in letter are
converted to the digits to simplify the extraction of entities with numeric
parts.
      </p>
      <p>There are entity types with different challenges in extracting. For
the basic types like numerical, time etc. we use regular expressions
that cover the possible notations which users can write. To extract
more complex types like dates we created a module that detect part
of speech tags (POS) using the aforementioned Zemberek library and
then extract entities using those POS tags and regular expressions.</p>
      <p>There can be also custom types of entities which can have a finite
number of values that are predetermined by chatbot content
supervisors. Those types of entities have choices and also different possible
words or phrases added as synonyms. Then those choices and their
synonyms searched in the user utterances, in a fuzzy manner with
Levenshtein distance. If a similar or exact pattern is found then this
entity value is extracted.</p>
      <p>Each entity if they are required to be collected in their related
intent, has a prompt to ask the user specifically to get a value from
the user. However, users may have provided values for entity
without being prompted and chatbot need not ask for that entity again.
So that after finding intent, entity finder module starts to extract
entities related to that intent, even for the entities that it did not prompt
explicitly to provide users a more realistic conversation.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conversation Management</title>
      <p>Managing the conversation meticulously in the task oriented chatbots
is important for helping users. Conversation management is about
tracking chatbot’s state as well as adapting to changing purposes of
the users to create more natural conversations. Users may change
their question while a chatbot is trying to collect entities for an intent,
or a user may give negative feedback about an answer provided, and
chatbots should handle those user utterances like human to human
conversation rather than being stuck in the same state of
conversation.</p>
      <p>Chatbot state is determined by found intent and chatbot’s tasks in
this intent like entity collecting, or responding. Chatbot states are:
1. Idle: Default state of the chatbot. Chatbots in this state wait for
user utterances to detect an intent.
2. Slot Filling: If an entity needed in an intent, chatbot actively
tries to collect entity values by asking questions and if possible giving
choices to the user.
3. Confirmation: Some intents require user confirmation before
taking an action. In this state chatbot asks confirmation to users for
proceeding with the task and waits for their response.
4. Return Action: In this state chatbot returns an answer to the
user or takes action using functions inserted from the UI.
5. Next Intent: If current intent will be followed by another intent
in return action state, chatbot transitions to this state.
6. User Refine: If chatbot is unsure about the intent of the user
and it has some possible intents then a question is asked the user to
clarify if they meant any of the possible intents found</p>
      <p>Those different states alter the actions taken by the chatbots to
complete tasks, but that is a linear structure and may not work for
some cases. Sometimes users can change their questions, or give a
negative feedback to a chatbot reply. To accommodate such user
behaviors intent detection alone would not be enough. Besides the
intents of an utterance, dialogue acts of the user utterances should also
be extracted. Dialogue act is the function of an utterance in a
conversation context, like question, statement or command. We tailored a
distinct dialogue act class set for the chatbot system by analyzing the
user behavior in the utterances collected from real-life conversations.
These are: Statement, Wh-Question, Yes-No Question, Answer
Accepted, Answer Rejected, Not Understanding Feedback, Command,
Greeting.</p>
      <p>The dialogue act classifier uses the same ELMo based general
Turkish language model used in intent detection for word
representations. These word representations are fed to a bi-directional LSTM
with attention layer. At the end of the pipeline there is a multi layer
perceptron to decide the dialogue act class. The data set we used for
training the dialogue act classifier is created by manually tagging the
utterances received by our chatbots.</p>
      <p>Figure 2 shows the architecture of the conversation management
and analytics. The chatbot state, the dialog act of the user and the
intent found is fed to a policy manager to decide the next action of the
chatbot in a dialogue. For example if a user rejected an answer, giving
that answer to the next user utterance again would be frustrating for
the user. Also, the chatbot state is readjusted according to dialogue
234</p>
      <p>Content
Answers frequently asked questions in banking also makes calculations
and gives information to users. (Topics are coherent around the channels
only the responses are customised to channels’ visualisation capacity.)
Helps bank employees with their questions and technical problems
Help users to find hotel or transportation, make and edit reservations
Helps employees to get answer about personal benefits like leaves
acts. For instance, if a user asks a question while chatbot is in the slot
filling state, the state is changed to idle and that user utterance sent
to intent detection module to find the new intent of the user.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Analytics</title>
      <p>After a chatbot is created, chatbot content must be maintained
continously with updated or new intents in order to respond to the
changing demands of the users. Content supervisors for chatbots should
analyse previous dialogues in existing chatbots to determine when
this should be done. Such an analysis would take a sheer amount of
time and workforce if done manually. In order to address these issues
we developed an analysis tool for chatbot conversations that employs
unsupervised clustering algorithms and search capabilities.</p>
      <p>
        Each utterance received by the chatbots are indexed with their
metadata in Lucene; a search library written in Java which has
capabilities like, fuzzy, phrase and wild card searches [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Using indexed
information supervisors can search utterances thoroughly. They can
look for utterances with no intent to see what sort of questions
chatbots cannot answer. Supervisors can also search for a specific phrase,
keyword to see user utterances around that topic This allows
supervisors to gain granular insights from the data from the general topics.
      </p>
      <p>Despite being helpful, examining each utterance individually is
not enough for a complete analysis and may lead to wrong
conclusions. Clustering methods are useful in inspecting vast amount of
utterances, because they help humans to look to the topic in a broader
perspective, by grouping the similar utterances together.</p>
      <p>We create an n-gram based clustering method for this task.
Utterances to be clustered are spell corrected then lemmatized to lessen the
diversity of the n-grams due to the agglutinative Turkish Language.
Later, stop words are eliminated, and then the n-grams are created. In
the next step by using co-occurence of these n-grams, the sentences
are grouped together. This step iterates a number of times (which can
be set by supervisors) with increasing token co-occurence threshold
for merging clusters. This threshold is not constant because at first
iteration each sentence is basically their own cluster and they have
limited number of n-grams and each co-occurence is more
important than the later steps with bigger clusters. Higher threshold in the
beginning iterations prevents sentences from creating clusters while
lower thresholds in the later stage gravitate towards one big cluster
that covers all utterances. At the last stage created clusters are
visualized. Those utterances can be imported as training sentences to
intents in the model.</p>
      <p>The clustering can be used with the search in a way that
supervisors can select a set of the utterances with the search. They can then
execute the clustering algorithm over this set to have more specific
analysis. Furthermore this clustering algorithm can be triggered
automatically for each domain in fixed time intervals. This step can be
performed over the utterances with no intent for the detection of the
emerging topics.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion</title>
      <p>In this paper, we presented our chatbot creation framework that can
generate chatbots for any domain. Our framework is supported with
state-of-the-art NLP techniques to better understand user messages
and to be flexible and adaptable in generating replies to mimic
human conversation behavior better. Also, by making every step of the
chatbot generation configurable, chatbots with widely different
behaviors can be generated and used.</p>
      <p>Our framework has been in active use since December 2018 and
chatbots for different domains have been created. First chatbot is
created as Yapı Kredi Bank’s customer service chatbot to serve
customers on WhatsApp. Since its inception, this chatbot had 765,000
conversations and replied to 2.1 million messages. With the help of
our framework the content managers also updated their models daily
for better bot coverage rate, increasing intent count from 55 to 234.
This chatbot model also extended to other channels with just
tweaking the responses of the bot to channels multimedia capabilities.
Second one is chatbot for bank’s help desk to help employees with their
technical and bussiness problems, which is now in pilot phase
serving 100 branches of the bank, with 346 intents. Other use cases are
in the POC phase for tourism and HR domains.
8</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgements</title>
      <p>The authors would like to thank Atılberk C¸ elebi for his contributions
to the work presented in this paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Lucene</surname>
          </string-name>
          . https://lucene.apache.org/. Accessed:
          <fpage>2020</fpage>
          -03-10.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Zemberek-NLP</surname>
          </string-name>
          . https://github.com/ahmetaa/zemberek-nlp.
          <source>Accessed: 2020-02-20.</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Rafael</surname>
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Banchs</surname>
            and
            <given-names>Haizhou</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
          </string-name>
          , '
          <article-title>IRIS: a chat-oriented dialogue system based on the vector space model'</article-title>
          ,
          <source>in Proceedings of the ACL 2012 System Demonstrations</source>
          , pp.
          <fpage>37</fpage>
          -
          <lpage>42</lpage>
          ,
          <string-name>
            <surname>Jeju</surname>
            <given-names>Island</given-names>
          </string-name>
          , Korea, (
          <year>July 2012</year>
          ).
          <article-title>Association for Computational Linguistics</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Kenneth</given-names>
            <surname>Mark</surname>
          </string-name>
          <string-name>
            <surname>Colby</surname>
          </string-name>
          ,
          <source>Artificial Paranoia: A Computer Simulation of Paranoid Processes, Elsevier Science Inc., USA</source>
          ,
          <year>1975</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Jurafsky</surname>
          </string-name>
          and
          <string-name>
            <surname>James H. Martin</surname>
            , Speech and
            <given-names>Language</given-names>
          </string-name>
          <string-name>
            <surname>Processing</surname>
          </string-name>
          :
          <article-title>An Introduction to Natural Language Processing</article-title>
          , Computational Linguistics, and Speech Recognition,
          <string-name>
            <surname>Prentice Hall</surname>
            <given-names>PTR</given-names>
          </string-name>
          , USA, 1st edn.,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Vladimir</surname>
            <given-names>I Levenshtein,</given-names>
          </string-name>
          '
          <article-title>Binary codes capable of correcting deletions, insertions</article-title>
          and reversals',
          <source>Soviet Physics Doklady</source>
          ,
          <volume>10</volume>
          ,
          <fpage>707</fpage>
          , (
          <year>February 1966</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Maali</given-names>
            <surname>Mnasri</surname>
          </string-name>
          , '
          <article-title>Recent advances in conversational NLP : Towards the standardization of chatbot building'</article-title>
          , CoRR, abs/
          <year>1903</year>
          .09025, (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Matthew</surname>
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Peters</surname>
            , Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark,
            <given-names>Kenton</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
          </string-name>
          , and Luke Zettlemoyer, '
          <article-title>Deep contextualized word representations'</article-title>
          , CoRR, abs/
          <year>1802</year>
          .05365, (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9] Has¸im Sak, Tunga G u¨ngo¨ r, and Murat Sarac¸lar, '
          <article-title>Turkish language resources: Morphological parser, morphological disambiguator and web corpus'</article-title>
          ,
          <source>in Advances in Natural Language Processing</source>
          , eds.,
          <source>Bengt Nordstro¨ m and Aarne Ranta</source>
          , pp.
          <fpage>417</fpage>
          -
          <lpage>427</lpage>
          , Berlin, Heidelberg, (
          <year>2008</year>
          ). Springer Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Alessandro</surname>
            <given-names>Sordoni</given-names>
          </string-name>
          , Michel Galley, Michael Auli, Chris Brockett, Yangfeng Ji, Margaret Mitchell,
          <string-name>
            <surname>Jian-Yun</surname>
            <given-names>Nie</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Jianfeng</given-names>
            <surname>Gao</surname>
          </string-name>
          , and Bill Dolan, '
          <article-title>A neural network approach to context-sensitive generation of conversational responses'</article-title>
          ,
          <source>in Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies</source>
          , pp.
          <fpage>196</fpage>
          -
          <lpage>205</lpage>
          , Denver, Colorado, (May-June
          <year>2015</year>
          ).
          <article-title>Association for Computational Linguistics</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Ilya</surname>
            <given-names>Sutskever</given-names>
          </string-name>
          , Oriol Vinyals, and Quoc V Le, '
          <article-title>Sequence to sequence learning with neural networks'</article-title>
          ,
          <source>in Advances in Neural Information Processing Systems</source>
          <volume>27</volume>
          , eds.,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ghahramani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Welling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Cortes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. D.</given-names>
            <surname>Lawrence</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K. Q.</given-names>
            <surname>Weinberger</surname>
          </string-name>
          ,
          <volume>3104</volume>
          -
          <fpage>3112</fpage>
          , Curran Associates, Inc., (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Richard</surname>
            <given-names>Wallace,</given-names>
          </string-name>
          <article-title>The anatomy of</article-title>
          <string-name>
            <surname>A.L.I.C.E</surname>
          </string-name>
          ,
          <volume>181</volume>
          -
          <fpage>210</fpage>
          ,
          <year>01 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Joseph</surname>
            <given-names>Weizenbaum</given-names>
          </string-name>
          , '
          <article-title>Eliza a computer program for the study of natural language communication between man and machine'</article-title>
          ,
          <source>Commun. ACM</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <fpage>36</fpage>
          -
          <lpage>45</lpage>
          , (
          <year>January 1966</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>