Task ideas for Google Code-in

From Apertium
Jump to navigation Jump to search

This is the task ideas page for Google Code-in (http://www.google-melange.com/gci/homepage/google/gci2013), here you can find ideas on interesting tasks that will improve your knowledge of Apertium and help you get into the world of open-source development.

The people column lists people who you should get in contact with to request further information. All tasks are 2 hours maximum estimated amount of time that would be spent on the task by an experienced developer, however:

  1. this does not include time taken to install / set up apertium.
  2. this is the time expected to take by an experienced developer, you may find that you spend more time on the task because of the learning curve.

Categories:

  • code: Tasks related to writing or refactoring code
  • documentation: Tasks related to creating/editing documents and helping others learn more
  • research: Tasks related to community management, outreach/marketting, or studying problems and recommending solutions
  • quality: Tasks related to testing and ensuring code is of high quality.
  • interface: Tasks related to user experience research or user interface design and interaction

Task list

Category Title Description Mentors
code Write 10 constraint grammar rules Write 10 new constraint grammar rules that resolve tagging problems in unseen text, and observe changes in the output, possibly after retraining the part-of-speech tagger . User:Mlforcada, User:Francis Tyers
code Start a constraint grammar rule file Start a constraint grammar rule file for a language pair not having it with 5 rules that resolve tagging problems in unseen text, and observe changes in the output, possibly after retraining the part-of-speech tagger . User:Mlforcada, User:Francis Tyers
code Localised available languages function in apertium-apy Make a new function for apertium-apy, is takes as input a language code, and as output gives the list of available pairs, and their translations in the language specified by the language code. You will probably need to know JavaScript and Python. User:Firespeaker User:Unhammer User:Francis Tyers
code Fix the highlighting in simple-html language selection boxes. The language selection box in the simple-html interface should highlight the supported target languages when a user clicks on a source language. At the moment this does not work properly. For this task you will need to know Javascript. User:Firespeaker User:Francis Tyers
code Language detection in apertium-apy Make a new function for apertium-apy, that allows the language of some input text to be identified. For this task you will also need to train models for the language identifier. User:Firespeaker User:Unhammer User:Francis Tyers
code SSL in apertium-apy Make apertium-apy optionally use SSL. (If you put simple-html on an ssl domain, new browsers won't let you do plaintext/non-ssl ajax). User:Firespeaker User:Unhammer User:Francis Tyers
code How much of a given sentence pair is explained by Apertium? Write (in some scripting language of your choice) a command-line program that takes an Apertium language pair, a source-language sentence S, and a target-language sentence T, and outputs the set of pairs of subsegments (s,t) such that s is a subsegment of S, t a subsegment of T and t is the Apertium translation of s or vice-versa (a subsegment is a sequence of whole words). User:Mlforcada
documentation Check that the Apertium guide for Windows users still works We have an Apertium guide for Windows users, to help them install on Windows. Check that it works, and if not, report any bugs you find. User:Francis Tyers
documentation Installation instructions for missing GNU/Linux distributions or versions Adapt installation instructions for a particular GNU/Linux or Unix-like distribution if the existing instructions in the Apertium wiki do not work or have bugs of some kind. Prepare it in your user space in the Apertium wiki. It may be uploaded to the main wiki when approved. User:Mlforcada (alternative mentors welcome)
documentation Installing Apertium in lightweight GNU/Linux distributions Give instructions on how to install Apertium in one of the small or lightweight GNU/Linux distributions such as Damn Small Linux, so that may be used in older machines User:Mlforcada (alternative mentors welcome)
documentation - - -
documentation What's difficult about this language pair? For a language pair that is not in trunk or staging such that you know well the two languages involved, write a document describing the main problems that Apertium developers would encounter when developing that language pair (for that, you need to know very well how Apertium works). Note that there may be two such documents, one for A→B and the other for B→A Prepare it in your user space in the Apertium wiki.It may be uploaded to the main wiki when approved. User:Mlforcada (alternative mentors welcome)
documentation Video guide to installation Prepare a screencast or video about installing Apertium; make sure it uses a format that may be viewed with Free software. When approved by your mentor, upload it to youtube, making sure that you use the HTML5 format which may be viewed by modern browsers without having to use proprietary plugins such as Adobe Flash. [[User:Mlforcada] (alternative mentors welcome)
documentation Apertium in 5 slides Write a 5-slide HTML presentation (only needing a modern browser to be viewed and ready to be effectively "karaoked" by some else in 5 minutes or less: you can prove this with a screencast) in the language in which you write more fluently, which describes Apertium, how it works, and what makes it different from other machine translation systems. User:Mlforcada (alternative mentors welcome)
documentation Improved "Become a language-pair developer" document Read the document Become_a_language_pair_developer_for_Apertium and think of ways to improve it (don't do this if you have not done any of the language pair tasks). Send comments to your mentor and/or repare it in your user space in the Apertium wiki. There will be a chance to change the document later in the Apertium Wiki. User:Mlforcada
documentation An entry test for Apertium Write 20 multiple-choice questions about Apertium. Each question will give 3 options of which only one is true, so that we can build an "Apertium exam" for future GSoC/GCI/developers. Optionally, add an explanation for the correct answer. User:Mlforcada
research Hand annotate 250 words of running text. Use apertium annotatrix to hand-annotate 250 words of running text from Wikipedia for a language of your choice. User:Francis Tyers
research The most frequent Romance-to-Romance transfer rules Study the .t1x transfer rule files of Romance language pairs and distill 5-10 common rules that are common to all of them, perhaps by rewriting them into some equivalent form User:Mlforcada
research Tag and align Macedonian--Bulgarian corpus Take a Macedonian--Bulgarian corpus, for example SETimes, tag it using the apertium-mk-bg pair, and word-align it using GIZA++. User:Francis Tyers
code Write a program to extract Bulgarian inflections Write a program to extract Bulgarian inflection information for nouns from Wiktionary, see Category:Bulgarian nouns User:Francis Tyers
quality - - -
quality Improve the quality of a language pair by adding entries to it Improve the quality of a language pair by (a) running a large amount of representative text through it, (b) determining the 30 most frequent unknown words and (c) adding them to the dictionaries so that they are not unknown anymore User:Mlforcada
quality Improve the quality of a language pair by allowing for alternative translations Improve the quality of a language pair by (a) detecting 5 cases where the (only) translation provided by the bilingual dictionary is not adequate in a given context, (b) adding the lexical selection module to the language, and (c) writing effective lexical selection rules to exploit that context to select a better translation User:Francis Tyers User:Mlforcada
interface Abstract the formatting for the simple-html interface. The simple-html interface should be easily customisable so that people can make it look how they want. The task is to abstract the formatting and make one or more new stylesheets to change the appearance. This is basically making a way of "skinning" the interface. User:Francis Tyers
interface Update the Apertium guide for Windows users with new language pairs Make sure that the Apertium guide for Windows users and the Apertium Windows installer is up to date with all the new language pairs. User:Francis Tyers
code Write a program to extract Faroese inflections Write a program to extract Faroese inflection information for nouns from Wiktionary, see Category:Faroese nouns User:Francis Tyers
code Light Apertium bootable ISO for small machines Using Damn Small Linux or a similar lightweight GNU/Linux, produce the minimum-possible bootable live ISO or live USB image that contains the OS, minimum editing facilities, Apertium, and a language pair of your choice. Make sure no package that is not strictly necessary for Apertium to run is included. User:Mlforcada (alternative mentors welcome)