Files
2026-07-13 12:48:55 +08:00

453 lines
15 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import test from 'tape'
import nlp from '../_lib.js'
const here = '[three/coreference] '
// https://github.com/google-research-datasets/gap-coreference
test('basic-coreference:', function (t) {
const arr = [
// one-sentence
[
`spencer is not working because he is unemployed`,
{ he: `spencer` }
],
// back-sentence
[
`spencer is quiet. he is not loud`,
{ he: `spencer` }
],
// back-two-sentences
[
`spencer is quiet. I mean, not always, but usually. he is not loud`,
{ he: `spencer` }
],
[
"Spencer kelly forgot to update github. Maybe he should remember to",
{ he: `spencer kelly` }
],
[
"Lester B. Pearson founded Canada but despite being 6ft tall, he forgot to update github.",
{ he: `lester b. pearson` }
],
[
"i don't know why jack layton won his election, but he did.",
{ he: `jack layton`, his: 'jack layton' }
],
[
"you said kirk douglass won, and he'll fall asleep afterwards",
{ he: `kirk douglass` }
],
// two pronouns
[
`i saw spencer kelly. he forgot his name`,
{ he: `spencer kelly`, his: 'spencer kelly' }
],
// basic she
[
`Judy Dench is an American film director. She wrote, directed and starred in three films`,
{ she: `judy dench` }
],
// ambiguous person names
[
`jamie smith said no and she left`,
{ she: `jamie smith` }
],
// ambiguous person names
[
`jamie smith said no and he bailed out`,
{ he: `jamie smith` }
],
[
`nobody tell Josh's mom that she burned her toast.`,
{ she: `josh's mom`, her: `josh's mom` }
],
// basic they
[
`Goaltenders often trick their opponents`,
{ their: `goaltenders` },
],
[
`they said i was losing my marbles`,
{},
],
[
`the American people are using their money far better`,
{ their: 'the american people' },
],
[
`a medicine given to cows to increase their milk`,
{ their: 'cows' },
],
[
`every time someone gave me their dog`,
{ their: 'someone' },
],
[
`But we shouldn't put them and their children out on the street`,
{},
],
[
`People go out of their way`,
{ their: 'people' },
],
[
`17 taxpayers would see their taxes rise`,
{ their: '17 taxpayers' },
],
[
`ensure that all African Americans could exercise their right`,
{ their: 'all african americans' },
],
[
`all states and school districts must turn around their worst performing schools`,
{ their: 'all states and school districts' },
],
[
`It will raise critical questions about the way we finance our campaigns and how lobbyists yield their influence.`,
{ their: 'lobbyists' },
],
[
`9 out of 10 people who have insurance get it through their employers`,
{ their: '9 out of 10 people' },
],
[
`the boys and girls studied their numbers`,
{ their: 'the boys and girls' },
],
[
`plumbers are funny. they never stop talking`,
{ they: `plumbers` }
],
[
`the viola player said no and she dropped her bow`,
{ she: `the viola player`, her: `the viola player` }
],
// basic 'her'
[
`Sally arrived, but nobody saw her`,
{ her: `sally` }
],
// person-like
[
`the cowboy shot his gun and he walked away`,
{ his: `the cowboy`, he: `the cowboy` }
],
[
`spencer's aunt is fun. she is smart`,
{ she: `spencer's aunt` },
],
[
`the cheerleader did a flip but she landed awkwardly`,
{ she: `the cheerleader` }
],
[
`the boys play video games in their free time`,
{ their: 'the boys' }
],
[
`i walked to my school`,
{}
],
[
`her opinion was that he missed`,
{}
],
[
`her son brushed his teeth`,
{ his: 'her son' }
],
[
`somebody shaved their legs`,
{ their: 'somebody' }
],
[
`thom is the singer of his band`,
{ his: 'thom' }
],
[
`spencer likes john but not his brother`,
{ his: 'john' }
],
[
`i saw sara. spencer likes the captain but not her brother`,
{ her: 'the captain' }
],
// single-sentence misc
[
"I was looking at black crows go by and right after they went by, a good 100+ more crows flew by",
{ "they": "black crows" }
],
[
"As its Valentines Day, the missus has said she'll go on top tonight for a change.",
{ "she'll": "the missus" }
],
[
"You must really like... Joey... to go to all that trouble for him.",
{ "him": "joey" }
],
[
"When the children saw they were left alone.",
{ "they": "the children" }
],
[
"One mother of two, a woman named Kathy Proctor, had worked in the furniture industry since she was 18 years old.",
{ "she": "kathy proctor" }
],
[
"We've got to do something to empower people to improve their skills.",
{ "their": "people" }
],
[
"Hey Mon, that was really nice of you to loan Rachel your car so she could go and get the cake.",
{ "she": "rachel" }
],
[
"Sweet justice: after the doc pulled the gigantic beetle out of my ear, my mom asked if she could have it.",
{ "she": "my mom" }
],
[
"Elaine Kinslow and all those like her are the real heroes of the welfare revolution.",
{ "her": "elaine kinslow" }
],
[
"Contrary to public opinion, most people want to work to get their income.",
{ "their": "most people" }
],
[
"The giants were terrified at the apparition, and, fearful lest he should slay them, they all took to their heels",
{ "they": "the giants", "their": "the giants" }
],
[
"Mrs and 3 of her pals squeezed into my car after weight watchers.",
{ "her": "mrs" }
],
[
"One time I heard this woman to the right of me complaining how spicy her curry was.",
{ "her": "this woman" }
],
[
"When people put their party's fortunes, whatever the party, whatever side of this aisle, before the public good, they court defeat not only for their country but for themselves.",
{ "their": "people", "they": "people" }
],
[
"Social Security now offers workers a return of less than 2 percent on the money they pay into the system.",
{ "they": "workers" }
],
[
"There's a scene where Drake sneaks into Olivia's bedroom, and she doesn't know he's there - which never happened with us!",
{ "she": "olivia's" }
],
[
"If you are going to send someone to save the world, make sure they like it the way it is.",
{ "they": "someone" }
],
[
"The Queen was so confused that at first she did not notice another little door in the orange tree, but presently it opened and she found herself in a field of thistles and nettles.",
{ "she": "the queen" }
],
[
"Gandhi moved his headquarters to Nadiad, organising scores of supporters and fresh volunteers",
{ "his": "gandhi" }
],
[
"In a moment Prince Ricardo's foot was on the blade of the diamond sword, which he passed thrice through the body of the Yellow Dwarf.",
{ "he": "prince ricardo's" }
],
[
"The Princess was very sorry, but as Grabugeon was really dead, she allowed the Captain of the Guard to take her tongue; but, alas!",
{ "she": "the princess", "her": "the princess" }
],
[
"River town is burnin', the clouds they roll on by",
{ "they": "the clouds" }
],
[
"While Gandhi expressed mostly positive views of Islam, he did occasionally criticize Muslims.",
{ "he": "gandhi" }
],
[
"The portions are TOO small, rolls were cold (as they were taken from the fridge), very small and not tasty at all.",
{ "they": "rolls" }
],
[
"In that book, Prince Prigio fancied he would find something he half remembered, and that would be of use to him.",
{ "he": "prince prigio", "him": "prince prigio" }
],
[
"Early in the morning, before the children were awake, she rose up, and when she saw them both sleeping so peacefully, with their round rosy cheeks, she muttered to herself: That'll be a dainty bite.",
{ "their": "the children" }
],
[
"If prisoners get arrested, where do they go?",
{ "they": "prisoners" }
],
[
"Im not willing to tell James Howard, a brain cancer patient from Texas, that his treatment might not be covered.",
{ "his": "james howard" }
],
[
"Herbert Spencer, adopting the idea of evolution, laid thereon the elaborate superstructure of his philosophy.",
{ "his": "herbert spencer" }
],
[
"That said, the Christians I've met have not been pushy about it, and haven't treated me differently for being a 3rd generation agnostic, and though I know a couple still hope that I'll be saved, that's just because they like me.",
{ "they": "the christians" }
],
[
"I left my girlfriend because she wouldn't stop counting.",
{ "she": "my girlfriend" }
],
[
"I work at a doctors office and when they need to go out of town they either find back up or do not schedule travel when appointments have been made.",
{ "they": "a doctors office" }
],
[
"I am spinning, my pretty child, said the old woman, who did not know who she was.",
{ "she": "the old woman" }
],
[
"And when the sentence had been carried out the young King was married to his real bride",
{ "his": "young king" }
],
[
"When a women says 'What?' it's not because she didn't hear you.",
{ "she": "a women" }
],
[
"Why were the Aggies pushing their house down the street?",
{ "their": "the aggies" }
],
[
"So in the evening, when the giant came home with the goats, the Prince went into the chamber and hummed and sang again as he had done on the other two evenings.",
{ "he": "the prince" }
],
[
"Hydras paralyze their prey with poison from stingers on these body parts",
{ "their": "hydras" }
],
[
"Gilbert says he will be busy with sports camp.",
{ "he": "gilbert" }
],
[
"written by Lord Chesterfield to his son",
{ "his": "lord chesterfield" }
],
[
"But a lot of people laid down their seats in Congress so that police officers and kids wouldn't have to lay down their lives under a hail of assault weapon attack.",
{ "their": "officers and kids" }
],
[
"I know you got a man but girl he's slippin'",
{ "he's": "a man" }
],
[
"If you're trying to seduce a man, make sure you dress in a flattering fashion to get his attention.",
{ "his": "a man" }
],
[
"1 of these carried a Kansas woman 60 ft., dropping her next to a record titled \"Stormy Weather\"",
{ "her": "a kansas woman" }
],
[
"(Every time I try to say it, words, they only complicate it,)",
{ "they": "words" }
],
[
"In 1952 William Rehnquist graduated first in his class at Stanford Law & she graduated third",
{ "his": "william rehnquist" }
],
[
"so the ladies put your on their speed dial:",
{ "their": "the ladies" }
],
[
"The doctor's assistant goes through extreme mood swings from passivity to hysteria in seconds and then seems to forget where she was in the next scene.",
{ "she": "the doctor's assistant" }
],
[
"As a result, the mandarins survived WWII and the postwar American occupation relatively undamaged, and they will strive to survive the DPJ government as well.",
{ "they": "the mandarins" }
],
[
"Carrie looked ugly, Mr. Big had his eyebrows colored with crayons and Samantha didn't say f***.",
{ "his": "mr big" }
],
[
"Bored, I went through the whole thing and clearly the director and cinematographer tried, but just don't know enough about what they are doing.",
{ "they": "the director and cinematographer" }
],
[
"In reality, in far too many countries, ordinary citizens do not benefit from any of this money; in fact, they must bear the brunt of the environmental and social costs",
{ "they": "ordinary citizens" }
],
[
"The American Academy of Pediatrics recently warned that TV viewing by young children is dangerous for their brain development",
{ "their": "young children" }
],
[
"Presumably, McCains League of Democracies is designed to bring Immanuel Kants dream of perpetual peace closer to realization by putting pressure on non-democracies to change their ways",
{ "their": "non democracies" }
],
[
"Like the murder of Archbishop Thomas Beckett in his Canterbury Cathedral many centuries ago.",
{ "his": "archbishop thomas beckett" }
],
[
"Fourth, governments and the IFIs cannot solve this crisis alone, and they cannot and should not crowd out the private sector.",
{ "they": "governments and the ifis" }
],
[
"Fred gazes at Rita with a brotherly smile, but she's so mannequin-like.",
{ "she's": "rita", "her": "rita" }
],
[
"Marc Singer is back and it is sad to seem him in this state.",
{ "him": "singer" }
],
[
"He did one at Christmas, and now the terrific Justin Lee Collins wanted to reunite the cast members and maybe some crew of one of his favourite TV shows as a kid",
{ "his": "justin lee collins" }
],
[
"The letter said, in so many words, what the leaders of Europe now appear to have understood: they cannot go on “kicking the can down the road.”",
{ "they": "the leaders of europe" }
],
[
"Where are the shocks and surprises as mother and daughter have what may be the last conversation of their lives?",
{ "their": "mother and daughter" }
],
[
"The world has grown used to US drone strikes, but recent news reports suggest that China and Japan are also investing in unmanned aircraft in part to enhance their leverage in disputes over islands in the East China Sea.",
{ "their": "china and japan" }
],
[
"Louis VI was known as this; as a child he must have shopped in le husky department",
{ he: 'Louis VI' }
],
[
`Oh my god he sounded just like it`,
{}
],
[
``,
{}
],
]
arr.forEach(a => {
const [text, refs] = a
const doc = nlp(text)
const pronouns = doc.pronouns().hasReference()
t.equal(Object.keys(refs).length, pronouns.length, here + `[count] '${text}'`)
Object.keys(refs).forEach(k => {
const m = pronouns.if(k).refersTo()
t.equal(m.text('normal'), refs[k], here + ` [${k}] - ${refs[k]}`)
})
})
t.end()
})