Mencoba menerjemahkan dokumen berformat

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

Document Translate menerjemahkan dokumen berformat seperti file PDF secara langsung. Dibandingkan dengan terjemahan teks biasa, fitur ini mempertahankan pemformatan 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

Penerjemahan dokumen PDF asli dan hasil pemindaian

Document Translation mendukung file PDF asli dan hasil pemindaian, termasuk terjemahan ke atau dari bahasa yang ditulis dari kanan ke kiri. Selain itu, Document Translate 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 pada 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. Pertimbangkan untuk menginstal 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 di bucket, gunakan 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.

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

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

  1. Konfigurasikan 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. Berikan izin read dan write pada bucket ke akun layanan (ai-translation-system-sa dan g-vai-translation-sie-sa) yang digunakan oleh layanan Vertex AI Translation.

    Ikuti langkah-langkah berikut untuk membuat peran dan binding peran menggunakan resource kustom di server API pengelolaan:

    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: g-vai-translation-sie
          -
            kind: ServiceAccount
            name: g-vai-translation-sie-sa
            namespace: g-vai-translation-sie
      
  4. Upload dokumen Anda ke bucket penyimpanan yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Mengupload dan mendownload objek penyimpanan di project.

  5. Buat permintaan ke API terlatih 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/locations/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 target 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/locations/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.

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

Buat permintaan ke API terlatih Vertex AI Translation:

curl

Ikuti langkah-langkah berikut untuk membuat permintaan curl:

  1. Dapatkan token autentikasi.

  2. Buat permintaan:

echo '{"parent": "projects/PROJECT_ID/locations/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/locations/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 target 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 poin kode Unicode, batas mana pun 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 pointer ke file yang ada di bucket penyimpanan.

Buat permintaan ke API terlatih 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: bahasa target untuk terjemahan 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/locations/PROJECT_ID:batchTranslateDocument"
    

    Ganti kode berikut:

Respons ini akan 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 menjadi 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 akan 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 native dan hasil pemindaian, 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, tanpa harus mengecualikan file-file tersebut satu per satu.

Buat permintaan ke API terlatih 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: bahasa target untuk terjemahan 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/locations/PROJECT_ID:batchTranslateDocument"
    

    Ganti kode berikut:

Respons ini akan 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 dalam domain yang spesifik. Jika Anda menentukan glosarium, Anda harus menentukan bahasa sumber. Contoh berikut menggunakan glosarium. Anda dapat menentukan hingga 10 bahasa target yang memiliki glosariumnya sendiri.

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

Buat permintaan ke API terlatih 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/glossaries/GLOSSARY_ID"
        },
        ...
      }
    }
    

    Ganti kode berikut:

    • SOURCE_LANGUAGE: kode bahasa dokumen input. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • TARGET_LANGUAGE: bahasa target untuk terjemahan 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.
    • GLOSSARY_ID: ID glosarium.
  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/locations/PROJECT_ID:batchTranslateDocument"
    

    Ganti kode berikut:

Respons ini akan 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"
}
}