Page MenuHomePhabricator

first version of the algorithm that prioritizes missing sections
Closed, ResolvedPublic

Description

One or more of the following: Interested editors will be able to use recommendation services that will allow them to have relevant information about the articles they want to edit immediately at their repository. Newcomers can more easily contribute to Wikimedia projects. Editathon organizers benefit from automatically generated templates and recommendations that can help them in onboarding new or less experienced editors. More readers will have access to content in their local languages. Developers will be able to surface more diverse set of recommendations for article expansion through their tools.

Event Timeline

diego created this task.Jul 10 2019, 11:01 AM

Considering the feedback obtained in T225136, we conclude that the prioritization should be adapted to the characteristic of the editor being assisted. We can split editors in two disjoint groups, generating two different types of recommendations:

  • Newcomers: For new editors, the prioritization would be done in terms of the most popular sections per language. Based on the outputs produced in T203046, we rank the recommended sections by popularity. A new editor, might not know the importance of adding "References" or "See Also". Similarly, when they are writing a biography, they might not know the importance of adding "Early Life". Therefore, this recommendations would be based on popularity.
  • Experienced Editors: For them, we are interested in finding relevant but not very common sections, so we will filter out the most usual ones, allowing the user itself to blacklist sections, and just giving the most unusual ones that comes out from the API described in T225136.

In summary, the algorithm that prioritizes missing sections is:

Input: User Information (UI); Output  From Section Recommendation API (SR), Article (A), Language (L)
RecSecs = SR(A,L)
If EvaluateTenure(UI) = 'newcomer' then;
  MostUsualSecs = RankByPolularity(RecSecs)
  Return MostUsualSecs
else; 
  NonUsualSecs = BlackList(RecSecs)
  SecsToRecommend = Reverse(RankByPolularity(NonUsualSecs))
  Return SecsToRecommend
diego closed this task as Resolved.Jul 10 2019, 11:17 AM