docs: def evaluate(self, text):
          """
          Given a string of `text`, compute confusion matrix for the
          classification task.
          """
          cx = BinaryConfusion()
          for (L, P, R, gold, _) in Detector.candidates(text):
              guess = self.predict(L, P, R)
              cx.update(gold, guess)
              if not gold and guess:
                  logger.debug("False pos.: L='{}', R='{}'.".format(L, R))
              elif gold and not guess:
                  logger.debug("False neg.: L='{}', R='{}'.".format(L, R))
          return cx