Perceptron Data

Weekly check: PDF to Markdown

Every Sunday an automated watchdog runs the live actors on Apify with fixed inputs whose correct answers are known, and checks the content of the results — not only whether the run succeeded. The results are published here as they are, failures included.

First public check on 25 Oct 2026. Until then this page lists what will be checked.

CaseResultTimeWhat is checked
A 15-page research paper (arXiv 1706.03762v7) is converted in full: status ok, 15 of 15 pages charged as text pages, the paper title as a Markdown heading and the section text– not checked yet–
  • row with url = https://arxiv.org/pdf/1706.03762v7
  • status = ok
  • format = pdf
  • pageCount = 15
  • pagesConverted = 15
  • chargedPages = 15
  • ocrPages = 0
  • markdown matches (^|\n)## Attention Is All You Need
  • text contains “Scaled Dot-Product Attention”
Table 2 of the same paper comes out as a table row: “Transformer (big)” with BLEU 28.4 (English–German) and 41.8 (English–French)– not checked yet–
  • row with url = https://arxiv.org/pdf/1706.03762v7
  • tables.page = 8
  • tables.rows matches Transformer ?\(big\)', '28\.4', '41\.8'
  • markdown matches \| *Transformer ?\(big\) *\| *28\.4 *\| *41\.8 *\|
An Excel file (pandas test file, fixed version) becomes a table with the exact cell values — whole numbers, decimals, TRUE/FALSE and dates– not checked yet–
  • row with url = https://raw.githubusercontent.com/panda…
  • status = ok
  • format = xlsx
  • tables.rows matches \['IntCol', 'FloatCol', 'BoolCol', 'StrCol', 'Str2Col', 'DateCol'\]
  • markdown matches \| *-3 *\| *1\.83 *\| *TRUE *\| *3 *\| *c *\| *1905-01-01 *\|
  • text contains “5e-10”
A missing file (HTTP 404) is reported as failed with the reason and not charged — no empty document is delivered– not checked yet–
  • row with url = https://raw.githubusercontent.com/panda…
  • status = failed
  • charged is false
  • error contains “404”
  • markdown empty

Sample against the original source

On 12 Oct 2026 we took 20 result rows and compared 105 field values one by one with the original source: 73 matched (69.5%).

20 table rows from 4 public PDFs with tables (two arXiv papers, a US Census Bureau release, an IRS tax table), 5 rows per document chosen at random, converted on 12 Oct 2026 with the code of the live version (build 0.1.6). Every cell of these rows was compared with the original PDF — an independent text extraction (poppler pdftotext) and the rendered page. A cell counts when the source or our output has a value; it matches only if the text is identical apart from surrounding whitespace. After repairs released on 12 Oct 2026 (build 0.1.8), the same 20 rows match in 105 of 105 cells. These are the rows the repairs were aimed at, so this is not an independent estimate; 20 further rows from other tables of the same four files match in 112 of 112 cells (before: 88). A fresh sample from new documents follows.

DocumentMatchedRate
arXiv 1706.03762v7 (Attention Is All You Need), page 8, Table 29 / 2045.0%
arXiv 1512.03385v1 (Deep Residual Learning), page 6, Table 314 / 1593.3%
US Census Bureau, Quarterly Retail E-Commerce Sales, 2nd quarter 2024, page 2, Table 140 / 40100.0%
IRS, 2023 Instructions for Form 1040 — Tax Table (prior-year archive), page 410 / 3033.3%

Every difference and its cause

RowFieldActor outputOriginal sourceCause
arXiv 1706.03762v7, p. 8, Table 2, data row 1ModelByteNet[18]ByteNet [18]Word spaces inside the cell were lost; the characters are otherwise identical.
arXiv 1706.03762v7, p. 8, Table 2, data row 7ModelGNMT+RLEnsemble[38]GNMT + RL Ensemble [38]Word spaces inside the cell were lost; the characters are otherwise identical.
arXiv 1706.03762v7, p. 8, Table 2, data row 7Training cost EN-DE1.8·1020 1.1·10211.8 · 10^20The two training-cost columns were merged into one cell, and the superscript exponent was flattened (10^20 became “1020”).
arXiv 1706.03762v7, p. 8, Table 2, data row 7Training cost EN-FR–1.1 · 10^21The value sits in the neighbouring cell, which holds both training-cost columns.
arXiv 1706.03762v7, p. 8, Table 2, data row 8ModelConvS2SEnsemble[9]ConvS2S Ensemble [9]Word spaces inside the cell were lost; the characters are otherwise identical.
arXiv 1706.03762v7, p. 8, Table 2, data row 8Training cost EN-DE7.7·1019 1.2·10217.7 · 10^19The two training-cost columns were merged into one cell, and the superscript exponent was flattened (10^20 became “1020”).
arXiv 1706.03762v7, p. 8, Table 2, data row 8Training cost EN-FR–1.2 · 10^21The value sits in the neighbouring cell, which holds both training-cost columns.
arXiv 1706.03762v7, p. 8, Table 2, data row 9ModelTransformer(basemodel)Transformer (base model)Word spaces inside the cell were lost; the characters are otherwise identical.
arXiv 1706.03762v7, p. 8, Table 2, data row 9Training cost EN-DE3.3·10183.3 · 10^18The superscript exponent was flattened (10^18 became “1018”) — the number reads wrong.
arXiv 1706.03762v7, p. 8, Table 2, data row 10ModelTransformer(big)Transformer (big)Word spaces inside the cell were lost; the characters are otherwise identical.
arXiv 1706.03762v7, p. 8, Table 2, data row 10Training cost EN-DE2.3·10192.3 · 10^19The superscript exponent was flattened (10^18 became “1018”) — the number reads wrong.
arXiv 1512.03385v1, p. 6, Table 3, data row 2modelGoogLeNet[44]GoogLeNet [44]Word spaces inside the cell were lost; the characters are otherwise identical.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 3At least–3,100Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 3But less than–3,150Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 3Single–313Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 3Married filing separately–313Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 8At least–3,350Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 8But less than–3,400Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 8Single–338Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 8Married filing separately–338Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 11At least–3,500Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 11But less than–3,550Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 11Single–353Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 11Married filing separately–353Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 14At least–3,650Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 14But less than–3,700Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 14Single–368Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 14Married filing separately–368Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 18At least–3,850Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 18But less than–3,900Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 18Single–388Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.
IRS 2023 Instructions 1040 Tax Table (prior-year archive), p. 4, first block, data row 18Married filing separately–388Dense table without row lines: for this column, all 20 rows of the block were packed into one cell of the block's first row — the value is in the output, but not in its row.

What this shows: on the day of the check, the live actor gave the known answers for these inputs. It does not prove that every result is correct. The sample against the original source measures accuracy on real result rows.

Run on Apify Back to the actor