ubc tandem language exchange program

8
UBC tandem language exchange matchmaking algorithm Thomas Dang, Masaru Kiyota, Shaffiq Rahemtulla Arts Instructional Support and Information Technology The University of British Columbia http://tandemubc.ca (informational front page) http://tandem.ubc.ca (program registration portal)

Upload: thomas-dang

Post on 15-Apr-2017

298 views

Category:

Education


1 download

TRANSCRIPT

Page 1: UBC Tandem Language Exchange Program

UBC tandem language exchange

matchmaking algorithm

Thomas Dang, Masaru Kiyota, Shaffiq RahemtullaArts Instructional Support and Information Technology

The University of British Columbiahttp://tandemubc.ca (informational front page)

http://tandem.ubc.ca (program registration portal)

Page 2: UBC Tandem Language Exchange Program

Tandem Program IntroductionOne on one matching of users exchanging languages, each user learning from and teaching a language to the otherEach participant can choose up to 3 languages to teach and up to 3 languages that they want to learnEach language chosen must be accompanied by a self-assessed proficiency score based on a standardized index (www.lpitest.ca)Each participant can choose up to 5 meeting time slots, or choose to arrange a meeting time independently with the matched partnerProgram offered twice annually at UBC

Page 3: UBC Tandem Language Exchange Program

Algorithm GoalsCoverage: Match as many pairs of participants as possible out of the population

Quality: Maximize the teaching suitability of each participant to their

counterpart and vice versa Take into account each participants order of preference for learning.

Fairness: Minimize the “benefit gap” between the two participants in each pairOrganization: sort participants evenly into the time slots and have an option to prioritize meeting independently if the meeting rooms are too crowdedEase of use: provide a simple interface with reporting and mass notification emailing

Page 4: UBC Tandem Language Exchange Program

Participant Interface

Participants land on an instruction page, then

can immediately register with a simple

one-page form

The form is designed with Wordpress Gravity Form, thus can easily be modified and managed

Page 5: UBC Tandem Language Exchange Program

Admin Interface

Minimalist one-page admin interface with

one button, result summary at the

bottom, automatic CSV report downloading

option, and an option for sending out mass notification emails to

participants

Page 6: UBC Tandem Language Exchange Program

Algorithm DesignThis is a market matching problem, but with the constraints that i) the “buyer” and “seller” are both in the same population, and ii) one buyer can only be matched with one seller. In other words, this is a “barter market”

All possible barter pairs must be examined—no acceptance or rejection is fixed up front—to find an equilibrium with the highest average mutual benefit and lowest benefit gap, not “the best possible matches for a few, and nothing for everyone else.”

The algorithm’s goal is not to produce the absolute highest total suitability of each pair but to reach “mutual satisfaction” within each pair and equilibrium in the whole population. Thus, the cumulative suitability of a pair is defined as the smaller of two directions

“Wasteful” pairs, between participants that can both teach multiple languages, are given a penalty, so that they will be evaluated after slightly less suitable pairs between one who can teach multiple languages and another who can only teach one.

Another type of wasteful pairs, between participants with multiple mutual time slots, are also given a penalty, but very small, so that only among almost identically suitable pairs, the pair with only one mutual available time is favored, so that students with more availability have a better chance of being matched with those with less availability

Page 7: UBC Tandem Language Exchange Program

Other design featuresCSV report contains not only statistics, but all the information needed for event organizers to conduct each session

The Gravity Form can be duplicated from term to term, and the Admin interface can be simply configured to look at the data of each term specifically, providing a simple and easy-to-recover mean of data backup that is also tied to the exact wording of the forms at each point in time.

The output list of unmatched participants contains a simple visualization of available timeslots per participants, so that organizers can quickly compare participants by eye if they email in manually after the first round matching closed

Page 8: UBC Tandem Language Exchange Program

Service support components & common support tasks1. Wordpress Gravity form - entry point for all participants

Duplicate in wp-admin every term Change time slots on the form if necessary, but make sure field-ID of each question doesn’t

change

2. Admin page to run algorithm Choose which term to point to, then run algorithm as many time as needed to monitor progress Run one final time to send out email notification

3. Participant page Administrators will see final matching status and email sent for all participants Participants will only see their own matching status

4. Algorithm, a standalone LAMP app, reading from the db of the Gravity Forms Modify email template hooks (program start date, first meeting, etc.) at the top of index.php If necessary, replace the text of two email templates (“you were matched” and “you were not

matched”)

5. Informational front page Currently hosted separately from the registration portal and algorithm Can be migrated to the same server as the registration portal and algorithm with relative ease