RQ1 · RQ2 · RQ3

Extraction evaluation

Four extraction methods, scored against a manually annotated gold subset, plus an error-propagation study asking how much extraction mistakes actually move the network conclusions.

Gold subset

10 chapters (1, 2, 17, 36, 45, 54, 77, 92, 111, 129), 310 annotated relations, one annotator (see annotation guidelines).

RQ1 · relation extraction, by method

MethodEdges foundStrict F1Lenient PLenient RLenient F1Pair-level F1Recall (explicit)Recall (implicit)
Sentence co-occurrence (baseline)16246.9%75.3%0.578
Rule-based440.20385.4%18.4%0.3030.40031.1%7.0%
Rules + coreference850.32182.9%30.5%0.4460.55850.0%13.0%
LLM structured extraction1690.25546.2%34.7%0.3960.58942.2%28.0%

Lenient scoring collapses matching to (chapter, type, unordered pair) — it credits the extractor for finding that two characters interact in a chapter even off by a sentence. The co-occurrence baseline wins on raw pair recall but carries no relation type and a much higher false-positive rate; it is a floor, not a competitor.

RQ2 · which relation types are hardest

TypeRule-basedRules + coreferenceLLM structured extraction
kinship0.4760.7310.370
marriage0.0000.0000.333
friendship0.5000.4440.222
conversation0.3440.4570.463
conflict0.2350.4210.468
killing0.2220.3160.467
support0.0690.1290.171

Marriage and support are the hardest relation types across every method: both are rare in the gold set and marriage in particular is often stated by a noun phrase ("his wife X") the rule set does not yet cover as thoroughly as verbs.

Entity resolution & coreference

Entity linking (against the curated table)

Precision 96.7% · Recall 98.9% · F1 0.978

spaCy's generic PERSON-NER catches only 53.5% of gold mentions on this translation's proper names — the gazetteer built from the curated entity table is what makes linking viable at all.

Pronoun coreference

65.4% of all annotated pronouns resolved correctly (73.6% of those the system attempted).

PronounCorrectWrongUnresolved
he65177
she1528
his51184
him35259
her1222

Method agreement

PairJaccardOverlap
llm vs. rules0.08934
llm vs. rules+coref0.08545
rules vs. rules+coref0.610283

The rule-based extractor with and without coreference agree on most edges (as expected — coreference is additive); the LLM overlaps with the rule-based extractor on barely a tenth of edges, which is itself evidence that "extraction" is not one well-defined task these methods converge on.

RQ3 · error propagation into network conclusions

Baseline graph: 160 nodes, 382 edges. Each row perturbs the graph at a multiple of the measured error rate and reports the mean, over 40 trials, of how much the perturbed graph's centralities and communities still agree with the unperturbed one.

PerturbationSettingρ betweennessρ PageRankTop-10 betweenness overlapCommunity NMICommunity ARI
miss×0.5 measured rate0.8800.94184.8%0.7280.570
miss×1 measured rate0.7510.82776.0%0.6200.349
miss×2 measured rate0.5440.59561.8%0.5800.098
spurious×0.5 measured rate0.9610.98796.5%0.8700.793
spurious×1 measured rate0.9310.97791.0%0.8150.719
spurious×2 measured rate0.8940.96088.3%0.7540.646
mergek=20.9900.99595.5%0.9130.861
mergek=50.9800.98692.5%0.8670.796
mergek=100.9570.97283.8%0.8000.689
splitk=20.9840.99395.0%0.9090.830
splitk=50.9660.98289.3%0.8690.774
splitk=100.9370.96678.0%0.7950.658

Rank-based centrality (who is important) is comparatively robust to plausible extraction error; community assignment (who belongs together) is not — at the measured miss rate, community agreement (ARI) is already down to roughly a third of perfect, and doubling the error rate collapses it further. Any claim in this project resting on Louvain community labels should be read with that fragility in mind; claims resting on the betweenness or PageRank ranking of the top few characters are comparatively safe.

Annotation / review queue

Verify, reject, or retype a flagged relation below, or resolve an ambiguous mention. To merge a duplicate entity, confirm an alias, or split a bundled entity in two, use the Curate this entity section on that character’s profile page.

60 of 60 low-confidence items still open, ranked worst-first. Actions here write to data/annotations/njala/revisions.jsonl and take effect the next time the pipeline runs.

kinship/child: kol-egilsson auto-asmund (confidence 0.19, rule noun:son)

He was the son of Asmund Ashside, east out of Smoland.

killing/confessed: skarphedinn sigmund-lambason (confidence 0.22, rule dialogue-first-person:slay)

"When I slew Sigmund the white," says Skarphedinn, "Gunnar of Lithend's kinsman."

friendship/friend: flosi wolf-aurpriest (confidence 0.23, rule noun:friend)

There dwelt Lodmund Wolf's son, but he was a great friend of Flosi, and there he stayed that night, and next morning Lodmund rode with him into the Dale.

kinship/kin: hrut sigmund-lambason (confidence 0.24, rule noun:kinsman)

Now the time for the Thing was coming on, Unna spoke to Sigmund Auzur's son, and asked if he would ride to the Thing with her; he said he could not ride if his kinsman Hrut set his face against it.

kinship/parent: hrodny skarphedinn (confidence 0.24, rule noun:mother)

His mother was Rodny, and she was Hauskuld's daughter, the sister of Ingialld of the Springs.

kinship/sibling: auto-thorwalld thorkel-geitisson (confidence 0.24, rule noun:brother)

So they fared below Lagarfleet and over the heath to Njardwick; there two brothers dwelt, Thorkel the allwise, and Thorwalld his brother; they were sons of Kettle, the son of Thidrandi the wise, the son of Kettle rumble, son of Thorir Thidrandi.

kinship/parent: kormlada olaf-tryggvason (confidence 0.24, rule noun:mother)

He was a son of Olaf rattle, but his mother's name was Kormlada; she was the fairest of all women, and best gifted in everything that was not in her own power, but it was the talk of men that she did all things ill over which she had any power.

kinship/child: unna mord-fiddle (confidence 0.28, rule noun:daughter)

He had an only daughter, named Unna.

killing/slaying: kari sigmund-sigfusson (confidence 0.28, rule verb:thrust)

He thrust with the right hand at Sigmund Sigfus' son, and smote him on his breast, and the spear came out between his shoulders, and down he fell and was dead at once.

killing/slaying: kari sigmund-sigfusson (confidence 0.28, rule verb:smite)

He thrust with the right hand at Sigmund Sigfus' son, and smote him on his breast, and the spear came out between his shoulders, and down he fell and was dead at once.

killing/slaying: kari sigmund-sigfusson (confidence 0.28, rule verb:smite)

He thrust with the right hand at Sigmund Sigfus' son, and smote him on his breast, and the spear came out between his shoulders, and down he fell and was dead at once.

support/asked: asgrim helgi-njalsson (confidence 0.30, rule asked-for-help)

Njal's sons went to see Asgrim Ellidagrim's son, and asked him for aid.

killing/slaying: kari kol-thorsteinsson (confidence 0.32, rule verb:smite)

Kari turned on Arni Kol's son and cut at him, and smote him on the shoulder, and cut asunder the shoulder blade and collar bone, and the blow went right down into his breast, and Arni fell down dead at once to earth.

kinship/child: njal thorgeir-starkadsson (confidence 0.32, rule noun:son)

He was the son of Thorgeir Gelling, the son of Thorolf.

kinship/child: thorgeir-starkadsson auto-thorolf (confidence 0.32, rule noun:son)

He was the son of Thorgeir Gelling, the son of Thorolf.