Mencoba menerjemahkan dokumen berformat

Layanan Vertex AI Translation dan Pengenalan Karakter Optik (OCR) digabungkan untuk menyediakan fitur pemrosesan dokumen yang disebut Terjemahan Dokumen.

Terjemahan Dokumen menerjemahkan dokumen berformat seperti file PDF secara langsung. Dibandingkan dengan terjemahan teks biasa, fitur ini mempertahankan format dan tata letak asli dalam dokumen terjemahan Anda, sehingga membantu Anda mempertahankan banyak konteks asli, seperti jeda paragraf.

Document Translate mendukung terjemahan dokumen inline, dari bucket penyimpanan, dan dalam batch.

Halaman ini memandu Anda melalui pengalaman interaktif menggunakan fitur pemrosesan dokumen di Google Distributed Cloud (GDC) dengan air gap untuk menerjemahkan dokumen sambil mempertahankan formatnya.

Format yang didukung

Document Translate mendukung jenis file input dan jenis file output terkait berikut:

Input Jenis MIME dokumen Output
PDF application/pdf PDF, DOCX
DOC application/msword DOC, DOCX
DOCX application/vnd.openxmlformats-officedocument.wordprocessingml.document DOCX
PPT application/vnd.ms-powerpoint PPT, PPTX
PPTX application/vnd.openxmlformats-officedocument.presentationml.presentation PPTX
XLS application/vnd.ms-excel XLS, XLSX
XLSX application/vnd.openxmlformats-officedocument.spreadsheetml.sheet XLSX

Terjemahan dokumen PDF asli dan hasil pemindaian

Terjemahan Dokumen mendukung file PDF asli dan hasil pemindaian, termasuk terjemahan ke atau dari bahasa yang ditulis dari kanan ke kiri. Selain itu, Document Translation mempertahankan hyperlink, ukuran font, dan warna font dari file.

Sebelum memulai

Sebelum dapat mulai menggunakan fitur pemrosesan dokumen, Anda harus memiliki project bernama dt-project. Resource kustom project harus terlihat seperti dalam contoh berikut:

apiVersion: resourcemanager.gdc.goog/v1
kind: Project
metadata:
  labels:
    atat.config.google.com/clin-number: CLIN_NUMBER
    atat.config.google.com/task-order-number: TASK_ORDER_NUMBER
  name: dt-project
  namespace: platform

Selain itu, Anda harus mengaktifkan API terlatih Vertex AI Translation dan OCR serta memiliki kredensial yang sesuai. Sebaiknya instal library klien Vertex AI Translation dan OCR untuk memfasilitasi panggilan API. Untuk mengetahui informasi selengkapnya tentang prasyarat, lihat Menyiapkan project terjemahan.

Menerjemahkan dokumen dari bucket penyimpanan

Untuk menerjemahkan dokumen yang disimpan dalam bucket, Anda menggunakan Vertex AI Translation API.

Bagian ini menjelaskan cara menerjemahkan dokumen dari bucket dan menyimpan hasilnya ke jalur bucket output lain. Responsnya juga menampilkan aliran byte. Anda dapat menentukan jenis MIME; jika tidak, Document Translate akan menentukannya menggunakan ekstensi file input.

Terjemahan Dokumen mendukung deteksi otomatis bahasa untuk dokumen yang disimpan di bucket. Jika Anda tidak menentukan kode bahasa sumber, Document Translate akan mendeteksi bahasanya untuk Anda. Bahasa yang terdeteksi disertakan dalam output di kolom detectedLanguageCode.

