Page MenuHomePhabricator

Launch experimental API for Wikidata-based topic model
Closed, ResolvedPublic

Description

Host publicly-accessible API for Wikidata-based topic model. This topic model was part of the analysis of the reader demographics surveys and will support replication of that work and additional explorations.

Requirements
More details

Event Timeline

Weekly update: no work yet on wikidata-based topic model.

Weekly update:

  • Launched prototype of API: https://tools.wmflabs.org/wiki-topic/
  • TODOs:
    • Write user javascript for wikis to automatically grab article topics a la https://en.wikipedia.org/wiki/User:EpochFail/DraftTopic.js
    • Coordinate with Diego to ensure uptime for API
    • Improve documentation / styling for those who directly visit API
    • Retrain model for new, expanded topic taxonomy
    • Optional expansion:
      • Add LIME-based explanations for predictions
      • Give user more control over how predictions are post-processed -- e.g., whether the presence of geographic coordinates is necessary for Geography predictions

Weekly update:

  • Improved wiki-topic interface so it's easier to query
  • Drafted user script for automatically querying for an article's topic predictions but I do not recommend running it right now as toolforge isn't a trusted domain on Wikipedia for making content requests (see T28508): https://en.wikipedia.org/wiki/User:Isaac_(WMF)/WikidataTopic.js
  • I added a short disclaimer statement to the interface noting that it's experimental and no personal data is collected. I asked the cloud team via IRC whether they had other suggestions for privacy policies to link to but they indicated that there are no standard terms etc. that they recommend including.
  • Note: uptime does not seem to be an issue with toolforge so I don't think that I have to worry about keeping the server awake!

Weekly update:

  • Spoke with James Forrester about the user script making requests to toolforge and how that causes security warnings. He indicated that hopefully in the near future, scripts would be blocked from making those requests unless the user added toolforge to a list of trusted domains, which would be supported behavior. I will wait for these changes to be made before recommending that people use the script.
  • Still to do: update to new topic taxonomy but then I think this task can be reasonably closed out.

@Isaac thanks for the update. Given that we want to use this task to build a template for services we put in toolforge, please keep the task open until we finalize and update the design. I ping Diego Q. now with the request.

please keep the task open until we finalize and update the design.

Yes, thanks for the reminder. I updated the task description so that would be more clear too.

@Isaac I talked to Diego Q and he's ready to help. Can you prepare a doc that contains the information that we want the skeleton of any tool page (be it gapfinder or wiki-topic) to have? You can assume that the header and footer of the page are places where we want to have fixed type of content and what goes in between those parts is flexible from tool to tool. Ping me once you have it and I'm happy to do a pass and make changes. If we can send this out to Diego no later than early next week, that'd be great. (I asked him to start from the tools pages and then move to meta.)

@Isaac thank you. I reviewed and left some comments. Please run it by the team and ask that they get back to you in 1-2 days with feedback. I think this is almost ready to be sent to Diego Q on Tuesday/Wednesday. Thanks!

Weekly report: wrote down requirements for standard API template and sent out to team for feedback

@leila No additional comments added to the etherpad so safe to share with Diego Q. I did disagree that some of the description of tool purpose should be part of the template so we might want to resolve that before sending on. And let me know if you'd like me to pass along or if you'll send the email.

Also, weekly update that this was the main progress -- getting feedback on UI requirements.

For ease: https://etherpad.wikimedia.org/p/research-toolforge-template

@Isaac thanks! I'll email Diego now and will cc you.

Weekly update:

Weekly update:

  • Presented learnings to team in weekly meeting
  • No updates from Diego Q. regarding header/footer design
  • Began fielding Outreachy applicants for project that is aimed at productionizing this model

@Isaac please ping Diego Q. and let him know that the deadline for us to receive the final design is March 15 and you'd like to have some chance to iterate with him. (He knows the deadline from the other thread with Jonathan).

@leila thanks for the reminder -- email sent.

Weekly update:

  • Clarified a few questions from DQ but still waiting for a first draft. Request sent for an update.

Weekly update:

  • Continued back-and-forth with DQ about requirements for the template.
  • TODO: do a more complete pass on the initial draft that was sent to make sure it meets requirements about minimal use of javascript etc.

Weekly update:

  • No progress though the vast majority of the work has been completed (the Toolforge API has been live for a while and much of the template has been designed; just final iterations needed) -- I will check in with DQ this week again.

Weekly update: still waiting on DQ. @leila did you get the chance to check in with him?

I just pinged them. I'll write back when I know more.

I heard back. Diego feels comfortable that he can finish the designs by the end of this week. That's what we agreed on. Please expect an email from him.

FYI I added a row in the documentation table for this. Feel free to improve

Sounds good, I'll take a look. A good reminder too that I need to update my existing API to use the template.