code: def score_evidence_list(self, evidences):
          def _score(evidences):
              if not evidences:
                  return 0
              sources = [ev.source_api for ev in evidences]
              uniq_sources = numpy.unique(sources)
              syst_factors = {s: self.prior_probs['syst'][s]
                              for s in uniq_sources}
              rand_factors = {k: [] for k in uniq_sources}
              for ev in evidences:
                  rand_factors[ev.source_api].append(
                      evidence_random_noise_prior(
                          ev,
                          self.prior_probs['rand'],
                          self.subtype_probs))
              neg_prob_prior = 1
              for s in uniq_sources:
                  neg_prob_prior *= (syst_factors[s] +
                                     numpy.prod(rand_factors[s]))
              prob_prior = 1 - neg_prob_prior
              return prob_prior
          pos_evidence = [ev for ev in evidences if
                          not ev.epistemics.get('negated')]
          neg_evidence = [ev for ev in evidences if
                          ev.epistemics.get('negated')]
          pp = _score(pos_evidence)
          np = _score(neg_evidence)
          score = pp * (1 - np)
          return score