Ikuti langkah-langkah berikut untuk menerjemahkan dokumen dari bucket penyimpanan:

  1. Konfigurasi gdcloud CLI untuk penyimpanan objek.
  2. Buat bucket penyimpanan di namespace dt-project. Gunakan kelas penyimpanan Standard.

    Anda dapat membuat bucket penyimpanan dengan men-deploy resource Bucket di namespace dt-project:

      apiVersion: object.gdc.goog/v1
      kind: Bucket
      metadata:
        name: dt-bucket
        namespace: dt-project
      spec:
        description: bucket for document vision service
        storageClass: Standard
        bucketPolicy:
          lockingPolicy:
            defaultObjectRetentionDays: 90
    
  3. Beri izin read dan write pada bucket ke akun layanan (ai-translation-system-sa) yang digunakan oleh layanan Vertex AI Translation.

    Anda dapat mengikuti langkah-langkah berikut untuk membuat peran dan binding peran menggunakan resource kustom:

    1. Buat peran dengan men-deploy resource Role di namespace dt-project:

        apiVersion: rbac.authorization.k8s.io/v1
        kind: Role
        metadata:
          name: dvs-reader-writer
          namespace: dt-project
        rules:
          -
            apiGroups:
              - object.gdc.goog
            resources:
              - buckets
            verbs:
              - read-object
              - write-object
      
    2. Buat binding peran dengan men-deploy resource RoleBinding di namespace dt-project:

        apiVersion: rbac.authorization.k8s.io/v1
        kind: RoleBinding
        metadata:
          name: dvs-reader-writer-rolebinding
          namespace: dt-project
        roleRef:
          apiGroup: rbac.authorization.k8s.io
          kind: Role
          name: dvs-reader-writer
        subjects:
          -
            kind: ServiceAccount
            name: ai-translation-system-sa
            namespace: ai-translation-system
      
  4. Upload dokumen Anda ke bucket penyimpanan yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Mengupload dan mendownload objek penyimpanan dalam project.

  5. Buat permintaan ke API yang telah dilatih sebelumnya untuk Vertex AI Translation:

    curl

    Ikuti langkah-langkah berikut untuk membuat permintaan curl:

    1. Simpan file request.json berikut:

      cat <<- EOF > request.json
      {
        "parent": "projects/PROJECT_ID",
        "source_language_code": "SOURCE_LANGUAGE",
        "target_language_code": "TARGET_LANGUAGE",
        "document_input_config": {
          "mime_type": "application/pdf",
          "s3_source": {
            "input_uri": "s3://INPUT_FILE_PATH"
          }
        },
        "document_output_config": {
          "mime_type": "application/pdf"
        },
        "enable_rotation_correction": "true"
      }
      EOF
      

      Ganti kode berikut:

      • PROJECT_ID: project ID Anda.
      • SOURCE_LANGUAGE: bahasa yang digunakan dalam dokumen Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
      • TARGET_LANGUAGE: bahasa yang Anda inginkan untuk menerjemahkan dokumen Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
      • INPUT_FILE_PATH: jalur file dokumen Anda di bucket penyimpanan.

      Ubah nilai mime_type sesuai dengan dokumen Anda.

    2. Dapatkan token autentikasi.

    3. Buat permintaan:

      curl -vv --data-binary @- -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT:443/v3/projects/PROJECT_ID:translateDocument < request.json
      

      Ganti kode berikut:

Menerjemahkan dokumen secara langsung

Bagian ini menjelaskan cara mengirim dokumen secara langsung sebagai bagian dari permintaan API. Anda harus menyertakan jenis MIME untuk penerjemahan dokumen secara langsung.

Terjemahan Dokumen mendukung deteksi otomatis bahasa untuk terjemahan teks inline. Jika Anda tidak menentukan kode bahasa sumber, Document Translate akan mendeteksi bahasanya untuk Anda. Bahasa yang terdeteksi disertakan dalam output di kolom detectedLanguageCode.

Buat permintaan ke API yang telah dilatih sebelumnya untuk Vertex AI Translation:

curl

Ikuti langkah-langkah berikut untuk membuat permintaan curl:

  1. Dapatkan token autentikasi.

  2. Buat permintaan:

echo '{"parent": "projects/PROJECT_ID","source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "document_input_config": { "mime_type": "application/pdf", "content": "'$(base64 -w 0 INPUT_FILE_PATH)'" }, "document_output_config": { "mime_type": "application/pdf" }, "enable_rotation_correction": "true"}' | curl --data-binary @- -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateDocument

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • SOURCE_LANGUAGE: bahasa yang digunakan dalam dokumen Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
  • TARGET_LANGUAGE: bahasa yang Anda inginkan untuk menerjemahkan dokumen Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
  • INPUT_FILE_PATH: jalur file dokumen Anda secara lokal.
  • TOKEN: token autentikasi yang Anda peroleh.
  • ENDPOINT: endpoint Vertex AI Translation yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan

