|
Kirrkirr is a research project exploring the use of computer software for automatic transformation of lexical databases ("dictionaries"), aiming at providing innovative information visualization, particularly targeted at indigenous languages. As a first example, it can generate networks of words, such as in the little picture above, automatically from dictionary data. Kirrkirr aims at a perceived gap in work being done elsewhere: while there is a lot of work on designing dictionary databases, and providing software for building and maintaining these databases, there is a dearth of work that exploits these databases to provide useful and fun tools for nontechnical end users.
Some more specific subgoals have been:
The central idea motivating our research is that given any sort of well-structured lexical database, software should be able to automatically provide all sorts of value-added functionality. In recent years, there has been an enormous amount of work on different proposals for structuring and storing lexical databases, but almost no work on providing electronic dictionary interfaces which make use of this structure to provide human access and usability through information transformation and visualization. Kirrkirr explores ways of solving this unaddressed need.
What Kirrkirr isn't. Looking at things from the reverse direction, Kirrkirr isn't a tool for building or maintaining dictionaries. Kirrkirr requires a well-structured dictionary to already exist, and doesn't help you with the mechanics of building one. However, it can be a very useful adjunct tool during the dictionary construction process, since the alternative visualizations that it provides can make it very easy to see errors, inconsistencies, and areas of incompleteness in a dictionary. For example, a common way to build up dictionaries is by semantic domains, and Kirrkirr lets you visualize the dictionary via semantic domains.
Kirrkirr is designed so that it can work with almost any dictionary in XML format (XML is a new-ish, but already widespread standard for representing textual and other data, especially on the WWW). Most of our initial experience and papers concern applying the dictionary to Warlpiri, an Indigenous Australian language, but Kirrkirr now runs with dictionaries for a variety of languages, including Nahuatl, an Indigenous language of Mexico; Warumungu Warnman, Ngardi, Gurindji, Umpithamu; Bardi, Waanyi, Kaurna, Dharug, Wagiman; Biao Min; and even English. Kirrkirr achieves this flexibility through use of a dictionary specification file (also in XML, mainly using XPath) which maps dictionary constructs to Kirrkirr constructs. Such a file does have to be written for each dictionary schema. Formatted entries are rendered using parameterized XSLT files, which can be customized for each dictionary schema. Other dictionary access is by XPath expressions accompanied by regular expression matching. The program is written in Java. Where possible we run it using current Java versions, but it is compatible with JDK1.1.8+Swing1.1, so that we can run it on MacOS 8.1+ or 9 (still present in Australian schools!). For example, this picture shows Kirrkirr 4.0.2 running (slowly!) on a Power Macintosh 7500/100 under MacOS 8.6 in July 2005.*
Kirrkirr was initially designed by Kevin Jansz, Christopher Manning, and Nitin Indurkhya. Jane Simpson, Miriam Corris, Susan Poetsch, Ben Hutchinson, and others have contributed design ideas and work in user testing. Programming has been done by: Vijay Chemburkar, Jessica Halida Harjono, Kevin Jansz, Andrew Lim Hong Lee, Kevin Lim, Christopher Manning, Kristen Parton, Madhuvanti Pawar, Andrei Pop, Jim Wee Sng, and Conrad Wai.
This project and the examples on these web pages use data from various indigenous languages. The Warlpiri dictionary data is from the Warlpiri dictionary project kindly supplied to us by Mary Laughren. This data was collected by Ken Hale, Robert Hoogenraad, Mary Laughren, David Nash, Jane Simpson, and others from many Warlpiri, and is used with permission. The Nahuatl dictionary data comes from a dictionary constructed by Jonathan Amith, and is used with permission. The data on this site is for demonstration purposes only. This data remains the property of its traditional owners. Please do not reproduce or further distribute it without permission.
The program provides a left hand side word list (which can show either L1 or L2 words), top menus, icons, and searchbox, and then a main panel area, which can be split in two, which shows one or two of the seven main panes of Kirrkirr. Some pictures of these panes appear below (click on the pictures to see a full size view). Many of these pictures are from old versions of Kirrkirr and haven't been updated recently; the Nahuatl pictures immediately below and under Advanced Search show recent views.
|
Clicking on a word in the word list
makes the word (or its L1 translations) appear in the Network pane,
surrounded by its related words.
Clicking on the right mouse button will give you a few options such as:
Kirrkirr uses Unicode internally, and can also work with dictionaries using other character sets. |
![]() |
Clicking your left mouse button
on a word will "sprout" its related words around it. (The words
will move around until they're almost evenly laid out - that is, if you don't
scramble or shake them)
Clicking on the Options|Edit menu will bring up the options window, one panel of which lets you edit the behaviour of the "floating" words. |
![]() |
The multi-media pane will let you listen to the pronunciation of the current word (highlighted in the list on the left) or perhaps play a sound of what the word is about, or show you pictures. [Historical look: in 2000, this panel look like this.] |
![]() |
This lets you make notes about the current dictionary word. These notes can be opened in their own window (like post-it notes) by using the "see definition" option when you right click on a word. Notes can be saved on a per-user basis, so as to allow users to annotate their own copy of the dictionary. |
![]() |
To look up a word in a paper dictionary, you either need to know the correct spelling, or to scan around looking for it. Most e-dictionaries make the latter more difficult. In Kirrkirr, you do not need to know the exact spelling of a word to look it up. Words can be found using spelling that "sounds-like" the word. Choose the "fuzzy spelling" option in the Advanced Search part of Kirrkirr to have it find words that approximately match your query. Fuzzy spelling is also used behind the scenes for the front pane search box. More experienced computer users can search by regular expressions to find things in the headwords, English glosses, or anywhere in a dictionary entry. |
![]() |
The semantic domain explorer window lets you explore L1 words organized via their semantic domains. |
![]() |
There is also an older tree-structured view of words by semantic domains. |
Kirrkirr 4.0.3 is a maintenance release available for Linux and Mac OS X; it's basically the same as Kirrkirr 4.0.2 but has a few fixes and works around a couple of specific problems. For Mac OS X, it requires Mac OS X 10.4 or above with Java 5 installed (for Mac OS X 10.4, this was via a system update released in Apr 2005). It incorporates various fixes and improvements (it is the most Mac UI compatible Kirrkirr ever!), but it was released mainly to avoid problems that ELAN version 2.5+ were causing for Kirrkirr users. For Linux, we provide a simple zip file, since the (old) ZeroG InstallAnywhere installer that we previously used seems to have problems with some recent linux distros. Knowledgeable users can use this zip file on any operating system with Java available.
| Kirrkirr 4.0.3 for Mac OS X (with Java 5) [6.6MB] |
| Kirrkirr 4.0.3 zip file for Linux or other platforms (no JVM) [6.6MB] |
Kirrkirr 4.0.2 is the main current version of Kirrkirr. This version can be used with most XML dictionaries, when properly configured (see the instructions). The version downloadable from the web comes only with a few tiny sample and tutorial dictionaries. It starts up with a 32 word extract from the Warlpiri Dictionary. We send versions of Kirrkirr with complete dictionaries on CD to appropriate people (indigenous intellectual property concerns limit the free downloading of this dictionary data). This version of Kirrkirr runs only as an application. For the below Kirrkirr 4.0.2 installers, download and save the installer, double click on it, and then follow the InstallAnywhere installer's instructions. If you don't know if you have a JVM (or what a JVM is) or you don't know what version you have, it's safer to download a version with a JVM (but it's a larger download). I believe you need the Sun JVM, and not what Microsoft provides. All versions of Mac OS X come with a suitable JVM, so there isn't a download with a JVM for Mac OS X. The Mac OS X file kk40 is an installer. Double click it to being the installation process.
| Windows (with JDK1.4 VM) [20MB] | Windows (no JVM) [5MB] |
| Linux (with JDK1.4 VM) [38MB] | Linux (no JVM) [5MB] |
| Mac OS 8/9 (with MRJ 2.2.5) [11.5MB] | Mac OS 8/9 (no JVM) [7.5MB] |
| Mac OS X (no JVM) [4.5MB] |
Kirrkirr 3.0.1 was previously the most widely used version of Kirrkirr. This version provided a stable Warlpiri dictionary version of Kirrkirr. This version ran only as an application. It is now obsolete.
Kirrkirr 1.1 and Kirrkirr 2 ran both as applications and over the web. For various reasons, Kirrkirr 1.1 has aged more gracefully, and still runs fine in the average web browser, whereas Kirrkirr 2 doesn't, so we've kept a version of Kirrkirr 1.1 here as both an historical relic, and as an easy way to take a quick look at something running. It runs with a tiny sample Warlpiri dictionary.
| The Kirrkirr 1.1 demo |
All comments and suggestions are welcome. Email manning@stanford.edu.
Bug reports are appreciated, but bugs are much more likely to be
fixed if we can understand what caused them. If there is a repeatable
sequence of actions that causes it to freeze, sending a way to reproduce
the problem usually allows it to be fixed. Secondly,
if Kirrkirr does crash, it usually can leave a dump of what it was
doing when it crashed, but you need to turn on saving of the dump. To
do that you need to: find the Kirrkirr installation directory (normally
in Program Files on Windows), and inside the Kirrkirr directory, find
the file Kirrkirr.lax. Open it with a plain text editor (e.g., for
Windows, Notepad is fine). Find the line:
lax.stderr.redirect=
and change it to put a filename after it, such as "error.txt":
lax.stderr.redirect=error.txt
Wait till the program freezes, and if one is lucky, it will have written
to the file error.txt (in the Kirrkirr directory) a dump of where it
crashed, which is very useful for locating and fixing the
problem. You should email the error.txt file.
Kirrkirr can be used with virtually any XML dictionary, once appropriate configuration, dictionary specification and entry rendering files are available. Some pages describing what you need to do are available.
Journal articles:
Refereed conference papers:
Workshop papers:
Theses/Final year project reports:
Miscellaneous:
There is also discussion of Kirrkirr in some of the papers on the use and usability of indigenous language dictionaries.
http://nlp.stanford.edu/kirrkirr/