Source code for nifigator.multisets

# -*- coding: utf-8 -*-

"""
"""

from fractions import Fraction
from collections import Counter


[docs]def jaccard_index(c1: set = None, c2: set = None): """ Function to calculate the Jaccard index of two sets """ denom = len(c1 | c2) if denom != 0: return Fraction(len(c1 & c2), denom) else: return 0
[docs]def containment_index(c1: set = None, c2: set = None): """ Function to calculate the containment of set B in set A """ denom = len(c1) if denom != 0: return Fraction(len(c1 & c2), denom) else: return 0
[docs]def merge_multiset(d: dict = None): """ Function to calculate the multiset from a dict of phrases """ x = Counter() for item in d.values(): x += item return x