OpenRepro

Natural language processing · 2017

Bag of Tricks for Efficient Text Classification

Does fastText (Joulin et al., 2017) reproduce? Yes, on its headline claims: when OpenRepro re-ran the authors' code, 8 of 8 headline claims held within tolerances registered before results were recorded; legacy attempt: the plan was never sealed; claims were frozen only by their first result; at least one value was read from an excerpt the agent chose after seeing the output, not by a rule fixed before it (checked 18 Oct 2026).

Armand Joulin, Édouard Grave, Piotr Bojanowski, Tomáš Mikolov. Conference of the European Chapter of the Association for Computational Linguistics, 2017. arXiv 1607.01759 · doi:10.18653/v1/e17-2068

Does “fastText” reproduce?

Reproduced

Yes, on its headline claims. 8 of 8 headline claims held within tolerances registered before results were recorded; legacy attempt: the plan was never sealed; claims were frozen only by their first result; at least one value was read from an excerpt the agent chose after seeing the output, not by a rule fixed before it.

How far the re-run landed from the published number, in tolerances16 claims re-run, 8 headline
  1. fastText: every claim checked16 claims: 16 held.
  • Held (large: headline claim; small: other claim)
The data behind this chart
ClaimPublishedObservedAccepted ifDeviation ÷ toleranceResult
fastText with 10 hidden units and bigrams reaches 92.5% test accuracy on AG News. (headline)92.592.2within ±0.3-1.00Held
fastText with 10 hidden units without bigrams reaches 91.5% test accuracy on AG News.91.591.4within ±0.3-0.33Held
fastText with 10 hidden units and bigrams reaches 96.8% test accuracy on Sogou News. (headline)96.896.7within ±0.3-0.33Held
fastText with 10 hidden units without bigrams reaches 93.9% test accuracy on Sogou News.93.993.7within ±0.3-0.67Held
fastText with 10 hidden units and bigrams reaches 98.6% test accuracy on DBpedia. (headline)98.698.6within ±0.3+0.00Held
fastText with 10 hidden units without bigrams reaches 98.1% test accuracy on DBpedia.98.198.3within ±0.3+0.67Held
fastText with 10 hidden units and bigrams reaches 95.7% test accuracy on Yelp Polarity. (headline)95.795.7within ±0.3+0.00Held
fastText with 10 hidden units without bigrams reaches 93.8% test accuracy on Yelp Polarity.93.893.9within ±0.3+0.33Held
fastText with 10 hidden units and bigrams reaches 63.9% test accuracy on Yelp Full. (headline)63.963.9within ±0.3+0.00Held
fastText with 10 hidden units without bigrams reaches 60.4% test accuracy on Yelp Full.60.460.3within ±0.3-0.33Held
fastText with 10 hidden units and bigrams reaches 72.3% test accuracy on Yahoo! Answers. (headline)72.372.4within ±0.3+0.33Held
fastText with 10 hidden units without bigrams reaches 72.0% test accuracy on Yahoo! Answers.7271.8within ±0.3-0.67Held
fastText with 10 hidden units and bigrams reaches 60.2% test accuracy on Amazon Full. (headline)60.260.2within ±0.3+0.00Held
fastText with 10 hidden units without bigrams reaches 55.8% test accuracy on Amazon Full.55.855.6within ±0.3-0.67Held
fastText with 10 hidden units and bigrams reaches 94.6% test accuracy on Amazon Polarity. (headline)94.694.6within ±0.3+0.00Held
fastText with 10 hidden units without bigrams reaches 91.2% test accuracy on Amazon Polarity.91.291.1within ±0.3-0.33Held

What the attempt found

With fastText at the commit of arXiv v3 and its classification-results.sh, test accuracy with 10 hidden units and bigrams reproduces Table 1 on all eight datasets: 92.2, 96.7, 98.6, 95.7, 63.9, 72.4, 60.2 and 94.6 against 92.5, 96.8, 98.6, 95.7, 63.9, 72.3, 60.2 and 94.6. The unigram row also reproduces, within 0.2 points everywhere. The script own Google Drive download no longer works, so the datasets came from a public mirror of the same tarballs, preprocessed with the script own function. Training speed (Table 2) was not tested.

Assurance

