Difference between revisions of "User:Aditya"

From Apertium
Jump to navigation Jump to search
 
(28 intermediate revisions by the same user not shown)
Line 2: Line 2:
'''Name:''' Aditya <br>
'''Name:''' Aditya <br>
'''E-mail address:''' adityaprayaga@gmail.com <br>
'''E-mail address:''' adityaprayaga@gmail.com <br>
'''Location:''' Hyderabad,India. <br>
'''Location:''' Hyderabad, India. <br>
'''Phone Number:''' +91-8106805681 <br>
'''Phone Number:''' +91-8106805681 <br>
'''GitHub:''' https://github.com/aditya-369 <br>
'''GitHub:''' https://github.com/aditya-369 <br>
'''IRC:''' aditya_369
'''IRC:''' aditya_369 <br>
'''Languages:''' Telugu(native), English, Hindi
== Why is it that you are interested in Apertium? ==
<p> I find myself immensely interested in the concepts of Web Development and NLP and as apertium is moving forward to improve its website i am even more excited to work on this project. As a enthusiastic Web Developer i find apertium to be a great step to my propensity which may come to realisation</p>
<p> In Apertium, not only the languages of prominent countries but also the regional languages of states are also given importance which makes Apertium unbiased and there is a healthy collaboration which builds good work atmosphere among the developers.</p>
<p> Moreover, many machine translation systems are available at present which are mostly commercial. But Apertium is an open-source and uses single language-independent specification, to allow for the ease of contributing to Apertium, more efficient development, and enhancing the project's overall growth.
</p>
== Which of the published tasks are you interested in? what do you plan to do? ==


