class_docstr: Wraps NgramAssocMeasures classes such that the arguments of association
  measures are contingency table values rather than marginals.
class_docstr_tok: ["Wraps","NgramAssocMeasures","classes","such","that","the","arguments","of","association","measures","are","contingency","table","values","rather","than","marginals","."]
docstr: Constructs a ContingencyMeasures given a NgramAssocMeasures class
docstr_tok: ["Constructs","a","ContingencyMeasures","given","a","NgramAssocMeasures","class"]
code: def __init__(self, measures):
      """Constructs a ContingencyMeasures given a NgramAssocMeasures class"""
      self.__class__.__name__ = (
          "Contingency" + measures.__class__.__name__
      )
      for k in dir(measures):
          if k.startswith("__"):
              continue
          v = getattr(measures, k)
          if not k.startswith("_"):
              v = self._make_contingency_fn(measures, v)
          setattr(self, k, v)
  
imports: import math
  from abc import ABCMeta, abstractmethod
  from functools import reduce
label_desc: Use image node_id 1 to create a new ContingencyMeasures object  with example: obj = ContingencyMeasures(measures)