123456789101112131415161718192021222324 |
- import re, math
- from collections import Counter
- def get_cosine(vec1, vec2):
- """"
- :return the cosine of 2 vectors following the math equation from Wikipedia
- """
- intersection = set(vec1.keys()) & set(vec2.keys())
- numerator = sum([vec1[x] * vec2[x] for x in intersection])
- sum1 = sum([vec1[x] ** 2 for x in vec1.keys()])
- sum2 = sum([vec2[x] ** 2 for x in vec2.keys()])
- denominator = math.sqrt(sum1) * math.sqrt(sum2)
- if not denominator:
- return 0.0
- else:
- return float(numerator) / denominator
- def text_to_vector(text):
- WORD = re.compile(r'\w+')
- words = WORD.findall(text)
- return Counter(words)
|