I am excited to work on the project [http://wiki.apertium.org/wiki/Ideas_for_Google_Summer_of_Code/Apertium_website_improvements| Improving Apertium website]
==Education and Skills==
which is listed as [http://wiki.apertium.org/wiki/Ideas_for_Google_Summer_of_Code#Improvements_to_the_Apertium_website| 1.8] idea under the published list of ideas.


===University Courses===
===Work Flow Details===
Apertium has a pretty cool website already but,this is an opportunity that helps me in improving Apertium website and make it cooler than it is of now.So Coming to work flow details it is basically split into three phases as number of tasks listed in are also three i.e,
<li>Object Oriented Analysis and Design
<li>'''Phase-1:''' Dictionary Look-Up Mode for single-word translations
<li>Design and Analysis of Algorithms
<li>'''Phase-2:''' Colour Grading according to the reliability of translation
<li>Formal Languages and Automata Theory
<li>'''Phase-3:''' Make language detection work properly and Suggestion styling if people choose an unlikely source language
<li>Data Structures
<li>Math(Advanced Calculus,Ordinary Differential Equations and Laplace Transforms,Computational Methods,Probability, Statistics and Queuing Theory )
<li>Data Base Management Systems
<li>Operating Systems
<li>Linux Internals
<li>Compiler Design


===Special Courses===
====Phase-1====
'''Dictionary Look-Up Mode for single-word translations'''
<p>According to the task set of dictionary look-up for single-word translations, there needs to be a back-end module developed in python that would take language pairs and word as input parameters and these parameter are useful in morphological analyser phase as this phase segments the word and looks up in language dictionaries. Also for frontend part there needs to be a Check Box or enable button to enable the dictionary Look-Up Mode.I also referred to previous ideas in [http://wiki.apertium.org/wiki/GSOC%2716_Kira%27s_results._Apertium_website_improvements:_Docs_diff|github]. </p>


<li>'''Dictionary Look-Up Mode should give synonyms and alternative translations'''
===Technical Skills===
<p>
Adding Check Box or enable button to enable the dictionary Look-Up Mode which will give a division under target language division to display the synonyms and alternate translations,So there also back end module for this written in python so as the look up for similar meaning words would be fast and accurate,to accomplish this we nee to maintain links between similar words or lists in python is also another alternative. </p>
<li>'''Dictionary Look-Up Mode should rank the translations by likelihood'''
<p> As above Dictionary look up would give alternate translation words which are accordingly ranked by the above methods </p>


*'''Front-End:'''
#<p>A check-Box or enable button under "Instant translation check box" if checked or enabled that allows to see synonyms to for translated word.These synonyms would be showed in div under the space in destination Language look-up.</p>
#<p>Add probability bars to each alternative translation.These probability bars(visualisation) are obtained using matplotlib library in python and the probabilities show the likelihood of translation.</p>


*'''Back-End:'''
== Why is it that you are interested in Apertium? ==
#<p>Conditions are written about what would enable/disable(1/0) dictionary mode and for each value separate code is written so that the module gives the synonyms and alternate translations.</p>
#<p>As above alternate translations appear they are ranked according to the ranking methods and will be visualised.Any ranking methods like WER(Word-Error Rate),etc can be used in order to rank.</p>
====Phase-2====
'''Colour Grading according to the reliability of translation'''


<li>'''Colour Grading according to the reliability:'''<br/>
Apertium is a great Organization where machine translations are done with ease. This intrigues me a lot because of the reason that existing machine translation systems available at present are mostly commercial or use proprietary technologies, but as far as Apertium is concerned it is a free open source rule-based machine translation platform.
<p> Colour Grading according to the reliability of translation is not as simple as it looks. There needs to be proper reliability function used for example WER(word-Error Rate) which helps in calculating probability so that this value helps in Colour grading in front-end development</p>


*'''Front-End:''''
== Which of the published tasks are you interested in? What do you plan to do? ==
#<p>I would like to display the more reliable translation using green and decrease its brightness accordingly </p>
#<p>Updating existing BootStrap of Apertium Website to Version-4,Solving some more issues on apertium-html-tools like apertium cannot translate on git </p>
*'''Back-End:'''
#<p>'''WER Explanation:'''
Definitions:<br>
<li>S is the number of substitutions,
<li>D is the number of deletions,
<li>I is the number of insertions,
<li>C is the number of the corrects,
<li>N is the number of words in the reference (N=S+D+C)<br>
<math>WER=(S+D+I)/N
</math>
This is used to build the reliability function and from this we can get the number and use that in front-end to label by colour.
</p>
'''Note:'''As this is a 4-week also would like to update existing bootstrap to bootstrap-v4 if time permits.


====Phase-3====
== Include a proposal, including ==
'''Make language detection work properly and Suggestion styling if people choose an unlikely source language'''
* a title,
<li>'''Styling(did you mean) when people choose an unlikely source language:'''<br/>
* reasons why Google and Apertium should sponsor it,
<p>
* a description of how and who it will benefit in society,
When Users Knowingly or Unknowingly choose unlike source language the this module would give a alert box or indication message which states the original source or expected source language.
* and a detailed work plan (including, if possible, a schedule with milestones and deliverables).
</p>
<li>'''Make language detection work properly:''' <br/>
<p>
Language detection is an existing feature in apertium but by adding the above "did you mean" feature user would Know what is correct Language
</p>


*'''Front-End:'''
=== Work plan ===
#<p>If user choose unlikely source language then a "red alert" or dialog box appears having "did you mean this" source language.
</p>
*'''Back-End:''' Here in Back-End there are two modules to be developed
#<p>A module for integrating with front-End styling of "did you mean" is developed by checking alphabets matching Language pair sequentially </p>
#<p>A module developed in python that would make language detection work properly by increasing the accuracy of detection of language by optimising search patterns.This module will take the word given by user and verifies syntax or format over languages by /identifyLang function already in existing apertium-apy</p>
== Work plan ==
===Phase-1,Weeks 1-4===
* '''Week 1:''' Front-End module for Dictionary Look-Up Mode with synonyms and alternative translations.
* '''Week 2:''' Back-End module for Dictionary Look-Up Mode with synonyms and alternative translations.
* '''Week 3:''' Back-End module for Dictionary Look-Up Mode ranks the translations by likelihood.
* '''Week 4:''' Front-End module for Dictionary Look-Up Mode ranks the translations by likelihood


* '''Deliverable #1:''' June 11-13
* Week 1:
* Week 2:
* Week 3:
* Week 4:


===Phase-2,Weeks 5-8===
* '''Deliverable #1'''
* '''Week 5:''' Back-End module for Colour Grading according to the reliability function(Word-Error Rate(WER)).
* '''Week 6:''' Back-End module for Colour Grading according to the reliability function(Word-Error Rate(WER)).
* '''Week 7:''' Front-End module for Colour Grading according to the reliability
* '''Week 8:''' Update Bootstrap to Bootstrap V-4 and also resolve issues in Apertium-apy,Apertium-html-tools


* '''Deliverable #2:''' July 9-11
* Week 5:
* Week 6:
* Week 7:
* Week 8:


===Phase-3,Weeks 9-12===
* '''Deliverable #2'''
* '''Week 9:''' Back-End module for styling("did you mean") if people choose an unlikely source language.
* '''Week 10:''' Front-End module for styling("did you mean") if people choose an unlikely source language.
* '''Week 11:''' Study Various methods to increase accuracy get the apt method and start building model.
* '''Week 12:''' Back-End module for making language detection work properly by increasing the accuracy of detection.


* '''Final Delivery:''' August 6 - 14
* Week 9:
* '''Project completed'''<p>Apertium Website will finally, <br>+ have "dictionary lookup" mode for single-word translations<br>+ give synonyms and alternative translations<br>+ rank the translations by likelihood<br>+ have mode that colours the resulting translation depending on how reliable it is<br>+ make language detection work properly<br>+ does "did you mean" style if people choose an unlikely source language.</p>
* Week 10:
* Week 11:
* Week 12:


* '''Project completed'''


Above Week 5,Week 11 Would not be completely coding instead a specific time period is give so that to learn the required material as to optimise the performance of features in website.
Include time needed to think, to program, to document and to disseminate.

==Education and Skills==

I am an enthusiastic 3rd year undergrad currently pursuing my specialisation in Computer Science engineering at VNR Vignana Jyothi Institute of Engineering and Technology, Hyderabad, India.

===University Courses===
<li>Design and Analysis of Algorithms
<li>Object Oriented Analysis and Design
<li>Formal Languages and Automata Theory
<li>Compiler Design
<li>Data Structures
<li>Data Base Management Systems
<li>Math(Advanced Calculus,Ordinary Differential Equations and Laplace Transforms,Computational Methods,Probability, Statistics and Queuing Theory )
<li>Web Technologies
<li>Operating Systems
<li>Linux Internals

===Special Courses===

*'''Introduction to Modern Application Development'''
**Certificate: http://nptel.ac.in/noc/E_Certificate/noc17-cs40/NPTEL17CS40S1350371171055838.jpg
*'''Introduction to Machine Learning'''
**Certificate: http://nptel.ac.in/noc/E_Certificate/noc17-cs26/NPTEL17CS26S2360766171055838.jpg
*'''Serverless Machine Learning with Tensorflow on Google Cloud Platform by Google Cloud on Coursera. Certificate earned at Saturday, January 27, 2018 7:03 PM GMT'''
**Certificate: https://www.coursera.org/account/accomplishments/certificate/KQY5YQCP3UG4

===Technical Skills===
'''Programming languages:''' C,C++,Python,Javascript, R, Java <br>
'''Web Technologies:''' HTML, CSS,Xml ,Angular, Bootstrap <br>
'''App Devlopment:''' Android Studio <br>
'''Frameworks:''' Django ,ExpressJs <br>
'''Databases:''' Oracle(My-SQL), Mongo-Db,SQlite

==Reasons why Google and Apertium should sponsor Improving of Apertium Website Project==
<p>Apertium has a cool idea of machine translation of languages. But Website is their only gateway for the reflection of idea. So a good User experience would enable a large online crowd to use this site and be helpful in increasing knowledge on their required Language.</p>
<p>When it come to our project improving apertium website,there are feature like synonyms and also gives alternate traslations,colour grading according to the reliability,etc that would help User experience and intern help the growth of organisation.</p>


==Description of how and who it will benefit in society==
If you are intending to disseminate to a conference, which conference are you intending to submit to. Make sure
<p>As when societal aspect comes apertium core idea itself is a good advantage to society because where is no barrier for communication in specific language every one can express their thought in regional which is narrowed down by apertium.</p>
to factor in time taken to run any experiments/evaluations and write them up in your work plan.
<p>As when societal aspect comes apertium core idea itself is a good advantage to society because where is no barrier for communication in specific language every one can express their thought in regional which is narrowed down by apertium.</p>


==Non-Summer-of-Code plans you have for the Summer==
List your skills and give evidence of your qualifications. Tell us what is your current field of study,
<p><li>I have my exam schedule during April 19-29.As per Gsoc Schedule results would be out on April-23.So I have 2 exams in-between the schedule although real coding would start at May-14 for which is lot of preparation gap for gsoc coding.</p>
major, etc. Convince us that you can do the work.
<p> <li>So except the for the exam day community bonding session i would work on weekly about 35-40 hrs.</p>


==Coding Challenges==
List any non-Summer-of-Code plans you have for the Summer, especially employment, if you are applying for
#Installed both apertium-html-tools and apertium-apy from their respective git repositories i.e, https://github.com/apertium/apertium-html-tools and https://github.com/apertium/apertium-apy.
internships, and class-taking. Be specific about schedules and time commitments. we would like to be sure you have
#Tried To resolve issue [https://github.com/apertium/apertium-html-tools/issues/114 #114] in apertium-html-tools(https://github.com/apertium/apertium-html-tools/issues) and sent pull request [https://github.com/apertium/apertium-html-tools/pull/304 | #304]
at least 30 free hours a week to develop for our project.
#<p>The above is about Getting rid of inline styles in index.html.in file in apertium-html-tools file so the approach was basically remove styles in index.html.in file give them ids and refer these ids in external styling sheet, but in the due course of solving this issue I frequently interacted with my mentor Sushain and other organisaton members like Jonathan etc and finally got to a conclusion that apertium is slowly migrating to bootstrap-v4 so found some classes in bootstrap-v4 and placed these in general.css and remaining styles in translation.css.
#Started to work on issues related back-end in apertium-apy[https://github.com/apertium/apertium-apy/pull/61| #61]

Latest revision as of 18:40, 27 March 2018

Contact Information[edit]

Name: Aditya
E-mail address: adityaprayaga@gmail.com
Location: Hyderabad, India.
Phone Number: +91-8106805681
GitHub: https://github.com/aditya-369
IRC: aditya_369
Languages: Telugu(native), English, Hindi

Why is it that you are interested in Apertium?[edit]

I find myself immensely interested in the concepts of Web Development and NLP and as apertium is moving forward to improve its website i am even more excited to work on this project. As a enthusiastic Web Developer i find apertium to be a great step to my propensity which may come to realisation

In Apertium, not only the languages of prominent countries but also the regional languages of states are also given importance which makes Apertium unbiased and there is a healthy collaboration which builds good work atmosphere among the developers.

Moreover, many machine translation systems are available at present which are mostly commercial. But Apertium is an open-source and uses single language-independent specification, to allow for the ease of contributing to Apertium, more efficient development, and enhancing the project's overall growth.

Which of the published tasks are you interested in? what do you plan to do?[edit]

I am excited to work on the project Improving Apertium website which is listed as 1.8 idea under the published list of ideas.

Work Flow Details[edit]

Apertium has a pretty cool website already but,this is an opportunity that helps me in improving Apertium website and make it cooler than it is of now.So Coming to work flow details it is basically split into three phases as number of tasks listed in are also three i.e,

  • Phase-1: Dictionary Look-Up Mode for single-word translations
  • Phase-2: Colour Grading according to the reliability of translation
  • Phase-3: Make language detection work properly and Suggestion styling if people choose an unlikely source language

    Phase-1[edit]

    Dictionary Look-Up Mode for single-word translations

    According to the task set of dictionary look-up for single-word translations, there needs to be a back-end module developed in python that would take language pairs and word as input parameters and these parameter are useful in morphological analyser phase as this phase segments the word and looks up in language dictionaries. Also for frontend part there needs to be a Check Box or enable button to enable the dictionary Look-Up Mode.I also referred to previous ideas in [1].

  • Dictionary Look-Up Mode should give synonyms and alternative translations

    Adding Check Box or enable button to enable the dictionary Look-Up Mode which will give a division under target language division to display the synonyms and alternate translations,So there also back end module for this written in python so as the look up for similar meaning words would be fast and accurate,to accomplish this we nee to maintain links between similar words or lists in python is also another alternative.

  • Dictionary Look-Up Mode should rank the translations by likelihood

    As above Dictionary look up would give alternate translation words which are accordingly ranked by the above methods

    • Front-End:
    1. A check-Box or enable button under "Instant translation check box" if checked or enabled that allows to see synonyms to for translated word.These synonyms would be showed in div under the space in destination Language look-up.

    2. Add probability bars to each alternative translation.These probability bars(visualisation) are obtained using matplotlib library in python and the probabilities show the likelihood of translation.

    • Back-End:
    1. Conditions are written about what would enable/disable(1/0) dictionary mode and for each value separate code is written so that the module gives the synonyms and alternate translations.

    2. As above alternate translations appear they are ranked according to the ranking methods and will be visualised.Any ranking methods like WER(Word-Error Rate),etc can be used in order to rank.

    Phase-2[edit]

    Colour Grading according to the reliability of translation

  • Colour Grading according to the reliability:

    Colour Grading according to the reliability of translation is not as simple as it looks. There needs to be proper reliability function used for example WER(word-Error Rate) which helps in calculating probability so that this value helps in Colour grading in front-end development

    • Front-End:'
    1. I would like to display the more reliable translation using green and decrease its brightness accordingly

    2. Updating existing BootStrap of Apertium Website to Version-4,Solving some more issues on apertium-html-tools like apertium cannot translate on git

    • Back-End:
    1. WER Explanation:

    Definitions:

  • S is the number of substitutions,
  • D is the number of deletions,
  • I is the number of insertions,
  • C is the number of the corrects,
  • N is the number of words in the reference (N=S+D+C)
    This is used to build the reliability function and from this we can get the number and use that in front-end to label by colour.

    Note:As this is a 4-week also would like to update existing bootstrap to bootstrap-v4 if time permits.

    Phase-3[edit]

    Make language detection work properly and Suggestion styling if people choose an unlikely source language

  • Styling(did you mean) when people choose an unlikely source language:

    When Users Knowingly or Unknowingly choose unlike source language the this module would give a alert box or indication message which states the original source or expected source language.

  • Make language detection work properly:

    Language detection is an existing feature in apertium but by adding the above "did you mean" feature user would Know what is correct Language

    • Front-End:
    1. If user choose unlikely source language then a "red alert" or dialog box appears having "did you mean this" source language.

    • Back-End: Here in Back-End there are two modules to be developed
    1. A module for integrating with front-End styling of "did you mean" is developed by checking alphabets matching Language pair sequentially

    2. A module developed in python that would make language detection work properly by increasing the accuracy of detection of language by optimising search patterns.This module will take the word given by user and verifies syntax or format over languages by /identifyLang function already in existing apertium-apy

    Work plan[edit]

    Phase-1,Weeks 1-4[edit]

    • Week 1: Front-End module for Dictionary Look-Up Mode with synonyms and alternative translations.
    • Week 2: Back-End module for Dictionary Look-Up Mode with synonyms and alternative translations.
    • Week 3: Back-End module for Dictionary Look-Up Mode ranks the translations by likelihood.
    • Week 4: Front-End module for Dictionary Look-Up Mode ranks the translations by likelihood
    • Deliverable #1: June 11-13

    Phase-2,Weeks 5-8[edit]

    • Week 5: Back-End module for Colour Grading according to the reliability function(Word-Error Rate(WER)).
    • Week 6: Back-End module for Colour Grading according to the reliability function(Word-Error Rate(WER)).
    • Week 7: Front-End module for Colour Grading according to the reliability
    • Week 8: Update Bootstrap to Bootstrap V-4 and also resolve issues in Apertium-apy,Apertium-html-tools
    • Deliverable #2: July 9-11

    Phase-3,Weeks 9-12[edit]

    • Week 9: Back-End module for styling("did you mean") if people choose an unlikely source language.
    • Week 10: Front-End module for styling("did you mean") if people choose an unlikely source language.
    • Week 11: Study Various methods to increase accuracy get the apt method and start building model.
    • Week 12: Back-End module for making language detection work properly by increasing the accuracy of detection.
    • Final Delivery: August 6 - 14
    • Project completed

      Apertium Website will finally,
      + have "dictionary lookup" mode for single-word translations
      + give synonyms and alternative translations
      + rank the translations by likelihood
      + have mode that colours the resulting translation depending on how reliable it is
      + make language detection work properly
      + does "did you mean" style if people choose an unlikely source language.


    Above Week 5,Week 11 Would not be completely coding instead a specific time period is give so that to learn the required material as to optimise the performance of features in website.

    Education and Skills[edit]

    I am an enthusiastic 3rd year undergrad currently pursuing my specialisation in Computer Science engineering at VNR Vignana Jyothi Institute of Engineering and Technology, Hyderabad, India.

    University Courses[edit]

  • Design and Analysis of Algorithms
  • Object Oriented Analysis and Design
  • Formal Languages and Automata Theory
  • Compiler Design
  • Data Structures
  • Data Base Management Systems
  • Math(Advanced Calculus,Ordinary Differential Equations and Laplace Transforms,Computational Methods,Probability, Statistics and Queuing Theory )
  • Web Technologies
  • Operating Systems
  • Linux Internals

    Special Courses[edit]

    Technical Skills[edit]

    Programming languages: C,C++,Python,Javascript, R, Java
    Web Technologies: HTML, CSS,Xml ,Angular, Bootstrap
    App Devlopment: Android Studio
    Frameworks: Django ,ExpressJs
    Databases: Oracle(My-SQL), Mongo-Db,SQlite

    Reasons why Google and Apertium should sponsor Improving of Apertium Website Project[edit]

    Apertium has a cool idea of machine translation of languages. But Website is their only gateway for the reflection of idea. So a good User experience would enable a large online crowd to use this site and be helpful in increasing knowledge on their required Language.

    When it come to our project improving apertium website,there are feature like synonyms and also gives alternate traslations,colour grading according to the reliability,etc that would help User experience and intern help the growth of organisation.

    Description of how and who it will benefit in society[edit]

    As when societal aspect comes apertium core idea itself is a good advantage to society because where is no barrier for communication in specific language every one can express their thought in regional which is narrowed down by apertium.

    As when societal aspect comes apertium core idea itself is a good advantage to society because where is no barrier for communication in specific language every one can express their thought in regional which is narrowed down by apertium.

    Non-Summer-of-Code plans you have for the Summer[edit]

  • I have my exam schedule during April 19-29.As per Gsoc Schedule results would be out on April-23.So I have 2 exams in-between the schedule although real coding would start at May-14 for which is lot of preparation gap for gsoc coding.

  • So except the for the exam day community bonding session i would work on weekly about 35-40 hrs.

    Coding Challenges[edit]

    1. Installed both apertium-html-tools and apertium-apy from their respective git repositories i.e, https://github.com/apertium/apertium-html-tools and https://github.com/apertium/apertium-apy.
    2. Tried To resolve issue #114 in apertium-html-tools(https://github.com/apertium/apertium-html-tools/issues) and sent pull request | #304
    3. The above is about Getting rid of inline styles in index.html.in file in apertium-html-tools file so the approach was basically remove styles in index.html.in file give them ids and refer these ids in external styling sheet, but in the due course of solving this issue I frequently interacted with my mentor Sushain and other organisaton members like Jonathan etc and finally got to a conclusion that apertium is slowly migrating to bootstrap-v4 so found some classes in bootstrap-v4 and placed these in general.css and remaining styles in translation.css.

    4. Started to work on issues related back-end in apertium-apy#61