ð¥ïž CLI Usage¶
YomiToku-Client ãã€ã³ã¹ããŒã«ãããšãå°çšã® CLI ã³ãã³ã yomitoku-client ã䜿çšã§ããŸãã
SageMaker äžã® YomiToku ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããããã¥ã¡ã³ãã®è§£æãçµæå€æãè¡ããŸãã
Document Analyzer¶
ææžè§£æAPIãå©çšããå Žåã¯ã--apiãçç¥ãããã--api document-analyzerãæå®ããŸãã
JSONã«å ããŠãCSVãHTMLãMarkdownãSearchable PDFãžã®å€æãšãOCRã»ã¬ã€ã¢ãŠãã®å¯èŠåãå©çšã§ããŸãã
ðããã¡ã€ã«åäœã®åŠç¶
æå®ãããã¡ã€ã«ãè§£æããããã®ã³ãã³ãã§ãã ãã¡ã€ã«ãåŠçããè§£æçµæãæå®ã®ãã©ãŒãããã§åºåããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒã¶
| åŒæ° | 説æ |
|---|---|
${path_file} |
è§£æå¯Ÿè±¡ã®ãã¡ã€ã«ãã¹ãæå®ããŸãã (å¿ é ) |
-e |
SageMaker ã®ãšã³ããã€ã³ãåãæå®ããŸãã (å¿ é ) |
-r |
AWS ã®ãªãŒãžã§ã³åãæå®ããŸãã |
-a |
ãšã³ããã€ã³ããæäŸãã API ãæå®ããŸããdocument-analyzerïŒæ¢å®ïŒ / table-semantic-parser |
-f |
åºåãã©ãŒããããæå®ããŸãã 察å¿åœ¢åŒïŒ json, csv, html, md, pdf |
-o |
è§£æçµæãä¿åããåºåå ãã£ã¬ã¯ããªãæå®ããŸãã |
äŸ
ð ãã«ãã®åç §¶
CLI ã®å©çšå¯èœãªãªãã·ã§ã³ã¯ã--help ã§ç¢ºèªã§ããŸãã
âïž ãªãã·ã§ã³è©³çް¶
| ãªãã·ã§ã³ | å / å€ | 説æ |
|---|---|---|
-e, --endpoint |
TEXT |
SageMaker ã®ãšã³ããã€ã³ãåïŒå¿ é ïŒ |
-r, --region |
TEXT |
AWS ãªãŒãžã§ã³åïŒäŸïŒap-northeast-1ïŒ |
-a, --api |
[document-analyzer / table-semantic-parser] |
ãšã³ããã€ã³ããæäŸãã APIïŒæ¢å®ïŒdocument-analyzerïŒtable-semantic-parser ã®åºå㯠json ã®ã¿ |
-f, --file_format |
TEXTïŒã«ã³ãåºåãã§è€æ°æå®å¯ïŒäŸïŒ json,csv,pdf |
è§£æçµæã®åºåãã©ãŒãããïŒjson / csv / html / md / pdfïŒãè€æ°æå®å¯èœ |
-o, --output_dir |
PATH |
è§£æçµæãä¿åãããã£ã¬ã¯ããªãã¹ |
--dpi |
INTEGER |
ç»åè§£ææã®è§£å床ïŒDPIïŒ |
-p, --profile |
TEXT |
䜿çšãã AWS CLI ãããã¡ã€ã«å |
--request_timeout |
FLOAT |
åãªã¯ãšã¹ãåäœã®ã¿ã€ã ã¢ãŠãïŒç§ïŒ |
--total_timeout |
FLOAT |
å šäœåŠçã®ã¿ã€ã ã¢ãŠãïŒç§ïŒ |
-v, --vis_mode |
[both / ocr / layout / none] |
åºåç»åã®å¯èŠåã¢ãŒã ïŒOCRçµæ / ã¬ã€ã¢ãŠã / äž¡æ¹ / ãªãïŒ table-semantic-parser ã§ã¯æªå¯Ÿå¿ã®ããã¹ããã |
-s, --split_mode |
[combine / separate] |
åºåãã¡ã€ã«ã®åå²ã¢ãŒã ïŒ1ã€ã«ãŸãšãã / ããŒãžããšã«åå²ïŒ |
--ignore_line_break |
(flag) | ããã¹ãæœåºæã«æ¹è¡ãç¡èŠãã |
--pages |
TEXT |
è§£æå¯Ÿè±¡ããŒãžãæå®ïŒäŸïŒ0,1,3-5ïŒ |
--intermediate_save |
(flag) | äžéçæç©ïŒRAW JSONïŒãä¿åãã |
--workers |
INTEGER |
䞊ååŠçã«äœ¿çšããã¯ãŒã«ãŒæ°ïŒããã©ã«ã: 4ïŒ |
--threthold_circuit |
INTEGER |
ãµãŒããããã¬ãŒã«ãŒã®å€±æéŸå€ïŒäŸïŒ5ïŒ |
--cooldown_time |
INTEGER |
ãµãŒããããã¬ãŒã«ãŒã®ã¯ãŒã«ããŠã³æéïŒç§ïŒ |
--read_timeout |
INTEGER |
HTTPãªã¯ãšã¹ãã®èªã¿åãã¿ã€ã ã¢ãŠãïŒç§ïŒ |
--connect_timeout |
INTEGER |
HTTPãªã¯ãšã¹ãã®æ¥ç¶ã¿ã€ã ã¢ãŠãïŒç§ïŒ |
--max_retries |
INTEGER |
HTTPãªã¯ãšã¹ãã®æå€§å詊è¡åæ° |
--help |
(flag) | ãã«ãã衚瀺ããŠçµäºãã |
ð¡ Tips¶
ãã䜿ãçµã¿åãã
- Markdown 圢åŒãšCSVã§è§£æçµæãä¿åããïŒ
yomitoku-client single invoice.pdf -e yomitoku-endpoint -f md,csv - OCR çµæã PDF ã«åã蟌ã¿å¯èŠåããïŒ
yomitoku-client single report.pdf -e yomitoku-endpoint -f pdf -v both - äžéJSONãåæã«ä¿åããïŒ
yomitoku-client single form.png -e yomitoku-endpoint -f csv --intermediate_save - ç¹å®ããŒãžã®ã¿ãè§£æïŒ
yomitoku-client single book.pdf -e yomitoku-endpoint --pages "1,2-5"
ð§Ÿ è£è¶³¶
- AWS CLI ã®èšå®æžã¿ç°å¢ã§å®è¡ããããšãæšå¥šããŸãã
- åºåãã£ã¬ã¯ããªïŒ
-oïŒãååšããªãå Žåãèªåã§äœæãããŸãã - CLI ã®æ»ãå€ã¯è§£æçµæãã¡ã€ã«ã®ãã¹ãè¿ããŸãã
--intermediate_saveãæå®ãããšãå éšåŠçã®RAW JSONãåãã£ã¬ã¯ããªå ã«ä¿åããŸãã- é«è§£å床åŠçãè¡ãå Žåã¯ã
--dpi 300ãªã©ãæå®ããããšã§OCR粟床ãåäžããŸãã
ðããããåŠçïŒãã£ã¬ã¯ããªäžæ¬è§£æïŒ¶
è€æ°ãã¡ã€ã«ãäžæ¬è§£æããããã® ãããåŠçã³ãã³ãã§ãã æå®ãããã£ã¬ã¯ããªå ã®ãã¡ã€ã«ãé æ¬¡åŠçããè§£æçµæãæå®ã®ãã©ãŒãããã§åºåããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒã¶
| åŒæ° | 説æ |
|---|---|
-i, --input_dir |
è§£æå¯Ÿè±¡ã®ãã¡ã€ã«ãå«ããã£ã¬ã¯ããªã®ãã¹ãæå®ããŸãã (å¿ é ) |
-o, --output_dir |
è§£æçµæãä¿åãããã£ã¬ã¯ããªãæå®ããŸãã (å¿ é ) |
-e, --endpoint |
SageMaker ã®ãšã³ããã€ã³ãåãæå®ããŸãã (å¿ é ) |
-r, --region |
AWS ã®ãªãŒãžã§ã³åãæå®ããŸãã |
-a, --api |
ãšã³ããã€ã³ããæäŸãã API ãæå®ããŸããdocument-analyzerïŒæ¢å®ïŒ / table-semantic-parser |
-f, --file_format |
åºåãã©ãŒããããæå®ããŸãã 察å¿åœ¢åŒïŒ json, csv, html, md, pdf |
äŸ
ð ãã«ãã®åç §¶
CLI ã®å©çšå¯èœãªãªãã·ã§ã³ã¯ã--help ã§ç¢ºèªã§ããŸãã
âïž ãªãã·ã§ã³è©³çް¶
| ãªãã·ã§ã³ | å / å€ | 説æ |
|---|---|---|
-i, --input_dir |
PATH |
è§£æå¯Ÿè±¡ãã¡ã€ã«ãå«ãå ¥åãã£ã¬ã¯ããªã®ãã¹ïŒå¿ é ïŒ |
-o, --output_dir |
PATH |
è§£æçµæãä¿åããåºåå ãã£ã¬ã¯ããªã®ãã¹ïŒå¿ é ïŒ |
-e, --endpoint |
TEXT |
SageMaker ã®ãšã³ããã€ã³ãåïŒå¿ é ïŒ |
-r, --region |
TEXT |
AWS ãªãŒãžã§ã³åïŒäŸïŒap-northeast-1ïŒ |
-a, --api |
[document-analyzer / table-semantic-parser] |
ãšã³ããã€ã³ããæäŸãã APIïŒæ¢å®ïŒdocument-analyzerïŒtable-semantic-parser ã®åºå㯠json ã®ã¿ |
-f, --file_format |
TEXTïŒã«ã³ãåºåãã§è€æ°æå®å¯ïŒäŸïŒ json,csv,pdf |
åºåãã©ãŒãããïŒjson / csv / html / md / pdfïŒãè€æ°æå®å¯èœ |
--dpi |
INTEGER |
ç»åè§£ææã® DPIïŒè§£ååºŠïŒ |
-p, --profile |
TEXT |
䜿çšãã AWS CLI ãããã¡ã€ã«å |
--request_timeout |
FLOAT |
åãªã¯ãšã¹ãåäœã®ã¿ã€ã ã¢ãŠãïŒç§ïŒ |
--total_timeout |
FLOAT |
å šäœåŠçã®ã¿ã€ã ã¢ãŠãïŒç§ïŒ |
-v, --vis_mode |
[both / ocr / layout / none] |
OCR çµæãã¬ã€ã¢ãŠãæ§é ã®å¯èŠåã¢ãŒãtable-semantic-parser ã§ã¯æªå¯Ÿå¿ã®ããã¹ããã |
-s, --split_mode |
[combine / separate] |
åºåãã¡ã€ã«ã®åå²ã¢ãŒãïŒ1ã€ã«ãŸãšãã / ããŒãžããšã«åå²ïŒ |
--ignore_line_break |
(flag) | ããã¹ãæœåºæã«æ¹è¡ãç¡èŠãã |
--pages |
TEXT |
è§£æå¯Ÿè±¡ããŒãžãæå®ïŒäŸïŒ0,1,3-5ïŒ |
--workers |
INTEGER |
䞊ååŠçã«äœ¿çšããã¯ãŒã«ãŒæ°ïŒããã©ã«ã: 4ïŒ |
--threthold_circuit |
INTEGER |
ãµãŒããããã¬ãŒã«ãŒã®å€±æéŸå€ïŒäŸïŒ5ïŒ |
--cooldown_time |
INTEGER |
ãµãŒããããã¬ãŒã«ãŒã®ã¯ãŒã«ããŠã³æéïŒç§ïŒ |
--read_timeout |
INTEGER |
HTTP ãªã¯ãšã¹ãã®èªã¿åãã¿ã€ã ã¢ãŠãïŒç§ïŒ |
--connect_timeout |
INTEGER |
HTTP ãªã¯ãšã¹ãã®æ¥ç¶ã¿ã€ã ã¢ãŠãïŒç§ïŒ |
--max_retries |
INTEGER |
HTTP ãªã¯ãšã¹ãã®æå€§å詊è¡åæ° |
--help |
(flag) | ãã«ãã衚瀺ããŠçµäºãã |
ð¡ Tips¶
ãã䜿ãçµã¿åãã
- Markdown 圢åŒãšSearchable-PDFã§å
šãã¡ã€ã«ãäžæ¬è§£æããïŒ
yomitoku-client batch -i ./docs -o ./out -e yomitoku-endpoint -f md,pdf - OCR çµæã PDF ã«å¯èŠåããŠåºåããïŒ
yomitoku-client batch -i ./input -o ./vis -e yomitoku-endpoint -f pdf -v both - CSV åºåã§æ§é åããŒã¿ãšããŠä¿åããïŒ
yomitoku-client batch -i ./forms -o ./csv -e yomitoku-endpoint -f csv - ç¹å®ããŒãžã®ã¿ã察象ã«è§£æïŒ
yomitoku-client batch -i ./pdfs -o ./out -e yomitoku-endpoint --pages 0,2-4
ð§Ÿ è£è¶³¶
- æå®ããããã£ã¬ã¯ããªé
äžã®ãã¹ãŠã®å¯Ÿå¿ãã¡ã€ã«ïŒ
PDF,PNG,JPEGãªã©ïŒãèªåçã«è§£æå¯Ÿè±¡ã«ãªããŸãã --vis_modeã«ãã OCR / ã¬ã€ã¢ãŠãæ ä»ãã®ç»åãçæã§ããŸãã- 䞊ååŠçïŒéåæå®è¡ïŒã«ããè€æ°ãã¡ã€ã«ãé«éã«åŠçããŸãã
- AWS èªèšŒã¯ç°å¢å€æ°ãŸãã¯
--profileã§æå®ããããããã¡ã€ã«ã䜿çšããŸãã
Batch Transformåºåã®å€æ¶
ä¿åæžã¿ã®Batch Transform .outããåæšè«ããã«MarkdownãCSVãHTMLãžå€æããŸãããã®ã³ãã³ãã¯SageMakerãšã³ããã€ã³ããAWSèªèšŒãå¿
èŠãšããŸããã
ã¯ã€ãã¯ã¹ã¿ãŒã¶
åºåå
ã«ã¯å
ææžã®æ¡åŒµåãš.outãé€ããååã§ãã¡ã€ã«ãçæãããŸãã
ãã£ã¬ã¯ããªãæå®ãããšãé
äžã®.outãäžæ¬å€æã§ããŸãã
å³ã®ç»åãåºåãã¶
MarkdownãŸãã¯HTMLãžå³ã®åãåºãç»åãå«ããå Žåã¯ãå
ç»åãŸãã¯å
PDFã--srcã§æå®ããŸãã
yomitoku-client convert document.pdf.out \
--format md,html \
--src document.pdf \
--output-dir ./converted
--srcãçç¥ããå Žåã倿ã§ããŸãããå³ã®ç»åã¯åºåãããŸãããæ®µèœãèŠåºãã衚ãªã©JSONã ãã§åŸ©å
ã§ããå
容ãåºåãããŸãã
ãªãã·ã§ã³è©³çް¶
| ãªãã·ã§ã³ | 説æ |
|---|---|
-f, --format |
åºå圢åŒãmd, csv, htmlãã«ã³ãåºåãã§æå®ïŒããã©ã«ã: mdïŒ |
-o, --output-dir |
åºåãã£ã¬ã¯ããªãçç¥æã¯åäžãã¡ã€ã«ãªãå
¥åå
ããã£ã¬ã¯ããªãªãconvertedé
äž |
--src |
å³ã®åãåºãã«äœ¿çšããå ææžããŸãã¯å ææžãä¿åãããã£ã¬ã¯ã㪠|
--split-mode |
combineãŸãã¯separateïŒããã©ã«ã: combineïŒ |
--pages |
倿ããããŒãžïŒäŸ: 0,1,3-5ïŒ |
--dpi |
å
PDFãèªã¿èŸŒãDPIïŒããã©ã«ã: 200ïŒ |
--ignore-line-break |
æ¬æäžã®æ¹è¡ãé€å» |
--overwrite |
æ¢åã®åºåãã¡ã€ã«ãäžæžã |
æ¢åãã¡ã€ã«ã¯ããã©ã«ãã§äžæžãããŸãã
ååã®åºåãæ¢ã«ååšããå Žåã¯ãšã©ãŒã«ãªããŸãã眮ãæããå Žåã®ã¿--overwriteãæå®ããŠãã ããã
Table Semantic Parser¶
垳祚解æAPIãå©çšããå Žåã¯ã--api table-semantic-parserãæå®ããŸãã
Document Analyzerãšã¯ã¬ã¹ãã³ã¹ã®æ§é ãšå¯Ÿå¿ããåºå圢åŒãç°ãªããåºåã¯JSONã®ã¿ã§ããæ¢å®ã§ã¯ãã»ã«IDãããã¹ããšåº§æšãžè§£æ±ºããstructured圢åŒãä¿åããŸãã
åäžãã¡ã€ã«ãšãããåŠç¶
# åäžãã¡ã€ã«
yomitoku-client single sample/table.jpg \
--api table-semantic-parser \
--endpoint yomitoku-tsp \
--output_dir output/
# ãã£ã¬ã¯ããªãäžæ¬åŠç
yomitoku-client batch \
--api table-semantic-parser \
--input_dir sample/ \
--output_dir output/ \
--endpoint yomitoku-tsp
åºåã¢ãŒã¶
| æå® | åºå | çšé |
|---|---|---|
| æå®ãªã | structured |
解決æžã¿ããã¹ããšç±æ¥ã»ã«ã®IDã»åº§æšã確èªãã |
--simple |
simple |
座æšãªã©ãé€ããKey-Valueã衚ã®å€ã ããå©çšãã |
--raw |
raw |
ã»ã«ã»åèªã»åç §ãä¿æããåŸããå倿ãã |
--rawãš--simpleã¯åæã«ã¯æå®ã§ããŸããã
åŸããåºå圢åŒãå€ããå¯èœæ§ãããå Žåã¯rawãä¿ç®¡ããŠãã ãããstructuredãšsimpleã¯cellsãwordsãçç¥ãããããrawã«ã¯æ»ããŸããã
# structuredïŒæ¢å®ïŒ
yomitoku-client single sample/table.jpg -a table-semantic-parser -e yomitoku-tsp -o structured/
# simple
yomitoku-client single sample/table.jpg -a table-semantic-parser -e yomitoku-tsp --simple -o simple/
# raw
yomitoku-client single sample/table.jpg -a table-semantic-parser -e yomitoku-tsp --raw -o raw/
以äžã®äŸã¯1ããŒãžåã®å
容ã§ããæ¢å®ã®combineä¿åã§ã¯ãè€æ°ããŒãžãJSONé
åã«ãŸãšããåããŒãžã«num_pageãä»ããŸãã
--split_mode separateãæå®ãããšãããŒãžããšã«å¥ãã¡ã€ã«ãžä¿åããŸãã
rawïŒã»ã«ãšåç §ãä¿æ¶
APIã¬ã¹ãã³ã¹ãæ£èŠåãã圢åŒã§ããã»ã«ã®ããã¹ãã座æšãcellsã«ä¿æããkv_itemsãšgridsã¯ã»ã«IDã§åç
§ããŸããwordsãæ®ããããè§£æçµæã®ä¿ç®¡ããã³ãã¬ãŒãäœæãåŸããã®å倿ã«äœ¿çšã§ããŸãã
{
"num_page": 0,
"document_name": "æœèšå©çšç³èŸŒæž",
"tables": [
{
"id": "t0",
"box": [10, 10, 400, 220],
"style": "border",
"cells": {
"c0": {"id": "c0", "box": [10, 10, 100, 40], "contents": "æ°å", "role": "header"},
"c1": {"id": "c1", "box": [100, 10, 400, 40], "contents": "å±±ç°å€ªé", "role": "cell"},
"c2": {"id": "c2", "box": [10, 60, 200, 90], "contents": "åå", "role": "header"},
"c3": {"id": "c3", "box": [200, 60, 400, 90], "contents": "æ°é", "role": "header"},
"c4": {"id": "c4", "box": [10, 90, 200, 120], "contents": "ããã", "role": "cell"},
"c5": {"id": "c5", "box": [200, 90, 400, 120], "contents": "3", "role": "cell"},
"c6": {"id": "c6", "box": [10, 120, 200, 150], "contents": "ã¿ãã", "role": "cell"},
"c7": {"id": "c7", "box": [200, 120, 400, 150], "contents": "5", "role": "cell"}
},
"kv_items": [
{"id": "kv0", "key": ["c0"], "value": "c1", "box": [10, 10, 400, 40]}
],
"grids": [
{
"id": "g0",
"box": [10, 60, 400, 150],
"n_row": 3,
"n_col": 2,
"col_headers": [["c2"], ["c3"]],
"data": [
["c2", "c3"],
["c4", "c5"],
["c6", "c7"]
]
}
]
}
],
"paragraphs": [
{
"id": "p0",
"box": [10, 170, 300, 200],
"score": 0.98,
"contents": "以äžã®ãšããç³è«ããŸãã"
}
],
"words": []
}
ãã®äŸã§ã¯kv_items[].keyã®c0ãšvalueã®c1ããcells.c0ãšcells.c1ãåç
§ããŸããAPIãcellsãé
åã§è¿ãããŒãžã§ã³ãèªã¿èŸŒããŸãããclientã§ä¿åããéã¯ã»ã«IDãããŒã«ããèŸæžãžæ£èŠåããŸãã
structuredïŒããã¹ããšç±æ¥ã»ã«¶
ã»ã«IDåç
§ãããã¹ããžè§£æ±ºããkey_cellsãšvalue_cellsã«ç±æ¥ã»ã«ã®IDãšåº§æšãæ®ããŸããå€ã®ç¢ºèªç»é¢ããç»åäžã®äœçœ®ãšã®å¯Ÿå¿ä»ãã«é©ããŠããŸãã
{
"num_page": 0,
"document_name": "æœèšå©çšç³èŸŒæž",
"tables": [
{
"id": "t0",
"box": [10, 10, 400, 220],
"style": "border",
"kv_items": [
{
"key": ["æ°å"],
"value": "å±±ç°å€ªé",
"key_cells": [{"id": "c0", "box": [10, 10, 100, 40]}],
"value_cells": [{"id": "c1", "box": [100, 10, 400, 40]}]
}
],
"grids": [
{
"id": "g0",
"box": [10, 60, 400, 150],
"n_row": 3,
"n_col": 2,
"rows": [
{
"cells": [
{
"key": ["åå"],
"value": "ããã",
"key_cells": [{"id": "c2", "box": [10, 60, 200, 90]}],
"value_cells": [{"id": "c4", "box": [10, 90, 200, 120]}]
},
{
"key": ["æ°é"],
"value": "3",
"key_cells": [{"id": "c3", "box": [200, 60, 400, 90]}],
"value_cells": [{"id": "c5", "box": [200, 90, 400, 120]}]
}
]
},
{
"cells": [
{
"key": ["åå"],
"value": "ã¿ãã",
"key_cells": [{"id": "c2", "box": [10, 60, 200, 90]}],
"value_cells": [{"id": "c6", "box": [10, 120, 200, 150]}]
},
{
"key": ["æ°é"],
"value": "5",
"key_cells": [{"id": "c3", "box": [200, 60, 400, 90]}],
"value_cells": [{"id": "c7", "box": [200, 120, 400, 150]}]
}
]
}
]
}
]
}
],
"paragraphs": [
{
"id": "p0",
"box": [10, 170, 300, 200],
"score": 0.98,
"contents": "以äžã®ãšããç³è«ããŸãã"
}
]
}
åãããŒã»ã«ã«è€æ°ã®å€ã»ã«ãçµã³ä»ãå Žåãå€ãç»åäžã®é åºã«äžŠã¹ãŠæ¹è¡ã§çµåããçµåå
ã»ã«ãåãé åºã§value_cellsã«æ®ããŸããåãèŠåºãæååã§ãããŒã»ã«IDãç°ãªãé
ç®ã¯å¥ã
ã«æ±ããããŒã®ãªãåç¬ã»ã«ã¯key: []ã®ç¬ç«ããé
ç®ãšããŠæ®ããŸãã
simpleïŒããã¹ãã®ã¿¶
座æšãã»ã«IDãã¹ã³ã¢ã圹å²ãé€ããkv_itemsãèŠåºãéå±€ã«æ²¿ã£ãèŸæžãã°ãªããè¡ã{åèŠåºã: å€}ãæ®µèœãæååã®é
åãšããŠåºåããŸãã
{
"num_page": 0,
"document_name": "æœèšå©çšç³èŸŒæž",
"tables": [
{
"id": "t0",
"kv_items": {"æ°å": "å±±ç°å€ªé"},
"grids": [
{
"id": "g0",
"rows": [
{"åå": "ããã", "æ°é": "3"},
{"åå": "ã¿ãã", "æ°é": "5"}
]
}
]
}
],
"paragraphs": ["以äžã®ãšããç³è«ããŸãã"]
}
倿èŠåã¯YomiToku-Proæ¬äœãšåãã§ãã
- 芪èŠåºããšåèŠåºãã¯å ¥ãåã®èŸæžãšããŠä¿æããŸãã
- åãããŒã»ã«ã®è€æ°å€ã¯ç»åäžã®é åºã«äžŠã¹ãæ¹è¡ã§çµåããŸãã
- åãéå±€ã«ååã®å¥ããŒã»ã«ãããå Žåã¯é åã«ããŸãã
- 芪èŠåºãèªèº«ã®å€ãšåèŠåºããå
±åããå Žåã芪ã®å€ã
_valueãžæ ŒçŽããŸãã - ããŒã®ãªãåç¬ã»ã«ã¯
_unkeyedã®é åãžæ ŒçŽããŸãã - ã°ãªããè¡ã«ååã®åèŠåºããããå Žåã
æ¥ä»_0ãæ¥ä»_1ã®ããã«é£çªãä»ããŸãã
ä¿åæžã¿raw JSONã®å€æ¶
convertã䜿ããšAWSãžåãªã¯ãšã¹ãããã«ãä¿åæžã¿ã®rawãstructuredãŸãã¯simpleãžå€æã§ããŸãã
å
¥åã«ã¯APIã¬ã¹ãã³ã¹ã®{"result": [...]}ãclientãä¿åããããŒãžé
åã1ããŒãžåã®JSONã䜿çšã§ããŸãã
structuredãšsimpleã¯ã»ã«æ
å ±ãçç¥ããŠããããã倿å
ã«ã¯äœ¿çšã§ããŸããã
yomitoku-client convert raw/table.json -a table-semantic-parser -o structured/
yomitoku-client convert raw/table.json -a table-semantic-parser --simple -o simple/
å
¥åãã¡ã€ã«ãäžæžãããªããããJSON倿ã§ã¯å¥ã®--output-dirãæå®ããŠãã ãããæ¢åã®åºåã眮ãæããå Žåã¯--overwriteãä»ããŸãã
YomiToku-Proãã³ãã¬ãŒãã®é©çš¶
--template PATHãæå®ãããšãä¿åæžã¿ãã³ãã¬ãŒããè§£æçµæãžé©çšããŠããåºåããŸããsingleãbatchãconvertã§å
±éããŠå©çšã§ããŸãã
ãã³ãã¬ãŒãã®äœæã«ã¯Python APIã®save_template_json()ã䜿çšããŸãã
ãã³ãã¬ãŒãã¯metaãštablesãæã€YomiToku-Proäºæåœ¢åŒã§ãã衚ã¯åº§æšã®éãªãã§ç
§åããã»ã«ã¯meta.match_policyã®cell_idïŒæ¢å®ïŒãŸãã¯bboxã§ç
§åããŸãã
ã»ã«ã®contents / roleã衚ã®kv_items / gridsãè£æ£ã§ããŸããçç¥ãŸãã¯nullã®é
ç®ã¯å€æŽããã空æååã空é
åã¯äžæžããšããŠæ±ããŸãã
ç
§åããªã衚ã»ã»ã«ã¯ã¹ãããããæšè«ã¢ãã«ã®åå®è¡ãã»ã«ã®æ°èŠæ€åºã¯è¡ããŸããã
yomitoku-client single sample/table.jpg \
-a table-semantic-parser \
-e yomitoku-tsp \
--template templates/table.json \
--simple \
-o corrected/
YomiToku Studioãã³ãã¬ãŒãã®é©çš¶
YomiToku Studioã®åž³ç¥šè§£æç»é¢ããä¿åããkind: "form-template"ã®ãã³ãã¬ãŒãã«ã¯ã--studio-template PATHã䜿çšããŸããããŒãžã§ã³2ãš3ã«å¯Ÿå¿ããŠããŸãã
Batch CLIã§ã¯ãå ¥åãã£ã¬ã¯ããªå ã®åç»åã»PDFãTable Semantic Parserã§èªã¿åããAPIã¬ã¹ãã³ã¹ã®OCRåèªãStudioãã³ãã¬ãŒãã®è¡šã»ã»ã«ã»æ®µèœãžå²ãåœãŠãŸãã衚ã»ã»ã«ã»Key-Valueã»ã°ãªããã®æ§é ã¯Studioãã³ãã¬ãŒãåŽã®å®çŸ©ãžçœ®ãæãããŸãã
yomitoku-client batch \
--input_dir input/ \
--output_dir output/ \
--endpoint yomitoku-tsp \
--api table-semantic-parser \
--studio-template templates/application.template.json \
--simple
ãã³ãã¬ãŒãäœææã®æååã¯èŠåºãã»ã«ïŒheader / groupïŒã®OCRçµæã空ã ã£ãå Žåã ãè£å®ã«äœ¿ããŸããå€ã»ã«ãèªããªãã£ãå Žåã¯ãå¥åž³ç¥šã®å€ã誀ã£ãŠåŒãç¶ããªããã空æååãåºåããŸãã
singleã§ãåããªãã·ã§ã³ã䜿çšã§ããŸããä¿åæžã¿raw JSONãconvertããå Žåã¯ãæ£èŠå座æšã察象ããŒãžã®ãã¯ã»ã«åº§æšãžæ»ããããå
ã®ç»åãŸãã¯PDFã--srcã§æå®ããŸãã
yomitoku-client convert raw/application.json \
--api table-semantic-parser \
--src input/application.pdf \
--studio-template templates/application.template.json \
--simple \
--output-dir corrected/
--templateãš--studio-templateã¯JSON圢åŒãšé©ç𿹿³ãç°ãªããåæã«ã¯æå®ã§ããŸããã