Difference between revisions of "User:Amanmehta/Application"

From Apertium
Jump to navigation Jump to search
Line 61: Line 61:
 
*Improved marathi bidix coverage for a wikipedia corpus (~3.6million tokens) from 34% to 49%. Reduced the count of unknown tokens by ~53k
 
*Improved marathi bidix coverage for a wikipedia corpus (~3.6million tokens) from 34% to 49%. Reduced the count of unknown tokens by ~53k
   
== '''Workplan''' ==
+
== Workplan ==
 
 
I plan to work on mar-hin pair for which I have already started working. My goal is to develop mar-hin pair to close to release quality for roughly the first month. Mar-hin pair is already decent in the mono dictionaries and morphological analyzers and hence in this one month I would focus on bilingual dictionary, building a good translator, adding transfer and lexical selection rules.<br />
 
I plan to work on mar-hin pair for which I have already started working. My goal is to develop mar-hin pair to close to release quality for roughly the first month. Mar-hin pair is already decent in the mono dictionaries and morphological analyzers and hence in this one month I would focus on bilingual dictionary, building a good translator, adding transfer and lexical selection rules.<br />
 
*Target WER<=20%<br />
 
*Target WER<=20%<br />

Revision as of 12:44, 2 April 2017

Contact details

Name: Aman Mehta
E-mail: amanmehta1997@gmail.com
Svn: aman-mehta
IRC-nick: amanmehta
Mobile: +91 8329139961
Timezone: UTC+05:30
Github link: https://github.com/amanmehta-maniac
I stay online on IRC for most of my time so as to be easily accessible

Interest in machine translation

I am passionate about computers. Automation of tasks such as translation fascinates me. The core problem that translation of a text from one language to other can’t be solved by simple substitution of words, catches my interest. The idea of building a translation system and automating translation intrigues me. As MT gives people opportunity to access knowledge in multiple languages, it can play a pivotal role in education for all mission, not only in India but also across the globe. It adheres to the idea that knowledge should be free and accessible to all, which even I believe in strongly. Working on and around machine translation, serves my interest as well as my motivation.

Interested published tasks and project goals

I plan to “Adopt an unreleased language pair”, or to be precise, three language pairs: mar-hin, guj-hin, mar-guj. Mar-hin and guj-hin pairs are in incubator and mar-guj pair is still unreleased. My goal is to bring incubator pair: mar-hin and an unreleased pair: mar-guj, both to release quality. I also plan on expanding dictionaries for guj-hin pair and make further improvements to coverage and WER to the extent possible.

Interest in Apertium

Given my interest in machine translation, I decided to contribute to Apertium and enjoy adding my contribution to Apertium. I developed my interest in Apertium project in last couple of months during which I spent my time on resolving few svn bugs as well as on improving mar-hin pair. It is, at present, one of the best open-source machine translation platforms. Spending my summer to work for this platform would give me an opportunity to add my contribution in an area that fascinates me.

Reasons for Google and Apertium to sponsor

The mar-hin and mar-guj pairs can be brought to a production quality without much effort due to lexical similarities. I am very well acquainted with apertium as well as with the language pairs I am proposing to work on. The odds of finding a polyglot who could add these pairs to Apertium in a single summer would probably be low. If successful, this would add a couple of more language pairs to Apertium which would triple the number of Indian language pairs. The release of these pairs could also help Apertium in expanding language pairs for many other Indian languages. It has been ~2 months since I have joined Apertium and I am very much familiar with it. I have fixed quite a few bugs on svn. I have been working around mar-hin pair and I have been successful in adding coverage for adverbs and adjectives by scraping <avy> tags. It has been around a month and hence I have a very good gist on what all is needed to bring this pair to release quality. For detailed information about my tasks completed, refer to the section “Tasks completed till date”.

Who it will benefit in society and how

  • Who?
    • Over 70 million Marathi speakers
    • Over 50 million Gujarati speakers
    • People belonging to non-native lingual state
      • Eg: A gujarati speaker in Maharashtra (like myself)
  • How?
    • Translator available to learn languages
    • Access to Hindi information
      • Hindi media/newspapers
    • Improved coverage of Hindi books to Marathi and Gujarati and vice-versa.

Eventually helping people of different native languages to share space and reduce communication gap.

Tasks completed till date

  • Set up Apertium environment, solved a few bugs on svn, went through MT course(on wiki).
  • Found major loopholes in mar-hin pair, namely
    • No rules to handle transitive and intransitive verbs
    • Pronouns missing
    • Adjectives and adverbs tagged and mapped incorrectly
    • Many basic nouns missing in marathi monolingual dictionary and correspondingly in bilingual dictionary
  • Scraped down the <avy> tags to corresponding <adv> and <adj> tags in bilingual dictionary, improving coverage for all adjectives and adverbs(which improved coverage by ~5.5% on wikipedia corpus)
  • Added and corrected tags of some very common adjectives which had been wrongly tagged as adverbs
  • Coding challenge:
    • Analysis:
      • Only 27% known tokens
      • About ~20% of unknown words are intransitive verbs
      • About ~15% of unknown words are pronouns and their lexicals
    • Listing intransitive verbs and adding transfer rules to handle transitive/intransitive verbs. (ongoing)
    • Rules to handle pronouns. (few added, more to add)
    • Initial Status:
      • WER: ~87%
      • PER: ~84%
      • Coverage: ~27%
    • Current Status (ongoing):
      • WER: ~74%
      • PER: ~69%
      • Coverage: 74.5%
  • Improved marathi bidix coverage for a wikipedia corpus (~3.6million tokens) from 34% to 49%. Reduced the count of unknown tokens by ~53k

