, . doctests, .
def score(x, y, w):
"""
Calcutates directional distributional similarity http://dl.acm.org/citation.cfm?id=1897650
>>> score([1, 2], [1, 3], {1:2, 2:1, 3:1})
0.42857142857142855
"""
return sum(i for i in x if i in y) * w[i] / sum(i for i in x)* w[i]
pip install nose
nosetests --with-doctests
Failed example:
score([1, 2], [1, 3], {1:2, 2:1, 3:1})
Exception raised:
Traceback (most recent call last):
...
NameError: global name 'i' is not defined
----------------------------------------------------------------------
Ran 1 test in 0.531s
FAILED (failures=1)
.
@misha
def score(x, y, w):
"""
Calcutates directional distributional similarity http://dl.acm.org/citation.cfm?id=1897650
>>> score([1, 2], [1, 3], {1:1.5, 2:1.0, 3:1.0})
0.42857142857142855
"""
xx = set(x)
yy = set(y)
return 1.0 * sum(i*w[i] for i in xx & yy) / sum(i * w[i] for i in x)
.
----------------------------------------------------------------------
Ran 1 test in 0.016s
OK
1.0*, :
Failed example:
score([1, 2], [1, 3], {1:2, 2:1, 3:1})
Expected:
0.42857142857142855
Got:
0
.