Grants:Programs/Wikimedia Community Fund/Rapid Fund/QA infrastructure and tools to fix problems on Wiktionary (ID: 22678255)

statusUnder review
QA infrastructure and tools to fix problems on Wiktionary
proposed start date2024-07-16
proposed end date2024-10-22
budget (local currency)5000 USD
budget (USD)5000 USD
grant typeIndividual
funding regionESEAP
decision fiscal year2023-24
applicant• Tbm
organization (if applicable)• N/A

This is an automatically generated Meta-Wiki page. The page was copied from Fluxx, the grantmaking web service of Wikimedia Foundation where the user has submitted their application. Please do not make any changes to this page because all changes will be removed after the next update. Use the discussion page for your feedback. The page was created by CR-FluxxBot.

Applicant Details

edit
Main Wikimedia username. (required)

Tbm

Organization

N/A

If you are a group or organization leader, board member, president, executive director, or staff member at any Wikimedia group, affiliate, or Wikimedia Foundation, you are required to self-identify and present all roles. (required)

N/A

Describe all relevant roles with the name of the group or organization and description of the role. (required)


Main Proposal

edit
1. Please state the title of your proposal. This will also be the Meta-Wiki page title.

QA infrastructure and tools to fix problems on Wiktionary

2. and 3. Proposed start and end dates for the proposal.

2024-07-16 - 2024-10-22

4. Where will this proposal be implemented? (required)

Philippines

5. Are your activities part of a Wikimedia movement campaign, project, or event? If so, please select the relevant project or campaign. (required)

Other (please specify) Wiktionary

6. What is the change you are trying to bring? What are the main challenges or problems you are trying to solve? Describe this change or challenges, as well as main approaches to achieve it. (required)

The aim of this project is to create a set of tools and libraries that will make it easier to fix common problems on Wiktionary.

The project consists of two parts:

  1. Create a Python module/library that assists in finding and fixing problems on Wiktionary.
  2. Implement a number of fixes for common problems (using this library).

Specifically, the Python module/library will provide:

  • An abstraction of Wiktionary entries in Python, which will make it easier to obtain and modify different parts of Wiktionary entries. Examples for obtaining of information: get etymology section of an entry, or find the descendants of an entry. Examples for modifications: adding a reference to an entry.
  • An abstraction in Python for changes of an entry. This will make it easier to create tested and maintained Python code for specific fixes.

The Python module will built upon an existing Python module I developed as part of a previous Rapid Grant project. The source code is open source (GPLv3) and available on GitHub.

In terms of fixes, I will pick around 10-15 common problems and implement fixes using this new Python library. This code will be documented well and will therefore serve as a showcase of the Python module, so other editors can implement their own fixes. Furthermore, I will run the code and apply the fixes to Wiktionary, leading to hundreds or thousands of fixes on Wiktionary.

I have already fixed a wide-range of problems on Wiktionary manually or using ad-hoc Python scripts. An overview of the fixes is available (with links to example fixes). This effort has led to thousands of fixes already, but the code itself is not reusable/shareable. The aim of the present proposal is to create infrastructure to fix such problems in a better way (more maintained, with less code, more reliable, better tested, etc).

In addition to these fixes, I maintain a list of problems I've noticed but not fixed. I will pick 10-15 (or more) common problems from this list to implement as part of this project.

I will give priority to issues that make Wiktionary harder to consume in a programmatic manner. One problem of Wiktionary is that there's a lot of inconsistencies and syntax errors, making it hard to extract data from Wiktionary. This project aims to improve this problem. One of my personal long-term plans is to integrate Wiktionary with Wikidata and cleaning up inconsistencies and other problems on Wiktionary will make that easier in the future.

The primary focus will be on the English Wiktionary. Time allowing, basic support for other Wiktionary editions (which use completely different entry layout and templates) will be provided.

7. What are the planned activities? (required) Please provide a list of main activities. You can also add a link to the public page for your project where details about your project can be found. Alternatively, you can upload a timeline document. When the activities include partnerships, include details about your partners and planned partnerships.

The planned activities are:

  • Creation a Python abstraction of Wiktionary entries (in order to obtain information in a programmatic manner)
  • Creation of Python code to modify Wiktionary entries
  • Creation of Python abstraction of fixes
  • Documentation of Python module
  • Implement 10-15+ fixes using this code
  • Apply fixes to Wiktionary and improve tools and Python library
  • Discussion of tools with community and further refinement
  • Sharing of output with other editors


8. Describe your team. Please provide their roles, Wikimedia Usernames and other details. (required) Include more details of the team, including their roles, usernames, Wikimedia group, and whether they are salaried, volunteers, consultants/contractors, etc. Team members involved in the grant application need to be aware of their involvement in the project.

Martin Michlmayr (User:tbm) - salaried. I will implement this project in close cooperation with the Wiktionary community. I have extensive experience with Quality Assurance (QA) efforts, both inside of Wiktionary and in the open-source community (particularly Debian where I filed thousands of bug reports). I have fixed thousands of quality issues on Wiktionary; an example list of fixes I made on Wiktionary can be found here: https://en.wiktionary.org/wiki/User:Tbm/QA/Fixes

I also run a bot that fixes a number of issues automatically. I hope to use this Python module to improve the bot. See https://en.wiktionary.org/wiki/Special:Contributions/KamusiBot

