I am trying to get an algorithm that does automatic assignment based on the following
1. An author uploads a document to a database. While uploading, he also indicates keywords that best describes that paper.
2. A reviewer gets assigned a certain number of the uploaded papers for subsequent reviewing and grading. When the reviewer registers, he also chooses from a set of 40 areas of speciality that he is most interested in.
3. The system uses the keywords of the papers and compares these with the interests selected by the reviewer and decides which paper(s) to assign to which reviewer(s).
4. After the assignment, each reviewer can view the specifically assigned papers.