Menerjemahkan dokumen dalam batch

Dengan terjemahan batch, Anda dapat menerjemahkan beberapa file ke dalam beberapa bahasa dalam satu permintaan. Untuk setiap permintaan, Anda dapat mengirim hingga 100 file dengan total ukuran konten hingga 1 GB atau 100 juta codepoint Unicode, mana pun batas yang tercapai terlebih dahulu. Anda dapat menentukan model terjemahan tertentu untuk setiap bahasa.

Untuk informasi selengkapnya, lihat batchTranslateDocument.

Menerjemahkan beberapa dokumen

Contoh berikut mencakup beberapa konfigurasi input. Setiap konfigurasi input adalah penunjuk ke file dalam bucket penyimpanan.

Buat permintaan ke API yang telah dilatih sebelumnya untuk Vertex AI Translation:

curl

Ikuti langkah-langkah berikut untuk membuat permintaan curl:

  1. Simpan isi permintaan berikut dalam file bernama request.json:

    {
      "source_language_code": "SOURCE_LANGUAGE",
      "target_language_codes": ["TARGET_LANGUAGE", ...],
      "input_configs": [
        {
          "s3_source": {
            "input_uri": "s3://INPUT_FILE_PATH_1"
          }
        },
        {
          "s3_source": {
            "input_uri": "s3://INPUT_FILE_PATH_2"
          }
        },
        ...
      ],
      "output_config": {
        "s3_destination": {
          "output_uri_prefix": "s3://OUTPUT_FILE_PREFIX"
        }
      }
    }
    

    Ganti kode berikut:

    • SOURCE_LANGUAGE: kode bahasa dokumen input. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • TARGET_LANGUAGE: target bahasa atau bahasa untuk menerjemahkan dokumen input. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • INPUT_FILE_PATH: lokasi bucket penyimpanan dan nama file dari satu atau beberapa dokumen input.
    • OUTPUT_FILE_PREFIX: lokasi bucket penyimpanan tempat semua dokumen output disimpan.
  2. Dapatkan token autentikasi.

  3. Buat permintaan:

    curl -X POST \
      -H "Authorization: Bearer TOKEN" \
      -H "Content-Type: application/json; charset=utf-8" \
      -d @request.json \
      "https://ENDPOINT:443/v3/projects/PROJECT_ID:batchTranslateDocument"
    

    Ganti kode berikut:

Respons berisi ID untuk operasi yang berjalan lama:

{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
  "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
  "state": "RUNNING"
}
}

Menerjemahkan dan mengonversi file PDF asli

Contoh berikut menerjemahkan dan mengonversi file PDF asli ke file DOCX. Anda dapat menentukan beberapa input untuk berbagai jenis file; tidak semua harus berupa file PDF asli. Namun, file PDF yang dipindai tidak dapat disertakan saat menyertakan konversi; permintaan akan ditolak dan tidak ada terjemahan yang diselesaikan. Hanya file PDF asli yang diterjemahkan dan dikonversi menjadi file DOCX. Misalnya, jika Anda menyertakan file PPTX, file tersebut akan diterjemahkan dan ditampilkan sebagai file PPTX.

Jika Anda secara rutin menerjemahkan campuran file PDF hasil pemindaian dan asli, sebaiknya Anda mengorganisir file tersebut ke dalam bucket yang terpisah. Dengan begitu, saat meminta terjemahan dan konversi batch, Anda dapat mengecualikan bucket yang berisi file PDF hasil pemindaian, bukannya mengecualikan file satu per satu.

Buat permintaan ke API yang telah dilatih sebelumnya untuk Vertex AI Translation:

curl

