Difference between revisions of "User:Aida/Application"

From Apertium
Jump to navigation Jump to search
Line 314: Line 314:
 
* Add top stems from frequency lists of unknown forms
 
* Add top stems from frequency lists of unknown forms
 
* Use spectie's dix-entries-to-be-checked script
 
* Use spectie's dix-entries-to-be-checked script
 
**Before 20 of June I have final exams, but I will have about 3 hours a day to work on project. After graduating from the university I will be free and can spend 30 hours a week on Apertium.
 

Revision as of 18:42, 14 March 2014

  • Name: Sundetova Aida
  • E-mail address: sun27aida@gmail.com
  • Other information that may be useful to contact you: nick on the #apertium channel: Aida
  • Why is it you are interested in machine translation?
    • I have started to learn machine translation in 2012 when I joined to a project, which included developing machine translation from English to Kazakh. Before it I was really interested in artificial intelligence and automation of processes. I continued developing english-kazakh machine translation on Apertium and tried to know more about Apertium free/open-source machine translation platform. Knowledge of the languages, programming and my target to do translation better helped me to learn new programming language as XML and improve my working skills.
  • Why is it that they are interested in the Apertium project?
    • At the first, Apertium is free/open-source machine translation platform, which means that developers from other countries like me can join and start to do translations for new language pair. Apertium uses Unix “pipelines” which are very useful for fast diagnosis and debugging and I can use additional modules between existing modules, like using HFST(Helsinki finite-state transducer) for morphological analysis and generation for Kazakh language.
  • Which of the published tasks are you interested in? What do you plan to do?
    • I plan to improve “Apertium English-kazakh” to reach a good translation quality. I already develop this pair, but it doesn't have corpora and enough vocabulary to show adequate translation. My target is to make vocabulary coverage bigger than now by using corpora from news and wikipedia and come close to working translator.
  • Include a proposal, including
    • a title, --what title??
    • reasons why Google and Apertium should sponsor it,
  • a description of how and who it will benefit in society,
    • English to Kazakh machine translation are very important, because Kazakh is Turkic language, so transfer rules, which I write for this pair can be useful for another English – Turkic Languages pairs.
  • and a detailed work plan (including, if possible, a brief schedule with milestones and deliverables). Include time needed to think, to program, to document and to disseminate.
    • I plan to work more on vocabulary, and add transfer rules is it needed.
  • List your skills and give evidence of your qualifications. Tell us what is your current field of study,

major, etc. Convince us that you can do the work. In particular we would like to know whether you have programmed before in open-source projects.

    • I have developed a English to Kazakh machine translation on Apertium since 2012 and Kazakh to English since 2013. I have great experience in writing and correcting transfer rules, lexical selection and constraint grammar rules, also adding vocabulary in monolingual and bilingual dictionaries. I study on 4th grade of bachelor's degree in Information Systems and I will graduate in the summer 2014. I know programming languages: C, C++, C#, HTML, XML, and I have basic knowledge of PHP. In addition, I can work with databases and know SQL. My mother language is Kazakh and I also speak English and Russian.
  • List any non-Summer-of-Code plans you have for the Summer, especially employment, if you are applying for internships, and class-taking. Be specific about schedules and time commitments. we would like to be sure you have at least 30 free hours a week to develop for our project.

Major goals

  • Good WER
  • Clean testvoc
  • 8'000 stems in bidix (~700 stems per week, or ~100 per day)
  • Additional rules:transfer, lexical, constraint grammar(~10 per week,or ~2 per day)

Schedule

Timeline

See GSoC 2014 Timeline for complete timeline. Important coding dates follow:

  • April 22nd: begin working on project
  • June 27th - August 17th: midterm evaluations
  • August 18th: 'pencils down' date
  • August 22th: final evaluation

Workplan

week dates goals eval accomplishments notes
post-application period
3 - 24 May
  1. finish coding challenge with WER ~10%
  2. trimmed coverage 45%
  3. total 250 stems in dix
  1. coding challenge: WER ~9%
  2. trimmed coverage: 52%,48%
  3. stems in dix: 380
  • Demonstrated ability to add stems to dix and lexc.
  • A couple easy lexical selection rules are still not written.
  • Needs to learn more about other aspects of apertium and evaluation.
Firespeaker 06:45, 20 May 2013 (UTC)
community bonding period
27 May - 16 June
  1. run first testvoc
  2. run coverage scripts
  3. get first frequency lists
  4. write ≥4 lexical selection rules
  5. write ≥2 transfer rules
  6. write ≥3 disambig rules

note: should be in IRC every day

  1. ran trimmed coverage script on a corpus
  2. took a look at frequency lists
  3. wrote 4 pairs of lexical selection rules
  4. wrote 4 variants of 1 transfer rule
  • demonstrated ability to work with lexical selection rules
  • demonstrated ability to work with transfer rules
  • got only some experience with coverage scripts
  • did not get experience with testvoc
  • did not get experience with disambig rules
  • was not around IRC frequently
  • worked in bursts, did not spend a single long period of time

Firespeaker 02:28, 2 July 2013 (UTC)

