多重数据如何计算出匹配度

近来在做一个项目,遇到一个难题,希望各位大神帮忙解决一下!
比如你在学校的排名为专业第三,做过两个实习项目,那么和数据库中的专业排名第三,
做过一个实习项目的这条数据的匹配度要怎么计算?

http://blog.csdn.net/johnny710vip/article/details/23703931
http://www.cnblogs.com/William_Fire/archive/2013/02/09/2909499.html
用协同过滤或者聚类算法。

应该可以使用余弦相似度来计算,1楼说的 聚类算法,是不是分类什么的也行呢?