DRAFT, not yet for distribution. For inquiries, write to ron.levi@utoronto.ca.

← Antisemitism as Discussed in the Canadian Hansard · Overview · Browse · Orders of worth · Coding framework · Methods

analysis

What antisemitism statements are about

A project of the Lab for the Global Study of Antisemitism, Anne Tanenbaum Centre for Jewish Studies, University of Toronto. Built, analyzed, and annotated by Ron Levi with Claude Code (Anthropic).

loading…

A statement about antisemitism is rarely only about antisemitism. It comes up inside a debate on immigration, a funding announcement, a school's curriculum, or a bill in the House. For each of — statements, a language model read a short passage around the word and picked one subject: what the statement is actually about.

Nine of the ten subjects are specific: history, violence, law, and so on. The tenth, accountability, only gets used when a statement is not mainly about any of the other nine, and mostly holds statements arguing about who is to blame or whether enough has been done. It is kept narrow on purpose. An earlier tag on this project was left open for anything, and it ended up covering most of the corpus by itself. That was a mistake, and it was fixed; see the coding framework for the full story.

: statements about hostility toward Jews that never use the word antisemitism, coded the same way but by a looser search that has not had the same stratified check the narrow corpus has. On by default. Every count and chart below says which corpus it is showing; narrow and wide are never added into one figure without saying so, and every share is worked out fresh from whichever corpus is currently selected.

Pick a subject, then narrow it by who was speaking. The count updates as you choose. Follow the link to read the statements themselves.

The ten subjects

Share of statements that fall under each subject. The wide corpus leans further toward history and violence than the narrow corpus does; the note under the cards says which one you are looking at and how many statements it covers.

Subject over time

Share of statements on each subject, decade by decade. Each panel is scaled to its own maximum, so read the shape rather than comparing heights between panels; the peak is printed on each. Decades before 1990 rest on a few dozen statements, so the early movement is noisy.

By party

Every party with at least one coded statement, so a reader looking for a specific party, the Bloc Québécois, the Green Party, can find it. The n printed under each party's name is the real guard here: a handful of statements swings an index wildly, so read a column with a small n as a much rougher number than one with hundreds behind it. Party and era are confounded throughout, and badly for the small ones: Social Credit is almost entirely the 1940s and 1950s.

Government and opposition

Which side of the House a speaker sat on, on the day they spoke.

By chamber

The House of Commons, the Senate, and House committees. Committee evidence is available only from 2006, so the committee column is a modern one.

How the subjects cluster

This groups subjects by which parties talk about them, not by what they mean. Two subjects end up close together here because the same parties lean toward or away from both, using the numbers in the party table above, not because a reader would call them similar topics.

How to read it: each subject has its own line at the bottom of the chart. Moving up, lines join together in pairs, then those pairs join other lines, until everything meets at the top. Two subjects whose lines join low down are a lot alike in which parties talk about them most. Two subjects whose lines only join near the top are not much alike at all. To find what a subject is closest to, follow its line up from the bottom: the first line it joins is its nearest match. The height where lines join is a distance, not a percentage, so read the shape of the tree rather than the numbers up the side.

Subjects, parties, sides, chambers and eras on one map

The chart above groups subjects by party alone. This map adds government or opposition, chamber, and five time periods, all at once, on one picture.

How to read it: every label, a subject, a party, a side, a chamber, or an era, is a dot. The only thing that matters is how close two dots are to each other. Close together means those two tend to show up in the same statements a lot. Far apart means they rarely do. That is the whole rule.

For example, find Social Credit, the C.C.F., and the era before 1970: all three sit in the same corner of the map. That is because almost all of Social Credit's and the C.C.F.'s statements really did happen before 1970, the same fact the by-party table above shows as numbers. When a subject's dot sits close to a party's dot, that party leans on that subject more than the other parties do.

A few more pairs worth finding. Government and the Liberal party sit almost on top of each other, the two closest dots on the whole map, with community right beside them. Liberals held government for most of the years this map covers, and statements coded as being about the community subject lean toward the government benches specifically, more so than toward Liberal speakers in general. Education, funding, and law cluster together, each of them close to the era 2021–2026: statements on those three subjects skew toward the most recent years in the corpus, more than the other seven subjects do. The NDP and the media subject sit close to each other as well, and both sit farther from government and from Liberal than the median pair of dots on this map.

Two things not to read into the map: which direction two dots are apart in does not mean anything (up, down, left and right are not like a map of Canada, where north is always north), and the numbers along the edges are not percentages or counts, just a way of spreading the dots out so close things stay close and far things stay far. This method is called multiple correspondence analysis.

This map is fixed, not tied to the toggle elsewhere on this page. Computing it is heavier than a live filter, so it was built once, from the narrow and wide corpora together. Parties and chambers with fewer than twenty-five usable statements were left out, the same reason a two-statement column would not belong in the by-party table: too little to place with any confidence. A statement is used only if its subject, party, side, chamber and year (grouped into an era) are all on record; — statements were, and — were not.

See how these ten subjects reach for different orders of worth →

One statement per subject

Drawn only from statements that condemn or report, and only where the coding passes agreed on both subject and speech act, so that choosing an illustration does not put a named person in a bad light on our authority rather than on the record's. The wide corpus follows the toggle above like every other section here; its speech-act tag was coded the same two-pass way, adapted for a passage that never uses the word antisemitism (see the caveat below).

How far to trust this

Subject was coded by a language model, not by hand, from a short passage rather than the full statement. Two independent passes agreed on about nine statements in ten; where they disagreed, the statement carries the first pass's subject and is flagged for review. A handful of very short passages could not be coded at all. Read as exploratory, on the same footing as every other coded tag in this project.

The wide corpus's speech-act tag (condemns, names, blames, disputes, reports) was coded the same two-pass way, but the question had to change: the narrow corpus's tag asks what a speaker does with the word antisemitism, and a wide-corpus statement never uses that word, so this version asks what the speaker does about the hostility the passage itself describes. The two passes agreed on about nine statements in ten here too. A sample was read against the real passages before this shipped; some records in the wide corpus are themselves false positives from its own looser search, and where that happened the coding correctly landed on the least committal answer rather than a false one.

The full coding framework · How the coding was done · Browse the statements this analysis is built from