I have released the reference implementation of our SPEAR ranking algorithm. The library is written in the Python programming language, and should be straight-forward to use. You can install the library via Python’s setuptools or download it directly from GitHub.
Here’s a quick example on how to use it from the Python interpreter:
>>> import spear >>> activities = [ ... (datetime.datetime(2010,7,1,9,0,0), "alice", "http://www.michael-noll.com/"), ... (datetime.datetime(2010,8,1,12,45,0), "bob", "http://www.michael-noll.com/"), ... ] >>> spear_algorithm = spear.Spear(activities) >>> expertise_results, quality_results = spear_algorithm.run()
Get the top user and his expertise score:
>>> expertise_score, user = expertise_results >>> print "%s => %.4f" % (user, expertise_score) alice => 0.5858
Get the top resource and its quality score:
>>> quality_score, resource = quality_results >>> print "%s => %.4f" % (resource, quality_score) http://www.michael-noll.com/ => 1.0000
You can also use the library to simulate the HITS algorithm of Jon
Kleinberg. Simply supply a credit score function
C(x) = 1 to the SPEAR algorithm (see the documentation of the
Feel free to play around with it and send me feedback!