Difference between revisions of "Task ideas for Google Code-in"

From Apertium
Jump to navigation Jump to search
Line 159: Line 159:
 
|title=fix any open ticket
 
|title=fix any open ticket
 
|description=Fix any open ticket in any of our issues trackers: [https://sourceforge.net/p/apertium/tickets/ main], [https://github.com/goavki/apertium-html-tools/issues html-tools], [https://github.com/goavki/phenny/issues begiak]. When you claim this task, let your mentor know which issue you plan to work on.
 
|description=Fix any open ticket in any of our issues trackers: [https://sourceforge.net/p/apertium/tickets/ main], [https://github.com/goavki/apertium-html-tools/issues html-tools], [https://github.com/goavki/phenny/issues begiak]. When you claim this task, let your mentor know which issue you plan to work on.
|mentors=Jonathan
+
|mentors=Jonathan, Wei En
 
|multi=25
 
|multi=25
 
|dup=10
 
|dup=10
Line 166: Line 166:
 
|title=find an apertium module not developed in svn and import it
 
|title=find an apertium module not developed in svn and import it
 
|description=Find an Apertium module developed elsewhere (e.g., github) released under a compatible open license, and import it into [http://wiki.apertium.org/wiki/SVN Apertium's svn], being sure to attribute any authors (in an AUTHORS file) and keeping the original license. Once place to look for such modules might be among the [https://wikis.swarthmore.edu/ling073/Category:Sp17_FinalProjects final projects] in a recent Computational Linguistics course.
 
|description=Find an Apertium module developed elsewhere (e.g., github) released under a compatible open license, and import it into [http://wiki.apertium.org/wiki/SVN Apertium's svn], being sure to attribute any authors (in an AUTHORS file) and keeping the original license. Once place to look for such modules might be among the [https://wikis.swarthmore.edu/ling073/Category:Sp17_FinalProjects final projects] in a recent Computational Linguistics course.
|mentors=Jonathan
+
|mentors=Jonathan, Wei En
 
|multi=10
 
|multi=10
 
|dup=2
 
|dup=2

Revision as of 13:02, 12 October 2017

Contents

This is the task ideas page for Google Code-in, 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

Clarification of "multiple task" types

  • multi = number of students who can do a given task
  • dup = number of times a student can do the same task

You can find descriptions of some of the mentors here: List_of_Apertium_mentors.

Task ideas

typetitledescriptiontagsmentorsbgnr?multi?duplicates
interface Nicely laid out interface for ud-annotatrix Design an HTML layout for the annotatrix tool that makes best use of the space and functions nicely at different screen resolutions. annotation, annotatrix Fran, Masha
interface Come up with a CSS style for annotatrix annotation, annotatrix Fran, Masha
code SDparse to CoNLL-U converter in JavaScript SDparse is a format for describing dependency trees, they look like relation(head, dependency). CoNLL-U is another format for describing dependency trees. Make a converter between the two formats. The GitHub issue is here. annotation, annotatrix Fran, Masha
quality Write a test for the format converters in annotatrix annotation, annotatrix Fran, Masha yes
code Write a function to detect invalid trees in annotatrix and advise the user It is possible to detect invalid trees (such as those that have cycles). We would like to write a function to detect those kinds of trees and advise the user. The GitHub issue is here. annotation, annotatrix Fran, Masha
documentation Write a tutorial on how to use annotatrix to annotate a dependency tree Give step by step instructions to annotating a dependency tree with Annotatrix. Make sure you include all possibilities in the app, for example tokenisation options. annotation, annotatrix Fran, Masha
documentation Make a video tutorial to annotating a dependency tree with annotatrix Give step by step instructions to annotating a dependency tree with Annotatrix. Make sure you include all possibilities in the app, for example tokenisation options. annotation, annotatrix Fran, Masha
quality Merge two versions of the Polish morphological dictionary At some point in the past, someone deleted a lot of entries from the Polish morphological dictionary, and unfortunately we didn't notice at the time and have since added stuff to it. The objective of this task is to take the last

version before the mass deletion and the current version and merge them. Getting list of the changes:

$ svn diff --old apertium-pol.pol.dix@73196 --new apertium-pol.pol.dix@73199 > changes.diff
xml, dictionaries, svn Masha
quality Add 200 new entries to a bidix to language pair %AAA%-%BBB% Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 500 new words to a bidirectional dictionary. xml, dictionaries, svn fotonzade yes yes
quality Add 500 new entries to a bidix to language pair %AAA%-%BBB% Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 500 new words to a bidirectional dictionary. xml, dictionaries, svn fotonzade yes
quality Disambiguate 500 tokens of text in %AAA% Run some text through a morphological analyser and disambiguate the output. Contact the mentor beforehand to approve the choice of language and text. disambiguation, svn fotonzade yes
code Use apertium-init to start a new morphological analyser for %AAA% Use apertium-init to start a new morphological analyser (for a language we don't already have, e.g. %AAA%) and add 100 words. morphology, languages, finite-state, fst Fran, Katya yes
documentation add comments to .dix file symbol definitions dix Jonathan
documentation find symbols that aren't on the list of symbols page Go through symbol definitions in Apertium dictionaries in svn (.lexc and .dix format), and document any symbols you don't find on the List of symbols page. This task is fulfilled by adding at least one class of related symbols (e.g., xyz_*) or one major symbol (e.g., abc), along with notes about what it means. wiki,lexc,dix Jonathan
code conllu parser and searching Write a script (preferably in python3) that will parse files in conllu format, and perform basic searches, such as "find a node that has an nsubj relation to another node that has a noun POS" or "find all nodes with a cop label and a past feature" python,dependencies Jonathan, Fran, Wei En
code group and count possible lemmas output by guesser Currently a "guesser" version of Apertium transducers can output a list of possible analyses for unknown forms. Develop a new pipleine, preferably with shell scripts or python, that uses a guesser on all unknown forms in a corpus, and takes the list of all possible analyses, and output a hit count of the most common combinations of lemma and POS tag. guesser,transducers,shellscripts Jonathan, Fran, Wei En
code vim mode/tools for annotating dependency corpora in CG3 format includes formatting, syntax highlighting, navigation, adding/removing nodes, updating node numbers, etc. vim,dependencies,CG3 Jonathan, Fran
code vim mode/tools for annotating dependency corpora in CoNLL-U format includes formatting, syntax highlighting, navigation, adding/removing nodes, updating node numbers, etc. vim,dependencies,conllu Jonathan, Fran
quality figure out one-to-many bug in the lsx module C++,transducers,lsx Jonathan, Fran, Wei En
code add an option for reverse compiling to the lsx module this should be simple as it can just leverage the existing lttoolbox options for left-right / right-left compiling C++,transducers,lsx Jonathan, Fran, Wei En
quality remove extraneous functions from lsx-comp and clean up the code C++,transducers,lsx Jonathan, Fran, Wei En
quality remove extraneous functions from lsx-proc and clean up the code C++,transducers,lsx Jonathan, Fran, Wei En
code script to test coverage over wikipedia corpus Write a script (in python or ruby) that in one mode checks out a specified language module to a given directory, compiles it (or updates it if already existant), and then gets the most recently nightly wikipedia archive for that language and runs coverage over it (as much in RAM if possible). In another mode, it compiles the language pair in a docker instance that it then disposes of after successfully running coverage. Scripts exist in Apertium already for finding where a wikipedia is, extracting a wikipedia archive into a text file, and running coverage. python,ruby,wikipedia Jonathan, Wei En
quality,code fix any open ticket Fix any open ticket in any of our issues trackers: main, html-tools, begiak. When you claim this task, let your mentor know which issue you plan to work on. Jonathan, Wei En 25 10
quality find an apertium module not developed in svn and import it Find an Apertium module developed elsewhere (e.g., github) released under a compatible open license, and import it into Apertium's svn, being sure to attribute any authors (in an AUTHORS file) and keeping the original license. Once place to look for such modules might be among the final projects in a recent Computational Linguistics course. Jonathan, Wei En 10 2
code add an incubator mode to the wikipedia scraper Add a mode to scrape a Wikipedia in incubator (e.g,. the Ingush incubator) to the WikiExtractor script wikipedia,python Jonathan, Wei En
code,interface add a translation mode interface to the geriaoueg plugin for firefox Fork the geriaoueg firefox plugin and add an interface for translation mode. It doesn't have to translate at this point, but it should communicate with the server (as it currently does) to load available languages. javascript Jonathan
code,interface add a translation mode interface to the geriaoueg plugin for chrome Fork the geriaoueg chrome plugin and add an interface for translation mode. It doesn't have to translate at this point, but it should communicate with the server (as it currently does) to load available languages. javascript Jonathan