code: def recall(reference, test):
      """
      Given a set of reference values and a set of test values, return
      the fraction of reference values that appear in the test set.
      In particular, return card(``reference`` intersection ``test``)/card(``reference``).
      If ``reference`` is empty, then return None.
  
      :type reference: set
      :param reference: A set of reference values.
      :type test: set
      :param test: A set of values to compare against the reference set.
      :rtype: float or None
      """
      if not hasattr(reference, "intersection") or not hasattr(
          test, "intersection"
      ):
          raise TypeError("reference and test should be sets")
  
      if len(reference) == 0:
          return None
      else:
          return len(reference.intersection(test)) / len(reference)
  
file_path: nltk/nltk/metrics/scores.py
imports: import operator
  from functools import reduce
  from math import fabs
  from random import shuffle
  from nltk.util import LazyConcatenation, LazyMap
label_desc: Use image node_id 3 for calling a global function with example usage: recall(reference, test) and returns: None, unknown