in python/passage_retrieval_processing.py [0:0]
def vote_info(answers, question_text, keep_markup):
best_up_count = -999
top_answers = []
top_answer = None
bottom_answers = []
for idx, answer in enumerate(answers):
if "upvote_count" in answer.keys():
if int(clean_votes(answer["upvote_count"])) > best_up_count:
if "text_markup" in answer.keys():
answer_text = extract_text(answer["text_markup"], keep_markup)
top_answer = answer_text
best_up_count = int(clean_votes(answer["upvote_count"]))
best_idx = idx
if top_answer is None:
for idx, answer in enumerate(answers):
if "text_markup" in answer.keys():
answer_text = extract_text(answer["text_markup"], keep_markup)
top_answer = answer_text
best_idx = idx
top_answers.append(top_answer)
answers.pop(best_idx)
for answer in answers:
if "upvote_count" in answer.keys():
if int(clean_votes(answer["upvote_count"])) > 1:
if "text_markup" in answer.keys():
answer_text = extract_text(answer["text_markup"], keep_markup)
top_answers.append(answer_text)
else:
if "text_markup" in answer.keys():
answer_text = extract_text(answer["text_markup"], keep_markup)
bottom_answers.append(answer_text)
top_answers, bottom_answers, has_non_empty_answer = clean_answer(
top_answers, bottom_answers
)
if top_answers is not None and len(top_answers) > 0:
if has_non_empty_answer:
return {
"question": question_text,
"answers": [],
"positive_ctxs": [
{"title": "", "text": top_answer} for top_answer in top_answers
],
"hard_negative_ctxs": [
{"title": "", "text": bottom_answer}
for bottom_answer in bottom_answers
],
}