We generate article normalized scores periodically and make article recommendations for creation based on the existence of normalized scores. Since we (plan to) generate these scores quarterly, there will be cases when new articles are created, while their scores present in the database. Thus we should filter out existing recommendations before returning them for creation.
Description
Description
Details
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Morelike: filter out existing articles | mediawiki/services/recommendation-api | master | +173 -26 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T214074 Productionize article recommender systems | |||
Stalled | None | T203041 Output 2.1: An improved task recommendation API | |||
Resolved | • bmansurov | T213866 Filter out newly created articles |
Event Timeline
Comment Actions
Change 490779 had a related patch set uploaded (by Bmansurov; owner: Bmansurov):
[mediawiki/services/recommendation-api@master] Morelike: filter out existing articles
Comment Actions
Change 490779 merged by Ppchelko:
[mediawiki/services/recommendation-api@master] Morelike: filter out existing articles
Comment Actions
The change's been deployed. Compare the before and after recommendations below. Before creating Ink (in uzwiki), Ink (in Wikidata) is being recommended for creation (2nd item). After creating the article, the recommendation is replaced by something else (Q159964). As a side-note this exposed a previously unknown bug, which the recommendation Q159964 is appearing twice now. I've created a task (T216721) to capture it.
Before
[{"wikidata_id":"Q125576","normalized_rank":0.930232},{"wikidata_id":"Q127418","normalized_rank":0.928457},{"wikidata_id":"Q125576","normalized_rank":0.927625},{"wikidata_id":"Q82622","normalized_rank":0.924255},{"wikidata_id":"Q133036","normalized_rank":0.919053},{"wikidata_id":"Q159964","normalized_rank":0.919053},{"wikidata_id":"Q226697","normalized_rank":0.919053},{"wikidata_id":"Q170124","normalized_rank":0.917277},{"wikidata_id":"Q49848","normalized_rank":0.917277},{"wikidata_id":"Q29334","normalized_rank":0.913319}]
After
[{"wikidata_id":"Q125576","normalized_rank":0.930232},{"wikidata_id":"Q125576","normalized_rank":0.927625},{"wikidata_id":"Q82622","normalized_rank":0.924255},{"wikidata_id":"Q226697","normalized_rank":0.919053},{"wikidata_id":"Q133036","normalized_rank":0.919053},{"wikidata_id":"Q159964","normalized_rank":0.919053},{"wikidata_id":"Q49848","normalized_rank":0.917277},{"wikidata_id":"Q170124","normalized_rank":0.917277},{"wikidata_id":"Q29334","normalized_rank":0.913319},{"wikidata_id":"Q159964","normalized_rank":0.912596}]