Difference between revisions of "User:Ayushjain/proposal"
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= <center> '''Apertium GSoC 2019''' </center> <br/><center> |
= <center> '''Apertium GSoC 2019''' </center> <br/><center> Improvements to Apertium Website</center>= |
||
=Contact Information= |
=Contact Information= |
||
Line 13: | Line 13: | ||
= Why is it that you are interested in Apertium? = |
= Why is it that you are interested in Apertium? = |
||
I belong to India, a country with 22 different spoken languages and 720 dialects. Being from a nation with vast languages and a student of Computer Science, I strive to solve the problems in language translation through my knowledge of programming and natural language processing |
I belong to India, a country with 22 different spoken languages and 720 dialects used by a population of 1.3 billion. Being from a nation with vast languages and a student of Computer Science, I strive to solve the problems in language translation through my knowledge of programming and natural language processing. I like the concept of Apertium as an open source language translator as it solves the problem of language translation with ease. As I am a student of Computer Science, I have a keen interest in programming and development. I am proficient in web development and want to apply my knowledge of machine translation by contributing in Apertium. I have an urge to improve open source language translation with Apertium. |
||
= Which of the published tasks are you interested in? What do you plan to do? = |
= Which of the published tasks are you interested in? What do you plan to do? = |
||
I am planning to work on the |
I am planning to work on the '''Improvements to the Apertium website''' |
||
⚫ | |||
# '''Python API/library for Apertium'''<br/> |
|||
# '''Improvements to the Apertium website''' |
|||
⚫ | |||
=Why Google and Apertium should sponsor it?= |
=Why Google and Apertium should sponsor it?= |
||
I have a proper knowledge and experience with development in Python, C++ and JavaScript. Moreover I worked on several projects including areas like web development, opencv, machine learning and natural language processing. The |
I have a proper knowledge and experience with development in Python, C++ and JavaScript. Moreover I worked on several projects including areas like web development, opencv, machine learning and natural language processing. The Google and Apertium sponsorship would motivate me to work on my GSoC project during summer. I want to add certain functionalities to the Apertium website such as dictionary lookups. Getting sponsored by Google and Apertium would help me focus on the project during summers. |
||
=How and who it will benefit in society?= |
=How and who it will benefit in society?= |
||
Adding certain capabilities of Apertium such as dictionary/synonym lookup and webpage translation to the website would increase the functionalities in the Apertium website. This would help in increasing the user base of Apertium and provide an improved language translator to the users. |
|||
=Work Plan= |
=Work Plan= |
||
Line 42: | Line 38: | ||
|- |
|- |
||
| Phase 1 |
| Phase 1 |
||
| Working on |
| Working on adding dictionary/synonym lookup for single-word translations to the website. |
||
| 27 May - 26 June |
| 27 May - 26 June |
||
|- |
|- |
||
| Phase 2 |
| Phase 2 |
||
| Working on improvements to apertium website |
| Working on improvements to apertium website by adding reliability coloring to the synonyms. |
||
| 27 June - 26 July |
| 27 June - 26 July |
||
|- |
|- |
||
Line 66: | Line 62: | ||
| |
| |
||
* Experimenting with apertium modules for windows. |
* Experimenting with apertium modules for windows. |
||
* Developing the understanding of apertium- |
* Developing the understanding of apertium-apy and html-tools package. . |
||
* Writing some sample code to test various features. |
|||
* Trying all the functions of Ittoolbox and writing some sample code. |
|||
* Discussing detailed work flow with mentors. |
* Discussing detailed work flow with mentors. |
||
| Report for next week’s work plan. |
| Report for next week’s work plan. |
||
|- |
|- |
||
| 27 May - 2 June |
| 27 May - 2 June |
||
| Week 1 |
| Week 1: Setting database for dictionary lookups |
||
| |
| |
||
⚫ | |||
* This includes setting the core modules of apertium on windows using apertium-python package on github. |
|||
* Developing database for word table and probabilities(likelihood) of a synonym. |
|||
* Completing the installation script for windows in python. |
|||
| A database with the word pairs and probabilities |
|||
* Fixing bugs stopping apertium to install on windows. |
|||
| An installable prototype for installing apertium on windows. |
|||
|- |
|- |
||
| 3 June - 9 June |
| 3 June - 9 June |
||
| Week 2 |
| Week 2: Adding dictionary lookup in python |
||
| |
| |
||
* Creating python backend for looking up the synonyms. |
|||
* Inspecting the apertium installation and its usage for Jupyter notebook and other such platforms. |
|||
⚫ | |||
* Making the wrapper thinner and using C++ bindings to perform morphological functions. |
|||
⚫ | |||
* Checking the working of language processing tools and its usability in these environments. |
|||
| Working backend for dictionary lookup |
|||
| Complete installation of apertium for windows using pip |
|||
|- |
|- |
||
| 10 June - 16 June |
| 10 June - 16 June |
||
| Week 3: |
| Week 3: Creating dictionary lookup frontend |
||
| |
| |
||
* Creating a proper frontend for the dictionary lookup functionality. |
|||
* Working on creating a SWIG API for lttoolbox. |
|||
⚫ | |||
* Performing morphological analysis using FSTProcessor. |
|||
| A nice frontend for the dictionary lookup |
|||
⚫ | |||
| A working transducer function using SWIG to convert C++ functions in python script. |
|||
|- |
|- |
||
| 17 June - 26 June |
| 17 June - 26 June |
||
| Week 4:Completing the dictionary lookup functionality |
|||
| Week 4: Improving SWIG API. |
|||
| |
| |
||
⚫ | |||
* Improving SWIG API with transducer function using python. |
|||
* |
* Testing the proper working of all feature. |
||
⚫ | |||
⚫ | |||
⚫ | |||
* Evaluation by mentor. |
* Evaluation by mentor. |
||
| Dictionary lookup feature added to the website. |
|||
| Releasing the SWIG API for lttoolbox. |
|||
|- |
|||
|- |
|- |
||
| 27 June - 3 July |
| 27 June - 3 July |
||
| Week 5: |
| Week 5: Reliability Coloring backend |
||
| |
| |
||
* Adding the reliability coloring feature in apertium-apy. |
|||
⚫ | |||
* |
* Deciding the colors to be used for reliability. |
||
| Ranking the synonyms according to the reliability. |
|||
⚫ | |||
⚫ | |||
|- |
|- |
||
| 4 July - 10 July |
| 4 July - 10 July |
||
| Week 6: Completing the reliability coloring backend |
|||
| Week 6: Reliability visualization |
|||
| |
| |
||
* Complete the reliability lookup backend. |
|||
* Coloring the resulting translation depending on how reliable it is. |
|||
* Fixing bugs |
* Fixing the bugs in coloring. |
||
| Coloring the synonyms according to the reliability. |
|||
| Reliability visualization ready for release. |
|||
|- |
|- |
||
| 11 July - 17 July |
| 11 July - 17 July |
||
| Week 7: |
| Week 7: Frontend for reliability loopup. |
||
| |
| |
||
* Working on improving the frontend when a user uses dictionary lookups along with reliability coloring. |
|||
⚫ | |||
| Better UI when using single word translations. |
|||
⚫ | |||
| Functional language detection and did you mean feature. |
|||
|- |
|- |
||
| 18 July - 24 July |
| 18 July - 24 July |
||
| Week 8 |
| Week 8: Updating the website |
||
| |
| |
||
* Adding |
* Adding the functionalities in the Apertium website. |
||
* |
* Fixing the bugs in the implementation. |
||
* Add changes suggested by the mentors. |
|||
⚫ | |||
⚫ | |||
* Evaluation by mentor. |
|||
| Implemented reliability coloring of the synonyms in the website. |
|||
| Improved Apertium website ready for deployment. |
|||
|- |
|- |
||
| 25 July - 31 July |
| 25 July - 31 July |
||
| Week 9: |
| Week 9: Improving language detection |
||
| |
| |
||
* Setting up language detection for development. |
|||
* Debugging apertium-apy by solving new and old issues. |
|||
⚫ | |||
⚫ | |||
| Report on issues in language detection |
|||
| Complete apertium-apy with documentation. |
|||
|- |
|- |
||
| 1 August - 7 August |
| 1 August - 7 August |
||
| Week 10: |
| Week 10: Adding did you mean function. |
||
| |
| |
||
⚫ | |||
* Debugging lttoolbox. |
|||
| Did you mean functionality implementation |
|||
⚫ | |||
⚫ | |||
|- |
|- |
||
| 8 August - 14 August |
| 8 August - 14 August |
||
| Week 11: |
| Week 11: Apertium website finalizing |
||
| |
| |
||
* |
* Complete did you mean feature with implementation on the apertium website |
||
⚫ | |||
* Adding improvements to apertium-html-tools. |
|||
* Preparing the documentation for the website. |
* Preparing the documentation for the website. |
||
| Did you mean functionality added to website. |
|||
| Making website release ready. |
|||
|- |
|- |
||
| 15 August - 21 August |
| 15 August - 21 August |
||
Line 175: | Line 168: | ||
* Reporting unresolved bugs. |
* Reporting unresolved bugs. |
||
* Future preparation and planning. |
* Future preparation and planning. |
||
| Release final production |
| Release final production. |
||
|} |
|} |
||
Line 189: | Line 182: | ||
* Merges : |
* Merges : |
||
** Apertium-apy = |
** Apertium-apy = 2 |
||
* Pull requests : |
* Pull requests : |
||
** apertium-html-tools = 1 open. |
** apertium-html-tools = 1 open. |
||
** Apertium-apy = |
** Apertium-apy = 1 open |
||
I have been working on the issues in html-tools and apertium-apy under the guidance of my mentor. |
I have been working on the issues in html-tools and apertium-apy under the guidance of my mentor. |
||
''Two of my pull request have been merged in which I have : <br/>Added an index page for localhost:2737 in apertium-apy along with unit test written in tornado. <br/>Created source TSV files for the SQL database that convert at build time.'' |
|||
I am working on |
I am working on 2 other pull requests which are still open and involves complex issues. It includes : |
||
* Finding langNames.db using pkg_resources. |
* Finding langNames.db using pkg_resources. |
||
* A responsive navbar with additional apertium features. |
|||
* Creating source TSV files for SQL database. |
|||
Here you can see my github timeline for contributions in Apertium : |
Here you can see my github timeline for contributions in Apertium : |
Latest revision as of 23:18, 30 March 2019
Contents
- 1 Apertium GSoC 2019 Improvements to Apertium Website
- 2 Contact Information
- 3 Why is it that you are interested in Apertium?
- 4 Which of the published tasks are you interested in? What do you plan to do?
- 5 Why Google and Apertium should sponsor it?
- 6 How and who it will benefit in society?
- 7 Work Plan
- 8 Contribution to Apertium
- 9 Education
- 10 Experience
- 11 Non-summer of code plans
- 12 Links
Apertium GSoC 2019
Improvements to Apertium Website [edit]
Contact Information[edit]
Name: Ayush Jain
E-mail address: ayushjainrksh@gmail.com
Alternate email: 17152@iiitu.ac.in
Mobile Number: +91 9045511472 (India)
IRC nick: ayushjain
Github: ayushjainrksh
Timezone: UTC +5.30
Why is it that you are interested in Apertium?[edit]
I belong to India, a country with 22 different spoken languages and 720 dialects used by a population of 1.3 billion. Being from a nation with vast languages and a student of Computer Science, I strive to solve the problems in language translation through my knowledge of programming and natural language processing. I like the concept of Apertium as an open source language translator as it solves the problem of language translation with ease. As I am a student of Computer Science, I have a keen interest in programming and development. I am proficient in web development and want to apply my knowledge of machine translation by contributing in Apertium. I have an urge to improve open source language translation with Apertium.
Which of the published tasks are you interested in? What do you plan to do?[edit]
I am planning to work on the Improvements to the Apertium website Idea. As I am skilled in web development and have appropriate experience working on it, I decided to work on improving Apertium website by contributing to its API called APy and also improve the frontend of the website for better user experience along addition of new functionality.
Why Google and Apertium should sponsor it?[edit]
I have a proper knowledge and experience with development in Python, C++ and JavaScript. Moreover I worked on several projects including areas like web development, opencv, machine learning and natural language processing. The Google and Apertium sponsorship would motivate me to work on my GSoC project during summer. I want to add certain functionalities to the Apertium website such as dictionary lookups. Getting sponsored by Google and Apertium would help me focus on the project during summers.
How and who it will benefit in society?[edit]
Adding certain capabilities of Apertium such as dictionary/synonym lookup and webpage translation to the website would increase the functionalities in the Apertium website. This would help in increasing the user base of Apertium and provide an improved language translator to the users.
Work Plan[edit]
Broad division[edit]
PHASES | OBJECTIVES | TIME |
---|---|---|
Community Bonding Period | Getting to know all the mentors and getting acquainted with complete documentation of apertium. Acknowledge the problem statement and start working on a possible solution with focus on each detail. | 6 May - 26 May |
Phase 1 | Working on adding dictionary/synonym lookup for single-word translations to the website. | 27 May - 26 June |
Phase 2 | Working on improvements to apertium website by adding reliability coloring to the synonyms. | 27 June - 26 July |
Phase 3 | Wrapping up the project with proper documentation and project report. | 27 July - 25 August |
Detailed plan[edit]
WEEK(PERIOD) | BRIEF GOAL | DESCRIPTION | DELIVERABLE |
---|---|---|---|
6 May - 26 May | Community Bonding Period |
|
Report for next week’s work plan. |
27 May - 2 June | Week 1: Setting database for dictionary lookups |
|
A database with the word pairs and probabilities |
3 June - 9 June | Week 2: Adding dictionary lookup in python |
|
Working backend for dictionary lookup |
10 June - 16 June | Week 3: Creating dictionary lookup frontend |
|
A nice frontend for the dictionary lookup |
17 June - 26 June | Week 4:Completing the dictionary lookup functionality |
|
Dictionary lookup feature added to the website. |
27 June - 3 July | Week 5: Reliability Coloring backend |
|
Ranking the synonyms according to the reliability. |
4 July - 10 July | Week 6: Completing the reliability coloring backend |
|
Coloring the synonyms according to the reliability. |
11 July - 17 July | Week 7: Frontend for reliability loopup. |
|
Better UI when using single word translations. |
18 July - 24 July | Week 8: Updating the website |
|
Implemented reliability coloring of the synonyms in the website. |
25 July - 31 July | Week 9: Improving language detection |
|
Report on issues in language detection |
1 August - 7 August | Week 10: Adding did you mean function. |
|
Did you mean functionality implementation |
8 August - 14 August | Week 11: Apertium website finalizing |
|
Did you mean functionality added to website. |
15 August - 21 August | Week 12: Releasing Apertium website |
|
Release Apertium website for users. |
22 August - 26 August | Week 13: Wrapping up |
|
Release final production. |
Contribution to Apertium[edit]
I have been contributing to Apertium for quite a while now.
Here is a list of my contributions various Apertium contributions :
- Issues :
- apertium-html-tools = 1
- apertium-apy = 2
- Merges :
- Apertium-apy = 2
- Pull requests :
- apertium-html-tools = 1 open.
- Apertium-apy = 1 open
I have been working on the issues in html-tools and apertium-apy under the guidance of my mentor.
Two of my pull request have been merged in which I have :
Added an index page for localhost:2737 in apertium-apy along with unit test written in tornado.
Created source TSV files for the SQL database that convert at build time.
I am working on 2 other pull requests which are still open and involves complex issues. It includes :
- Finding langNames.db using pkg_resources.
- A responsive navbar with additional apertium features.
Here you can see my github timeline for contributions in Apertium :
Education[edit]
I am pursuing my degree of Bachelor of Technology in Computer Science Engineering at IIIT Una, India. I am a student of second year enrolled in a four year course of CSE. I have completed my intermediate with 95.2% marks with computer science as additional subject.
Experience[edit]
I have been studying Computer Science for 6 years now, with working experience in core programming languages such as Java, C++, Python, Javascript. I have been a part of several hackathons at college level. I am proficient in competitive programming and algorithm development. I have worked on several projects and build several professional websites many of which can be found on Github. I have been contributing to open source for quite a while now and have worked on several machine learning models in Python and R. Here is my github timeline :
Non-summer of code plans[edit]
Google Summer of Code lies during the summer vacations of the college. I will be able to devote 40 hours per week and more if necessary to Apertium during summer of code. I might have a small vacation plan but that lies in between the Community bonding period and I will be able to manage my work accordingly. I also acknowledge that GSOC is my foremost priority and I won’t be working on any other internship, training or classes if selected for GSOC.
Links[edit]
Linkedin : View Profile
Github : View Contributions
CV : View CV