Capstone: An Earnings-Call NLP Pipeline
Four published stages read earnings calls into a knowledge graph. Which stage costs what is a question about a lattice of oracle swaps, what one stage should hand the next is a question about garbling, and when the knowledge base can repair its own output is a question about total unimodularity.
Overview & Motivation
Twenty-eight topics built models one at a time. This one runs four of them in sequence on earnings calls and asks what the composition does that no single model does.
Take one synthetic call, the Marrow Freight quarterly results call from the seen-roster test run. Its first sentence is “Thank you for joining the Marrow Freight quarterly results call.” Topic 22’s tagger misses “Marrow Freight” there, so the pipeline never learns whose call it is. It misses the name again in “Marrow Freight operates in the industrials sector,” so the relation reader never sees the pair, and the sector fact is lost. It tags only “Fenwick” in “Fenwick Logistics is headquartered in Houston, Texas,” and the linker cannot place a bare “Fenwick,” so the headquarters fact is lost too. The relation reader gets the three facts whose arguments survive. Topic 17’s logistic regression calls the call positive; the generator made it neutral, and Topic 19’s aspect reader agrees with the generator. Every error is local, but they all land in one place: the call graph, the facts the calls state plus each call’s subject, tone, and aspect polarities. The lab’s Trace a call tab shows this call sentence by sentence.
Three questions follow, and each has a precise answer.
- Who gets the blame? Fix one stage at a time by giving it the gold answer, and see how much the graph improves. The answer depends on the order in which we fix them, and the Shapley value removes that dependence (Theorem 1). On 126 calls, tone takes the largest share, aspects exactly none (Corollary 1), and the only sizable interaction is that entities and relations are complements.
- What should one stage hand the next? A posterior instead of an argmax can only help a successor that acts optimally on it (Theorem 2(a)), and it can hurt one that does not (Theorem 2(b)). On the calls, span marginals raise fact AP from to and lower F1 at the hard pipeline’s threshold.
- Can the knowledge base repair the output? Constraints such as “one headquarters city per company” turn fact selection into an integer program. With inverse and symmetric facts merged, its LP relaxation is exact (Theorem 3), and adding composition rules breaks that (Proposition 3).
formalRAG’s capstone proved the product law for a retrieval cascade. That law reappears in Proposition 1, and the three results above are what a pipeline of different stages adds to it.
The pipeline and its oracles
The test documents are the entity-recognition topic’s two test runs of the synthetic finance corpus, one on the training roster (“seen”) and one on six held-out companies (“unseen”). The pipeline reads their earnings calls, 66 and 60 of them, covering 16 and 6 companies.
| stage | model | from |
|---|---|---|
| E, entities | CRF tagger on encoder states, then exact string linking | Topics 22, 23 |
| R, relations | multiple-instance reader, facts by noisy-OR | Topic 23 |
| T, tone | dictionary net tone, unigram LR, or aspects through the Bayes rule | Topics 18, 17, 19 |
| A, aspects | a term matcher, then the bigram attention reader | Topic 19 |
Definition 1 (Call graph and oracle).
The pipeline’s output on a set of calls is the call graph , a set of triples: every fact that a call states between linked entities, and for each call the triples with its subject, with , and for each aspect category whose polar mentions do not cancel. The oracle of stage replaces its output by the gold one, and later stages read the replacement. With predicted entities, the relation oracle returns the facts stated between the mentions the entity stage found, typed, and linked. The gold graph has every oracle in place.
The gold graph of the two runs has 478 and 356 triples, 115 and 45 of them facts. Every oracle reproduces its prerequisite’s own gold reading: the aspect triples are the overlap-metrics topic’s doc_facts, and the tone-bearing sentences are the aspect topic’s tone_sentences. A call’s subject is its first linked organization mention, which is the covered company on every call when the mentions are gold.
How errors compound
A fact reaches the graph only if both stages succeed on it. For a gold fact , let be the event that both of its arguments are found and linked, and the event that the relation reader recovers from gold mentions. Write for the share of gold facts in and for the share in .
Proposition 1 (Two-sided bounds and modularity).
. If and are independent, , and if they are positively associated, . If the pipeline is modular, meaning the reader recovers from predicted mentions exactly when holds, then end-to-end recall equals .
Proof.
by Bonferroni’s inequality (formalCalculus, Probability and the Union Bound, Corollary 1), and . Since and , . Independence is the definition ; the positively associated case is formalRAG’s Proposition 1 (Harris and FKG). Under modularity, a fact succeeds end to end exactly on , so the two recalls coincide.
∎The product law in the middle is formalRAG’s Theorem 1. On the calls:
| calls | Bonferroni | product | end to end | |||
|---|---|---|---|---|---|---|
| seen | ||||||
| unseen |
exceeds the product on both runs, so success at the two stages is positively associated. Both kinds of error cluster on the same rarely covered companies. On the unseen calls the pipeline is modular: end-to-end recall is exactly . On the seen calls it is not, and end-to-end recall falls below . When the tagger mis-tags a neighbor, the string between the two arguments changes, and the reader, which reads that string, can miss a fact whose arguments it was given correctly. Every end-to-end success still lies inside , so the upper bound holds. Bounds like these presume that a stage behaves the same on predicted input as on gold input, and that presumption can be checked.
Who gets the blame
Fixing stages one at a time is called a ceiling analysis: give the first stage the gold answer and record the gain, then the second, and so on. With four stages there are sets of oracles, a Boolean lattice ordered by inclusion, and one ceiling analysis is one path from the bottom (no oracles) to the top (all of them). There are such paths, and they need not agree.
Definition 2 (Oracle game, dividends, sequential shares).
Let . The oracle game is , where is the call graph with the stages in replaced by their oracles and is micro F1 against the gold graph. The error game is , with err the number of false and missing triples. The Harsanyi dividends are
In an order of , the sequential share of stage is , where is the set of stages before .
The two formulas for and are Möbius inversion on the lattice. A dividend measures what a coalition achieves beyond what its sub-coalitions already explain: is the gain of stage alone, and is what entities and relations do together beyond each alone.
Theorem 1 (Ceiling analysis and the Shapley value).
(a) In order , the sequential share of stage is over the coalitions whose last member under is .
(b) Every order gives every stage the same share if and only if for every with .
(c) The average share over all orders is
the Shapley value, and it is the only map from games to attributions that is efficient (), symmetric (interchangeable stages get equal shares), null on null players, and additive.
Proof.
(a) With , over with . These are exactly the coalitions all of whose other members come before , so is last among them.
(b) If every dividend of two or more stages is , (a) gives the share in every order. Conversely, suppose all orders agree, and take with . Compare an order that lists first and then with an order that starts with . By (a) the first gives the dividends of all containing , and the second only , so . Induct on : for the sum is itself, and for larger every smaller in the sum has already, so .
(c) Under a uniformly random order, each member of is equally likely to come last, so by (a) the expected share of is . The probability that the set of stages before is exactly is , which gives the second formula. The Shapley value satisfies the four properties: efficiency because ; symmetry and null players from the formula; additivity because it is linear in . For uniqueness, write with the unanimity games . For any real , every stage outside is a null player in ; the members of are interchangeable; and the total is . So any map with the four properties gives the attribution on and off it, and additivity over the terms fixes it on .
∎Shapley (1953) proved the uniqueness; Harsanyi (1963) read the value as dividends split equally. Part (b) is the practical content: a ceiling analysis is safe to report in one order exactly when no two stages interact. When they do, the dividend goes to whichever stage arrives last.
Corollary 1 (Null players).
If for every , then every dividend containing is , and the share of stage is in every order and under the Shapley value.
Proof.
For , pair each with in the sum defining . The two terms carry opposite signs and equal values, so they cancel, and . Then (a) and (c) of Theorem 1 give .
∎The aspect stage is such a player. The term matcher finds exactly the gold aspect spans, because the corpus’s aspect vocabulary is closed and every mention of a term is annotated, and Topic 19’s bigram reader reads all 1,209 of them correctly. Its oracle changes nothing, in either game, for every tone reader.
Whether two stages interact depends on the metric as well as on the stages.
Proposition 2 (Counts add, ratios couple).
If the correctness of each triple depends on only through , where is the set of stages whose output determines , then , and only if for some triple . Micro F1 is a ratio of sums of the same indicators, and its dividends are not confined in this way.
Proof.
The error count is a sum over triples of an indicator that depends only on , and the map from to its dividends is linear. A function of does not change when a stage joins, so by Corollary 1 its dividends vanish on every containing such an , that is, on every . F1 is , and a stage that changes the number of predicted triples rescales the credit for every other stage’s true positives.
∎Facts depend on , subjects on , tone triples on (for the document-level readers), and aspect triples on . So the error game can have exactly one dividend of two stages, , and on all 126 calls it is errors. That dividend is positive: entities and relations are complements, each oracle worth more once the other is in place, because a fact needs both its arguments and its relation. The aspect reader’s tone could depend on the entity stage, since a tone-bearing sentence names no company, but on these calls the entity stage’s errors never move a sentence in or out, so that game is additive too.
Shapley shares of F1, both runs, by tone reader:
| tone reader | entities | relations | tone | aspects | |
|---|---|---|---|---|---|
| dictionary | |||||
| LR | |||||
| aspects |
With the LR reader, a ceiling analysis that fixes entities first credits them , and one that fixes relations first credits them : the dividend goes to whichever arrives second. The F1 game also has small negative dividends between tone and the other stages ( and ), which Proposition 2 attributes to F1’s denominator rather than to any interaction among the stages. Error counts give the same picture without them: , , , and errors for entities, relations, tone, and aspects.
Two readings of the table matter more than its digits. Tone’s share is the largest, and most of it no reader could remove: the aspect reader outputs exactly the Bayes rule applied to the gold aspect polarities on every call, and the classification topic’s Bayes ceiling is . So of LR’s , the the aspect reader keeps is irreducible, and only the difference is fixable. An oracle’s gain is not the same as fixable error. And entities matter far more on the seen run than on the unseen one ( against with LR). The tagger reads the six held-out companies almost perfectly; the hard names are the training roster’s rarely covered companies and cities. The lab’s Oracle lattice tab draws the sixteen coalitions, highlights the path of any order you choose, and sets its shares beside Shapley’s.
What one stage should hand the next
A pipeline stage usually passes on its best guess: the Viterbi span set, the argmax label. It could pass on its uncertainty instead.
Definition 3 (Hard and soft handoffs).
A stage with posterior makes a hard handoff when it passes and a soft handoff when it passes itself. For the entity stage, a marginal handoff passes every span with marginal probability (the entity topic’s Proposition 4) and scales each candidate pair’s relation probabilities by . A sampled handoff draws span sets per sentence from the constrained chain by forward filtering, backward sampling (Carter and Kohn 1994), runs the relation stage on each, and averages the 64 noisy-OR fact scores.
Finkel, Manning, and Ng (2006) proposed the sampled handoff for linguistic pipelines, with a majority vote over last-stage samples; we keep the averaged scores so that the facts can be ranked.
Theorem 2 (The argmax is a garbling).
(a) For every loss and every downstream decision, a Bayes-optimal successor that receives has risk no larger than one that receives .
(b) A fixed successor can do worse with : there are a loss and a decision rule with .
Proof.
(a) The argmax is a function of , so every decision rule that uses the argmax is also a rule that uses . The Bayes risk minimizes over rules, and minimizing over a larger class cannot give a larger minimum.
(b) Let a mention’s span be right with probability , and let the reader state a fact from the right span with probability and from a wrong one never, so the fact holds with probability . A missed fact costs and a false one , so the Bayes act asserts the fact whenever its probability exceeds . Let be the hard pipeline’s rule: assert when the score exceeds . Hard, the span is kept () and the score is , so asserts, which is the Bayes act, at expected cost . Soft, the score is , so withholds, at expected cost . Refitting the threshold to on the soft score restores .
∎Part (a) is the easy direction of Blackwell’s comparison of experiments (1953): an experiment is more informative than its garblings in every decision problem. It is a decision-theoretic counterpart of formalML’s data processing inequality (Theorem 4 there), and of Rao–Blackwell (formalStatistics, Theorem 4). The harness checks (a) on 300 random finite worlds by exact enumeration; in 22 of them the inequality is strict. The proof of (b) shows what goes wrong: a soft score is closer to a probability than a hard one, and a threshold set for hard scores is set for the wrong quantity. The entity topic’s Theorem 3 gives the refit for F1: with calibrated scores, threshold at half the optimal F1 (Lipton, Elkan, and Naryanaswamy 2014, Corollary 1).
On the calls, fact precision is for every handoff at , and the differences are all in recall:
| seen calls | F1 at | AP | F1 at | F1, tuned on filings |
|---|---|---|---|---|
| hard | ||||
| marginal | ||||
| sampled |
The seen run is where entity errors are common, and there the soft handoffs carry real information: of the 92 gold spans the hard tagger misses on the calls, 61 keep marginal mass above , and average precision rises by more than . At the hard pipeline’s threshold they lose, as Theorem 2(b) predicts: scaling by pushes true facts below . The rule, computed from the soft scores alone, recovers part of the loss; noisy-OR scores built from scaled mention probabilities are underconfident, so the rule’s calibration assumption fails and it stays short. A threshold tuned on the same run’s filings, which never enter the graph, gives the soft handoffs the best F1 on the calls, against . On the unseen run the tagger is nearly right, the marginals add little (AP against ), and the tuned soft handoffs tie the hard one or trail it by . The lab’s Hard vs. soft tab moves the threshold.
Letting the knowledge base check itself
The extracted facts are scored one at a time, but the world they describe has structure: a company has one headquarters city and one CEO, and a subsidiary has one parent. Respecting that structure means choosing the facts jointly.
Definition 4 (Constrained fact selection).
Each scored fact gets an indicator and a weight , so that with no constraints, maximizing keeps exactly the facts with . A fact and its inverse ( and ), and a symmetric fact and its reverse (), are one variable, scored by the noisy-OR over both directions. The functional rows are
the first for the relations a head has at most one of (HQ_IN, IN_SECTOR, BASED_IN, LOCATED_IN, SUBSIDIARY_OF, CEO_OF, CFO_OF, ACQUIRED), the second for those a tail has at most one of (CEO_OF, CFO_OF, ACQUIRED). Both lists are read off the knowledge base’s own maximum degrees.
The merge is a modeling choice with consequences. Adding the two directions’ log-odds instead of combining them by noisy-OR lets a reader that states only one direction veto it: Brightwater Analytics PARENT_OF Larch Data, scored , was dropped at for its inverse, scored , when the harness first added them. Every mention of either direction is evidence for the one fact, and noisy-OR treats it so.
Theorem 3 (Functional constraints are totally unimodular).
(a) After merging, the matrix of functional rows is totally unimodular, so the LP relaxation of Definition 4 () has an integral optimum, and it is the constrained MAP.
(b) If no tail-functional row binds, the MAP keeps each head slot’s highest-weight fact when that weight is positive, and every positive-weight fact outside the functional relations. When rows of both families bind, the MAP is a maximum-weight bipartite matching.
Proof.
(a) Each fact has one head slot and at most one tail slot, so every column has at most one among the head-slot rows and at most one among the tail-slot rows. Let be a square submatrix; we show by induction on its size. If a column of is zero, . If a column has a single , expanding along it gives the determinant of a smaller submatrix. Otherwise every column has exactly one in each family, so the sum of the head-slot rows of minus the sum of its tail-slot rows is the zero vector, and . This is Heller and Tompkins’ criterion (1956). Appending the identity rows for keeps total unimodularity, since a determinant expanded along an identity row is a smaller one. With a totally unimodular matrix and an integral right-hand side, every vertex of the polytope is integral (Hoffman and Kruskal 1956), so the LP attains its optimum at an integral point, which is a feasible point of the integer program with the same value.
(b) Without binding tail rows, the head-slot rows partition the variables into disjoint slots, and the LP separates into one problem per slot, subject to and . Its optimum puts weight on the largest if it is positive and nothing otherwise. With both families, the variables are the edges of a bipartite graph between head slots and tail slots, and the rows say each slot is used at most once.
∎On the calls, the per-slot rule of (b) agrees with the MAP except at on the unseen run, where a company has two plausible CEOs and the one-CEO-per-company rows bind. Composition rules are another matter. The knowledge base satisfies : a company is based in the region of its headquarters city. As linear constraints, and .
Proposition 3 (Composition breaks total unimodularity).
Take one company with two candidate headquarters cities in one country, variables , the row , and the two rules for each city. The submatrix on the two rules of city 1 and the columns has determinant . With weights the LP optimum is , with value , while the best integer point is worth .
Proof.
The two rows restricted to those columns are and , with determinant . The point satisfies , , and for each city, and its value is . At an integer point, forces by the two rules, and the pair is worth or . So the integer optimum is either a headquarters alone or BASED_IN alone, each worth . The LP gains by splitting the headquarters between two cities, which no real knowledge base allows.
∎Roth and Yih (2004, §3.3) formulated entity and relation decisions as such a program and found that, although their matrix “is not unimodular,” the LP relaxation returned integer solutions in every one of thousands of cases. So does ours: at all 19 thresholds of the lab’s grid, on both runs, with gold or predicted mentions, with or without the rules, the LP is integral. Proposition 3 shows this is a property of the instances, not of the formulation.
What the constraints do to F1 (both runs, predicted mentions):
| run, | threshold | merged | functional | with rules |
|---|---|---|---|---|
| seen, | ||||
| seen, | ||||
| unseen, | ||||
| unseen, |
Merging the inverse and symmetric facts never lowers F1 at , and at high thresholds it raises it (seen, : to ) by completing the direction a reader missed; at low it also completes the inverses of weak false facts. The functional rows never lower F1 against the merged threshold, and at low they raise it, and every fact they remove there is false: a second headquarters city, a region read as a city, a second CFO. The rules cut both ways. At on the seen run they lower F1, by deleting true LOCATED_IN facts such as Chicago in Illinois and Denver in Colorado: no call states the BASED_IN fact that would complete the triangle, so its weight is strongly negative, and the rules let that unstated fact veto the stated one. This is the closed-world assumption the embedding topic found in training, now acting at inference: an unstated fact counts as false. The lab’s Joint KB tab lists which facts each step adds and removes at every threshold.
How sure are the shares
The shares above come from 22 companies, and calls of one company share a subject, a coverage rate, and its rare names. A share that cannot be separated from zero should not be reported as a ranking.
Proposition 4 (One bootstrap serves every share).
Charge each triple of the call graph to a company: a call triple to the call’s company, a fact to the company of the first call that mentions both of its entities. Let be the counts of company under coalition . Then , with the matrix of Theorem 1(c), and . Resampling companies with multiplicities gives every share’s bootstrap replicate at once: .
Proof.
Theorem 1(c) writes each as a fixed linear combination of the values , so for every game, including the game computed on a resample. Each company’s triples are charged to it alone, so the pooled counts of a resample are , and F1 is a function of pooled counts. F1 is homogeneous of degree in them, so multiplicities and normalized weights give the same value, the form the significance topic resamples in (its Definition 1).
∎Consistency is formalStatistics’ bootstrap Theorem 3 for each pooled mean, carried to F1 by the delta method; 22 clusters is a small sample for it. With 2,000 resamples, both runs, LR reader, the 90% intervals are for entities, for relations, and for tone. Tone’s share is separated from zero and from the others, and the aspect share is exactly zero in every replicate. Entities and relations cannot be ordered: entities’ replicate exceeds relations’ in of the resamples. On the unseen run alone, entities’ interval reaches zero. The lab’s Oracle lattice tab draws these intervals as whiskers.
Finance case study
| fact | score | extracted | gold |
|---|---|---|---|
| Fenwick Logistics HQ_IN Houston | 0.000 | no | yes |
| Houston LOCATED_IN Texas | 0.918 | yes | yes |
| Ingrid Sato CFO_OF Marrow Freight | 0.977 | yes | yes |
| Marrow Freight BASED_IN Illinois | 0.998 | yes | yes |
| Marrow Freight IN_SECTOR industrials | 0.002 | no | yes |
Bold rows are errors. A struck-through name is a span the tagger found but the linker could not place. Tone-bearing sentences, marked [tone], are the ones the aspect reader votes with.
Where this sits
Every earlier topic built one map from text to structure and studied it alone. Composing them raises three questions that no single topic raises. Blame is a cooperative game over a lattice of oracle swaps: a ceiling analysis is one path through it, paths disagree exactly when stages interact (Theorem 1), a stage whose oracle changes nothing gets nothing (Corollary 1), and whether stages interact depends on the metric (Proposition 2). Handoffs are a comparison of experiments: a posterior can only help a successor that acts on it optimally, and a fixed successor must be refit to benefit (Theorem 2). Repair is an integer program: functional constraints are totally unimodular, so the LP is exact (Theorem 3), and composition rules are not (Proposition 3). The cascade bounds (Proposition 1) and the bootstrap of shares (Proposition 4) say how much of this can be read from one test set.
The capstone closes the extraction and knowledge-graph track and the curriculum. Its cascade law comes from formalRAG’s capstone, and its one-stage special case is the recall pinch of formalRAG’s reranking topic.
Honest caveats
Implementation
The companion notebook (notebookPath) imports the topic’s Python module, which owns every number on this page. The module imports the relation-extraction topic’s module, and through it the entity and sequence-labeling topics, for the entity and relation stages; the aspect topic’s module, and through it the lexicon and classification topics, for the tone readers and the aspect reader; the topic-model, embedding, and significance topics’ modules for the topic stage, the completion ranks, and the reader tests. Its harness checks:
- that every oracle reproduces its prerequisite’s gold reading;
- Theorem 1 and Corollary 1 on random games and on the corpus, and Proposition 2’s dividends in both games;
- Proposition 1’s bounds and the modularity gap;
- Theorem 2(a) on 300 random finite worlds, the counterexample of Theorem 2(b), and forward filtering, backward sampling against brute-force path probabilities;
- Theorem 3 by brute-force minors on random fragments and LP integrality on every corpus problem, and Proposition 3 by exhaustive enumeration;
- Proposition 4’s linear map against the Shapley formula, and every finance number this page states.
The laboratory reads its data from a JSON file that one of the harness’s tests requires to equal the module’s viz_payload() exactly, so the figure cannot drift from the code.
Connections
- Its headline tagger is this pipeline's entity stage; its span marginals and constrained chains are the soft handoffs of Theorem 2, and its F*/2 threshold is the refit that Theorem 2(b) calls for. named-entity-recognition
- Its MIL reader and noisy-OR aggregation are the relation stage, and its Proposition 5, that a triple needs both of its arguments, is the event A of Proposition 1 here. relation-extraction-distant-supervision
- Its bigram reader and its Bayes rule from aspects to tone are the aspect stage and the third tone reader; on these calls the reader is perfect and the stage is Corollary 1's null player. aspect-based-sentiment
- Its unigram logistic regression is the learned tone reader, and its Bayes ceiling of 0.890 bounds every tone reader of this text, which is why tone's Shapley share is mostly irreducible. linear-text-classifiers
- Its McNemar test and approximate randomization compare the three tone readers on the same calls, and its pooled-statistics resampling is what Proposition 4 applies to the Shapley shares. significance-testing-for-nlp
References & Further Reading
- paper A Value for n-Person Games — Lloyd S. Shapley (1953) In Contributions to the Theory of Games II, Annals of Mathematics Studies 28, 307–17. The value as the unique map satisfying symmetry, efficiency, and additivity on games with carriers
- paper A Simplified Bargaining Model for the n-Person Cooperative Game — John C. Harsanyi (1963) International Economic Review 4 (2): 194–220. The dividends of coalitions, split equally among their members, as a reading of the Shapley value
- paper Integral Boundary Points of Convex Polyhedra — A. J. Hoffman and J. B. Kruskal (1956) In Linear Inequalities and Related Systems, Annals of Mathematics Studies 38, 223–46: a totally unimodular constraint matrix gives an integral polyhedron for every integral right-hand side (Crossref dates the digitized volume 1957)
- paper An Extension of a Theorem of Dantzig's — I. Heller and C. B. Tompkins (1956) Same volume, 247–54: a matrix whose columns have at most two nonzero entries is totally unimodular when its rows split into two classes as in Theorem 3's proof
- paper Equivalent Comparisons of Experiments — David Blackwell (1953) Annals of Mathematical Statistics 24 (2): 265–72. An experiment is more informative than another iff the other is a garbling of it iff it has lower Bayes risk in every decision problem; Theorem 2(a) is the easy direction
- paper Solving the Problem of Cascading Errors: Approximate Bayesian Inference for Linguistic Annotation Pipelines — Jenny Rose Finkel, Christopher D. Manning, and Andrew Y. Ng (2006) Proceedings of EMNLP 2006, 618–26. Each stage samples conditioned on the earlier stages' samples, and a majority vote over last-stage samples decides; k-best lists as the prior practice
- paper A Linear Programming Formulation for Global Inference in Natural Language Tasks — Dan Roth and Wen-tau Yih (2004) Proceedings of CoNLL 2004. Entities and relations decided jointly by an integer program; §3.3: the coefficient matrix is not unimodular, yet the LP relaxation returned integer solutions in all of their thousands of cases
- paper On Gibbs Sampling for State Space Models — C. K. Carter and R. Kohn (1994) Biometrika 81 (3): 541–53. Forward filtering, backward sampling: exact joint draws from a chain's posterior
- paper Optimal Thresholding of Classifiers to Maximize F1 Measure — Zachary C. Lipton, Charles Elkan, and Balakrishnan Naryanaswamy (2014) ECML PKDD 2014, LNCS 8725, 225–39. Corollary 1: with calibrated scores, the F1-optimal threshold is half the optimal F1