impresso / impresso-text-acquisition

Python library to import OCR data in various formats into the canonical JSON format defined by the Impresso project.
https://impresso.github.io/impresso-text-acquisition/
GNU Affero General Public License v3.0
7 stars 2 forks source link

integrity issues in SWA data #98

Closed mromanello closed 4 years ago

mromanello commented 4 years ago

arbeitgeber

arbeitgeber-1925-02-28-a arbeitgeber-1952-01-04-a arbeitgeber-2007-11-29-a

handelsztg

handelsztg-1862-12-31-a handelsztg-1863-12-31-a handelsztg-1864-04-14-a handelsztg-1864-06-09-a handelsztg-1864-06-30-a handelsztg-1864-08-11-a handelsztg-1864-09-10-a handelsztg-1866-12-29-a handelsztg-1867-12-31-a handelsztg-1868-12-31-a handelsztg-1869-12-30-a handelsztg-1870-12-31-a handelsztg-1871-12-30-a handelsztg-1873-12-31-a handelsztg-1874-12-31-a handelsztg-1875-09-25-a handelsztg-1876-06-30-a handelsztg-1876-12-30-a handelsztg-1877-12-31-a handelsztg-1878-12-31-a handelsztg-1879-12-31-a handelsztg-1880-12-31-a handelsztg-1881-12-31-a handelsztg-1882-12-30-a handelsztg-1883-12-31-a handelsztg-1884-12-31-a handelsztg-1885-12-31-a handelsztg-1886-10-27-a handelsztg-1890-07-23-a handelsztg-1890-12-31-a handelsztg-1891-02-14-a handelsztg-1892-06-30-a handelsztg-1893-06-29-a handelsztg-1894-04-28-a handelsztg-1894-09-29-a handelsztg-1894-12-29-a

mromanello commented 4 years ago

(investigated one duplicated issue, arbeitgeber-1925-02-28-a)

The JSON issue record seems to have the right page IDs (non duplicated):

bzcat /tmp/arbeitgeber-1925-issues.jsonl.bz2 | jq --slurp '.[]|.pp'|grep arbeitgeber-1925-02-28-a
  "arbeitgeber-1925-02-28-a-p0017",
  "arbeitgeber-1925-02-28-a-p0018",
  "arbeitgeber-1925-02-28-a-p0019",
  "arbeitgeber-1925-02-28-a-p0020",
  "arbeitgeber-1925-02-28-a-p0021",
  "arbeitgeber-1925-02-28-a-p0022",
  "arbeitgeber-1925-02-28-a-p0023",
  "arbeitgeber-1925-02-28-a-p0024",
  "arbeitgeber-1925-02-28-a-p0025",
  "arbeitgeber-1925-02-28-a-p0026",
  "arbeitgeber-1925-02-28-a-p0027",
  "arbeitgeber-1925-02-28-a-p0028",
  "arbeitgeber-1925-02-28-a-p0029",
  "arbeitgeber-1925-02-28-a-p0030",
  "arbeitgeber-1925-02-28-a-p0031",
  "arbeitgeber-1925-02-28-a-p0032"
  "arbeitgeber-1925-02-28-a-p0001",
  "arbeitgeber-1925-02-28-a-p0002",
  "arbeitgeber-1925-02-28-a-p0003",
  "arbeitgeber-1925-02-28-a-p0004",
  "arbeitgeber-1925-02-28-a-p0005",
  "arbeitgeber-1925-02-28-a-p0006",
  "arbeitgeber-1925-02-28-a-p0007",
  "arbeitgeber-1925-02-28-a-p0008",
  "arbeitgeber-1925-02-28-a-p0009",
  "arbeitgeber-1925-02-28-a-p0010",
  "arbeitgeber-1925-02-28-a-p0011",
  "arbeitgeber-1925-02-28-a-p0012",
  "arbeitgeber-1925-02-28-a-p0013",
  "arbeitgeber-1925-02-28-a-p0014",
  "arbeitgeber-1925-02-28-a-p0015",
  "arbeitgeber-1925-02-28-a-p0016"

However, the page JSON files do have the duplicated page IDs:

