Difference between revisions of "Google Summer of Code/Wrap-up Report 2009"

From Apertium
Jump to navigation Jump to search
(→‎Java port of lttoolbox: rewrite with more links)
Line 33: Line 33:
 
===Java port of lttoolbox===
 
===Java port of lttoolbox===
   
  +
Raphaël Laurent worked with Sergio Ortiz Rojas to port [http://wiki.apertium.org/wiki/Lttoolbox lttoolbox] to Java. lttoolbox is the core
Raphaël Laurent worked with Sergio Ortiz Rojas to port our [http://wiki.apertium.org/wiki/Lttoolbox lexical processing tools] from C++ to Java. This will facilitate the re-use of our software and our [http://wiki.apertium.org/wiki/List_of_dictionaries extensive repository] of morphological analysers. The project was a success, the finite-state compiler works and generates binaries in the same form as the version in C++ making the binary finite-state transducers interchangeable between versions, there are room for speed improvements, currently the Java version runs ~6 times slower than the C++ one.
 
  +
component of the Apertium system; as well as providing [http://en.wikipedia.org/wiki/Morphological_dictionary morphological analysis] and generation,
  +
it also provides pattern matching and dictionary lookup to the rest of Apertium, so a Java port is the first step towards a version of Apertium for Java-based devices. Raphaël finished an earlier line-for-line port contributed by Nic Cotrell, first making it work; then making it binary compatible.
  +
  +
As it stands currently, lttoolbox-java can be integrated into other Java-based tools, facilitating the re-use of our software and our [http://wiki.apertium.org/wiki/List_of_dictionaries extensive repository] of morphological analysers. Tools such as [http://www.languagetool.org LanguageTool], the open source proofreading tool, also make extensive use of morphological analysis, but [http://www.omegat.org OmegaT], the open source [http://en.wikipedia.org/wiki/Computer-assisted_translation CAT] tool, could use it for dictionary look-up of inflected words; it could even be used with our own [http://sourceforge.net/project/shownotes.php?release_id=614051 apertium-morph] tool: a plugin for [http://lucene.apache.org Lucene] that allows linguistically-rich document indexing.

Revision as of 10:13, 12 September 2009

This was our first year in Google Summer of Code and we were very fortunate to receive nine student slots. We filled them with some great students and are pleased to report that out of the nine projects, eight were successful. Along with their end of project reports, students have also been invited to write papers along with their mentors for review in an academic workshop on free and open-source rule-based machine translation that we are organising with the mentors' money.

A translator for Norwegian Bokmål (nb) and Norwegian Nynorsk (nn)

This project was accepted as part of our "adopt a language pair" idea from our ideas page. Some work had already been done on the translator but it was a long way from finished. Kevin Unhammer from the University of Bergen was mentored by Trond Trosterud from the University of Tromsø. The final result after an epic effort is a working translator (indeed the first free software translator for nb-nn) that makes a mistake in only 11 words out of every 100 translated, making using the system for post-edition feasible.

A translator for Swedish (sv) to Danish (da)

Another language pair adoption, Michael Kristensen, who had previously done some work on this translator was mentored by Jacob Nordfalk, the author of our English to Esperanto translator. As there are very few free linguistic resources for Swedish and Danish the work was pretty much started from scratch, although we took great advantage of the Swedish Wiktionary. The translator is only unidirectional from Swedish to Danish and it has an error rate of around 20%.

Multi-engine machine translation

Apertium webservice

Conversion of Anubadok

Abu Zaher was mentored by Kevin Donnelly and Francis Tyers to convert Anubadok, an open-source MT system for English to Bengali to work with the Apertium engine. This was an ambitious project and not all of the goals were realised, but we were able to make the first wide-coverage morphological analyser / generator for Bengali and a substantial amount of lexical transfer data, so the project was a great success.

Apertium scaleable architecture

Trigram part-of-speech tagging

Zaid Md. Abdul Wahab Sheikh was mentored by Felipe Sánchez Martínez to improve our part-of-speech tagging module to use trigrams instead of bigrams. This gives more context for disambiguation, which will hopefully result in a more accurate tagging. The project was successful with all the coding done, including adaptation for target-language mediated training.

Java port of lttoolbox

Raphaël Laurent worked with Sergio Ortiz Rojas to port lttoolbox to Java. lttoolbox is the core component of the Apertium system; as well as providing morphological analysis and generation, it also provides pattern matching and dictionary lookup to the rest of Apertium, so a Java port is the first step towards a version of Apertium for Java-based devices. Raphaël finished an earlier line-for-line port contributed by Nic Cotrell, first making it work; then making it binary compatible.

As it stands currently, lttoolbox-java can be integrated into other Java-based tools, facilitating the re-use of our software and our extensive repository of morphological analysers. Tools such as LanguageTool, the open source proofreading tool, also make extensive use of morphological analysis, but OmegaT, the open source CAT tool, could use it for dictionary look-up of inflected words; it could even be used with our own apertium-morph tool: a plugin for Lucene that allows linguistically-rich document indexing.