1 17 - 22 June
  1. total 1500 stems in dix
  2. clean testvoc for <postadv> <ij>
  3. 500-word evaluation, WER ~10%
  4. trimmed coverage 51%
  • did not show up —Firespeaker 02:28, 2 July 2013 (UTC)
2 23 - 29 June
  1. total 2400 stems in dix
  2. clean testvoc for <num> <post>
  3. trimmed coverage 53%
  1. stems in dix: 408
  • did not show up —Firespeaker 02:28, 2 July 2013 (UTC)
3 30 - 6 July
  1. total 3200 stems in dix
  2. clean testvoc for <cnjcoo> <cnjadv> <cnjsub>
  3. trimmed coverage 55%
  1. stems in dix: 508
  2. trimmed coverage: 59.5%,51.5%
  • trimmed coverage good
  • too narrow a focus on a single corpus
  • number of stems too low
  • no new WER text
  • no testvoc

Firespeaker 20:43, 8 July 2013 (UTC)

4 7 - 13 July
  1. total 4000 stems in dix
  2. clean testvoc for <adv>
  3. trimmed coverage 59%
  1. stems in dix: 2574
  2. trimmed coverage: 69.3%,63.8%
  3. azattyq_24455849 WER: 14.78%
  4. completed most of TODO-list
  • good progress on adding stems
  • fixed little things as directed
  • good progress on post-editing process
  • didn't make good progress on reducing WER
  • still no testvoc
  • committed once every 3 or 4 days; should be committing every day
  • poor communication with mentors; needs to be around more often

Firespeaker 22:16, 22 July 2013 (UTC)

5 14 - 20 July
  1. total 4800 stems in dix
  2. clean testvoc for <prn> <det>
  3. trimmed coverage 63%
6 21 - 27 July
  1. total 5600 stems in dix
  2. clean testvoc for <adj> <adj><advl>
  3. trimmed coverage 68%
  1. stems in dix: 5552
  2. trimmed coverage: 72%,67%
  3. azattyq_24455849 WER: 18.01%
  • good improvement in dix
    • should be checking for errors (e.g., extra spaces)
  • not much progress with WER text
    • simple lrx and t1x should be enough here
  • still no indication of progress with testvoc
  • better communication and commit frequency, but could still improve

Firespeaker 18:21, 1 August 2013 (UTC)

7 28 - 3 August
  1. total 6400 stems in dix
  2. trimmed coverage 70%
midterm eval
2 August
  1. total 6500 stems in dix
  2. 500-word evaluation, WER ~10%
  3. trimmed coverage 72%
  • midterm TODO list goals only partially attained
  • overall progress has been mediocre
  • among the lowest-performing students
  • noticeable improvement in the last few weeks
  • needs to improve more to pass the final

Firespeaker 18:26, 1 August 2013 (UTC)

8 4 - 10 August
  1. total 7200 stems in dix
  2. clean testvoc for <n> <num><subst> <np> <adj><subst>
  3. trimmed coverage 75%
  1. stems in dix: 6493
  2. trimmed coverage: 79.6%,74.1%
9 11 - 17 August
  1. total 8000 stems in dix
  2. trimmed coverage 78%
10 18 - 24 August
  1. total 8800 stems in dix
  2. trimmed coverage 81%
11 25 - 31 August
  1. total 9600 stems in dix
  2. clean testvoc for <v>
  3. trimmed coverage 83%
  1. stems in dix: 6730
  2. trimmed coverage: 82.5%,78.4%
  3. azattyq_24455849 WER: 6.62%
12 1 - 7 September
  1. total 10400 stems in dix
  2. trimmed coverage 85%
  1. stems in dix: 7007
  2. trimmed coverage: 84.2%,79.8%
  • Good adjective typology
  • Decent progress on coverage
  • Not around much later in the week
  • Still no testvoc...

Firespeaker 07:29, 10 September 2013 (UTC)

13 8 - 15 September
  1. total 11200 stems in dix
  2. trimmed coverage 87%
  1. stems in dix: 7454
  2. trimmed coverage: 85.2%,80.4%
  • Decent increase in coverage
  • Still no testvoc
  • Still ~600 unsorted ADJ
  • Not around much

Firespeaker 20:06, 22 September 2013 (UTC)

pencils-down week
final evaluation
16 - 23 September
  1. total 12000 stems in dix
  2. 500-word evaluation, WER ~10%
  3. clean testvoc for all categories
  4. trimmed coverage 88%
  5. release 0.1.0 and move to trunk
  1. stems in dix: 7546
  2. trimmed coverage: 85.8%,81.6%
  • Good coverage
  • "Good" WER results
    • But lots of # and * errors :(
  • No work on testvoc
  • Some ADJ sorted; still >500 unsorted
  • only 2 sets of LRX rules since early in GSoC
  • only 1 transfer rule since early in GSoC
Final evaluation
  • Has improved coverage a certain amount
  • Has not done anything else
  • Mentors have had to nag to get him to work
  • Has not been around enough
  • Among the lowest-performing students
  • Has not improved since midterm
  • Last-ditch efforts not at all impressive

Tips and Tricks

Adding stems quickly

  • Add top stems from frequency lists of unknown forms
  • Use spectie's dix-entries-to-be-checked script