Making a Chatbot that Teaches Languages

Alyssa Gould
Mar 31, 2020 · 4 min read

There are 6,500 languages in the world.

Image for post
Image for post

That means that 7.8 billion people, including you and me, have 6,500 different ways to communicate. 🌏 In a world where we can go the other side of the planet in 13 hours by plane, and we’re all connected through two taps on a phone, how much of the world’s population can actually speak more than one language?


That means half of 7.8 billion people cant even communicate with anyone outside of their own culture.

Not only do we need to be able to communicate with each other to survive, it is also so important in understanding the culture of other people.

But, how do we begin to tackle this? What is the most convenient way to make language learning easier?
My solution is Artificial Intelligence. More specifically, Natural Language Processing. In my most recent project, I have programmed a chatbot that supports second language acquisition through conversation.

What is a chatbot?

A chatbot is a computer simulation of human conversation. What better way to learn how to communicate than through a communication simulation?

Firstly, in order for a chatbot to simulate a conversation, it has to know what kind of conversation to simulate. You essentially have to create your own general transcript of what a potential conversation could sound like. It can be literally anything you want, this is where utility or creativity come into play.

Image for post
Image for post
Here’s a snippet of the dataset I used

Next, a chatbot has to process everything, hence the name natural language processing. Once a chatbot knows what to communicate, it has to break down the texts of language. It can’t just understand an entire page of text at once, it has to simplify everything into chunks of words and meanings.

Then, they practice through deep learning. Essentially, through a series of training, the chat bot will practice the inputs and outputs until it reaches the accuracy rate that it’s striving for. Or until the amount of times you’ve told it to.

After a lot of practice, your chatbot can now hold a pretty decent conversation.

Build better voice apps. Get more articles & interviews from voice technology experts at

And in my case, my chatbot can simulate conversations in different languages. In particular, I created simulated stories and conversations Spanish to help engage a learner, and also practice real life situations.

An example of one of the stories I made was a vacation. Pretty basic, right?
Well essentially, I have the chatbot hold a simple conversation with the learner in Spanish.

We pretend that we’re in Buenos Aires, and that you have found yourself lost and in need of directions to the museum. The learner could say something like, “¿Perdon? ¿Donde está el museo?” or “Excuse me? Where is the museum?” Then the chatbot would reply like, “El museo está a la derecha de la estación de tren” or “The museum is to the right of the train station.”

Through simple conversations like this, the learner is forced to practice real life communication without an actual speaker being there. This makes the experience a lot more individualized and can match each learner’s experience own pace more.

How effective is this for Second Language Acquisition?

Well first you have to understand how people learn languages and what they are. Languages are just forms of communication. It’s that simple. Now what would be the best way to learn new forms of communication that other cultures use?

A lot of it just comes down to learning it, and practicing it. Immersion works for this, as well as just learning as much about the ways that culture communicates. This can be through reading, listening, or watching things in this language, whatever communicates to you the best.

The goal is to just let this kind of input communicate with you. Then you can understand how that culture communicates as a whole.

Now, there are a lot of resources for this kind of learning that exist. But a lot of the times, it’s just not interactive. How do you practice receiving input and giving output at the same time without talking to an actual native speaker?

Logically, the only way to actually do this is through either talking to yourself, or to a computer that can communicate with you. Computers are tools that help us already with everything in our daily lives. Why not let it be a tool that help us practice communicating with others?

Being able to communicate with others is a blessing, and the wonderful opportunities and experiences that you can unlock just from being able to understand a situation is immeasurable.

Many other people, companies, and nonprofits feel the same. This is why Duolingo has also adapted a way to integrate chatbots into its language learning system!

Image for post
Image for post
Duolingo’s SLA Chatbot

Duolingo is an amazing example of using AI and NLP to help improve the language learning experience, and helps millions get access to free high quality language learning education for everyone!

Thank you!

Here’s my previous article on How to Program a Chatbot, and the Spanish version ;).

Hi! My name is Alyssa Gould. I’m super passionate about languages and using Natural Language Processing to help Second Language Acquisition!

Feel free to contact me at anytime at and add me on LinkedIn!

Something just for you

Voice Tech Podcast

Voice technology interviews & articles.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store