def get_next_sentence(): session = create_session() user = flask.request.remote_user if flask.request.remote_user is not None else "guest" claim = get_next_assignment(session, user, testMode='test' in request.args, oracleAnnotatorMode='oracle' in request.args) session.close() return jsonify(claim)
def get_claim(claim_id): session = create_session() claim = session.query(Claim).join(Sentence).filter( Claim.id == int(claim_id)).first() doc = get_wiki_clean(claim.sentence.entity_id, redirects)["text"] ret = { "id": claim.id, "entity": claim.sentence.entity_id, "body": doc, "claim": { "text": claim.text }, "sentence": claim.sentence.text } session.close() return jsonify(ret)
from collections import defaultdict from statsmodels.stats.inter_rater import fleiss_kappa from annotation.schema.annotations_rds import create_session session = create_session() claims = session.execute(""" select claim.id, annotation.user, annotation.verifiable, date_format(annotation.created, '%Y-%m-%d') as Date, date_format(annotation.created, '%Y-%U') AS Week from annotation inner join claim on claim.id = annotation.claim_id where claim.isReval = 1 order by Date asc """).fetchall() claims_dict = defaultdict(list) def row_ct(row): rowct = [] for i in range(5): rowct.append(row.count(i)) return rowct
def post_labels(label_id): labels = request.get_json() session = create_session() claim = session.query(Claim).join(Sentence).filter( Claim.id == int(label_id)).first() user = flask.request.remote_user if flask.request.remote_user is not None else "guest" anno = Annotation(user=user, claim_id=claim.id, created=func.now(), sentencesVisited=int(labels["countAll"]), customPagesAdded=int(labels["customCount"]), timeTakenToAnnotate=int(labels["timer"]), isTestMode=bool(labels['testingMode']), isOracleMaster=bool(labels['oracleMode']), page=claim.sentence.entity_id, version=4, verifiable=int(labels["verifiable"])) session.add(anno) session.commit() # Treat flagged-but-submitted claims as normal submissions if int(labels['verifiable']) == 1 or int(labels['verifiable']) == -1: for verdict in labels["supporting"]: vdct = AnnotationVerdict(annotation_id=anno.id, verdict=1) session.add(vdct) session.commit() session.add( LineAnnotation(page=claim.sentence.entity_id, line_number=verdict, verdict_id=vdct.id)) for doc in labels['sentences'][str(verdict)].keys(): for line in labels['sentences'][str(verdict)][doc].keys(): if bool(labels['sentences'][str(verdict)][doc][line]): session.add( LineAnnotation(page=doc, line_number=int(line), verdict_id=vdct.id)) for verdict in labels["refuting"]: vdct = AnnotationVerdict(annotation_id=anno.id, verdict=2) session.add(vdct) session.commit() session.add( LineAnnotation(page=claim.sentence.entity_id, line_number=verdict, verdict_id=vdct.id)) for doc in labels['sentences'][str(verdict)].keys(): for line in labels['sentences'][str(verdict)][doc].keys(): if bool(labels['sentences'][str(verdict)][doc][line]): session.add( LineAnnotation(page=doc, line_number=int(line), verdict_id=vdct.id)) session.commit() session.close() return jsonify([])