Skip to main content

Loại dữ liệu được sử dụng

Các dữ liệu trong văn bản sẽ là các thông tin về ô dữ liệu đó. Với mỗi loại tài liệu, các thông tin, gọi chung là Data, sẽ được chia thành các loại cấp bậc dữ liệu khác nhau dựa theo đặc điểm của tài liệu đó. Các cấp bậc được này được chia thành 4 kiểu lần lược là Section, Table, RowDatapoint.

Datapoint là dạng dữ liệu thấp nhất của từng dữ liệu đọc được trong tài liệu. Datapoint sẽ chứa các thông tin chi tiết về kết quả OCR và gía trị của các ô dữ liệu đó. Section sẽ gồm nhiều Datapoint có liên quan đến nhau được nhóm lại tùy theo từng loại tài liệu. (Ví dụ như 1 tài liệu hóa đơn sẽ có những thông tin như ngày hóa đơn, mẫu số, số ký hiệu, số hóa đơn, … Mỗi thông tin sẽ là 1 Datapoint và được gom lại với nhau thành Section Thông tin hóa đơn).

Table là kiểu dữ liệu dạng bảng. Table sẽ chứa nhiều hàng (row) và mỗi ô trong giá trị trong từng hàng sẽ được tính là 1 Datapoint. (Ví dụ: Bảng hóa đơn sẽ gồm các cột như tên hàng hóa, đơn vị tính, số lượng,… và gồm nhiều dòng dữ liệu. Mỗi ngăn trong bảng sẽ là một datapoint chứa thông tin và giá trị của dữ liệu đó).

1. Data

{
"id": "aefc17a7-8318-4180-ab28-482d55dc22cc",
"service_label": {
"id": "232bb139-f411-4bfc-b63b-f4e5aad96dcd",
"created_at": "2024-04-26T08:54:55.396569Z",
"updated_at": "2024-04-26T08:54:55.396590Z",
"deleted_at": null,
"label": "invoice_data",
"display_name": "Thông tin hóa đơn",
"default": true,
"enable": true,
"ordering": 0,
"data_type": "string",
"format": null,
"constraint": "required",
"category": "section",
"capitalize_type": "default",
"box": null,
"document_template": "c44b7565-7116-4600-a6ff-6d84dbddad60",
"parent": null
},
"created_at": "2024-05-06T08:37:40.924170Z",
"updated_at": "2024-05-06T08:37:40.924196Z",
"deleted_at": null,
"ocr_value": null,
"value": null,
"last_ocr_value": null,
"normalized_value": null,
"confidence_score": null,
"status": "for_review",
"category": "section",
"box": null,
"lookup_verified": null,
"row_idx": null,
"value_confirmation": null,
"value_approval": null,
"merchandise": null,
"page": "a5c39172-40d1-412b-a531-d4449ae80477",
"document": "27d72697-1076-452b-8d85-8f437979e68d",
"parent": null,
"data_set":[]
}

Cấu trúc của 1 ô dữ liệu trong 1 văn bản sẽ có những thông tin quan trọng như:

  • id: ID của ô dữ liệu
  • service_label: Chứa thông tin về nhãn của ô dữ liệu đó, gồm các thông tin như:
    • label: Nhãn của ô dữ liệu (VD: invoice_data)
    • display_name: Tên hiển thị của nhãn đó (VD: Thông tin hóa đơn)
    • category: Loại kiểu dữ liệu, sẽ là 1 trong 4 kiểu dữ liệu được đề cập dến ở phần a.
    • constraint: Nếu giá trị là “required” nghĩa là trường dữ liệu này là bắt buộc cần điền để xác nhận hồ sơ.
  • value: Giá trị hiện tại của ô dữ liệu
  • box: Danh sách 4 phần tử là vị trí 4 đỉnh của vùng trên tài liệu mà đọc được dữ liệu
  • confidence_score: Độ tin cậy của dữ liệu
  • ocr_value: Dữ liệu đọc được từ quá trình OCR
  • normalized_value: Dữ liệu được định dạng lại sao cho hợp lý
  • value: Dữ liệu cuối cùng, khi người dùng thay đổi dữ liệu của các giấy tờ trong tài liệu sẽ thay đổi giá trị này
  • page: UUID của trang chứa vùng dữ liệu
  • parent: UUID của dữ liệu cha
  • data_set: Nếu là kiểu dữ liệu section, table hay row sẽ có các trường con, vậy nên data_set sẽ là danh sách của các Data con của dữ liệu Data này.