With the help of these tools, I will create lists of issues found in various languages which can be used by volunteer editors of those language to address these issues. I have worked with Wiktionary editors of other languages before, for example by creating a list of wrong hyphenation patters for various languages. This has resulted to many fixes on Wiktionary for a number of languages. See https://en.wiktionary.org/wiki/User:Tbm/QA/Hyphenation

9. Who are the target participants and from which community? How will you engage participants before and during the activities? How will you follow up with participants after the activities? (required)

The target audience are Wiktionary editors who want to fix a wide range of issues in a programmatic manner. This infrastructure will make this easier.

Initially, the target is English Wiktionary but the hope is to extend some functionality to other editions of Wiktionary. (I've had some contact with an admin of the Swedish Wiktionary, so this would be a good target.)

10. Does your project involve work with children or youth? (required)

No

10.1. Please provide a link to your Youth Safety Policy. (required) If the proposal indicates direct contact with children or youth, you are required to outline compliance with international and local laws for working with children and youth, and provide a youth safety policy aligned with these laws. Read more here.

N/A

11. How did you discuss the idea of your project with your community members and/or any relevant groups? Please describe steps taken and provide links to any on-wiki community discussion(s) about the proposal. (required) You need to inform the community and/or group, discuss the project with them, and involve them in planning this proposal. You also need to align the activities with other projects happening in the planned area of implementation to ensure collaboration within the community.

I have discussed these ideas with a number of editors on Wiktionary Discord.

12. Does your proposal aim to work to bridge any of the content knowledge gaps (Knowledge Inequity)? Select one option that most apply to your work. (required)

Language

13. Does your proposal include any of these areas or thematic focus? Select one option that most applies to your work. (required)

Culture, heritage or GLAM

14. Will your work focus on involving participants from any underrepresented communities? Select one option that most apply to your work. (required)

Linguistic / Language

15. In what ways do you think your proposal most contributes to the Movement Strategy 2030 recommendations. Select one that most applies. (required)

Innovate in Free Knowledge

Learning and metrics

edit
17. What do you hope to learn from your work in this project or proposal? (required)

While there are a number of QA tools for Wiktionary, a lot of work is needed in this area. I'm curious if the creation of these tools will prompt the community to build more tooling. This aligns well with a similar effort: https://en.wiktionary.org/wiki/Wiktionary:Todo/Lists

Furthermore, I'd like to see if these tools will lead to more cooperation among the different Wiktionary communities.

Finally, we will see if this will prompt a discussion about moving some Wiktionary data to Wikidata in order to remove duplication among the different Wiktionary communities.

18. What are your Wikimedia project targets in numbers (metrics)? (required)
Number of participants, editors, and organizers
Other Metrics Target Optional description
Number of participants 10
Number of editors 10
Number of organizers 1
Number of content contributions to Wikimedia projects
Wikimedia project Number of content created or improved
Wikipedia
Wikimedia Commons
Wikidata
Wiktionary 2000
Wikisource
Wikimedia Incubator
Translatewiki
MediaWiki
Wikiquote
Wikivoyage
Wikibooks
Wikiversity
Wikinews
Wikispecies
Wikifunctions or Abstract Wikipedia
Optional description for content contributions.

N/A

19. Do you have any other project targets in numbers (metrics)? (optional)

No

Main Open Metrics Data
Main Open Metrics Description Target
N/A N/A N/A
N/A N/A N/A
N/A N/A N/A
N/A N/A N/A
N/A N/A N/A
20. What tools would you use to measure each metrics? Please refer to the guide for a list of tools. You can also write that you are not sure and need support. (required)

Since I'm applying fixes, it's fairly easy to keep track of the changes I'm making. I understand that there are tools available and I intend to look into them (I'm not familiar with them as of now).

Financial proposal

edit
21. Please upload your budget for this proposal or indicate the link to it. (required)

https://docs.google.com/spreadsheets/d/1KYFIGovNSRd8vPuYPBt6k-038L6lggd-fqkzVTJsDhw/edit?usp=sharing


22. and 22.1. What is the amount you are requesting for this proposal? Please provide the amount in your local currency. (required)

5000 USD

22.2. Convert the amount requested into USD using the Oanda converter. This is done only to help you assess the USD equivalent of the requested amount. Your request should be between 500 - 5,000 USD.

5000 USD

We/I have read the Application Privacy Statement, WMF Friendly Space Policy and Universal Code of Conduct.

Yes

Endorsements and Feedback

edit

Please add endorsements and feedback to the grant discussion page only. Endorsements added here will be removed automatically.

Community members are invited to share meaningful feedback on the proposal and include reasons why they endorse the proposal. Consider the following:

  • Stating why the proposal is important for the communities involved and why they think the strategies chosen will achieve the results that are expected.
  • Highlighting any aspects they think are particularly well developed: for instance, the strategies and activities proposed, the levels of community engagement, outreach to underrepresented groups, addressing knowledge gaps, partnerships, the overall budget and learning and evaluation section of the proposal, etc.
  • Highlighting if the proposal focuses on any interesting research, learning or innovation, etc. Also if it builds on learning from past proposals developed by the individual or organization, or other Wikimedia communities.
  • Analyzing if the proposal is going to contribute in any way to important developments around specific Wikimedia projects or Movement Strategy.
  • Analysing if the proposal is coherent in terms of the objectives, strategies, budget, and expected results (metrics).

Endorse