Difference between revisions of "Task ideas for Google Code-in"
Firespeaker (talk | contribs) |
|||
(134 intermediate revisions by 22 users not shown) | |||
Line 18: | Line 18: | ||
'''Clarification of "multiple task" types''' |
'''Clarification of "multiple task" types''' |
||
* multi = number of students who can do a given task |
* multi = number of students who can do a given task (GCI's "max instances") |
||
* dup = number of times a student can do the same task |
* dup = number of times a student can do the same task |
||
Line 25: | Line 25: | ||
== Task ideas == |
== Task ideas == |
||
'''The current task ideas here are for 2019.''' See [[Talk:Task ideas for Google Code-in]] for task ideas from previous years. |
|||
<table class="sortable wikitable" style="display: none"> <!-- "Be sure that the link of sample tasks you sent as part of your application is not public on your page right now." --> |
|||
<table class="sortable wikitable" style="display: none"> |
|||
<tr><th>type</th><th>title</th><th>description</th><th>tags</th><th>mentors</th><th>bgnr?</th><th>multi?</th><th>duplicates</th></tr> |
<tr><th>type</th><th>title</th><th>description</th><th>tags</th><th>mentors</th><th>bgnr?</th><th>multi?</th><th>duplicates</th></tr> |
||
{{Taskidea |
{{Taskidea |
||
|type=research |
|type=research, quality, documentation |
||
|title= |
|title=Adopt a Wiki page |
||
|description=Request an Apertium wiki account and adopt a wiki page by updating and fixing any issues with it. Examples of things to update might be documentation that still refers to our SVN repo (we're on GitHub now), documentation of new features, clarification of unclear things, indicating that a page no longer reflects how things are done, "archiving" a page that represents deprecated information, or updating documentation to reflect the current options and defaults of various tools. |
|||
|description=Use an IRC client to log onto our IRC channel and stick around for four hours. |
|||
|tags= |
|tags=wiki |
||
|mentors=* |
|mentors=* |
||
|multi=150 |
|multi=150 |
||
Line 39: | Line 41: | ||
{{Taskidea |
{{Taskidea |
||
|type=research, quality |
|type=research, quality, documentation |
||
|title= |
|title=Test instructions on Apertium wiki |
||
|description=Find a page on the Apertium wiki that documents how to do something (hint: check the [http://wiki.apertium.org/wiki/Category:Documentation Documentation] category). Then try to follow the instructions. Check with your mentor when you get stuck. Modify the instructions as necessary. If the instructions are for something that is deprecated or no longer used by the community, either mark them as deprecated (category, banner at top of page, fix links to page) and/or modify them to match current practices. |
|||
|description=Request for an Apertium Wiki account and adopt a Wiki page by updating and fixing any issues with it. |
|||
|tags=wiki |
|tags=wiki |
||
|mentors=* |
|mentors=* |
||
Line 49: | Line 51: | ||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=research, code |
||
|title=expand coverage of Kyrgyz to English structural transfer |
|||
|title=Make source browser headings sticky at bottom of window |
|||
|description= |
|description=Find a sentence in Kyrgyz that once the lexical items are added to the bilingual dictionary is not fully (or correctly) parsed by the <tt>kir-eng-transfer</tt> Apertium mode. Determine what rule(s) need(s) to be added (or fixed) to cover this structure, and update <tt>apertium-eng-kir.kir-eng.rtx</tt> accordingly. You will first want to clone and compile [https://github.com/apertium/apertium-eng-kir apertium-eng-kir]. |
||
|tags= |
|tags=Kyrgyz, English, recursive transfer, pairs |
||
|mentors= |
|mentors=JNW, popcorndude |
||
|multi= |
|multi=150 |
||
| |
|dup=10 |
||
}} |
}} |
||
<!-- This kind of a task doesn't seem to be allowed. We should replace with a task per actual issue. |
|||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code |
||
|title=Add recursive transfer support to a language pair that doesn't support it |
|||
|title=fix any open issue with our IRC bot |
|||
|description=Make a branch of an Apertium language pair that doesn't support recursive transfer and call it "recursive transfer". Add vanilla <tt>.rtx</tt> files for both directions, and modify <tt>Makefile.am</tt> and <tt>modes.xml</tt> so that the branch compiles and runs. See [http://wiki.apertium.org/wiki/Apertium-recursive#Incorporating_Into_a_Pair this page] for instructions on how to do this. |
|||
|description=Fix any [https://github.com/apertium/phenny/issues open issue with begiak], our IRC bot. |
|||
|tags= |
|tags=recursive transfer, pairs |
||
|mentors= |
|mentors=JNW, popcorndude |
||
|multi= |
|multi=150 |
||
| |
|dup=10 |
||
}} |
|||
--> |
|||
{{Taskidea |
|||
|type=code, quality |
|||
|title=Increase test coverage of [[begiak]], our IRC bot, by at least 10% |
|||
|description=There are many modules without any tests at all, unfortunately. See the associated [https://github.com/apertium/phenny/issues/348 GitHub issue] for more details and discussion. |
|||
|tags=python, bot |
|||
|mentors=sushain, JNW, wei2912, Josh |
|||
|multi=4 |
|||
|dup=4 |
|||
|beginner=no |
|||
}} |
|||
{{Taskidea |
|||
|type=code |
|||
|title=Improve the .logs command of [[begiak]], our IRC bot |
|||
|description=Currently, the .logs command just links to the root logs. Ideally, it would link to the channel specific logs, support a time being handed to it and have tests. See the associated [https://github.com/apertium/phenny/issues/435 GitHub issue] for more details and discussion. |
|||
|tags=python, bot |
|||
|mentors=sushain, JNW, wei2912, Josh |
|||
|beginner=no |
|||
}} |
|||
{{Taskidea |
|||
|type=code |
|||
|title=Update the awikstats module of [[begiak]], our IRC bot, for GitHub |
|||
|description=There are a couple steps remaining for this process, mostly small modifications to the existing code which are enumerated in the associated [https://github.com/apertium/phenny/issues/389 GitHub issue] which also contains more context and discussion. |
|||
|tags=python, bot |
|||
|mentors=sushain, JNW, wei2912 |
|||
|beginner=no |
|||
}} |
|||
{{Taskidea |
|||
|type=code, research |
|||
|title=Research and propose a flood control system for [[begiak]], our IRC bot |
|||
|description=Begiak often floods the channel with notifications from modules such as git. Compile a list of modules which flood Begiak, write a mini-report on the associated [https://github.com/apertium/phenny/issues/159 GitHub issue] and propose changes to be made to the modules. For each module, there should be an issue created with a list of proposed changes, referenced from the main issue. The issue should be added to the associated [https://github.com/apertium/phenny/projects/1 GitHub project]. |
|||
|tags=python, bot |
|||
|mentors=sushain, JNW, wei2912 |
|||
|beginner=no |
|||
}} |
|||
{{Taskidea |
|||
|type=code, research, quality |
|||
|title=Clean up obsolete modules for [[begiak]], our IRC bot |
|||
|description=Refer to the associated [https://github.com/apertium/phenny/issues/436 GitHub issue] for more details. After this task, the list of modules on [http://wiki.apertium.org/wiki/Begiak Begiak's wiki page] should be updated. |
|||
|tags=python, bot, wiki |
|||
|mentors=sushain, JNW, wei2912 |
|||
|beginner=yes |
|beginner=yes |
||
}} |
}} |
||
Line 119: | Line 73: | ||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code |
||
|title=Add |
|title=Add 2 recursive transfer rules to a language pair |
||
|description=Add two recursive transfer rules to an Apertium language pair. These rules consist of, at minimum, a syntactic pattern to match, a phrase to combine them into, and an output pattern ([http://wiki.apertium.org/wiki/Apertium-recursive#Further_Documentation more documentation here]). If the language pair does not support recursive transfer, make sure [http://wiki.apertium.org/wiki/Apertium-recursive#Incorporating_Into_a_Pair to set it up] first. Submit your work as a pull request to a new branch ("recursive", "rtx", or similar) of the repository on GitHub. |
|||
|description=Ideally, this would be added to an existing module. If that doesn't make sense, a new module is acceptable as well. The associated [https://github.com/apertium/phenny/issues/433 GitHub issue] includes an example of the command's usage and reply. |
|||
|tags= |
|tags=recursive transfer, pairs |
||
|mentors= |
|mentors=JNW, popcorndude |
||
| |
|multi=150 |
||
|dup=20 |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|||
|mentors=JNW, wei2912, padth4i, popcorndude |
|||
|title=Support GitHub modules in [[apertium-get]] |
|||
|title=Use apertium-init to bootstrap a new language pair |
|||
|description=Unfortunately, the transition to GitHub from SVN made it so this script which is very handy for downloading an Apertium language/pair doesn't fetch the newest packages anymore. This also means that beta.apertium.org is out of date. See the associated [https://github.com/apertium/apertium-get/issues/7 GitHub issue] issue for more details and discussion. |
|||
|description=Use the [[Apertium-init]] script to bootstrap a new translation pair between two languages which have monolingual modules already in Apertium. To see if a translation pair has already been made, search our repositories on [https://github.com/apertium/ github], and especially ask on IRC. Add 100 common stems to the dictionary. Your submission should be in the form of a repository on github that we can fork to the Apertium organisation. |
|||
|tags=bash, github |
|||
|tags=languages, bootstrap, dictionaries, translators |
|||
|mentors=sushain, Unhammer, wei2912, Josh |
|||
|beginner=yes |
|||
|multi=25 |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|||
|mentors=JNW, wei2912, padth4i, popcorndude |
|||
|title=Add default CI configs to Apertium packages via [[Apertium-init]] |
|||
|title=Use apertium-init to bootstrap a new language module |
|||
|description=Currently, some Apertium pairs/language modules use CI but it's very inconsistent and doesn't come by default. Apertium-init is the official way to bootstrap a new Apertium package so if it came with CI support by default, that would be great. See the associated [https://github.com/apertium/apertium-init/issues/51 GitHub issue] issue for more details and discussion. |
|||
|description=Use the [[Apertium-init]] script to bootstrap a new language module that doesn't currently exist in Apertium. To see if a language is available, search our repositories on [https://github.com/apertium/ github], and especially ask on IRC. Add enough stems and morphology to the module so that it analyses and generates at least 100 correct forms. Your submission should be in the form of a repository on github that we can fork to the Apertium organisation. [[Task ideas for Google Code-in/Add words from frequency list|Read more about adding stems...]] |
|||
|tags=ci, circleci, yaml |
|||
|tags=languages, bootstrap, dictionaries |
|||
|mentors=sushain, Unhammer, wei2912 |
|||
|beginner=yes |
|||
|multi=25 |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|||
|mentors=JNW, sevilay, Unhammer, marcriera, padth4i, Oguz, popcorndude |
|||
|title=Ensure XML produced by [[Apertium-init]] has consistent XML declarations |
|||
|title=Write 10 lexical selection for an existing translation pair |
|||
|description=Currently, some XML produced by [[Apertium-init]], a script which allows bootstrapping Apertium packages easily, has declarations and some doesn't. Moreover, the declarations are sometimes inconsistent. All XML files should have the same declaration. Note that not all of the XML files in [[Apertium-init]] use the .xml file extension. See the associated [https://github.com/apertium/apertium-init/issues/49 GitHub issue] issue for more details and discussion. |
|||
|description=Add 10 lexical selection rules to an existing translation pair. Submit your work as a github pull request to that pair. [[Task ideas for Google Code-in/Add lexical-select rules|Read more...]] |
|||
|tags=xml, python |
|||
|tags=languages, bootstrap, lexical selection, translators |
|||
|mentors=sushain, Unhammer, wei2912 |
|||
|multi=25 |
|||
|beginner=yes |
|||
|dup=5 |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|||
|mentors=JNW, Unhammer, padth4i, Oguz, popcorndude |
|||
|title=Make [[Apertium-init]]'s default Makefiles and config files pass make distcheck |
|||
|title=Write 10 constraint grammar rules for an existing language module |
|||
|description=Currently, the distcheck target for packages created with [[Apertium-init]], a script which allows bootstrapping Apertium packages easily, does not pass the distcheck target. This task requires fixing this issue. See the associated [https://github.com/apertium/apertium-init/issues/50 GitHub issue] issue for more details and discussion. |
|||
|description=Add 10 constraint grammar rules to an existing language module for a language that you know. Submit your work as a github pull request to that pair. [[Task ideas for Google Code-in/Add constraint-grammar rules|Read more...]] |
|||
|tags=python, autotools, make, bash |
|||
|tags=languages, bootstrap, constraint grammar |
|||
|mentors=Unhammer, Flammie, Unhammer, Josh |
|||
|multi=25 |
|||
|beginner=no |
|||
|dup=5 |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=research |
|||
|mentors=anakuz, fotonzade |
|||
|title=Increase [[Apertium-init]] test coverage |
|||
|title=Syntactic annotation of text |
|||
|description=Currently, we have a decent set of tests for the script but there are some more complex behaviors such as GitHub interaction that we don't test. This task requires making substantial improvements to the test coverage numbers. See the associated [https://github.com/apertium/apertium-init/issues/48 GitHub issue] issue for more details and discussion. |
|||
|description=Pick a text of about 200 words and make a syntactic annotation for it according to the Universal Dependencies treebank. UD Annotatrix can be used for visualisation. Consult with your mentor about the language. |
|||
|tags=python, unittest |
|||
|tags=UD, trees, annotation |
|||
|mentors=sushain, Unhammer, wei2912 |
|||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=research |
|||
|mentors=JNW,ftyers, fotonzade, anakuz, Oguz |
|||
|title=Ignore .prob files in bilingual modules created by [[Apertium-init]] |
|||
|title=Create a UD-Apertium morphology mapping |
|||
|description=[[Apertium-init]] bootstraps Apertium packages and comes with a default gitignore. This gitignore could be improved by making it ignore *.prob files but only for pairs since they are meaningful for language modules. It would be extra cool if we had some tests for this functionality that weren't too contrived. See the associated [https://github.com/apertium/apertium-init/issues/42 GitHub issue] issue for more details and discussion. |
|||
|description=Choose a language that has a Universal Dependencies treebank and tabulate a potential set of Apertium morph labels based on the (universal) UD morph labels. See Apertium's [[list of symbols]] and [http://universaldependencies.org/ UD]'s POS and feature tags for the labels. |
|||
|tags=python, git |
|||
|tags=morphology, ud, dependencies |
|||
|mentors=sushain, Unhammer, wei2912, Josh |
|||
|beginner= |
|||
|multi=5 |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=research |
|||
|mentors=JNW, ftyers, fotonzade, anakuz |
|||
|title=Set repository topic on repos created by [[Apertium-init]] |
|||
|title=Create an Apertium-UD morphology mapping |
|||
|description=[[Apertium-init]] bootstraps Apertium packages and supports creating an associated GitHub repository. Our source browser and other scripts expect a GitHub repository topic like "apertium-incubator". This task requires creating the incubator topic by default on repo push with an option for custom topics. See the associated [https://github.com/apertium/apertium-init/issues/36 GitHub issue] issue for more details and discussion. |
|||
|description=Choose a language that has an Apertium morphological analyser and adapt it to convert the morphology to UD morphology |
|||
|tags=python, github, http |
|||
|tags=morphology, ud, dependencies |
|||
|mentors=sushain, Unhammer, wei2912 |
|||
|beginner= |
|||
|multi=5 |
|||
}} |
}} |
||
<!-- This kind of a task doesn't seem to be allowed. We should replace with a task per actual issue. |
|||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=quality |
||
|title=fix any open issue with UD Annotatrix |
|||
|description=Fix any [https://github.com/jonorthwash/ud-annotatrix/issues open issue with UD Annotatrix]. |
|||
|tags=css, javascript, node |
|||
|mentors=kmurphy?, JNW |
|||
|multi= |
|||
|beginner=no |
|||
}} |
|||
--> |
|||
{{Taskidea |
|||
|type=code |
|||
|title=Install Apertium and verify that it works |
|title=Install Apertium and verify that it works |
||
|description=See [[Installation]] for instructions and if you encounter any issues along the way, document them and/or improve the |
|description=See [[Installation]] for instructions and if you encounter any issues along the way, document them and/or improve the wiki instructions! |
||
|tags=bash |
|tags=bash |
||
|mentors=ftyers, JNW, Unhammer, anakuz, Josh, fotonzade |
|mentors=ftyers, JNW, Unhammer, anakuz, Josh, fotonzade, sevilay, eirien, wei2912, padth4i, jjjppp |
||
|multi=150 |
|multi=150 |
||
|beginner=yes |
|beginner=yes |
||
Line 215: | Line 163: | ||
|title=Write a contrastive grammar |
|title=Write a contrastive grammar |
||
|description=Document 6 differences between two (preferably related) languages and where they would need to be addressed in the [[Apertium pipeline]] (morph analysis, transfer, etc). Use a grammar book/resource for inspiration. Each difference should have no fewer than 3 examples. Put your work on the Apertium wiki under [[Language1_and_Language2/Contrastive_grammar]]. See [[Farsi_and_English/Pending_tests]] for an example of a contrastive grammar that a previous GCI student made. |
|description=Document 6 differences between two (preferably related) languages and where they would need to be addressed in the [[Apertium pipeline]] (morph analysis, transfer, etc). Use a grammar book/resource for inspiration. Each difference should have no fewer than 3 examples. Put your work on the Apertium wiki under [[Language1_and_Language2/Contrastive_grammar]]. See [[Farsi_and_English/Pending_tests]] for an example of a contrastive grammar that a previous GCI student made. |
||
|mentors= |
|mentors=mlforcada, JNW, Josh, xavivars, fotonzade, sevilay, khannatanmai, dolphingarlic, padth4i |
||
|tags=wiki, languages |
|tags=wiki, languages |
||
|beginner=yes |
|beginner=yes |
||
Line 223: | Line 171: | ||
{{Taskidea |
{{Taskidea |
||
|type=quality |
|type=quality |
||
|mentors= |
|mentors=mlforcada, anakuz, xavivars, fotonzade, sevilay, Unhammer, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz, JNW, jjjppp |
||
|tags=xml, dictionaries |
|tags=xml, dictionaries |
||
|title= |
|title=Identify and add 100 new entries to the bilingual dictionary for the %AAA%-%BBB% language pair |
||
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add |
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 100 new words to a bidirectional dictionary. With the help of your mentor, identify some text in either %AAA% or %BBB% and run it through Apertium's %AAA%-%BBB% translator to identify 50 unknown forms. Add the stems of these forms to the analyser in an appropriate way so that these words are analysed correctly. Your submission should be in the form of a pull request to each of the appropriate repositories on GitHub. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual More instructions for this task here]... |
||
|multi= |
|multi=40 |
||
|beginner=yes |
|beginner=yes |
||
}} |
}} |
||
Line 233: | Line 181: | ||
{{Taskidea |
{{Taskidea |
||
|type=quality |
|type=quality |
||
|mentors=mlforcada, anakuz, xavivars, fotonzade, ftyers, sevilay, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz, JNW |
|||
|mentors=fotonzade |
|||
|tags=xml, dictionaries |
|tags=xml, dictionaries |
||
|title=Identify and add 250 new entries to the bilingual dictionary for the %AAA%-%BBB% language pair |
|||
|title=Translate 100 sentences of public domain text. |
|||
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 250 new words to a bidirectional dictionary. With the help of your mentor, identify some text in either %AAA% or %BBB% and run it through Apertium's %AAA%-%BBB% translator to identify 50 unknown forms. Add the stems of these forms to the analyser in an appropriate way so that these words are analysed correctly. Your submission should be in the form of a pull request to each of the appropriate repositories on GitHub. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual More instructions for this task here]... |
|||
|description=Many of our systems benefit from statistical methods used with (ideally public domain) bilingual data. This task requires the creation of that data. The languages and text are subject to mentor approval. |
|||
| |
|dup=20 |
||
|beginner=no |
|||
}} |
|||
{{Taskidea |
|||
|type=quality |
|||
|mentors=fotonzade, JNW, ftyers, anakuz, xavivars, mlforcada, shardulc, sevilay, Unhammer, dolphingarlic, wei2912, marcriera |
|||
|tags=xml, dictionaries |
|||
|title=Post-edit 500 sentences of any public domain text from %AAA% to %BBB% |
|||
|description=Many of our systems benefit from statistical methods used with (ideally public domain) bilingual data. For this task, you need to translate a public domain text from %AAA% to %BBB% using any available machine translation system and clean up the translations yourself manually. Commit the post-edited texts (in plain text format) to an existing (via pull request) or if needed new github repository for the language pair in dev/ or texts/ folder. The texts are subject to mentor approval. |
|||
|multi=10 |
|||
|beginner=yes |
|beginner=yes |
||
}} |
}} |
||
Line 243: | Line 201: | ||
{{Taskidea |
{{Taskidea |
||
|type=quality |
|type=quality |
||
|mentors= |
|mentors=mlforcada, anakuz, xavivars, fotonzade, sevilay, dolphingarlic, wei2912, marcriera, padth4i |
||
|tags=disambiguation |
|tags=disambiguation |
||
|title=Disambiguate 500 tokens of text in %AAA% |
|title=Disambiguate 500 tokens of text in %AAA% |
||
|description=Run some text through a morphological analyser and disambiguate the output. |
|description=Run some text through a morphological analyser and disambiguate the output. Discuss with the mentor beforehand to approve the choice of language and text. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Manually_disambiguate_text Read more]... |
||
|multi=yes |
|multi=yes |
||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=research |
||
|mentors=eirien, anakuz, marcriera, padth4i |
|||
|title=Use SWIG or equivalent to add C++ bindings for text analysis in [https://github.com/apertium/apertium-python apertium-python] |
|||
|tags=dictionaries |
|||
|description=Currently, apertium-python just pipes text through the binaries in each [[mode]] file. We would like to directly execute the associated C++ function instead. See the associated [https://github.com/apertium/apertium-python/issues/16 GitHub issue] for more details and discussion. |
|||
|title=Categorise 100 words from frequency list in %AAA% |
|||
|tags=python, c++, swig |
|||
|description=Categorise words by frequency into one of the major part-of-speech categories. You will receive a frequency list. Work from top to bottom. At the beginning of each line you should put a letter which categorises the word form by its part-of-speech. For example n for noun, v for verb, etc. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Categorise_words_from_frequency_list Read more]... <!-- Wouldn't it be better for them to to add directly to the analyser? Easier for us, and more educational for them! -JNW --> |
|||
|mentors=sushain |
|||
| |
|multi=yes |
||
|beginner=yes |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=research |
||
|mentors=eirien, anakuz, sevilay, marcriera |
|||
|title=Use cgo to integrate apertium and lttoolbox C++ libraries in Go |
|||
|tags=dictionaries |
|||
|description=Currently, all apertium core libraries are written in C++. There are other languuages, like Go, where concurrency is at the very core of the language itself. It would be great to be able to write small programs like the new lt-proc intergeneration in Go, using [https://golang.org/cmd/cgo/ cgo] as a way to bind both languages. |
|||
|title=Categorise 500 words from frequency list in %AAA% |
|||
|tags=go, c++, cgo |
|||
|description=Categorise words by frequency into one of the major part-of-speech categories. You will receive a frequency list. Work from top to bottom. At the beginning of each line you should put a letter which categorises the word form by its part-of-speech. For example n for noun, v for verb, etc. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Categorise_words_from_frequency_list Read more]... <!-- Wouldn't it be better for them to to add directly to the analyser? Easier for us, and more educational for them! -JNW --> |
|||
|mentors=xavivars |
|||
| |
|multi=yes |
||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=research |
||
|mentors=khannatanmai, sevilay, padth4i |
|||
|title=Integrate [https://github.com/hfst/python HFST's C++ Python] bindings into [https://github.com/apertium/apertium-python apertium-python] |
|||
|tags=evaluation |
|||
|description=Currently, apertium-python just pipes text through the binaries in each [[mode]] file. Where appropriate, i.e. a mode accesses HFST binaries, we would like to directly execute the associated C++ function instead. |
|||
|title=Evaluate an existing apertium pair %AAA% to %BBB% on a text |
|||
|tags=python, c++, swig |
|||
|description= Pick an existing apertium pair and get a parallel text for that language pair. Translate %AAA% to %BBB% and evaluate the translation using an automatic evaluation metric like BLEU or/and evaluate it manually. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Evaluation_of_translation_of_an_existing_pair Read more]... |
|||
|mentors=sushain |
|||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code, research |
||
|title=Add apertium-anaphora support to a new language pair |
|||
|title=Improve the [https://github.com/apertium/apertium-python apertium-python] Windows installation process |
|||
|description=Make a branch of an Apertium language pair that doesn't use apertium-anaphora yet, and call it "anaphora". Manually add the correct antecedent to side ref of the anaphors in the output of biltrans, and modify t1x to change the anaphor based on its antecedent. Verify that it runs and gives the correct anaphor. See the [http://wiki.apertium.org/wiki/Anaphora_Resolution_Module documentation] of the apertium-anaphora module for help. |
|||
|description=Currently, apertium-python requires a complex installation process for Windows (and Linux). The goal is something that works out-of-the-box with pip. See the associated [https://github.com/apertium/apertium-python/issues/6 GitHub issue] for more details and discussion. |
|||
|tags= |
|tags=apertium-anaphora, transfer |
||
|mentors= |
|mentors=khannatanmai |
||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code, research |
||
|title=Add one markable to the arx file for a language pair |
|||
|title=Setup scripts for [https://github.com/apertium/apertium-python/blob/windows/windows.py], the relevant issue to ask questions is [[https://github.com/apertium/apertium-python/issues/14]] |
|||
|description=The arx file is where we tell the anaphora resolution algorithm which patterns to detect and score, when we want to find the antecedent of an anaphor. Add one rule in this file which can help the algorithm find out the antecedent of an anaphor - specify the pattern to detect and the positive or negative score you want to give to the noun in this pattern. See the [http://wiki.apertium.org/wiki/Anaphora_Resolution_Module documentation] of the apertium-anaphora module for help. |
|||
|description=Write setup.py scripts that install the current setup of Apertium+Python and also additionally make the setup.py script work on Windows too. |
|||
|tags=apertium-anaphora, anaphora resolution |
|||
|tags=python, windows |
|||
|mentors= |
|mentors=khannatanmai, popcorndude |
||
|beginner=yes |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=code |
||
|title=Write a TextMate grammar for CG-3 syntax highlighting |
|||
|title=Setup documentation generation for [https://github.com/apertium/apertium-python apertium-python] |
|||
|description=We want CG-3 files to be syntax highlighted in Github. They use TextMate-compatible grammars. See [https://github.com/TinoDidriksen/cg3/issues/48 issue 48] in the CG-3 repo. |
|||
|description=Currently, there are some docstrings attached to functions and constants. This task requires setting up Sphinx/readthedocs for apertium-python so these docs are easily accessible. Types should also be visible and documentation should support being written in Markdown, not RST. See the associated [https://github.com/apertium/apertium-python/issues/4 GitHub issue] for more details and discussion. |
|||
|tags= |
|tags=cg, editors, tools |
||
|mentors= |
|mentors=Unhammer |
||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code |
||
|title=Make Apertium IRC bot's messaging system case-insensitive |
|||
|title=Upgrade apertium.org ([[html-tools]]) to Bootstrap 4 |
|||
|description=[[Begiak]] is Apertium's IRC bot. It has a messaging system, where you can say e.g. "begiak, tell randomuser thanks for the tip!" or "begiak: ask randomuser where they filed that issue", and the bot will deliver the message next time it sees randomuser say something. There's been [https://github.com/apertium/phenny/issues/488 a request] for begiak to recognise case-insensitive commands. Your job is to create a fix for this and submit a pull request to the repository with the fix. |
|||
|description=Currently, we are on a frankensteined version of Bootstrap 3. See the associated [https://github.com/apertium/apertium-html-tools/issues/200 GitHub issue] for more details and discussion. Note that the [https://github.com/apertium/apertium-html-tools/issues/314 frankenstein'd CSS] will likely need to be fixed and theme support should be retained (should be simple). |
|||
|tags= |
|tags=python, irc |
||
|beginner=yes |
|||
|mentors=sushain, xavivars |
|||
|mentors=JNW, popcorndude |
|||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code |
||
|title=Make Apertium's IRC bot's updating of Apertium's wiki format numbers better |
|||
|title=Get apertium.org ([[html-tools]]) QUnit testing coverage working |
|||
|description=[[Begiak]] is Apertium's IRC bot. It has a module that allows users on IRC to trigger a script that updates the Apertium wiki with statistics about Apertium modules. There have been [https://github.com/apertium/phenny/issues/485 complaints about the formatting of the numbers it writes]. Your job is to create a fix for this and submit a pull request to the repository with the fix. |
|||
|description=Currently, we have a QUnit testing framework mostly complete. There are some fixes that need to be made in discussion with the mentor and existing comments and JS coverage checking needs to be added so that we can burn down existing debt. See the associated [https://github.com/apertium/apertium-html-tools/pull/268 GitHub PR] for more details and discussion. |
|||
|tags= |
|tags=python, irc, wiki |
||
|beginner=yes |
|||
|mentors=sushain, jjjppp |
|||
|mentors=JNW, popcorndude |
|||
|beginner=no |
|||
}} |
|||
{{Taskidea |
|||
|type=code, quality |
|||
|title=Fix/prevent apertium.org ([[html-tools]])'s recursive website translation |
|||
|description=Currently, if you try translating Apertium's website with Apertium's website, bad things happen. This 'exploit' is also possible through mutual recursion with another site that offers similar behavior. See the associated [https://github.com/apertium/apertium-html-tools/issues/203 GitHub issue] for more details and discussion. |
|||
|tags=javascript, jquery, web, bootstrap |
|||
|mentors=sushain, Unhammer |
|||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code |
||
|title=Create a new init script for Apertium's IRC bot |
|||
|title=Convert apertium.org's API ([[APy]])'s language name storage from SQL to TSV |
|||
|description=[[Begiak]] is Apertium IRC bot. It runs on a low-power server that runs Debian. Sometimes that server is reset, and we have to manually restart begiak. The init script that used to control begiak no longer seems to work. Your task is to create a new init script that supports the normal sort of actions that init scripts do, and also the following options for begiak: the specific path to run it from, the user to run it as, miscellaneous arguments, and a log file to log its output. This init script should live in the repository in a reasonable place. There is a [https://github.com/apertium/phenny/issues/484 github issue describing this task]. |
|||
|description=Currently, language names that power part of the Apertium HTTP API are stored and updated in SQL. It would be nice if they were stored in a more human readable format like TSV and the SQLite were generated at build time. See the associated [https://github.com/apertium/apertium-apy/issues/115 GitHub issue] for more details and discussion. |
|||
|tags=python, |
|tags=python, debian, init, irc |
||
|mentors= |
|mentors=JNW |
||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=documentation |
||
|mentors=JNW, flammie, popcorndude |
|||
|title=Support unicode without escape sequences in apertium.org's API ([[APy]]) |
|||
|title=Add comments to a dictionary defining the symbols used in it |
|||
|description=Currently, HTTP responses with unicode characters are emitted as \uNNNN by the Apertium API. Ideally, the character could just be decoded. See the associated [https://github.com/apertium/apertium-apy/issues/60 GitHub issue] for more details and discussion. |
|||
|description=Add comments to a monolingual or bilingual dictionary file (.lexc/.dix, .dix) in the symbol definitions area that clarify what each symbol stands for. Also direct the comment reader to the Apertium wiki page on symbol definitions for more information. |
|||
|tags=python, api, unicode, json, api, http |
|||
|tags=dictionaries |
|||
|mentors=sushain, Unhammer |
|||
| |
|dup=10 |
||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=documentation |
||
|mentors=JNW, popcorndude |
|||
|title=Make apertium.org ([[html-tools]]) fail more gracefully when the API is down |
|||
|title=find symbols that aren't on the list of symbols page |
|||
|tags=javascript, html, css, web |
|||
|description=Go through the symbol definitions in Apertium dictionaries on GitHub (.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. |
|||
|description=Currently, [https://github.com/goavki/apertium-html-tools html-tools] relies on an API endpoint to translate documents, files, etc. However, when this API is down the interface also breaks! This task requires fixing |
|||
|tags=wiki,dictionaries |
|||
this breakage. See the associated [https://github.com/apertium/apertium-html-tools/issues/207 GitHub issue] for more details and discussion. |
|||
|mentors=sushain, Unhammer |
|||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=documentation |
||
|title= |
|title=document usage of the apertium-separable module |
||
|mentors=JNW, khannatanmai, popcorndude |
|||
|tags=javascript, html, css, web |
|||
|description=Document which language pairs have included the [[apertium-separable]] module in its package, which have beta-tested the lsx module, and which are good candidates for including support for lsx. Add to [[Lsx_module/supported_languages|this wiki page]] |
|||
|description=Significant progress has been made towards providing a dictionary-style interface within [https://github.com/goavki/apertium-html-tools html-tools]. This task requires refining the existing [https://github.com/goavki/apertium-html-tools/pull/184 PR] by de-conflicting it with master and resolving the interface concerns discussed [https://github.com/goavki/apertium-html-tools/pull/184#issuecomment-323597780 here]. See the associated [https://github.com/apertium/apertium-html-tools/issues/105 GitHub issue] for more details and discussion. |
|||
|tags=lsx, dictionaries, wiki |
|||
|mentors=sushain |
|||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=quality |
||
|title= |
|title=Beta-test the apertium-separable module |
||
|mentors=JNW, ftyers, wei2912, khannatanmai, dolphingarlic, popcorndude |
|||
|description=There's been some work towards this already but it's outdated. This task requires updating it and for bonus points ensuring at build time that all paths are minimally present in the Swagger spec. Furthermore, it would be awesome if a simple HTTP page could be made that loads the spec (e.g. [https://github.com/apertium/apertium-stats-service/blob/master/api.html this page for another service]). See the associated [https://github.com/apertium/apertium-apy/issues/12 GitHub issue] for more details and discussion. |
|||
|description= [[Lsx_module#Creating_the_lsx-dictionary|create an lsx dictionary]] in both directions for any relevant and existing language pair that doesn't yet support it (as a "separable" branch in its GitHub repository), adding 10-30 entries to it in one or both directions. Thoroughly test to make sure the output is as expected. Report bugs/non-supported features and add them to [[Lsx_module#Future_work| future work]]. Document your tested language pair by listing it under [[Lsx_module#Beta_testing]] and in [[Lsx_module/supported_languages|this wiki page]] |
|||
|tags=python, api, http, openapi, swagger |
|||
|tags=lsx, dictionaries |
|||
|mentors=sushain, xavivars |
|||
| |
|multi=yes |
||
|dup=20 |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code, quality |
||
|title=script to test coverage of analyser over corresponding wikipedia corpus |
|||
|title=Accept ISO-639-1 codes in [https://github.com/apertium/apertium-stats-service apertium-stats-service] |
|||
|mentors=JNW, wei2912 |
|||
|description=This task requires making /en-es, /en-spa, etc. work the same as /eng-spa and then adding tests that verify the behavior. See the associated [https://github.com/apertium/apertium-stats-service/issues/32 GitHub issue] for more details and discussion. |
|||
|description=Write a script (in python or ruby) that tests coverage of an Apertium analyser over the latest Wikipedia corpus in that language. One mode of this script should check out a specified language module to a given directory, compile it (or updates it if already existant), and then get the most recently Wikipedia nightly archive for that language and run coverage over it (as much in RAM if possible). In another mode, it should compile 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. Ask a mentor for help finding these scripts. |
|||
|tags=rust, api, http |
|||
|tags=python, ruby, wikipedia |
|||
|mentors=sushain |
|||
|beginner=no |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code, design |
||
|title=Make source browser headings sticky at bottom of window |
|||
|title=Accept ISO-639-1 codes in [https://github.com/apertium/apertium-stats-service apertium-stats-service] |
|||
|description= |
|description=Make headings that are out of view (either below when at the top, or above when scrolled down) sticky on [https://apertium.github.io/apertium-on-github/source-browser.html Apertium source browser], so that it's clear what other headings exist. There is a [https://github.com/apertium/apertium-on-github/issues/22 github issue for this]. |
||
|tags= |
|tags=css, javascript, html, web |
||
|mentors=sushain |
|mentors=sushain, JNW, xavivars |
||
|multi= |
|||
|beginner=no |
|beginner=no |
||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code, design |
||
|mentors=JNW, jjjppp, sushain, dolphingarlic |
|||
|title=Support listing of packages in [https://github.com/apertium/apertium-stats-service apertium-stats-service] |
|||
|tags=d3, javascript |
|||
|description=This information is something that is useful in a lot of different places, for example, our source browser. By having the stats service implement it, everyone doesn't have to write the same code in different languages and the information gets cached. For GCI task credit, the last commit info is not required (another task can be made for that feature). This task requires implementing the initial feature, adding some basic tests and tweaking the swagger spec. One or more of those tasks can be broken into other task(s) if the mentor sees fit and the student requests it. See the associated [https://github.com/apertium/apertium-stats-service/issues/37 GitHub issue] for more details and discussion. |
|||
|title=Integrate globe viewer into language family visualiser interface |
|||
|tags=rust, api, http, rest |
|||
|description=The [https://github.com/apertium/family-visualizations family visualiser interface] has four info boxes when a language is clicked on, and one of those boxes is empty. The [https://github.com/jonorthwash/Apertium-Global-PairViewer globe viewer] provides a globe visualisation of languages that we can translate a given language to and from. This task is to integrate the globe viewer for a specific language into the fourth box in the family visualiser. There is an [https://github.com/jonorthwash/Apertium-Global-PairViewer/issues/32 associated GitHub issue]. |
|||
|mentors=sushain |
|||
|multi=no |
|||
|beginner=no |
|beginner=no |
||
}} |
}} |
||
Line 406: | Line 350: | ||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code |
||
|mentors=JNW, jjjppp, dolphingarlic |
|||
|title=Add configurable timeout support to [https://github.com/apertium/apertium-stats-service apertium-stats-service] |
|||
|tags=d3, javascript |
|||
|description=Currently, a stats request has no clear timeout and can take ~forever if the async option is not present. This tasks requires adding a timeout option, adding tests and then tweaking the swagger spec. See the associated [https://github.com/apertium/apertium-stats-service/issues/14 GitHub issue] for more details and discussion. |
|||
|title=Change hard-coded values to dynamic in the globe viewer's code |
|||
|tags=rust, api, http, rest |
|||
|description=The [https://github.com/jonorthwash/Apertium-Global-PairViewer globe viewer] provides a globe visualisation of languages that we can translate a given language to and from. This task is to clean up its source code by changing hard-coded values (e.g. scales and object sizes) to dynamic values so that the code will be easier to maintain in the future. There is an [https://github.com/jonorthwash/Apertium-Global-PairViewer/issues/24 associated GitHub issue]. |
|||
|mentors=sushain |
|||
|multi=no |
|||
|beginner=no |
|beginner=no |
||
}} |
}} |
||
Line 415: | Line 360: | ||
{{Taskidea |
{{Taskidea |
||
|type=code |
|type=code |
||
|mentors=JNW, jjjppp, dolphingarlic |
|||
|title=Surface errors to the client in [https://github.com/apertium/apertium-stats-service apertium-stats-service] |
|||
|tags=d3, javascript |
|||
|description=Right now, errors are logged and swallowed. The client never knows what happened. This task requires implementing the feature, adding some basic tests and tweaking the swagger spec. One or more of those tasks can be broken into other task(s) if the mentor sees fit and the student requests it. See the associated [https://github.com/apertium/apertium-stats-service/issues/30 GitHub issue] for more details and discussion. |
|||
|title=Fix fading for flyers in globe viewer |
|||
|tags=rust, api, http, rest |
|||
|description=The [https://github.com/jonorthwash/Apertium-Global-PairViewer globe viewer] provides a globe visualisation of languages that we can translate a given language to and from. Currently, the flyers, which are the 3D colored connections, fade as either end of the connection goes out of the current scope of the globe. However, this causes flyers that connect two far away languages to be invisible (see issue for example). This task is to change the current fading function to account for far away connections and allow them to stay visible. There is an [https://github.com/jonorthwash/Apertium-Global-PairViewer/issues/22 associated GitHub issue]. |
|||
|mentors=sushain |
|||
| |
|multi=no |
||
|beginner=yes |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=design |
||
|mentors=JNW, ftyers |
|||
|title=Include Git SHA in [https://github.com/apertium/apertium-stats-service apertium-stats-service]'s file info |
|||
|tags=UD, design, svg |
|||
|description=Right now, only the SVN revision number is provided but that doesn't help with mapping back on to a SHA in Git/GH for the client. This task requires implementing the feature, adding some basic tests and tweaking the swagger spec. See the associated [https://github.com/apertium/apertium-stats-service/issues/41 GitHub issue] for more details and discussion. |
|||
|title=Design a logo for UD Annotatrix |
|||
|tags=rust, api, http, rest, git, svn |
|||
|description=UD Annotatrix needs a better logo, or set of logos. Have a look at the [https://github.com/jonorthwash/ud-annotatrix/tree/master/server/public current logos] and [https://jonorthwash.github.io/ud-annotatrix/ see them in use]. Design a potential replacement logo that meets the following requirements: somehow incorporates what UD Annotatrix is / is for, is not "cluttered" (like the current cat logo), and can be used at different sizes. |
|||
|mentors=sushain |
|||
|multi=yes |
|||
|beginner=no |
|beginner=no |
||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=documentation |
|type=quality, documentation, design |
||
|mentors= |
|mentors=* |
||
|tags= |
|tags=video, tutorial |
||
|title=Video tutorial: installing Apertium, adding to dictionary, and submitting a PR |
|||
|title=Create a screencast on how to add new entries to an apertium dictionary |
|||
|description=Post a video online that (1) demonstrates how to install Apertium on an operating system of your choice, (2) demonstrates how to clone and compile an Apertium translation pair of your choice, (3) shows how to add a new word to the dictionary (categorised correctly), and (4) shows how to submit the updated dictionary as a pull request to Apertium's git repository. Add a link to the video on the [http://wiki.apertium.org/wiki/Installation#Installation_Videos installation videos page] of the Apertium wiki.<br/>The title of the video should make it easy to find, and so should probably be similar to the title of this task. We recommend a screencast with voice-over posted to YouTube, but the format and venue are up to you as long as it is publicly accessible for long term. Here are [https://www.youtube.com/playlist?list=PLHldb9r6QkVFsuxlAoVS-OL32aurUOZLC some example videos] that are relevant but that could probably be improved upon.<br/>The video **does not have to be in English**; we can evaluate it in any of the following languages: %ZZZ%. Please let us know when you claim the task what language you plan to create the video in, so that we know which mentor(s) should primarily work to evaluate your task. |
|||
|description=Screencasts are popular cool way to create a tutorial. Show a narrated work-flow start-to-end on adding new words to a dictionary, compiling and then using it to translate. This task is probably easiest after completing a "Add 200 new entries to a bidix to language pair" task. |
|||
|multi= |
|multi=200 |
||
|beginner=yes |
|beginner=yes |
||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=quality |
||
|mentors=mlforcada, anakuz, xavivars, fotonzade, sevilay, Unhammer, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz, JNW, jjjppp |
|||
|mentors=Flammie, Josh |
|||
|tags= |
|tags=xml, dictionaries |
||
|title=Identify and add 100 new entries to a bilingual dictionary |
|||
|title=Create a screencast on how to disambiguate tokens of text |
|||
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 100 new words to a bidirectional dictionary. Choose one of the language pairs listed below, and with the help of your mentor, identify some text in one of the two languages, and run the text through Apertium's translator for that language pair to identify 100 unknown forms. As needed, add the stems of these forms to the individual languages' analysers in an appropriate way so that these words are analysed correctly. Your submission should be in the form of a pull request to each of the appropriate repositories on GitHub.<br/>The language pairs we can mentor for this task are the following: %ALLPAIRS%.<br/> [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual More instructions for this task here]... |
|||
|description=Screencasts are popular cool way to create a tutorial. Show a narrated work-flow start-to-end on disambiguating the words. This task is probably easiest after completing a "Disambiguate 500 tokens" task. |
|||
|multi= |
|multi=40 |
||
|dup=10 |
|||
|beginner=yes |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type=quality |
|type=quality |
||
|mentors=mlforcada, anakuz, xavivars, fotonzade, ftyers, sevilay, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz, JNW |
|||
|mentors=Flammie, wei2912 |
|||
|tags= |
|tags=xml, dictionaries |
||
|title=Identify and add 250 new entries to a bilingual dictionary |
|||
|title=Create automated (travis-ci) test to ensure naïve coverage |
|||
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 250 new words to a bidirectional dictionary. Choose one of the language pairs listed below, and with the help of your mentor, identify some text in one of the two languages, and run the text through Apertium's translator for that language pair to identify 250 unknown forms. As needed, add the stems of these forms to the individual languages' analysers in an appropriate way so that these words are analysed correctly. Your submission should be in the form of a pull request to each of the appropriate repositories on GitHub.<br/>The language pairs we can mentor for this task are the following: %ALLPAIRS%.<br/> [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual More instructions for this task here]... |
|||
|description=The dictionaries can be tested on [[Coverage]], the idea is to make test that operates on frequency word list to count a coverage of a dictionary and then integrate that to Makefile target check for travis to use. |
|||
|multi= |
|multi=40 |
||
|dup=10 |
|||
|beginner=no |
|beginner=no |
||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=quality |
||
|mentors=fotonzade, JNW, ftyers, anakuz, xavivars, mlforcada, shardulc, sevilay, Unhammer, dolphingarlic, wei2912, marcriera |
|||
|mentors=JNW, sushain, wei2912 |
|||
|tags= |
|tags=xml, dictionaries |
||
|title=Post-edit 500 sentences of a public domain text |
|||
|title=Scrape Apertium repo information into json |
|||
|description=Many of our systems benefit from statistical methods used with (ideally public domain) bilingual data. For this task, you need to translate a public domain text using an available machine translation system (Apertium preferred) and clean up the translation yourself manually. Commit the source text and post-edited translation (in plain text format) to an existing (via pull request) or if needed new github repository for the language pair in dev/ or texts/ folder. The texts are subject to mentor approval.<br/>The language pairs we can hypothetically mentor for this task (pending their existence) are the following: %ALLPAIRS%. |
|||
|description=Write a script to scrape information about Apertium's translation pairs as they exist in GitHub repositories into a json file like [https://github.com/apertium/pairviewer/blob/master/pairs.json.txt this one]. |
|||
|multi= |
|multi=40 |
||
| |
|dup=10 |
||
|beginner=yes |
|||
}} |
}} |
||
{{Taskidea |
{{Taskidea |
||
|type= |
|type=research |
||
|mentors= |
|mentors=khannatanmai, sevilay, padth4i |
||
|tags= |
|tags=evaluation |
||
|title=Evaluate an existing Apertium translation pair on a text |
|||
|title=Integrate globe viewer into language family visualiser interface |
|||
|description= Pick an existing Apertium language pair and get a parallel text for that language pair. Translate the text using the Apertium translation pair and evaluate the translation using an automatic evaluation metric like BLEU and/or evaluate it manually.<br/>The language pairs we can mentor for this task (pending their existence) are the following: %ALLPAIRS%.<br/>[http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Evaluation_of_translation_of_an_existing_pair Read more]... |
|||
|description=The [https://github.com/apertium/family-visualizations family visualiser interface] has four info boxes when a language is clicked on, and one of those boxes is empty. The [https://github.com/jonorthwash/Apertium-Global-PairViewer globe viewer] provides a globe visualisation of languages that we can translate a given language to and from. This task is to integrate the globe viewer for a specific language into the fourth box in the family visualiser. There is an [https://github.com/jonorthwash/Apertium-Global-PairViewer/issues/32 associated GitHub issue]. |
|||
|multi= |
|multi=40 |
||
| |
|dup=10 |
||
}} |
}} |
||
{{Taskidea |
<!-- {{Taskidea |
||
|type= |
|type=quality |
||
|mentors= |
|mentors=* |
||
|tags= |
|tags=localisation |
||
|title=Complete website localisation in a language not fully localised |
|||
|title=Fix (or document the blockers for) five mentions of SVN on the Apertium wiki |
|||
|description= |
|||
|description=Apertium recently [https://github.com/apertium/apertium-on-github migrated] to GitHub from SVN. There are unfortunately still a lot of pages on the Wiki in need of their references to the Wiki to SVN URLs and SVN in general. This task requires finding five such pages and either outright fixing them or documenting the difficulty involved in fixing the issues. Note Category:GitHub_migration_updates lists articles currently marked for needing migration but is not exhaustive. |
|||
|multi= |
|multi= |
||
}} --> |
|||
|beginner= |
|||
}} |
|||
<!-- NEW TASKS BELOW --> |
|||
{{Taskidea |
|||
|type=research |
|||
|mentors=JNW,ftyers, Josh, fotonzade, anakuz |
|||
|tags=wiki, languages, grammar |
|||
|title=Document resources for a language |
|||
|description=Document resources for a language without resources already documented on the Apertium wiki. [[Task_ideas_for_Google_Code-in/Documentation_of_resources|read more]]... |
|||
|multi=10 |
|||
|beginner=yes |
|||
}} |
|||
{{Taskidea |
|||
|type=research |
|||
|mentors=JNW, Josh |
|||
|tags=ocr |
|||
|title=tesseract (OCR) interface for apertium languages |
|||
|description=Find out what it would take to integrate apertium or voikkospell into tesseract OCR (image to text). Document thoroughly available options on the wiki. |
|||
|multi=no |
|||
|beginner= |
|||
}} |
|||
{{Taskidea |
|||
|type=research |
|||
|mentors=JNW,ftyers, fotonzade |
|||
|title=Create a UD-Apertium morphology mapping |
|||
|description=Choose a language that has a Universal Dependencies treebank and tabulate a potential set of Apertium morph labels based on the (universal) UD morph labels. See Apertium's [[list of symbols]] and [http://universaldependencies.org/ UD]'s POS and feature tags for the labels. |
|||
|tags=morphology, ud, dependencies |
|||
|beginner= |
|||
|multi=5 |
|||
}} |
|||
{{Taskidea |
|||
|type=research |
|||
|mentors=JNW, ftyers, fotonzade |
|||
|title=Create an Apertium-UD morphology mapping |
|||
|description=Choose a language that has an Apertium morphological analyser and adapt it to convert the morphology to UD morphology |
|||
|tags=morphology, ud, dependencies |
|||
|beginner= |
|||
|multi=5 |
|||
}} |
|||
</table> |
|||
{{Taskidea |
|||
|type=code,design |
|||
|mentors=JNW,ftyers |
|||
|title=Paradigm generator browser interface |
|||
|description=Write a standalone webpage that makes queries (though javascript) to an [[apertium-apy]] server to fill in a morphological forms based on morphological tags that are hidden throughout the body of the page. For example, say you have the verb "say", and some tags like inf, past, pres.p3.sg—these forms would get filled in as "say", "said", "says". |
|||
|tags=javascript, html, apy |
|||
}} |
|||
==Mentors== |
|||
{{Taskidea |
|||
|type=Research |
|||
|mentors=anakuz, fotonzade |
|||
|title=Syntactic trees |
|||
|description=Pick up a text of ~200 words and make it's syntactic annotation as for Universal Dependencies treebank. UD Annotatrix can be used for visualisation. Consult with mentor about the language. |
|||
|tags=UD, trees, markup |
|||
}} |
|||
These are languages that can be substituted for AAA and/or BBB for tasks each mentor is listed to mentor above. |
|||
</table> |
|||
If you do not see your language here, ask. We may be able to mentor or find you a mentor. |
|||
{|class=wikitable |
|||
! Mentor !! Languages |
|||
|- |
|||
| ftyers || eng, spa, cat, fra, nor, rus, por, swe, tur, gag, aze |
|||
|- |
|||
| JNW || eng, spa, fra, rus, tur, gag, aze, kaz, kir, kaa, tat, bak, kum, nog, kaa, uzb, uig, crh, khk, yid |
|||
|- |
|||
| anakuz || grn, spa, por, rus |
|||
|- |
|||
| fotonzade || eng, tur, aze, uig, tat, crh, kmr, ckb, fas |
|||
|- |
|||
| xavivars || cat, spa, eng, fra |
|||
|- |
|||
| Unhammer || nno, nob, swe, dan, fao, sme, ovd |
|||
|- |
|||
| shardulc || eng, fra, mar, hin, urd, kan |
|||
|- |
|||
| m-alpha || eng, fra, byv |
|||
|- |
|||
| popcorndude || eng, spa, cym, heb |
|||
|- |
|||
| sevilay || eng, ara, tur, kaz, aze, tat, gag, uig, uzb, crh, kum |
|||
|- |
|||
| eirien || sah, rus, eng |
|||
|- |
|||
| khannatanmai || eng, hin |
|||
|- |
|||
| flammie || fin, krl, olo, hun, nio, kpv, mdf, tlh, fra, swe, eng, est, ekk, vro |
|||
|- |
|||
| dolphingarlic || afr, deu, eng |
|||
|- |
|||
| wei2912 || eng, zho |
|||
|- |
|||
| marcriera|| cat, spa, eng, ron |
|||
|- |
|||
| padth4i|| eng, mal, hin |
|||
|- |
|||
| Oguz|| eng, tur, uig, aze, crh |
|||
|- |
|||
| mlforcada || eng, cat, eus, fra, por, glg, spa, gle, bre |
|||
|- |
|||
| ayushjain || eng, hin |
|||
|- |
|||
| jjjppp || eng, lat |
|||
|} |
|||
== Counts == |
== Counts == |
||
Last updated by [[User: |
Last updated by [[User:Firespeaker|Firespeaker]] ([[User talk:Firespeaker|talk]]) 07:30, 28 October 2019 (CET). |
||
{| class="sortable wikitable" |
{| class="sortable wikitable" |
||
Line 557: | Line 509: | ||
|- |
|- |
||
|{{sc|code}} |
|{{sc|code}} |
||
|align="right"| |
|align="right"|16 |
||
|- |
|- |
||
|{{sc|documentation}} |
|{{sc|documentation}} |
||
|align="right"| |
|align="right"|4 |
||
|- |
|- |
||
|{{sc|research}} |
|{{sc|research}} |
||
|align="right"| |
|align="right"|11 |
||
|- |
|- |
||
|{{sc|quality}} |
|{{sc|quality}} |
||
|align="right"| |
|align="right"|8 |
||
|- |
|- |
||
|{{sc|design}} |
|{{sc|design}} |
||
|align="right"| |
|align="right"|2 |
||
|- class="sortbottom" |
|- class="sortbottom" |
||
!Total |
!Total |
||
|align="right"| |
|align="right"|33 |
||
|} |
|} |
||
Latest revision as of 06:23, 5 December 2019
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:
- 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.
- design: 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 (GCI's "max instances")
- dup = number of times a student can do the same task
You can find descriptions of some of the mentors here.
Task ideas[edit]
The current task ideas here are for 2019. See Talk:Task ideas for Google Code-in for task ideas from previous years.
Mentors[edit]
These are languages that can be substituted for AAA and/or BBB for tasks each mentor is listed to mentor above.
If you do not see your language here, ask. We may be able to mentor or find you a mentor.
Mentor | Languages |
---|---|
ftyers | eng, spa, cat, fra, nor, rus, por, swe, tur, gag, aze |
JNW | eng, spa, fra, rus, tur, gag, aze, kaz, kir, kaa, tat, bak, kum, nog, kaa, uzb, uig, crh, khk, yid |
anakuz | grn, spa, por, rus |
fotonzade | eng, tur, aze, uig, tat, crh, kmr, ckb, fas |
xavivars | cat, spa, eng, fra |
Unhammer | nno, nob, swe, dan, fao, sme, ovd |
shardulc | eng, fra, mar, hin, urd, kan |
m-alpha | eng, fra, byv |
popcorndude | eng, spa, cym, heb |
sevilay | eng, ara, tur, kaz, aze, tat, gag, uig, uzb, crh, kum |
eirien | sah, rus, eng |
khannatanmai | eng, hin |
flammie | fin, krl, olo, hun, nio, kpv, mdf, tlh, fra, swe, eng, est, ekk, vro |
dolphingarlic | afr, deu, eng |
wei2912 | eng, zho |
marcriera | cat, spa, eng, ron |
padth4i | eng, mal, hin |
Oguz | eng, tur, uig, aze, crh |
mlforcada | eng, cat, eus, fra, por, glg, spa, gle, bre |
ayushjain | eng, hin |
jjjppp | eng, lat |
Counts[edit]
Last updated by Firespeaker (talk) 07:30, 28 October 2019 (CET).
Category | Count |
---|---|
code | 16 |
documentation | 4 |
research | 11 |
quality | 8 |
design | 2 |
Total | 33 |