Repository navigation
The benchmark gets an answer key that does not come from us - #289
Merged
Merged
Conversation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
C1 of 0016: an answer key that does not come from us.
truth/*.jsonhas been hand-filled, which means an answer can be written too narrow, and once written it is a record of what the system said last time — a miss no longer tells you whether the key or the system is wrong. The corpora that come from Wikipedia have an answer nobody here wrote: every article's subject, and every article it links to, is an item on Wikidata with a P31 (instance of).Three files, and the human judgement lives in exactly one of them.
scripts/bench/fetch-wikidata-truth.mjs— for a Wikipedia-derived corpus, resolves each article and the pages it links to (kept only when the name actually appears in the article text: navboxes contribute hundreds of unrelated links) to Wikidata items, pulls their P31 classes over SPARQL, and records for each class which of ~36 anchor classes it falls under viaP279*. Outputtruth/<corpus>.wikidata.raw.json: refetchable, diffable, untouched by hand.scripts/bench/p31-to-classes.json— anchor class → acceptable schema.org keys (askey_from_irispells them). Anchors belong to families with precedence, because Wikidata's subclass chains cross what an ontology keeps apart: a consolidated city-county is a local government is an organization, so without the rule San Francisco would acceptcorporation. Person beats everything, a place is not an organization, a work or an organization is not an event, anything concrete beats the abstract families. Empty list keeps the existing semantics — the ontology has nothing for it, leave the entity alone; an entity under no anchor at all is omitted rather than guessed.scripts/bench/make-truth.mjs— raw + mapping →truth/<corpus>.wikidata.json, same shape as the hand-filled keys.run.mjs --truth <file>scores a run against it (and reports which key it used), so one run can be scored against both keys and the differences are the first thing to read.Generated for
ai-timeline(15 articles: 610 entities with an answer, 33 to leave alone, 46 omitted) andai-timeline-ends(6 snapshots: 184 / 7 / 11). Spot checks: OpenAI → corporation|organization; GPT-4 → software_application|product|…; Sam Altman → person; San Francisco → city|place|administrative_area; The New York Times → newspaper|periodical; Removal of Sam Altman from OpenAI → event; AI safety → [].Not in this cut: running the benchmark itself (it needs a live server and a model; nothing changes in extraction or resolution here), and answer keys for the non-Wikipedia corpora (there is no external answer for pharma / tech; they stay hand-filled).
🤖 Generated with Claude Code