document-verification-lab / walkthrough.srt
guilindev's picture
Replace walkthrough with full 105-second USD invoice workflow
3ecef03 verified
Raw History Blame Contribute Delete
3.25 kB
1
00:00:00,497 --> 00:00:03,115
An invoice can pass every arithmetic check
2
00:00:03,155 --> 00:00:05,081
and still contain the wrong amounts.
3
00:00:05,182 --> 00:00:06,100
Let me show you.
4
00:00:06,213 --> 00:00:07,884
I upload a dollar invoice.
5
00:00:07,985 --> 00:00:12,593
MiniCPM-OCR reads its payment region into editable fields,
6
00:00:12,633 --> 00:00:14,256
keeping the source beside them.
7
00:00:14,356 --> 00:00:17,326
Now I deliberately multiply every amount by ten.
8
00:00:17,427 --> 00:00:20,032
Subtotal, shipping and tax still add up.
9
00:00:20,145 --> 00:00:21,355
The rules pass,
10
00:00:21,407 --> 00:00:24,013
although the original total is clearly different.
11
00:00:24,114 --> 00:00:26,622
OCR Jev checks this against the page.
12
00:00:26,723 --> 00:00:29,656
It receives the source image, the candidate text,
13
00:00:29,696 --> 00:00:31,780
and an image rendered from that text.
14
00:00:31,881 --> 00:00:34,280
That rendered copy makes the claimed content
15
00:00:34,320 --> 00:00:35,882
visible for comparison.
16
00:00:35,983 --> 00:00:39,923
Inside the model, the inputs become a shared representation.
17
00:00:40,024 --> 00:00:42,848
A small classification head scores two outcomes:
18
00:00:42,888 --> 00:00:44,875
consistent and inconsistent.
19
00:00:44,975 --> 00:00:47,363
It returns a consistency score directly.
20
00:00:47,463 --> 00:00:50,299
Higher scores mean stronger agreement with the source.
21
00:00:50,412 --> 00:00:53,916
The correct candidate scores nearly 0.99.
22
00:00:54,016 --> 00:00:57,969
Our altered candidate scores just 0.004.
23
00:00:58,070 --> 00:00:59,826
We compare that score with a threshold
24
00:00:59,866 --> 00:01:02,545
chosen on separate calibration examples.
25
00:01:02,645 --> 00:01:04,802
This invoice enters the review queue.
26
00:01:04,902 --> 00:01:06,683
The reviewer opens its source,
27
00:01:06,723 --> 00:01:08,358
restores the correct amounts,
28
00:01:08,398 --> 00:01:09,935
and confirms the correction.
29
00:01:10,084 --> 00:01:12,799
For accounts payable, the corrected fields can continue
30
00:01:12,839 --> 00:01:15,372
to purchase order matching and approval,
31
00:01:15,412 --> 00:01:16,914
with their evidence attached.
32
00:01:17,026 --> 00:01:20,045
I also tested whether this extra model actually helps.
33
00:01:20,145 --> 00:01:22,350
On eighty held out synthetic invoices,
34
00:01:22,390 --> 00:01:24,851
rules caught all three natural errors.
35
00:01:24,963 --> 00:01:27,059
The verifier added thirteen reviews
36
00:01:27,099 --> 00:01:28,843
and caught no extra errors.
37
00:01:28,944 --> 00:01:30,421
In a separate stress test,
38
00:01:30,461 --> 00:01:33,576
it flagged all twenty four deliberately altered candidates
39
00:01:33,616 --> 00:01:34,948
that passed the rules.
40
00:01:35,060 --> 00:01:38,516
The useful measure is errors caught per unit of review work.
41
00:01:38,616 --> 00:01:41,100
The online lab lets you inspect every case
42
00:01:41,140 --> 00:01:43,101
and explore that tradeoff yourself.