Workplan

I plan to work on mar-hin pair for which I have already started working. My goal is to develop mar-hin pair to close to release quality for roughly the first month. Mar-hin pair is already decent in the mono dictionaries and morphological analyzers and hence in this one month I would focus on bilingual dictionary, building a good translator, adding transfer and lexical selection rules.

  • Target WER<=20%
  • Target coverage~70%

For the remaining two months, my main focus will be to release the unreleased mar-guj pair and develop it to close to release quality and parallely expand and improve dictionaries for guj-hin pair, as much as time permits.
For mar-guj pair:

  • Target WER <=20%
  • Target coverage~65%

Detailed week-wise workplan

week dates goals eval accomplishments notes

Post application period
[March 26 - May 3]

  • Mar-hin:
    • Coding challenge: Finish with good WER (target <60%)
    • Get and analyse frequency list
    • Add transfer rules (t1x) in decreasing frequency
  • Learn about the scope of lttoolbox and other relevant tools and get acquainted
  • Analyse opportunity to improve dictionaries (tag editing/expand dictionaries)

Community Bonding Period
[May 5 - May 30]

  • Read documents thoroughly
  • Study CG and rules for mar-hin.
  • Discuss strategies/solutions with mentor to tackle loopholes.
  • Add rules for transitive and intransitive verbs
  • Prepare a corpora
  • Testvoc and document state of the pair
  • Add transfer rules (t1x)
  • Test for (@,#,*) tokens
  • First regression testing.
1 May 30 - June 5
  • Even up nouns.
  • Testvoc clean for noun
  • Start working for pronouns, adverbs and adjectives
  • Add appropriate rules/stems.
  • Start working with chunking (t2x)
2 June 6 - June 12
  • Post-edit translated texts. Analyze and look for common rules and add rules
  • Testvoc clean for all classes
  • Corpus test, measure improvement, targets:
    • Coverage ~67%
    • WER <25%
3 June 13 - June 19
  • Add more rules
  • Finish with t2x.
  • Get done with t3x and t4x.
  • Read CG, lrx.


4

June 20 - June 26

  • Get most frequent mistakes at this stage
  • If measurable improvement could be made, make required plan
  • Run corpus testing to analyse to improvement. Target :
    • Coverage ~70%
    • WER <= 20%
  • Run final tests, look for major mistakes and scope for corrections
5

June 27 - July 3

  • Update documentation
  • Run tests again, release this version (Deliverable #1)
  • Setup skeleton for mar-guj
  • Start with expanding apertium-guj dictionary
  • Improve morphological analyzer if possible
6

July 4 - July 10

  • Find good parallel corpora from wikipedia and add words and rules in decreasing frequency, especially in apertium-guj. (target ~500 entries)
    • Continue for guj-hin bilingual dictionary expansion parallely.*
  • Even up nouns
  • Testvoc nouns
7 July 11 - July 17
  • Calculate new WER/PER.
  • Reduce PER < 60%, document the results.
  • Start working on transfer grammar rules (t1x) using the common rules generated from post-edit analysis.
8 July 18 - July 24
  • Evaluate the system and identify most frequent errors
  • Improve mar-guj bilingual dictionary adding to its coverage.
  • Add more transfer rules for verbs, adjectives, adverbs and pronouns, Target:
    • Coverage (~60%)
    • WER (<=30%)
9 July 25 - July 31
  • Testvoc cleanup for all classes
  • Work over a large corpora
  • Regression and corpus testing
  • Work on CG and disambiguation
10

August 1 - August 6

  • Continue working on disambiguation and its solutions.
  • Begin with chunking, t3x and t4x.
  • Add words and rules, starting with most frequent words (in decreasing frequency) for guj-hin pair.
11 August 7 - August 13
  • Begin final testing for mar-guj pair
  • Check for any major feedbacks to mar-hin pair, work over it.
  • User acceptance testing, gisting evaluation.
  • Start documentation and refactoring.
  • Final release: Mar-guj & mar-hin pairs ready for or close to trunk and guj-hin improved. (Deliverable #2 and #3)
12 August 14 - August 17
  • Detailed analysis on what further improvement could be made for the pairs, for future help to apertium.
  • Evaluation an Refactoring.

Skill

I am a second year student, pursuing BTech and MS by research in Computer Science at International Institute of Information Technology. I have proficient knowledge about Databases, Computer Programming, Data Structures, Algorithms and Artificial Intelligence. I am very comfortable with python, XML, bash scripting and C++. I am a code-enthusiast and can dedicate and focus for long hours when it comes to coding. I have gone through Machine Translation course mentioned on the wiki and played around mar-hin pair to get gist of how machine translation works at Apertium. I have contributed to Mozilla in past, and can work with large files. At the linguistic side, I can read and write Hindi very well. I am a native Gujarati and can converse, read & write in Marathi well.

Non GSoC Commitment

I don’t have many other commitments for this summer and I can spend ~40 hours per week for this project. My college curriculum will start around in July end, but I will still be able to dedicate at least 30 hours per week. Maintaining, on an average, at least 35 hours per week for the complete summer.