What's the weirdest Wilaya's way of talking? [DRAFT] [MEMOIR PARODY] [for learning purposes]
(I really don't know what the hell I'm doing. This thing doesn't sound very boring/serious/academic. I must be doing it wrong OvO)
Gamification
Case study: A crowdsourcing system for building an English-Darja bilingual text corpus
Djalil Dreamski
Posted in fulfillment of the requirements for the degree of Master in Meaninglessness, October 2018
Due to the pervasive anti-intellectualism in Algeria, relying on the Algerian community's serious collaboration to do anything serious is hopeless. In My Mean Memoir, I propose directing Algerians' primitiveness towards building a useless dataset. This data can be used in sociolinguistic research, machine translation, and other Natural Language Processing tasks.
First and foremost, I have to thank Shinedown for giving me the Energy to be a proud Outcast, for teaching me to Sin with a Grin, and for teaching me that being unapologetic is all what one needs to succeed in life.
To Abdou, I will always be in debt; you have always been a friend, a supporter, and a mentor.
I dedicate this junk to nobody.
You think that by crying to me
Looking so sorry that I'm gonna believe
You've been infected by a social disease
Well, then take your medicine
I created the sound of madness
Wrote the book on pain
Somehow I'm still here to explain
That the darkest hour never comes in the night
-- Sound of Madness, Shinedown
- Abstract
- Acknowledgment
- Quote
- Concepts
- Existing Works
- Introduction
- System Design
- Implementation
- Methodology/Results/Conclusion
- Bibliography/References
- Crowdsourcing
- Gamification (competitive)
- Xenophobia, regionalism, outgroup hostility (and mockery)
- Languagism
- Self-representation (and pride)
Just 'Wikipedia' them for God's sake!
The Google Translate Community uses crowd-sourcing to improve its translations. Users gain points by adding translations or judging others'.
Tatoeba, from Wikipedia:
Tatoeba.org is a free collaborative online database of example sentences geared towards foreign language learners. Its name comes from the Japanese term "tatoeba" (例えば tatoeba), meaning "for example". Unlike other online dictionaries, which focus on words, Tatoeba focuses on translation of complete sentences. In addition, the structure of the database and interface emphasize one-to-many relationships.
How is our project different from them? Ours is not serious. Period.
It all started after I finished reading Abdou's memoir and scratched some unreadable shit in 2018-08-20...
"I Am Dz And I Speak English" is a Facebook group with over 200K members. Most of these members are Algerian and know both Darja (AKA Algerian Arabic) and (to varying degrees) English. They are our target.
In that group, users highly engage with posts of the forms, "How do you say in your Wilaya?" and, "How do you say in English?"
The whole point is to provoke Algerians to show off their cool ways of talking, to defend their dialects, or to mock others'. Basically using the concepts mentioned above.
Browsing English sentences (automatically sorted, or filtered by tags), users can add translations (Darja); if the Wilaya's number is not specified, the user's Wilaya will be assumed.
Users can react to translations: Assessing their accuracy and ridiculousness. Reactions = {LOL/true, Mmm/unsure, Nah/wrong}
To stimulate the folks, low quality sentences would be used (that talk about 'love', relationships, and impolite/offensive/insulting topics...)
It serves a similar purpose as 'reactions':
-
Given a Darja-English phrase, the user can:
- Enter the Wilaya's number
- Skip if cannot decide
- Mark as spam
-
To make it less boring, score the user's performance
To encourage users to participate and compete, we introduced the "LOLest List": A dynamically updated list of the Wilayas/users/phrases with the most "LOL" reactions.
Created using Microsoft Visio Pro 2016
I implemented practically nothing. Ain't good with frameworks.
All requests are JSON representations that get POSTed to a single entry point (/api.js
); the same goes with responses.
In addition, the HTTP code is always OK
, regardless of the result.
const req = {
v: 0,
action: 'login',
user: 'malice',
pass: 'GU3SS'
}
const res = {
type: 'loginError',
message: 'User or password is not correct'
}
Software and hardware used:
-
Atom is a code editor developed by GitHub.
-
Vue, from Wikipedia
Vue.js is an open-source JavaScript framework for building user interfaces. Integration into projects that use other JavaScript libraries is simplified with Vue because it is designed to be incrementally adoptable. Vue can also function as a web application framework capable of powering advanced single-page applications.
-
Vuetify is an implementation of Google's Material Design, built for Vue.
-
Google Chrome for testing the web app:
- Android 6.0 on Condor P6 Pro LTE
- Windows 10 Pro 64-bit on HP 255 G1 Notebook PC (4GB RAM, 1.48 GHz)
- We (as in, "I") manually examined 5% of users' submissions.
- Our nonexistent app generated no data. Most of them (72%) are spam. The rest (28%) are badly formatted and unusable.
- This was a total waste of time.
-
Brian Mulloy (2012), Web API Design: Crafting Interfaces that Developers Love
-
How to Write Your Thesis. https://www.ldeo.columbia.edu/~martins/sen_sem/thesis_org.html
WTFPL