• Register

We're an indie team developing a series of dark-themed mystery games and light novels, set in a world called Kikai.

Post news Report RSS Teach the kids English (Part 1)

We want the kids (AIs) to gradually learn English so they can communicate better with the player.

Posted by on

Introduction
I have been trying to develop a system where the player can teach English to Kai and Kira. And after skimming through some research papers about natural language processing, chatbots,... I was truly intimidated and depressed. I was afraid that it would take me years of study just to understand how to make a “state-of-the-art” natural language processing system.

I soon came to a conclusion that I was too systematic, instead of being creative. Why search the whole net for academic articles when my goal was not to create an AI that can discuss philosophy? Making games is so much different from solving real life problems. We can define our own rules, most sloppy logic are plausible. I was coward for being afraid of creating “not good enough” systems.
We have to be creative. Game systems are fine as long as they work.

So while I would not stop exploring Machine Learning and other intermediate AI techniques, I’m going to start humble and naive here with my own language processing system. Enjoy!

Background & Goals
We want the kids to learn English so they can communicate better with the player.
The player talks to them by typing sentences into a textbox, instead of choosing from scripted options. The kid will reply if they can grasp what the player said. Below are some of the conversations we want to achieve:

1. Simple Q&A
- The player: What’s your name?
- Kira: Kira
- The player: Do you like my dishes?
- Kai: No

Since the kids are new learners, we can allow them to ignore grammar. By training them with neural networks, they will interpret sentences by patterns rather than by grammar rules and structures. So the following conversation is still plausible:
- The player: What you name are?
- Kira: Kira

Both native speakers and new learners should be able to interpret “What you name are”. Native speakers, young people “deliberately” use wrong, ignore grammar all the time.
That said, we still need to keep patterns under control, “You what are name” should be interpreted as nonsense. This can be done by creating training data by hand.

2. Q&A with more context
- Who are the dead people?
- Why did you kill the female scientist?
- Where is that doll from?

These are the questions that help the player gather valuable information to unfold the mysteries in the game. The player is free to come up with all kind of questions. The kids will answer the ones that they can understand.
Tell the kids to study English everyday if you’ve come up with some critical questions that they have not yet understand.

3. Instant Enquiries, Ask for help & Planning
- Are you hungry?
- Where is Kai?
- What kind of stories do you want to hear next?
- We’re running out of water, do you want to go get more tomorrow?
- Do you want me to play some music for you now?
- Can you help me find some batteries in the other rooms?
- Put the clothes on the floor back into the closet
- It’s still early, go read some books

The kids will answer, act differently, depending on their states and other conditions.

4. Behaviours, habit and manner related
- Please don’t go out alone next time
- Don’t talk to strangers
- Put the book back to its shelve after reading it.

5. Casual conversations
- The player: What is your favorite band?
- Kira: Pantera.
- The player: Ah okay. They’re great and all, but have you listened to Iron Maiden?
- Kira: No. Tell me more about them. Are they metal?

6. Conversations which the kids start
- You look tired, are you alright?
- Have you taken your pills today?
- What will we have for dinner?
- Do you even have a name?

7. Complete nonsense
- The player: Kai, how much wood would a woodchuck chuck if a woodchuck could chuck wood?
- Kai:
- The player: Hah!
- The player: Kira, how much wood would....
- Kira: Shut

Finally, our main goal building this system is to help the main characters communicate and interact better. So instead of a system that relies heavily on complicated patterns and grammar rules, we will focus on the kids’ personalities and their understanding of the world around them. How the kids “feel” and interpret a word is more important than that word’s formal definition in a dictionary. As long as talking to the kids is fun and informative, we’re solid.

So we will have to come up with creative and effective ways to represent words, objects, events, relationships, etc for the kids to understand as well as getting better at understanding. Since we don’t want the kids to know everything right off the bat.

Problems to solve

1. How can the kids learn patterns to interpret what the player says?

2. How can they build up their own expressions, answers?

3. How can they remember the context of the current conversation to maintain a consistent one? For example:
- The player: What is your favorite band?
- Kira: Pantera.
- The player: Any others?

Kira is expected to know what do others refer to so a simple sentence by sentence algorithm is not good enough.

4. How can they maintain consistent memories? To avoid:
- Kai: Carl, let’s go!
- The player: I’m not even Carl.
- Kai: Paul, let’s go!
- The player: I’m not Paul, and we just agreed to stay home 2 minutes ago.
- Kai: Nevermind then, Carl!
Again, a simple sentence by sentence algorithm won’t work.

5. How would the conversations affect the kids? If they do, how? Will the kids learn new things from the conversations too?

I will tackle these problems and update their status with each development log. More problems, suggestions and directions are well appreciated!

How the kids learn
They will mostly learn the language through books themselves. The player can help them study or tell them to, but they will mostly study on their own.

The books the kids learn from have different chapters. Each chapter brings more knowledge, which help improve their English and other skills. This gradual learning works well because it does not require huge data right off the bat.

They both start with English starter books for kids. When they reach a certain level, the player can show them more kinds of text. It can be some moral short stories, simple cooking recipes, etc. The kids will grow differently if they are given different texts, in different orders. Their levels differ too, Kira will likely to spend more time studying so she will get better faster than Kai.

The player will first teach the kids the alphabet and numbers by clicking a button and everything is done. A mini game for this might be okay but is unnecessary for now.

Programming, Demo
Will be demonstrated clearly from the next part.

References, inspirations
1. Natural Language Understanding: Foundations and State-of-the-Art
2. Making a chatbot that drives a narrative in sci-fi exploration game Event[0]
3. Deep Learning for Chatbots, Part 1 - Introduction

P/s: Please forgive me for making dumb English mistakes while trying to teach the language itself to AIs Who, Me?

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: