예제 #1
0
class OType:
    def __init__(self, topics_n, id):
        self.id = id
        self.dSet = DataSet(O_TYPES_STR[id])
        self.N = topics_n
        self.topics = []

        for i in range(self.N):
            self.topics.append(Topic(i))

    def add_item(self, probabilities, cand):
        #officer = db.officer[line]
        #if officer == 1:
        #    y = 2

        self.dSet.add_item(cand)
        for i in range(self.N):
            self.topics[i].add_item(probabilities[i], cand)

    def print_topics(self):
        output = "Officer Type {}\n".format(O_TYPES_STR[self.id])

        output = "{}\n{}\n".format(output, self.dSet.print_data())
        for i in range(self.N):
            output = "{}{}\n".format(output, self.topics[i].print_datasets())

        return output
예제 #2
0
def print_topic_modeling_stats(db, doc_topic, users, cands, file):
    Otypes = []
    ot = OType(N, 0)
    dSet = DataSet("Summary")

    for i in range(4):
        Otypes.append(OType(N, i))

    for i in range(0, len(users)):
        line = cands[users[i]]
        cand = CandData(db, line)
        dSet.add_item(cand)
        Otypes[get_officer_type(line)].add_item(doc_topic[i], cand)
        ot.add_item(doc_topic[i], cand)

    file.write("\n{}\n".format(dSet.print_data()))
    file.write("{}\n".format(ot.print_topics()))
    for t in Otypes:
        file.write("{}\n".format(t.print_topics()))