openjournals / whedon-api

A small service that provides the basic Whedon API
MIT License
6 stars 14 forks source link

Automated reviewer suggestions #2

Open Kevin-Mattheus-Moerman opened 8 years ago

Kevin-Mattheus-Moerman commented 8 years ago

It would be great if @whedon could create a list of potential reviewers. E.g. by asking:

@whedon suggest reviewers

Then the editor could check out the list and make a selection to invite. @whedon could search using certain keywords and the name of a programming language. For instance do a GitHub search for "biomechanics matlab" in GitHub and you get: image The keywords could be 1) provided by the author, 2) harvested from the submission (e.g. the title, the paper, the README.md), or 3) given by the editor. If the editor provides them perhaps we could do:

@whedon suggest reviewers keyword1 keyword2

Next it could harvest a list of authors for the retrieved projects and present them to the editor. Perhaps the search can be made a bit smarter than this too. For instance here is an empty project matching the search presented above: image So the list of potential reviewers could be ranked and a top 10 could be presented. The ranking could be based on whatever we like, for instance the degree of match with the keywords, the reputation of the potential reviewers, and the level of contribution/commit activity for works associated with the keywords. Either way it seems possible to automate a search for potential reviewers.

Kevin-Mattheus-Moerman commented 8 years ago

This site is useful: https://developer.github.com/v3/search/

Here is a search for repositories with the keyword biomechanics, the language MATLAB and the returned result is sorted to number of stars: https://api.github.com/search/repositories?q=biomechanics+language:matlab&sort=stars&order=desc

So the above could be used for:

@whedon list related repos

Searching for users is also shown there. Like searching for users named Kevin that use MATLAB one uses: https://api.github.com/search/users?q=kevin+language:matlab

Not sure how to use keywords to search for an author, rather then something like their name. Perhaps there is a way to retrieve users from a list of repos. Like look through the list of repos found and list contributors. Perhaps using the info here: https://developer.github.com/v3/repos/#list-contributors Which says:

List contributors to the specified repository, sorted by the number of commits per contributor in descending order.

arfon commented 7 years ago

We also now have all of the reviewers in a hosted form (Google Doc/Sheet) so it's possible we could search those for functionality like this.