Ikuti langkah-langkah berikut untuk membuat permintaan curl:

  1. Simpan isi permintaan berikut dalam file bernama request.json:

    {
      "source_language_code": "SOURCE_LANGUAGE",
      "target_language_codes": ["TARGET_LANGUAGE", ...],
      "input_configs": [
        {
          "s3_source": {
            "input_uri": "s3://INPUT_FILE_PATH_1"
          }
        },
        {
          "s3_source": {
            "input_uri": "s3://INPUT_FILE_PATH_2"
          }
        },
        ...
      ],
      "output_config": {
        "s3_destination": {
          "output_uri_prefix": "s3://OUTPUT_FILE_PREFIX"
        }
      },
      "format_conversions": {
        "application/pdf": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
      }
    }
    

    Ganti kode berikut:

    • SOURCE_LANGUAGE: kode bahasa dokumen input. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • TARGET_LANGUAGE: target bahasa atau bahasa untuk menerjemahkan dokumen input. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • INPUT_FILE_PATH: lokasi bucket penyimpanan dan nama file dari satu atau beberapa dokumen input.
    • OUTPUT_FILE_PREFIX: lokasi bucket penyimpanan tempat semua dokumen output disimpan.
  2. Dapatkan token autentikasi.

  3. Buat permintaan:

    curl -X POST \
      -H "Authorization: Bearer TOKEN" \
      -H "Content-Type: application/json; charset=utf-8" \
      -d @request.json \
      "https://ENDPOINT:443/v3/projects/PROJECT_ID:batchTranslateDocument"
    

    Ganti kode berikut:

Respons berisi ID untuk operasi yang berjalan lama:

{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
  "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
  "state": "RUNNING"
}
}

Menggunakan glosarium

Anda dapat menyertakan glosarium untuk menangani terminologi khusus domain. Jika Anda menentukan glosarium, Anda harus menentukan bahasa sumber. Contoh berikut menggunakan glosarium. Anda dapat menentukan hingga 10 target bahasa dengan glosariumnya sendiri.

Jika Anda menentukan glosarium untuk beberapa target bahasa, sistem tidak menggunakan glosarium untuk bahasa yang tidak ditentukan.

Buat permintaan ke API yang telah dilatih sebelumnya untuk Vertex AI Translation:

curl

Ikuti langkah-langkah berikut untuk membuat permintaan curl:

  1. Simpan isi permintaan berikut dalam file bernama request.json:

    {
      "source_language_code": "SOURCE_LANGUAGE",
      "target_language_codes": ["TARGET_LANGUAGE", ...],
      "input_configs": [
        {
          "s3_source": {
            "input_uri": "s3://INPUT_FILE_PATH"
          }
        }
      ],
      "output_config": {
        "s3_destination": {
          "output_uri_prefix": "s3://OUTPUT_FILE_PREFIX"
        }
      },
      "glossaries": {
        "TARGET_LANGUAGE": {
          "glossary": "projects/GLOSSARY_PROJECT_ID"
        },
        ...
      }
    }
    

    Ganti kode berikut:

    • SOURCE_LANGUAGE: kode bahasa dokumen input. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • TARGET_LANGUAGE: target bahasa atau bahasa untuk menerjemahkan dokumen input. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • INPUT_FILE_PATH: lokasi bucket penyimpanan dan nama file dari satu atau beberapa dokumen input.
    • OUTPUT_FILE_PREFIX: lokasi bucket penyimpanan tempat semua dokumen output disimpan.
    • GLOSSARY_PROJECT_ID: project ID tempat glosarium berada.
  2. Dapatkan token autentikasi.

  3. Buat permintaan:

    curl -X POST \
      -H "Authorization: Bearer TOKEN" \
      -H "Content-Type: application/json; charset=utf-8" \
      -d @request.json \
      "https://ENDPOINT:443/v3/projects/PROJECT_ID:batchTranslateDocument"
    

    Ganti kode berikut:

Respons berisi ID untuk operasi yang berjalan lama:

{
"name": "projects/PROJECT_ID/operations/OPERATION_ID",
"metadata": {
  "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
  "state": "RUNNING"
}
}