code: def update_probs(self):
          syst_error = 0.05
          prior_probs = {'syst': {}, 'rand': {}}
          for source, (p, n) in self.prior_counts.items():
              if n + p == 0:
                  continue
              prior_probs['syst'][source] = syst_error
              prior_probs['rand'][source] = \
                  1 - min((float(p) / (n + p), 1-syst_error)) - syst_error
          subtype_probs = {}
          for source, entry in self.subtype_counts.items():
              for rule, (p, n) in entry.items():
                  if n + p == 0:
                      continue
                  if source not in subtype_probs:
                      subtype_probs[source] = {}
                  subtype_probs[source][rule] = \
                      1 - min((float(p) / (n + p), 1-syst_error)) - syst_error
          super(BayesianScorer, self).update_probs(prior_probs, subtype_probs)