<!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>Series</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Fairytale Child Chatbot</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rudolf Rosa</string-name>
          <email>rosa@ufal.mff.cuni.cz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Charles University in Prague, Faculty of Mathematics and Physics, Institute of Formal and Applied Linguistics</institution>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <volume>1214</volume>
      <fpage>79</fpage>
      <lpage>84</lpage>
      <abstract>
        <p>Fairytale Child (Pohádkové díteˇ) is a simple chatbot trying to simulate a curious child. It asks the user to tell a fairy tale, often interrupting to ask for details and clarifications. However, it remembers what it was told and tries to show it if possible. The chatbot can communicate in Czech and in English. It analyzes the morphology of each sentence produced by the user with natural language processing tools, tries to identify potential questions to ask, and then asks one. A morphological generator is employed to generate correctly inflected sentences in Czech, so that the resulting sentences sound as natural as possible.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        One of the first chatbots, and the first one that became
widely known and successful, was ELIZA [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. ELIZA
tried to simulate a Rogerian psychotherapist, i.e. a
therapist who tries to encourage clients to realize by themselves
in what ways their feelings and behaviour are affected
negatively [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This was a particularly good choice, as
the Rogerian dialogue techniques involve asking the client
general questions and giving sympathetic comments,
trying to motivate him to speak more and to realize things.
The chatbot analyzed the user-entered sentences in a
shallow way, reacted specifically to certain keywords or
patterns (“I feel tired.” – “What makes you feel tired?”), and
provided a more generic answer if no keyword or pattern
was spotted (such as “I understand.”, “Do you really think
so?” or “Can you elaborate on that?”).
      </p>
      <p>Despite its simplicity, ELIZA proved to be able to
successfully communicate and react naturally enough so that
numerous users reported a belief that the chatbot was
actually intelligent and did understand them. One of the
reasons behind the success of ELIZA is the fact that when
communicating with a psychotherapist, it is the client who
“creates” the world about which he talks; it is thus
natural that the psychotherapist does not know anything about
that world (which would appear strange in other
situations, such as discussing the current political situation).
Another important decision was the choice of English as
the communication language, which enabled employment
of rather simple pattern matching instead of full-fledged
linguistic analyses, and extremely simple language
generation techniques; this is thanks to English being an
analytical (nearly non-inflecting) language with a fixed word
order.</p>
      <p>In this work, we present a Czech language chatbot for
a similar setting – the Fairytale Child. The chatbot tries to
simulate a child which wants to hear a fairy tale. Similarly
to the therapist scenario, it is the user who creates the
entire world in which the story takes place. The child knows
nothing about this world, and thus asks a lot of questions
to learn something about the world, the people and objects
in it, and their properties.</p>
      <p>The behaviour of the chatbot is similar to the
“Whyphase” of child development, in which the child
repeatedly asks “Why?” as a reaction to virtually any sentence.
However, as the “Why-phase” is rather annoying for the
parents, and we do not want our chatbot to be annoying,
we try to simulate an older child, which has a wider range
of more specific questions, and which often does not ask
any question but simply encourages the user to go on.</p>
      <p>Similarly to several other chatbots, the Fairytale Child
remembers what it was told, and does not ask for it again;
instead, it tries to show the user that it has paid attention
by showing off the knowledge it has acquired if the story
touches the topic again.</p>
      <p>
        The Fairytale Child chatbot is built using the Treex
Natural Language Processing (NLP) framework [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] both for
analysis of the user input and for response generation. The
tools that are part of Treex, namely the tagger [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
morphological generator [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], are vital for the implementaion
of the chatbot, since they enable us to alleviate the
burden of handling the morphologically rich Czech language,
which is one of the main obstacles preventing usage of the
same simple techniques that have been repeatedly shown
to perform well enough for English.
      </p>
      <p>The main aim of our work is to show that when backed
by a powerful and easy-to-use NLP framework,
construction of a simple Czech chatbot able to produce naturally
formed responses can be not only viable, but even rather
straightforward.</p>
      <p>
        The chatbot is being developed in two versions –
Fairytale Child for English, and Pohádkové díteˇ for Czech. As
creating a chatbot for Czech is a more interesting and
challenging endeavour, Pohádkové díteˇ is the primary focus of
our work; we provide the Fairytale Child version mainly
for our work to be intelligible also for non-Czech speakers.
ling [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The session, listed in Section 2.1, was lead in
Czech; in Section 2.2, we provide its English version.
      </p>
      <p>Please observe the ways in which the chatbot tries to
ask questions. Also please notice how it remembers what
it was told about the objects, and when they are mentioned
again, it can decide to show that it has been listening by
repeating what it was told. Interestingly, this leads to a
“mistake in understanding” towards the end of the story, which,
by accident, seems very natural and appropriate at that
point.
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Czech – Pohádkové díteˇ</title>
      <p>This session transcript is real and unedited (except for a
few corrections of user’s typos). Therefore, it also shows
several cases where the chatbot misanalyzed the sentence;
these will be referred to in Section 4.
(38) USER: No a kacˇátko uvideˇlo, jak k jezeru prˇilétají z
teplých krajin krásní velcí bílí ptáci.
(39) CHATBOT: Byli hodneˇ bílí?
(40) USER: Byli bílí jako sníh.
(41) CHATBOT: Pokracˇuj...
(42) USER: Byly to labuteˇ.
(43) CHATBOT: Pokracˇuj...
(44) USER: Labuteˇ pˇristávaly na jezero, a kácˇátko k nim
opatrneˇ šlo a obdivovalo je.
(45) CHATBOT: Pokracˇuj...
(46) USER: Cˇ ekalo, kdy si ho všimnou a budou na neˇj zase
pokrˇikovat.
(47) CHATBOT: Pokracˇuj...
(48) USER: Ale labuteˇ na neˇj ani nepokrˇikovaly, ani ho
neodháneˇly, ani se mu nesmály.
(49) CHATBOT: Pokracˇuj...
(50) USER: Kacˇátko se tomu divilo, a ptalo se labutí:
Copak vám neprˇipadám ošklivé?
(51) CHATBOT: Pokracˇuj...
(52) USER: A na to se labuteˇ divily a ptaly se ho: Procˇ bys
nám prˇipadalo ošklivé? Vždyt’ jsi stejneˇ krásné jako
my!
(53) CHATBOT: Jaké to byly labuteˇ?
(54) USER: Ty, co na zimu odleˇtly do teplých krajin, stejneˇ
jako divoké kachny.
(55) CHATBOT: Byla hodneˇ divoká?
(56) USER: Ale to se jen tak rˇíká, divoké kachny, to
znamená, že žijou volneˇ v prˇírodeˇ.
(57) CHATBOT: Jaká to byla prˇíroda?
(58) USER: No prˇíroda kolem toho jezera.
(59) CHATBOT: Aha, to, u kterého se kacˇátko narodilo.
(60) USER: Ano to. No a to kacˇátko se divilo: To prˇece
není pravda, vy jste prˇekrásné labuteˇ a já jsem ošklivé
kacˇátko.
(61) CHATBOT: Pokracˇuj...
(62) USER: A labuteˇ mu rˇekly: tak pojd’ blíž a podívej se
na sv˚uj odraz na hladineˇ.
(63) CHATBOT: Jaká to byla hladina?
(64) USER: Hladina toho jezera.
(65) CHATBOT: Pokracˇuj...
(66) USER: A tak se kacˇátko podívalo, ale místo ošklivého
kacˇátka uvideˇlo krásnou bílou labut’.
(67) CHATBOT: Aha, ty co na zimu odleˇtly do teplých
krajin stejneˇ jako divoké kachny.
(68) USER: Práveˇ že ne – uvideˇlo totiž samo sebe.
(69) CHATBOT: Pokracˇuj...
(70) USER: Nebylo to totiž ve skutecˇnosti kacˇátko, ale
labut’átko.
(71) CHATBOT: Pokracˇuj...
(72) USER: No a to je konec.
(73) CHATBOT: To už je konec? Tak deˇkuju za pohádku!
:-)
2.2
.</p>
    </sec>
    <sec id="sec-3">
      <title>English – Fairytale Child</title>
      <p>This is the English version of the sample Ugly Duckling
session from Section 2.1. The user uttrances have been
translated from Czech to English. From the responses
that the English version of the chatbot is able to
generate, we chose the ones that correspond to the responses in
the Czech session. Thus, this session is not a real one, but
it is a realistic one, in the sense that the system is able (and
reasonably likely) to generate exactly the responses shown
here.
(60) USER: Yes, this one. Well, and the duckling was
startled: This is simply nonsense, you are beautiful swans
and I am just an ugly duckling.
(61) CHATBOT: Go on...
(62) USER: And the swans told it: well then come closer
and look at your reflection at the surface.
(63) CHATBOT: What surface was it?
(64) USER: The surface of the lake.
(65) CHATBOT: Go on...
(66) USER: And so the duckling looked, but instead of an
ugly duckling it saw a beautiful white swan.
(67) CHATBOT: I see, the swans that flew south, just as the
wild ducks did.
(68) USER: Well, actually not – it actually did see itself.
(69) CHATBOT: Go on...
(70) USER: It wasn’t in fact a duckling, but a swanling.
(71) CHATBOT: Go on...
(72) USER: And this is the end.
(73) CHATBOT: This is the end already? Thanks for the
story then! :-)</p>
      <p>Czech sentence analysis scenario
Treex::Block::W2A::CS::Tokenize
Treex::Block::W2A::CS::TagMorce
Treex::Block::W2A::CS::FixMorphoErrors
English sentence analysis scenario
Treex::Block::W2A::EN::Tokenize
Treex::Block::W2A::EN::NormalizeForms
Treex::Block::W2A::EN::FixTokenization
Treex::Block::W2A::EN::TagMorce
Treex::Block::W2A::EN::FixTags</p>
      <p>Treex::Block::W2A::EN::Lemmatize</p>
      <sec id="sec-3-1">
        <title>Implementation</title>
        <p>The chatbot is implemented as a console application in
Perl, reading user input from standard input, and
producing responses to standard output. It extensively uses Treex
framework blocks and tools, but is not implemented as
a Treex application, as Treex scenarios do not support
interactive operation.</p>
        <p>The script starts by initializing all tools and asking the
user to tell a fairy tale (see utterance (1) in Section 2).
Then it iteratively analyses the sentence entered by the
user with NLP tools (Section 3.1), selects a suitable
predefined response template and generates a response
(Section 3.2).1 This loop continues until the end of the story
is detected – this is done by detecting the presence of the
word “end” (“konec” in Czech), see (72)-(73). The
chatbot thanks for the story and terminates.
3.1</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>User Utterance Analysis</title>
      <p>Each line entered by the user is analyzed with a standard
Treex scenario – see Table 1. The sentences are split into
individual tokens, and each token is assigned a lemma2
and a part-of-speech3 tag.</p>
      <p>
        For Czech, the standard Czech positional tagset is
used [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The tag marks several morphological categories;
in our work, we make use of the following ones:
part-ofspeech, gender, number, case, person. An important
feature of the tagset is that while one word form may often
be analyzed in several ways due to inflection ambiguity
(e.g. “staré”, “old”, may be e.g. neuter nominative
singular, feminine genitive singular or feminine accusative
plu1Our chatbot, as most other chatbots, generates a response to each
user input. However, it would be very annoying if the chatbot
generated a question each time – unlike Eliza, our system expects a user who
knows what he wants to say and does not need to be asked something
all the time to elicit input from him; we want to simulate a child that
actually does want to hear the story and therefore sometimes just listens,
without asking anything. Instead of being completely silent, which could
be mistaken for long response time or for an error, we therefore
sometimes either simply encourage the user to go on, or show that the chatbot
is listening by showing what it remembers from what the user had said.
2E.g. for the token “sons”, the lemma is “son”
3E.g. noun, pronoun, verb
ral), the vice versa is not possible: for a given lemma and
tag, there is always at most one corresponding word form.
      </p>
      <p>
        For English, the standard Penn Treebank tagset [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is
used. Unfortunately, it does not mark the natural gender
for English nouns, so e.g. both “boy” and “girl” are tagged
identically as NN. However, it does mark noun number,
which is a feature that we make use of.
      </p>
      <p>If the chatbot asks a question, the user’s answer is stored
in a simple knowledge base. Before storing, the answer
is normalized in two steps. The first one is the removal
of sentence-initial garbage words “Well”/“Oh” (“No” in
Czech) – see (8)-(9). The second one is more intricate: it
is a switch between 1st and 2nd person – see (12)-(13).
This consists of switching “I”/“me” and “you” in English
(“já” and “ty” in Czech), and also switching the person for
Czech pronouns and verbs.</p>
      <p>The knowledge base is simply a key-value hashmap.
The key is the lemma of the word (noun or adjective) that
the chatbot asked about, and the value is the normalized
answer of the user to that question.
3.2</p>
    </sec>
    <sec id="sec-5">
      <title>Response Selection and Generation</title>
      <p>The chatbot randomly chooses from a set of the
following three possible response types. It then tries to
generate the response of the given type. If this is impossible,
e.g. because the template requires a noun but there is no
noun in the sentence – see (5) – it responds “Go on...”
(“Pokra cˇuj...”) instead. This randomness makes the
responses less predictable and therefore more realistic.</p>
      <p>
        For generating Czech responses, a morphological
generator [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is used to generate appropriately inflected word
forms based on (lemma, tag) pairs.
      </p>
      <p>What NOUN was it? The first response type asks the user
to provide details about a noun – see e.g. (23). The noun
to be asked about (denoted as NOUN) is the last noun in
the sentence, as this is presumably the newest and most
interesting piece of information.</p>
      <p>In Czech, NOUN is first switched to nominative case
using the morphological generator (but morphological
number is preserved). The response generated has the form
of “ Jak_ to byl_ NOUN?”; the correct form of “Jak_”
(“Jaký”, “Jaká”, “Jaké”... – “What”) and “byl_” (“byl”,
“byli”... – “was”/“were”) is chosen based on the
morphological gender and number of the NOUN (and generated
by the morphological generator).</p>
      <p>In English, the response has a form of “What NOUN
was it/were they?”, based on the singular/plural marked in
the NOUN tag (NN and NNP tags mark singular, NNS and
NNPS tags mark plural).</p>
      <p>If a question regarding NOUN had already been asked
(i.e. the knowledge base already contains NOUN as a key),
the chatbot does not ask the question again, but instead
shows off by reapeating the then-provided answer – “I see,
ANSWER.” (“Aha, ANSWER.”) – see (35)-(36) and then
(58)-(59).4
What is a NOUN? The second response type asks the
user to explain what a noun means – see e.g. (29). Again,
the noun to be asked for (denoted as NOUN) is the last
noun in the sentence.</p>
      <p>In Czech, NOUN is first switched to nominative,
preserving the number. The response generated has the form
of “Co je/jsou to NOUN?”, the correct choice of verb “je”
or “jsou” (“is” or “are”) being made based on the
morphological number of the noun.</p>
      <p>In English, the response has a form of “What is/are
a/an NOUN?”, based on the singular/plural marked in the
NOUN tag, and on the first letter of NOUN.5</p>
      <p>Similarly to the first response type, if a question
regarding NOUN had already been asked, the chatbot reapeats
the answer instead.</p>
      <p>Very ADJECTIVE? The third type asks whether a
property was intense. Similarly to previous types, the adjective
to be asked about (denoted ADJECTIVE) is the last
adjective of the sentence.</p>
      <p>In Czech, the ADJECTIVE is first converted to
nominative. Then, the response is generated in the form “ Byl_
hodneˇ ADJECTIVE?” (the correct form of “byl_” is
generated according to morphological gender and number of
ADJECTIVE).</p>
      <p>In English, the form is only “Very ADJECTIVE?”, for
reasons discussed in Section 4.</p>
      <p>If a question regarding ADJECTIVE had already been
asked, the chatbot resorts to the default “Go on” answer,
as for adjective questions, the answers are not reproduced.
The idea is that while it is reasonable to believe that a
repeated noun is a reference to the same entity, this is less
likely for adjectives. However, to avoid annoying
questions, the chatbot will not ask about the same adjective
twice.
3.3</p>
    </sec>
    <sec id="sec-6">
      <title>Efficiency Evaluation</title>
      <p>Although both Treex and Perl are sometimes blamed for
their slowness, we have not encountered such issues with
our application. This is helped by the fact that all the Treex
tools are loaded only once – thus, the startup takes about 7
4Note that (10)-(11) and (18)-(19) seem to contradict this claim.
However, on closer inspection of the original Czech transcript, it can
be seen that the user used different spellings for the word “duckling” –
“ká cˇátko” in (10) but “ka cˇátko” in (18). This difference has no influence
on meaning in Czech, but as the tagger preserves this distinction in the
lemmas it produces, our system treats the two as distinct, and therefore
asks about the duckling again instead of showing that it already knows
what the user is talking about. (The distinction has not been preserved in
the English version because of the lack of such a dublet in English.)
5We resort to a simplification here by treating all vowel letters as
vowels – i.e. we would incorrectly generate e.g. “an uniform” instead of the
correct “a uniform”.
seconds for Czech (about 3 seconds for English), but each
response then takes only about 70 ms for Czech (about
15 ms for English).6 We believe this to be perfectly
acceptable for real-world usage.
4</p>
      <sec id="sec-6-1">
        <title>Discussion and Future Work</title>
        <p>The whole conversation between the user and the chatbot
has a reasonably natural feel. The chatbot usually reacts
appropriately, which is demonstrated by the ability of the
user to answer chatbot’s questions and continue with the
story, eventually reaching the end.</p>
        <p>Occasionally, we encounter errors that stem from
incorrect morphological analysis disambiguation by the tagger.
One such case can be seen in (15), where “Byla hodn eˇ
smutná?” (“Was she very sad?”) was generated instead of
the correct “Bylo hodn eˇ smutné?” (“Was it very sad?”), as
the neuter nominative “smutné” (“sad”) in (14) was
misanalyzed as feminine genitive. A similar situation happens
also in (54)-(55), where feminine plural nominative is
misanalyzed as feminine singular genitive, and in (24)-(25),
where “starý” (“old”) is analyzed as a noun instead of
adjective. However, such errors happen already in the tool
that we use, and are effectively beyond our influence.</p>
        <p>An error that we have encountered (but does not show in
the sample conversation) is that of asking the “Very
ADJECTIVE?” question with inappropriate addjectives, as in
“He sat there the whole day.” (“Sed eˇl tam celý den.”) –
“Very whole?” (“Velmi celý?”). However, it seems to
occur especially with several frequent adjectives, so
enumerating them manually seems to be a viable remedy.</p>
        <p>We also experimented with the “Why?” question, but
have found it hard to identify the appropriate part of the
user’s utterance to use in the question – the whole sentence
seems often too long and awkward, while only taking the
verb often leads to a non-sentence. This is an issue to be
addresed once we add deeper levels of linguistic analyses.</p>
        <p>There are still issues with the English implementation.
One of them is that the Czech question with “Jaký”, such
as (23) “Jaký to byl pán?”, is conveniently ambiguous, as
it can mean both “What was the man like?” and “Which
man was it?”, and thus feels more natural than the English
one. In English, we are not aware of such an ambiguous
construction, and we thus use “What man was it?”, which
tries to keep the ambiguity but is not good English.</p>
        <p>There are also cases where the Czech rich morphology
and analysis helps – especially when dealing with gender,
which is not marked in English analysis. Thus, when
asking the “Very ADJECTIVE?” question, we can choose the
correct subject in Czech based on the morphological
features of the adjective, while this is not possible in English.
This can be seen e.g. in (3), where in Czech we
generate the whole question “Bylo hodn eˇ ošklivé?” (“ Was it
6Measured on Intel R Core 2 Duo T5870 running 32b Ubuntu 10.10,
averaged over 5 runs. The response time is averaged over the 36
sentences from Section 2.
very ugly?”), because the morphological tag tells us that
“ošklivé” (“ugly”) was used in a neuter gender, while in
English, we currently resort only to “Very ugly?”, since
we cannot easily distinguish whether we should use “he”,
“she” or “it” (or another pronoun) as the subject. This
is often distractive and leads to unnatural questions, as in
(39). The gender is not only unmarked on the adective
itself, but the English tagset does not even mark gender on
nouns (so there is no simple and direct way of telling that
a “king” is a “he” while a “queen” is a “she”). However,
there exist tools that are able to fill that shortcoming, and
we will try to use them in future. Still, it will necessitate to
use not only tagging but also syntactic parsing to be able
to identify the gender associated with an adjective, since it
is implied by the parent noun in a dependency tree, which
might not be straightforward to find without a proper
syntactic analysis of the sentence.</p>
        <p>
          Employing a syntactic parser and a function labeller,
such as [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], would be beneficial in other ways as well,
e.g. by enabling us to use meaningful phrases in the
responses, as opposed to the current approach where we can
only use either a single word or the whole sentence, or
by being able to distinguish the syntactic subject from the
syntactic object. An analysis of the topic-focus
articulation [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] could probably make it possible to generate even
more natural questions, trying to concentrate on questions
about the focus, i.e. the new information – not about the
topic, which is the information that the speaker assumes is
already known to the listener.
        </p>
        <p>
          An obvious and important future goal is to implement
a web interface. Currently, the application is
terminalbased, reading user utterances from the standard input and
producing chatbot responses to standard output. This does
not look very appealing; moreover, it requires the users to
have Treex installed. Even a simple web interface would
make the application available to a much wider range of
users, and would also make it more attractive. While Treex
does have a web interface [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], the Treex scenarios are not
designed for interactive use, and therefore a different
solution will have to be found.
5
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>Conclusion</title>
        <p>We have implemented a Fairytale Child chatbot, which
acts as a child that wants to hear a fairy tale. It analyzes
the user utterances and tries to react with a question or
remark if possible, simulating a curious child. The chatbot
is able to communicate in Czech or in English.</p>
        <p>We used the Treex natural language processing
framework for both analysis of the user utterances and
generation of the chatbot responses. This proved to be effective,
especially for the morphologically rich Czech language.</p>
        <p>Even though the implementation of the chatbot is quite
simple, it responds quite naturally in most cases. This
shows that even for morphologically rich languages, a
simple approach can lead to a well-performing chatbot,
provided that there is a powerful NLP framework at hand.</p>
        <p>The chatbot is licenced under GNU GPL v2 and is
available at https://ufal.mff.cuni.cz/dite.7</p>
      </sec>
      <sec id="sec-6-3">
        <title>Acknowledgments</title>
        <p>This research was supported by the grants GAUK
1572314, and SVV 260 104. This work has been
using language resources developed, stored and distributed
by the LINDAT/CLARIN project of the Ministry of
Education, Youth and Sports of the Czech Republic (project
LM2010013).</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Hans</given-names>
            <surname>Christian Andersen</surname>
          </string-name>
          . New Fairy Tales. C. A.
          <string-name>
            <surname>Reitzel</surname>
          </string-name>
          , Copenhagen,
          <year>1844</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Lisa</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Cepeda</surname>
            and
            <given-names>Donna S.</given-names>
          </string-name>
          <string-name>
            <surname>Davenport</surname>
          </string-name>
          .
          <article-title>Person-centered therapy and solution-focused brief therapy: An integration of present and future awareness</article-title>
          .
          <source>Psychotherapy: Theory, Research</source>
          , Practice, Training,
          <volume>43</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Jan</given-names>
            <surname>Hajicˇ</surname>
          </string-name>
          .
          <article-title>Disambiguation of Rich Inflection (Computational Morphology of Czech)</article-title>
          .
          <source>Nakladatelství Karolinum</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Eva</given-names>
            <surname>Hajicˇová</surname>
          </string-name>
          .
          <article-title>Topic-focus articulation and coreference in models of discourse production</article-title>
          .
          <source>Journal of Pragmatics</source>
          ,
          <volume>16</volume>
          (
          <issue>2</issue>
          ):
          <fpage>157</fpage>
          -
          <lpage>166</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Jan</given-names>
            <surname>Hajicˇ. Building</surname>
          </string-name>
          <article-title>a Syntactically Annotated Corpus: The Prague Dependency Treebank</article-title>
          . In Eva Hajicˇová, editor,
          <source>Issues of Valency and Meaning. Studies in Honor of Jarmila Panevová</source>
          , pages
          <fpage>12</fpage>
          -
          <lpage>19</lpage>
          . Prague Karolinum, Charles University Press,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Mitchell</surname>
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Marcus</surname>
            , Mary Ann Marcinkiewicz, and
            <given-names>Beatrice</given-names>
          </string-name>
          <string-name>
            <surname>Santorini</surname>
          </string-name>
          .
          <article-title>Building a large annotated corpus of English: the Penn treebank</article-title>
          . Comp. Ling.,
          <volume>19</volume>
          :
          <fpage>313</fpage>
          -
          <lpage>330</lpage>
          ,
          <year>June 1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Ryan</surname>
            <given-names>McDonald</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Fernando</given-names>
            <surname>Pereira</surname>
          </string-name>
          , Kiril Ribarov, and Jan Hajicˇ.
          <article-title>Non-projective dependency parsing using spanning tree algorithms</article-title>
          .
          <source>In HLT '05: Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing</source>
          , pages
          <fpage>523</fpage>
          -
          <lpage>530</lpage>
          , Vancouver, British Columbia, Canada,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Michal</given-names>
            <surname>Sedlák</surname>
          </string-name>
          . Treex::Web.
          <source>Bachelor's thesis</source>
          , Charles University in Prague,
          <source>Faculty of Mathematics and Physics</source>
          , Prague, Czechia,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Drahomíra</given-names>
            <surname>Spoustová</surname>
          </string-name>
          ,
          <string-name>
            <surname>Jan</surname>
            <given-names>Hajicˇ</given-names>
          </string-name>
          , Jan Votrubec, Pavel Krbec, and
          <article-title>Pavel Kveˇtonˇ. The best of two worlds: Cooperation of statistical and rule-based taggers for Czech</article-title>
          .
          <source>In Proceedings of the Workshop on Balto-Slavonic Natural Language Processing, ACL 2007</source>
          , pages
          <fpage>67</fpage>
          -
          <lpage>74</lpage>
          , Praha,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Joseph</given-names>
            <surname>Weizenbaum</surname>
          </string-name>
          .
          <article-title>Eliza - a computer program for the study of natural language communication between man and machine</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ):
          <fpage>36</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>1966</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Zdeneˇk</given-names>
            <surname>Žabokrtský</surname>
          </string-name>
          .
          <article-title>Treex - an open-source framework for natural language processing</article-title>
          . In Markéta Lopatková, editor,
          <source>ITAT</source>
          , volume
          <volume>788</volume>
          , pages
          <fpage>7</fpage>
          -
          <lpage>14</lpage>
          , Košice, Slovakia,
          <year>2011</year>
          .
          <article-title>Univerzita Pavla Jozefa Šafárika v Košiciach. 7The 1.0 version of the chatbot, which is described in this paper</article-title>
          , is published at: http://hdl.handle.net/11234/1-
          <fpage>161</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>