If you could use deep learning to help you learn, wouldn’t you?
As someone who has been a Korean language student for the past year, I have been exposed to many different types of learning tools and applications. From translation apps to vocabulary studying apps, many of these, of course, require the input of Korean words in text format. Although using a Korean keyboard app on my phone has become essential, I prefer hand drawing Korean characters as a method of input after using it quite a bit with Google Translate. Just a few strokes on a canvas, and then the closest match will be plugged in as input.
With this feature in mind, I wanted to create an app that would help facilitate my Korean learning. In my case, I find that I have to frequently look up the conjugations for several verbs and adjectives, as they can have many different forms based on the context and usage. So, an app, where I could quickly scrawl the base Korean word, and then get a list of its conjugations would be wonderful. However, to developers, it might not be entirely clear how to enable this feature.
Well, that is where deep learning comes in. TensorFlow, a popular open-source software library for deep learning, enables users to easily construct neural network models to solve these types of problems. New users to TensorFlow will inevitably come across the beginner MNIST tutorial, where they will learn to write a simple TensorFlow model for classifying handwritten digits. Next, they’ll move on to learning how to create a more complex MNIST model in the advanced tutorial.
You probably notice that the problem of classifying handwritten digits is very similar to the problem of classifying handwritten Korean characters. The concept is the same, but there are just a lot more possible classes to classify. You can easily extend the model used for MNIST, and apply it not only to Korean characters, but also to virtually any language character set. Check out the pattern Create a Mobile Handwritten Hangul Translation App, which does exactly this.
This pattern brings you through the process of:
- Generating image data by using free Korean fonts found online.
- Converting images to a binary format to be used for TensorFlow model input.
- Training and saving the TensorFlow model.
- Using the saved model in a simple Android application.
- Connecting the Watson Language Translator service to translate the characters.
After completing this pattern, you’ll definitely have a solid foundation for building your own TensorFlow-powered language application, or any TensorFlow application for that matter. Check it out on Github and give it a go!