2. Datapoint

{
"id": "101cfb31-b110-46bc-91b8-29abc02dfc4c",
"submission_field": {
"id": "8f55f8c0-e8a2-4159-8763-62bcc7674f60",
"created_at": "2024-04-26T08:54:55.480396Z",
"updated_at": "2024-04-26T08:54:55.482287Z",
"deleted_at": null,
"label": "date",
"name": "Ngày",
"ordering": 1,
"data_type": "date",
"format": null,
"category": "datapoint",
"rir_labels_json": [
{
"label": "date",
"document_type": "invoice"
}
],
"enable": true,
"required": true,
"select_strategy": "order",
"can_delete": true,
"editable": true,
"folder": "fd38c314-e9ce-4794-be0d-db091f96a962",
"parent": "6e30e16b-79a0-40e4-83fd-2a8beb0a8690"
},
"created_at": "2024-05-06T08:37:52.002558Z",
"updated_at": "2024-05-06T08:37:52.009851Z",
"deleted_at": null,
"value": "23/03/2021",
"category": "datapoint",
"box": null,
"confidence_score": null,
"data": "5349aa70-ae95-4ff2-a83e-cbea7800cfea",
"submission": "5138c6f9-0ed5-4a06-90ed-8ef0a8bf2430",
"parent": "be12172c-4c52-42f2-a6a7-ea2a7d5e2d55",
"page": null,
"data_source": []
}

Các thông tin quan trọng trong datapoint gồm:

  • category: Loại dữ liệu sẽ có giá trị là “datapoint”
  • data: UUID của data
  • datasource: Danh sách chứa 1 phần tử, mô tả dữ liệu đọc được từ quá trình OCR. Trong phần tử đầu tiên sẽ chứa các thông tin tương tự phần Data
  • submission_field: Chứa các thông tin về tên và nhãn của kiểu dữ liệu
    • editable: Chỉnh sửa được hay không
    • label: Nhãn của dữ liệu (vd: serial_no)
    • name: Tên nhãn của dữ liệu (vd: Số ký hiệu hóa đơn)
    • required: Bắt buộc hay không
    • ordering: Số thứ tự của dữ liệu này trong tài liệu
  • parent: UUID của dữ liệu cha chứa dữ liệu
  • value: Giá trị của trường dữ liệu, , khi người dùng thay đổi dữ liệu sẽ thay đổi giá trị này

3. Section

{
"id": "be12172c-4c52-42f2-a6a7-ea2a7d5e2d55",
"submission_field": {
"id": "6e30e16b-79a0-40e4-83fd-2a8beb0a8690",
"created_at": "2024-04-26T08:54:55.476267Z",
"updated_at": "2024-04-26T08:54:55.478421Z",
"deleted_at": null,
"label": "invoice_data",
"name": "Thông tin hóa đơn",
"ordering": 0,
"data_type": "string",
"format": null,
"category": "section",
"rir_labels_json": [],
"enable": true,
"required": false,
"select_strategy": "order",
"can_delete": true,
"editable": true,
"folder": "fd38c314-e9ce-4794-be0d-db091f96a962",
"parent": null
},
"created_at": "2024-05-06T08:37:51.679976Z",
"updated_at": "2024-05-06T08:37:51.680002Z",
"deleted_at": null,
"value": null,
"category": "section",
"box": null,
"confidence_score": null,
"data": null,
"submission": "5138c6f9-0ed5-4a06-90ed-8ef0a8bf2430",
"parent": null,
"page": null,
"data_source": [],
"field_data_set": []
}

Các thông tin quan trọng trong Section gồm:

  • category: Loại dữ liệu sẽ có giá trị là “section”.
  • submission_field: Tên và nhãn của Section, tương tự Datapoint.
  • field_data_set: Danh sách các trường dữ liệu con hay chính là các Datapoint trong section này.

4. Row

Các trường tương tự như phần Section. Như mô tả ở trên, ý nghĩa của hàng là để gộp những dữ liệu cho 1 hàng trong bảng nên sẽ có các trường giống với phần Section.

info

Lưu ý: Trường category sẽ có giá trị là “row”.

5. Table

Các trường tương tự như phần Section. Table là dữ liệu dạng bảng của 1 tài liệu, vì vậy điểm khác biệt so với SectionRow là trường field_data_set sẽ là danh sách của các Row – hàng trong bảng.

info

Lưu ý: Trường category cũng sẽ có giá trị là “table”.