bzcat /tmp/arbeitgeber-1925-02-28-a-pages.jsonl.bz2|jq --slurp '.[]|.id'
"arbeitgeber-1925-02-28-a-p0001"
"arbeitgeber-1925-02-28-a-p0002"
"arbeitgeber-1925-02-28-a-p0003"
"arbeitgeber-1925-02-28-a-p0004"
"arbeitgeber-1925-02-28-a-p0005"
"arbeitgeber-1925-02-28-a-p0006"
"arbeitgeber-1925-02-28-a-p0007"
"arbeitgeber-1925-02-28-a-p0008"
"arbeitgeber-1925-02-28-a-p0009"
"arbeitgeber-1925-02-28-a-p0010"
"arbeitgeber-1925-02-28-a-p0011"
"arbeitgeber-1925-02-28-a-p0012"
"arbeitgeber-1925-02-28-a-p0013"
"arbeitgeber-1925-02-28-a-p0014"
"arbeitgeber-1925-02-28-a-p0015"
"arbeitgeber-1925-02-28-a-p0016"
"arbeitgeber-1925-02-28-a-p0001"
"arbeitgeber-1925-02-28-a-p0002"
"arbeitgeber-1925-02-28-a-p0003"
"arbeitgeber-1925-02-28-a-p0004"
"arbeitgeber-1925-02-28-a-p0005"
"arbeitgeber-1925-02-28-a-p0006"
"arbeitgeber-1925-02-28-a-p0007"
"arbeitgeber-1925-02-28-a-p0008"
"arbeitgeber-1925-02-28-a-p0009"
"arbeitgeber-1925-02-28-a-p0010"
"arbeitgeber-1925-02-28-a-p0011"
"arbeitgeber-1925-02-28-a-p0012"
"arbeitgeber-1925-02-28-a-p0013"
"arbeitgeber-1925-02-28-a-p0014"
"arbeitgeber-1925-02-28-a-p0015"
"arbeitgeber-1925-02-28-a-p0016"

Also, on disk there is only 16 (instead of 32) JSON page files:

ll /scratch/students/SWA/arbeitgeber/1925/02/28/a
total 1012
drwxr-sr-x 2 ehoelzl  4096 May 28 10:04 .
drwxr-sr-x 3 ehoelzl  4096 May 28 10:04 ..
-rw-r--r-- 1 ehoelzl 31062 May 28 10:04 arbeitgeber-1925-02-28-a-p0001.json
-rw-r--r-- 1 ehoelzl 29498 May 28 10:04 arbeitgeber-1925-02-28-a-p0002.json
-rw-r--r-- 1 ehoelzl 59379 May 28 10:04 arbeitgeber-1925-02-28-a-p0003.json
-rw-r--r-- 1 ehoelzl 77247 May 28 10:04 arbeitgeber-1925-02-28-a-p0004.json
-rw-r--r-- 1 ehoelzl 74159 May 28 10:04 arbeitgeber-1925-02-28-a-p0005.json
-rw-r--r-- 1 ehoelzl 74895 May 28 10:04 arbeitgeber-1925-02-28-a-p0006.json
-rw-r--r-- 1 ehoelzl 72520 May 28 10:04 arbeitgeber-1925-02-28-a-p0007.json
-rw-r--r-- 1 ehoelzl 55359 May 28 10:04 arbeitgeber-1925-02-28-a-p0008.json
-rw-r--r-- 1 ehoelzl 73434 May 28 10:04 arbeitgeber-1925-02-28-a-p0009.json
-rw-r--r-- 1 ehoelzl 90129 May 28 10:04 arbeitgeber-1925-02-28-a-p0010.json
-rw-r--r-- 1 ehoelzl 99250 May 28 10:04 arbeitgeber-1925-02-28-a-p0011.json
-rw-r--r-- 1 ehoelzl 87714 May 28 10:04 arbeitgeber-1925-02-28-a-p0012.json
-rw-r--r-- 1 ehoelzl 79085 May 28 10:04 arbeitgeber-1925-02-28-a-p0013.json
-rw-r--r-- 1 ehoelzl 18727 May 28 10:04 arbeitgeber-1925-02-28-a-p0014.json
-rw-r--r-- 1 ehoelzl 37023 May 28 10:04 arbeitgeber-1925-02-28-a-p0015.json
-rw-r--r-- 1 ehoelzl 29007 May 28 10:04 arbeitgeber-1925-02-28-a-p0016.json

The page IDs in the master CSV file also look ok:

cat /mnt/project_impresso/original/SWA/arbeitgeber/arbeitgeber_ids.csv |grep arbeitgeber-1925-02-28-a
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0001,BAU_1_000059110_1925_0141,BAU_1_000059110_1925_0141.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0141.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0002,BAU_1_000059110_1925_0142,BAU_1_000059110_1925_0142.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0142.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0003,BAU_1_000059110_1925_0143,BAU_1_000059110_1925_0143.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0143.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0004,BAU_1_000059110_1925_0144,BAU_1_000059110_1925_0144.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0144.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0005,BAU_1_000059110_1925_0145,BAU_1_000059110_1925_0145.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0145.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0006,BAU_1_000059110_1925_0146,BAU_1_000059110_1925_0146.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0146.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0007,BAU_1_000059110_1925_0147,BAU_1_000059110_1925_0147.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0147.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0008,BAU_1_000059110_1925_0148,BAU_1_000059110_1925_0148.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0148.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0009,BAU_1_000059110_1925_0149,BAU_1_000059110_1925_0149.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0149.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0010,BAU_1_000059110_1925_0150,BAU_1_000059110_1925_0150.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0150.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0011,BAU_1_000059110_1925_0151,BAU_1_000059110_1925_0151.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0151.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0012,BAU_1_000059110_1925_0152,BAU_1_000059110_1925_0152.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0152.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0013,BAU_1_000059110_1925_0153,BAU_1_000059110_1925_0153.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0153.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0014,BAU_1_000059110_1925_0154,BAU_1_000059110_1925_0154.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0154.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0015,BAU_1_000059110_1925_0155,BAU_1_000059110_1925_0155.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0155.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-issue,arbeitgeber-1925-02-28-a-p0016,BAU_1_000059110_1925_0156,BAU_1_000059110_1925_0156.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0156.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0017,BAU_1_000059110_1925_0157,BAU_1_000059110_1925_0157.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0157.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0018,BAU_1_000059110_1925_0158,BAU_1_000059110_1925_0158.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0158.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0019,BAU_1_000059110_1925_0159,BAU_1_000059110_1925_0159.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0159.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0020,BAU_1_000059110_1925_0160,BAU_1_000059110_1925_0160.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0160.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0021,BAU_1_000059110_1925_0161,BAU_1_000059110_1925_0161.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0161.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0022,BAU_1_000059110_1925_0162,BAU_1_000059110_1925_0162.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0162.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0023,BAU_1_000059110_1925_0163,BAU_1_000059110_1925_0163.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0163.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0024,BAU_1_000059110_1925_0164,BAU_1_000059110_1925_0164.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0164.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0025,BAU_1_000059110_1925_0165,BAU_1_000059110_1925_0165.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0165.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0026,BAU_1_000059110_1925_0166,BAU_1_000059110_1925_0166.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0166.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0027,BAU_1_000059110_1925_0167,BAU_1_000059110_1925_0167.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0167.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0028,BAU_1_000059110_1925_0168,BAU_1_000059110_1925_0168.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0168.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0029,BAU_1_000059110_1925_0169,BAU_1_000059110_1925_0169.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0169.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0030,BAU_1_000059110_1925_0170,BAU_1_000059110_1925_0170.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0170.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0031,BAU_1_000059110_1925_0171,BAU_1_000059110_1925_0171.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0171.xml,schwar_000059110_DSV01_1925,arbeitgeber
arbeitgeber-1925-02-28-a-Beilage,arbeitgeber-1925-02-28-a-p0032,BAU_1_000059110_1925_0172,BAU_1_000059110_1925_0172.xml,schwar_000059110_DSV01_1925/ocr/schwar_000059110_DSV01_1925_alto/BAU_1_000059110_1925_0172.xml,schwar_000059110_DSV01_1925,arbeitgeber

and

cat /mnt/project_impresso/original/SWA/arbeitgeber/arbeitgeber_ids.csv |cut -d ',' -f 2 | grep arbeitgeber-1925-02-28-a
arbeitgeber-1925-02-28-a-p0001
arbeitgeber-1925-02-28-a-p0002
arbeitgeber-1925-02-28-a-p0003
arbeitgeber-1925-02-28-a-p0004
arbeitgeber-1925-02-28-a-p0005
arbeitgeber-1925-02-28-a-p0006
arbeitgeber-1925-02-28-a-p0007
arbeitgeber-1925-02-28-a-p0008
arbeitgeber-1925-02-28-a-p0009
arbeitgeber-1925-02-28-a-p0010
arbeitgeber-1925-02-28-a-p0011
arbeitgeber-1925-02-28-a-p0012
arbeitgeber-1925-02-28-a-p0013
arbeitgeber-1925-02-28-a-p0014
arbeitgeber-1925-02-28-a-p0015
arbeitgeber-1925-02-28-a-p0016
arbeitgeber-1925-02-28-a-p0017
arbeitgeber-1925-02-28-a-p0018
arbeitgeber-1925-02-28-a-p0019
arbeitgeber-1925-02-28-a-p0020
arbeitgeber-1925-02-28-a-p0021
arbeitgeber-1925-02-28-a-p0022
arbeitgeber-1925-02-28-a-p0023
arbeitgeber-1925-02-28-a-p0024
arbeitgeber-1925-02-28-a-p0025
arbeitgeber-1925-02-28-a-p0026
arbeitgeber-1925-02-28-a-p0027
arbeitgeber-1925-02-28-a-p0028
arbeitgeber-1925-02-28-a-p0029
arbeitgeber-1925-02-28-a-p0030
arbeitgeber-1925-02-28-a-p0031
arbeitgeber-1925-02-28-a-p0032
mromanello commented 4 years ago

mystery solved (perhaps): a certain number of CSV lines had wrong issue IDs e.g. handelsztg-1876-12-30-a-Beilage instead of handelsztg-1876-12-30-a-issue.

@ehoelzl I've changed them with these two commands:

sed -i 's/-Beilage/-issue/g' /mnt/project_impresso/original/SWA/handelsztg/handelsztg_ids.csv
sed -i 's/-Beilage/-issue/g' /mnt/project_impresso/original/SWA/arbeitgeber/arbeitgeber_ids.csv
mromanello commented 4 years ago

after correcting the CSV file (see comment above) and re-ingesting data, no warnings in the latest sanity check. Moving SWA data to s3://original-canonical-staging now.