示例#1
0
def getEvidenceRecommendationWithinTopics(topic_dist, name, collection_id):
    if len(topic_dist) > 0:
        primary_topic_tuple = max(topic_dist, key=lambda x:x[1])
    else:
        return []
    evidence = Evidence.objects.filter(Q(evidencetopic__primary_topic=primary_topic_tuple[0])&Q(created_by=collection_id)).distinct() # use this if later needs to get evidence by topic
    serialized_json = serializers.serialize('json', evidence)
    evidence_json = flattenSerializedJson(serialized_json)
    evidence = json.loads(evidence_json)
    abstracts = [e['abstract'] for e in evidence]    
    evidence_ids = TopicModeler.compute_documents_similarity_sub(topic_dist, abstracts, name)
    sorted_evidence = map(lambda index:evidence[index], evidence_ids)
    return sorted_evidence