Skip to content

Commit d6b746b

Browse files
author
Abby Hartman
committed
Updates
1 parent 328d6c2 commit d6b746b

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

scenarios/evaluate/Supported_Evaluation_Metrics/Document_Retrieval_Evaluation/Document_Retrieval_Evaluation.ipynb

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@
266266
" \"top\": search_top_k,\n",
267267
" \"vector_queries\": [\n",
268268
" {\n",
269-
" \"kind\": \"vector\",\n",
269+
" \"kind\": \"text\",\n",
270270
" \"fields\": vector_field_name,\n",
271271
" \"k_nearest_neighbors\": search_top_k\n",
272272
" }\n",
@@ -283,12 +283,12 @@
283283
" \"semantic_configuration_name\": \"en-semantic-config\",\n",
284284
" \"vector_queries\": [\n",
285285
" {\n",
286-
" \"kind\": \"vector\",\n",
286+
" \"kind\": \"text\",\n",
287287
" \"fields\": vector_field_name,\n",
288288
" \"k_nearest_neighbors\": search_top_k\n",
289289
" }\n",
290290
" ],\n",
291-
" \"score_field\": \"@search.reranker_score\"\n",
291+
" \"score_field\": \"@search.score\"\n",
292292
"}"
293293
]
294294
},
@@ -613,7 +613,7 @@
613613
" search_configuration.pop(\"vector_queries\")\n",
614614
" \n",
615615
" results = search_client.search(search_text=search_text, vector_queries=vector_queries, **search_configuration)\n",
616-
" return [{\"document_id\": result[\"doc_id\"], \"label\": result.get(score_field, None)} for result in results]\n",
616+
" return [{\"document_id\": result[\"doc_id\"], \"relevance_score\": result.get(score_field, None)} for result in results]\n",
617617
"\n",
618618
"def prepare_dataset(search_configuration):\n",
619619
" # Load the queryset and qrels\n",
@@ -623,28 +623,28 @@
623623
" # Drop negative qrels values and duplicates, and rename columns\n",
624624
" qrels = qrels.loc[qrels[\"score\"] >= 0]\n",
625625
" qrels.drop_duplicates(subset=[\"query-id\", \"corpus-id\"], inplace=True)\n",
626-
" qrels.rename(columns={\"corpus-id\": \"document_id\", \"score\": \"label\"}, inplace=True)\n",
626+
" qrels.rename(columns={\"corpus-id\": \"document_id\", \"score\": \"query_relevance_label\"}, inplace=True)\n",
627627
" \n",
628628
" # Group qrels by query ID and generate groundtruth set per query\n",
629629
" qrels_grouped = qrels.groupby(\"query-id\")\n",
630-
" qrels_aggregated = qrels_grouped[[\"document_id\", \"label\"]].agg(lambda x: list(x))\n",
631-
" qrels_aggregated[\"groundtruth_documents_labels\"] = qrels_aggregated.apply(lambda x: json.dumps([{\"document_id\": doc_id, \"label\": label} for (doc_id, label) in zip(x[\"document_id\"], x[\"label\"])]), axis=1)\n",
630+
" qrels_aggregated = qrels_grouped[[\"document_id\", \"query_relevance_label\"]].agg(lambda x: list(x))\n",
631+
" qrels_aggregated[\"retrieval_ground_truth\"] = qrels_aggregated.apply(lambda x: json.dumps([{\"document_id\": doc_id, \"query_relevance_label\": label} for (doc_id, label) in zip(x[\"document_id\"], x[\"query_relevance_label\"])]), axis=1)\n",
632632
" \n",
633633
" # Join the queryset and qrels on query ID and doc ID\n",
634634
" merged = queryset.merge(qrels_aggregated, left_on=\"_id\", right_on=\"query-id\")\n",
635635
" \n",
636636
" # Generate search results for each query\n",
637637
" search_configuration_name = search_configuration.pop(\"name\")\n",
638638
" score_field = search_configuration.pop(\"score_field\")\n",
639-
" merged[\"retrieved_documents_labels\"] = merged.apply(\n",
639+
" merged[\"retrieved_documents\"] = merged.apply(\n",
640640
" lambda x: json.dumps(search(\n",
641641
" query=x[\"text\"],\n",
642642
" search_client=search_client,\n",
643643
" score_field=score_field,\n",
644644
" **search_configuration\n",
645645
" )), axis=1)\n",
646646
" \n",
647-
" merged_final = merged[[\"retrieved_documents_labels\", \"groundtruth_documents_labels\"]]\n",
647+
" merged_final = merged[[\"retrieved_documents\", \"retrieval_ground_truth\"]]\n",
648648
" # Save final dataset to a local file in JSON-lines format\n",
649649
" jsonl_path = os.path.join(\".\", f\"evaluate-beir-{search_configuration_name}.jsonl\")\n",
650650
" merged_final.to_json(jsonl_path, lines=True, orient=\"records\")\n",
@@ -695,7 +695,7 @@
695695
"metadata": {},
696696
"source": [
697697
"## Run document retrieval evaluation\n",
698-
"In the following cell, we will configure and run the document retrieval evaluator for our dataset. The init params `groundtruth_min`, `groundtruth_max` and `groundtruth_step` help us to configure the qrels scaling for some metrics which depend on a count of labels, such as Fidelity. In this case, the TREC-COVID dataset groundtruth set has 0, 1, and 2 as possible labels, so we set the values of those init params accordingly."
698+
"In the following cell, we will configure and run the document retrieval evaluator for our dataset. The init params `groundtruth_label_min` and `groundtruth_label_max` help us to configure the qrels scaling for some metrics which depend on a count of labels, such as Fidelity. In this case, the TREC-COVID dataset groundtruth set has 0, 1, and 2 as possible labels, so we set the values of those init params accordingly."
699699
]
700700
},
701701
{
@@ -715,13 +715,12 @@
715715
" \"documentretrievalevaluator\": EvaluatorConfiguration(\n",
716716
" id=DocumentRetrievalEvaluator().id,\n",
717717
" data_mapping={\n",
718-
" \"groundtruth_documents_labels\": \"${data.groundtruth_documents_labels}\",\n",
719-
" \"retrieved_documents_labels\": \"${data.retrieved_documents_labels}\"\n",
718+
" \"retrieval_ground_truth\": \"${data.retrieval_ground_truth}\",\n",
719+
" \"retrieved_documents\": \"${data.retrieved_documents}\"\n",
720720
" },\n",
721721
" init_params={\n",
722-
" \"groundtruth_min\": 0,\n",
723-
" \"groundtruth_max\": 2,\n",
724-
" \"groundtruth_step\": 1\n",
722+
" \"groundtruth_label_min\": 0,\n",
723+
" \"groundtruth_label_max\": 2\n",
725724
" }\n",
726725
" )\n",
727726
" },\n",

0 commit comments

Comments
 (0)