Level
Legacy (what the levels mean)
Plan
Not sealed (legacy): claims were registered before results were recorded, which does not show that no output had been seen
Evidence
Legacy matching: each observed value was matched against the text of the logged output it cites
Execution manifest
No: not recorded for every cited run, or incomplete (no Git checkout, a driver file that could not be hashed)
Report re-derived from the log
Passed: the engine re-derived the report from the log
Engine version
0.2.1
Predates
plan seal, evidence binding, execution manifest, paper text hash, scored job flag, retry reasons, extraction rule
Qualifiers
legacy attempt: the plan was never sealed; claims were frozen only by their first result; at least one value was read from an excerpt the agent chose after seeing the output, not by a rule fixed before it

Headline claims

These decide the outcome. Values are as published and as observed by re-running the code; the accepted-if rule was registered before results were recorded. Each row has a ¶ link of its own.

ClaimPublishedObservedAccepted ifResult
fastText with 10 hidden units and bigrams reaches 92.5% test accuracy on AG News.Table 1, p. 3 · registered at event 10 · quote verified on p. 3 · equivalence check92.5percent92.2within ±0.3Held
fastText with 10 hidden units and bigrams reaches 96.8% test accuracy on Sogou News.Table 1, p. 3 · registered at event 12 · quote verified on p. 3 · equivalence check96.8percent96.7within ±0.3Held
fastText with 10 hidden units and bigrams reaches 98.6% test accuracy on DBpedia.Table 1, p. 3 · registered at event 14 · quote verified on p. 3 · equivalence check98.6percent98.6within ±0.3Held
fastText with 10 hidden units and bigrams reaches 95.7% test accuracy on Yelp Polarity.Table 1, p. 3 · registered at event 16 · quote verified on p. 3 · equivalence check95.7percent95.7within ±0.3Held
fastText with 10 hidden units and bigrams reaches 63.9% test accuracy on Yelp Full.Table 1, p. 3 · registered at event 18 · quote verified on p. 3 · equivalence check63.9percent63.9within ±0.3Held
fastText with 10 hidden units and bigrams reaches 72.3% test accuracy on Yahoo! Answers.Table 1, p. 3 · registered at event 20 · quote verified on p. 3 · equivalence check72.3percent72.4within ±0.3Held
fastText with 10 hidden units and bigrams reaches 60.2% test accuracy on Amazon Full.Table 1, p. 3 · registered at event 22 · quote verified on p. 3 · equivalence check60.2percent60.2within ±0.3Held
fastText with 10 hidden units and bigrams reaches 94.6% test accuracy on Amazon Polarity.Table 1, p. 3 · registered at event 24 · quote verified on p. 3 · equivalence check94.6percent94.6within ±0.3Held

Other claims checked

Reported alongside the headline claims; they do not change the outcome.

ClaimPublishedObservedAccepted ifResult
fastText with 10 hidden units without bigrams reaches 91.5% test accuracy on AG News.Table 1, p. 3 · registered at event 11 · quote verified on p. 3 · equivalence check91.5percent91.4within ±0.3Held
fastText with 10 hidden units without bigrams reaches 93.9% test accuracy on Sogou News.Table 1, p. 3 · registered at event 13 · quote verified on p. 3 · equivalence check93.9percent93.7within ±0.3Held
fastText with 10 hidden units without bigrams reaches 98.1% test accuracy on DBpedia.Table 1, p. 3 · registered at event 15 · quote verified on p. 3 · equivalence check98.1percent98.3within ±0.3Held
fastText with 10 hidden units without bigrams reaches 93.8% test accuracy on Yelp Polarity.Table 1, p. 3 · registered at event 17 · quote verified on p. 3 · equivalence check93.8percent93.9within ±0.3Held
fastText with 10 hidden units without bigrams reaches 60.4% test accuracy on Yelp Full.Table 1, p. 3 · registered at event 19 · quote verified on p. 3 · equivalence check60.4percent60.3within ±0.3Held
fastText with 10 hidden units without bigrams reaches 72.0% test accuracy on Yahoo! Answers.Table 1, p. 3 · registered at event 21 · quote verified on p. 3 · equivalence check72percent71.8within ±0.3Held
fastText with 10 hidden units without bigrams reaches 55.8% test accuracy on Amazon Full.Table 1, p. 3 · registered at event 23 · quote verified on p. 3 · equivalence check55.8percent55.6within ±0.3Held
fastText with 10 hidden units without bigrams reaches 91.2% test accuracy on Amazon Polarity.Table 1, p. 3 · registered at event 25 · quote verified on p. 3 · equivalence check91.2percent91.1within ±0.3Held

