Realtime Tools for Exploring English


Some time ago I started to develop tools to help with teaching conversational English. The main problem to be addressed was how can teachers discuss a multitude of topics with students and generate tests and vocabulary lists on the spot. After some deliberation the idea of creating "real time tools" for use in the classroom came to mind.

The first application developed was for creating open cloze tests from Wikipedia articles (Wiki Tests). Initially this application was released as an android app and later an online service. An overview of the Wiki Tests app can be found here.

The next application to be developed was for analysing the Sentiment and Semantics of tweets. This application is available online and described here. A version for android will follow soon.

Recently another online app was released for learning Kanji, which is also available for android on the Google play store. This app is intended for teaching English and is really a visual way of learning vocabulary.

Finally the Wordplay online app was add this year.

Wiki Tests

The Wiki Tests for Android app allows you to create tests from Wikipedia articles as an aid to learning English vocabulary and grammar. Information about Wiki Tests can be found on google play (play store, help file). The online version is hosted on PythonAnywhere.


The Wordplay application is design to help advanced learners and teachers explore vocabulary. The interface is very basic and is due an upgrade. The main and only page, contains 6 tabs which are listed below. The uppercase letters represent the name of a tab.On pressing the “go” button, the application will generate:

  1. 10 random words with their definitions (WN)
  2. 10 random words without their definitions (WL)
  3. A crossword built using the Wordnet semantic lexicon (CW)
  4. A list of words where you have to pick the right defintion (MC)
  5. 5 groups of 5 sentences where the same word has been removed from each  sentence within a group (GF)
  6. Doublets – a game invented by Lewis Carroll (DL)

More detailed help can be found here.

Sentiment and Semantics

The Sentiment and Semantics online app, allows you to view tweets containing the search phrase you enter when presented with a popup after pressing one of the update buttons. The tweets you view are classified according to their sentiment and can be analyzed with respect to their semantic content. Duplicates have been removed along with possible spam.

Kanji Review

This application consists of 7 pages. A help page, a page which lists the Radicals along with their definitions and 5 review pages where you can interact with the main application for learning Kanji and the Radicals. The first review page is for leaning the Radicals. The other 4 review pages are based on different Kanji lists which all overlap to some extent. The different lists are provided for reference and to make leaning a bit more interesting! You can plan your lessons by setting the range of Kanjis displayed. For instance 1-79 (LPT Level N5) or 613-979 (LPT Level N2).

You can put the app in review mode and test what you have learnt by viewing flash cards. Also, when interacting with the review pages the next Kanji can be displayed either manually or by starting the timer. The timer drop down menu initially displays "timer idle". You can start the timer by selecting one of the "start n" options. The numbers are in seconds! The timer can be halted by pressing the "stop" button. While the timer is running you can alter the delay or turn "Review Mode" on/off.

Computational Linguistics

The applications described here are a direct result of applying techniques from Computational Linguistics to the development of real time tools for use in the classroom.

Embedded Platforms - Parallella & SBCs

The above applications have also been ported to an SBC cluster to take advantage of the parallel processing options available. Applications incorporating techniques from computational linguistics, especially vector semantics, can be very computationally intensive. An SBC cluster provides a scalable platform for developing web applications requiring cutting edge performance.

parallella cluster
SBC Cluster