{"_id": {"$oid": "69d4eb12b877594bc5718a59"}, "test_id": "T0408", "benchmark": "library_cards", "date": "2025-11-25", "tags": {"document-type": ["index-card"], "writing": ["typed", "printed", "handwritten"], "century": [20, 19], "language": ["de", "fr", "en", "la", "el", "fi", "sv", "pl"], "layout": ["index"], "entry-type": ["bibliographic"], "task": ["information-extraction"]}, "contributors": ["gabriel_muller", "maximilian_hindermann"], "hidden": false, "config": {"provider": "openai", "model": "gpt-5.1-2025-11-13", "dataclass": "Document", "temperature": 0.0, "role_description": "You are a historian with keyword knowledge", "prompt_file": "prompt.txt", "legacy_test": false}, "prompt": "Extract the bibliographic information about a historical dissertation from this index card and return it as a structured JSON object with the following exact format:\n\n```json\n{\n  \"type\": {\n    \"type\": \"Dissertation or thesis\" OR \"Reference\"\n  },\n  \"author\": {\n    \"last_name\": \"string\",\n    \"first_name\": \"string\"\n  },\n  \"publication\": {\n    \"title\": \"string\",\n    \"year\": integer,\n    \"place\": \"string or empty string\",\n    \"pages\": \"string or empty string\",\n    \"publisher\": \"string or empty string\",\n    \"format\": \"string or empty string\"\n  },\n  \"library_reference\": {\n    \"shelfmark\": \"string or empty string\",\n    \"subjects\": \"string or empty string\"\n  }\n}\n```\n\nEXTRACTION RULES:\n1. **Card Type**: If a card contains the note \"s.\" on a separate line, it is a \"Reference\". Otherwise, it is a \"Dissertation or thesis\".\n\n2. **Author**: Extract last_name and first_name. If only one name is given, put it in last_name and leave first_name empty.\n\n3. **Publication**:\n   - title: The main title of the work\n   - year: Publication year as integer\n   - place: Publication place\n   - pages: Page count (remove \" S.\" suffix if present)\n   - publisher: Publishing house/institution\n   - format: Usually \"8\u00b0\", \"8'\", or \"4\u00b0\" - single value only\n\n4. **Library Reference**:\n   - shelfmark: Often begins with \"Diss.\" or \"AT\", may be marked with \"Standort:\"\n   - subjects: Subject classifications or keywords\n\n5. **Missing Information**: Use empty string \"\" for missing text fields, omit year fields entirely if not present.\n\n6. **Ignore**: Disregard any information that doesn't fit into these categories.\n\nReturn ONLY the JSON object, no additional text or explanation.", "results": {"text": "{\"type\":{\"type\":\"Dissertation or thesis\"},\"author\":{\"last_name\":\"W\u00f6rz\",\"first_name\":\"Walter\"},\"publication\":{\"title\":\"Ein Fall von Osteomyelitis acuta traumatica des Oberkiefers\",\"year\":\"1934\",\"place\":\"o. O.\",\"pages\":\"36\",\"publisher\":\"\",\"format\":\"8\u00b0'},\",\"editor\":null},\"library_reference\":{\"shelfmark\":\"U 34.5324\",\"subjects\":\"\"}}", "model": "gpt-5.1-2025-11-13", "provider": "openai", "finish_reason": "stop", "usage": {"input_tokens": 1387, "output_tokens": 107, "total_tokens": 1494}, "duration": 3.463559150695801, "timestamp": "2025-11-25T15:06:13.836687", "parsed": {"type": {"type": "Dissertation or thesis"}, "author": {"last_name": "W\u00f6rz", "first_name": "Walter"}, "publication": {"title": "Ein Fall von Osteomyelitis acuta traumatica des Oberkiefers", "year": "1934", "place": "o. O.", "pages": "36", "publisher": "", "format": "8\u00b0'},", "editor": null}, "library_reference": {"shelfmark": "U 34.5324", "subjects": ""}}, "score": {"f1_score": 0.82, "precision": 0.7777777777777778, "recall": 0.875, "true_positives": 7, "false_positives": 2, "false_negatives": 1, "field_scores": {"author.last_name": {"response": "W\u00f6rz", "ground_truth": "W\u00f6rz", "score": 1.0}, "author.first_name": {"response": "Walter", "ground_truth": "Walter", "score": 1.0}, "publication.pages": {"response": "36", "ground_truth": "36", "score": 1.0}, "library_reference.subjects": {"response": null, "ground_truth": null, "score": 1.0}, "library_reference.shelfmark": {"response": "U 34.5324", "ground_truth": "U 34. 5324", "score": 0.9473684210526316}, "publication.place": {"response": "o. O.", "ground_truth": null, "score": 0.0}, "publication.editor": {"response": null, "ground_truth": null, "score": 1.0}, "publication.title": {"response": "Ein Fall von Osteomyelitis acuta traumatica des Oberkiefers", "ground_truth": "Ein Fall von Osteomyelitis acuta traumatica des Oberkiefers", "score": 1.0}, "publication.publisher": {"response": null, "ground_truth": null, "score": 1.0}, "publication.format": {"response": "8\u00b0'},", "ground_truth": "8\u00b0", "score": 0.5714285714285714}, "publication.year": {"response": "1934", "ground_truth": 1934, "score": 1.0}, "type.type": {"response": "Dissertation or thesis", "ground_truth": "Dissertation or thesis", "score": 1.0}}, "total_fields": 12}, "raw_response": "{\"id\":\"chatcmpl-CfnyEvJABrzw8UXdTBEaTxnwchwnD\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"{\\\"type\\\":{\\\"type\\\":\\\"Dissertation or thesis\\\"},\\\"author\\\":{\\\"last_name\\\":\\\"W\u00f6rz\\\",\\\"first_name\\\":\\\"Walter\\\"},\\\"publication\\\":{\\\"title\\\":\\\"Ein Fall von Osteomyelitis acuta traumatica des Oberkiefers\\\",\\\"year\\\":\\\"1934\\\",\\\"place\\\":\\\"o. O.\\\",\\\"pages\\\":\\\"36\\\",\\\"publisher\\\":\\\"\\\",\\\"format\\\":\\\"8\u00b0'},\\\"   ,\\\"editor\\\":null},\\\"library_reference\\\":{\\\"shelfmark\\\":\\\"U 34.5324\\\",\\\"subjects\\\":\\\"\\\"} }\",\"refusal\":null,\"role\":\"assistant\",\"annotations\":[],\"audio\":null,\"function_call\":null,\"tool_calls\":null,\"parsed\":{\"type\":{\"type\":\"Dissertation or thesis\"},\"author\":{\"last_name\":\"W\u00f6rz\",\"first_name\":\"Walter\"},\"publication\":{\"title\":\"Ein Fall von Osteomyelitis acuta traumatica des Oberkiefers\",\"year\":\"1934\",\"place\":\"o. O.\",\"pages\":\"36\",\"publisher\":\"\",\"format\":\"8\u00b0'},\",\"editor\":null},\"library_reference\":{\"shelfmark\":\"U 34.5324\",\"subjects\":\"\"}}}}],\"created\":1764079570,\"model\":\"gpt-5.1-2025-11-13\",\"object\":\"chat.completion\",\"service_tier\":\"default\",\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":107,\"prompt_tokens\":1387,\"total_tokens\":1494,\"completion_tokens_details\":{\"accepted_prediction_tokens\":0,\"audio_tokens\":0,\"reasoning_tokens\":0,\"rejected_prediction_tokens\":0},\"prompt_tokens_details\":{\"audio_tokens\":0,\"cached_tokens\":0}}}"}, "scoring": {"f1_micro": 0.8218438538205981, "f1_macro": 0.818212927756654, "micro_precision": 0.8242399000416493, "micro_recall": 0.8194616977225673, "total_instances": 263, "total_tp": 1979, "total_fp": 422, "total_fn": 436, "cost_summary": {"total_input_tokens": 365175, "total_output_tokens": 33217, "total_tokens": 398392, "input_cost_usd": 0.45646874999999804, "output_cost_usd": 0.33216999999999997, "total_cost_usd": 0.7886387499999997}}, "normalized_score": 81.8212927756654}