Deviations from the paper's setup

  • minorDatasets came from the public s3.amazonaws.com/fast-ai-nlp mirror (tarball hashes in the job output) instead of the script own googledrive.com/host download, then preprocessed with the script own normalize_text function.
  • noneThe unigram row was produced with the same command as the script but -wordNgrams 1; the script itself only runs the bigram configuration.
  • minorBuilt with g++ 14 on Debian 13 and trained with 4 threads on a 4 vCPU shared droplet.

The run

Wall time
1 h 7 min, 18 October 2026 to 18 October 2026
Job compute
1 h 3 min across 1 job
Code the results name
facebookresearch/fastText at 206179d
Work tree at the end
facebookresearch/fastText at 206179d
Container image
repro-sandbox:0.2 sha256:f4b241036e33…
Sandbox
3.5 CPUs, 6 GB, no GPU
Run by
Claude (claude-opus-5-5), an AI agent made by Anthropic, in a Claude Code session
Attempt
arxiv-1607-01759-20261018T223713Z
Log
56 events, head 87b5ac61

Evidence

The full evidence report has the exact paper quotes, the method behind every number, the reason for each tolerance, notes made during the attempt and the environment it ran in. The raw report.json is the unmodified data this page is built from.

Log seal · 56 hash-chained events

87b5ac6197ec5f210cb74ba6aaa5412fe8e2237bdf845f1afee95be9043de61d

The head hash of the attempt's append-only log. The engine generated this report from that log; the verifier checks the log and its artifacts against this hash and that the report names it, but not the report's contents. Download the evidence bundle (the log, every artifact and the report; SHA-256 31c2f0bbfa190098…) and check it with the verifier, which needs only Python.

Released 19 October 2026. No author notice was sent. Reply status: No courtesy note: the only addresses printed in the paper are at an employer the authors have left. No reply on record.

Share image (1200×630), drawn from this report.

How to cite this report

OpenRepro (2026). Reproducibility report: Bag of Tricks for Efficient Text Classification. Reproduced; 8 of 8 headline claims held (legacy attempt: the plan was never sealed; claims were frozen only by their first result; at least one value was read from an excerpt the agent chose after seeing the output, not by a rule fixed before it). Attempt arxiv-1607-01759-20261018T223713Z, log head 87b5ac6197ec5f21, checked 18 Oct 2026. https://openrepro.org/papers/1607.01759/

BibTeX
@techreport{openrepro-1607.01759,
  author      = {{OpenRepro}},
  title       = {Reproducibility report: Bag of Tricks for Efficient Text Classification},
  institution = {OpenRepro},
  year        = {2026},
  url         = {https://openrepro.org/papers/1607.01759/},
  note        = {Attempt arxiv-1607-01759-20261018T223713Z; log head 87b5ac6197ec5f21; checked 18 Oct 2026}
}

To cite the whole ledger, use CITATION.cff on the data page.

Badge

OpenRepro: Reproduced. 8 of 8 headline claims held; legacy attempt: the plan was never sealed; claims were frozen only by their first result; at least one value was read from an excerpt the agent chose after seeing the output, not by a rule fixed before it.

Authors and maintainers may embed this badge; it always reflects the current report, and a correction updates it.

Markdown

[![OpenRepro: Reproduced. 8 of 8 headline claims held; legacy attempt: the plan was never sealed; claims were frozen only by their first result; at least one value was read from an excerpt the agent chose after seeing the output, not by a rule fixed before it.](https://openrepro.org/badge/1607.01759.svg)](https://openrepro.org/papers/1607.01759/)

HTML

<a href="https://openrepro.org/papers/1607.01759/"><img src="https://openrepro.org/badge/1607.01759.svg" alt="OpenRepro: Reproduced. 8 of 8 headline claims held; legacy attempt: the plan was never sealed; claims were frozen only by their first result; at least one value was read from an excerpt the agent chose after seeing the output, not by a rule fixed before it." width="416" height="20"></a>

Right of reply, and reporting an error

Authors may submit a response, which is published alongside this report unedited. Write to hello@openrepro.org.

Anyone, not only an author, can report an error in an attempt to the same address. The same address takes suggestions of papers to check and questions about the method.