in src/kg_validator.py [0:0]
def perform_traditional_evals(conn, to_be_predicted_queries, k, use_tags=True, use_topics=True):
eval_rows = []
for idx, row in to_be_predicted_queries.iterrows():
if (idx+1) % 50 == 0:
print(f" {idx+1} queries evaluated")
search_query = row['keyword']
relevant_docs = row['url_hash']
search_tags = extract_tags_for_queries([search_query])[0] if use_tags else []
search_topics = infer_topics([search_query], pbar=False)[0] if use_topics else []
# print(f"search_tags = {search_tags}")
# print(f"search_topics = {search_topics}")
results = fetch_entity_relations_with_keywords(conn, search_query, search_tags, search_topics).head(k)
retrieved_docs = []
if len(results) > 0:
retrieved_docs = results['url_hash'].values.tolist()
eval_row = run_traditional_eval(idx, search_query, relevant_docs, retrieved_docs, retrieved_distances=None, k=k)
eval_rows.append(eval_row)
return pd.DataFrame(eval_rows)