Membuat dan menggunakan glosarium

Anda dapat menggunakan glosarium untuk menentukan terminologi khusus domain Anda. Dengan glosarium, Anda dapat menambahkan pasangan istilah, termasuk istilah bahasa sumber dan target. Pasangan istilah memastikan bahwa layanan Vertex AI Translation menerjemahkan terminologi Anda secara konsisten.

Berikut adalah contoh kasus saat Anda dapat menentukan entri glosarium:

  • Nama produk: Mengidentifikasi nama produk agar tetap ada dalam terjemahan. Misalnya, Google Home harus diterjemahkan menjadi Google Home.
  • Kata ambigu: Tentukan arti kata-kata yang tidak jelas dan homonim. Misalnya, bat dapat berarti peralatan olahraga atau hewan.
  • Kata pinjaman: Memperjelas arti kata yang diadopsi dari bahasa lain. Misalnya, bouillabaisse dalam bahasa Prancis diterjemahkan menjadi bouillabaisse dalam bahasa Inggris, yaitu hidangan sup ikan.

Istilah dalam glosarium dapat berupa satu kata (juga disebut sebagai token) atau frasa pendek, biasanya kurang dari lima kata. Vertex AI Translation mengabaikan entri glosarium yang cocok jika kata-katanya adalah stopwords.

Vertex AI Translation menawarkan metode glosarium berikut yang tersedia di Google Distributed Cloud (GDC) dengan air gap:

Metode Deskripsi
CreateGlossary Buat daftar istilah.
GetGlossary Menampilkan glosarium tersimpan.
ListGlossaries Menampilkan daftar ID glosarium dalam sebuah project.
DeleteGlossary Hapus glosarium yang tidak lagi Anda perlukan.

Sebelum memulai

Sebelum membuat glosarium untuk menentukan terminologi Anda untuk terjemahan, Anda harus memiliki project bernama translation-glossary-project. Resource kustom project harus terlihat seperti 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: translation-glossary-project
    namespace: platform

Untuk mendapatkan izin yang Anda perlukan untuk menggunakan glosarium, minta Admin IAM Project Anda untuk memberi Anda peran berikut di namespace project Anda:

  • Developer Terjemahan AI: Dapatkan peran Developer Terjemahan AI (ai-translation-developer) untuk mengakses layanan Vertex AI Translation.
  • Project Bucket Admin: Dapatkan peran Project Bucket Admin (project-bucket-admin) untuk mengelola bucket dan objek penyimpanan dalam bucket, yang memungkinkan Anda membuat dan mengupload file.

Untuk mengetahui informasi selengkapnya tentang prasyarat, lihat Menyiapkan project terjemahan.

Membuat file glosarium

Anda harus membuat file glosarium untuk menyimpan istilah bahasa sumber dan bahasa target. Bagian ini berisi dua tata letak glosarium berbeda yang dapat Anda gunakan untuk menentukan istilah.

Tabel berikut menjelaskan batas yang didukung di Distributed Cloud untuk file glosarium:

Deskripsi Batas
Ukuran file maksimal 10,4 juta (10.485.760) byte UTF-8
Panjang maksimum istilah glosarium 1.024 byte UTF-8
Jumlah maksimum resource glosarium untuk project 10.000

Pilih salah satu tata letak berikut untuk file glosarium Anda:

  • Glosarium searah: Tentukan terjemahan yang diharapkan untuk pasangan istilah sumber dan target dalam bahasa tertentu. Glosarium satu arah mendukung format file TSV, CSV, dan TMX.
  • Glosarium kumpulan padanan istilah: Tentukan terjemahan yang diharapkan dalam beberapa bahasa di setiap baris. Glosarium kumpulan padanan istilah mendukung format file CSV.

Glosarium searah

Vertex AI Translation API menerima nilai yang dipisahkan tab (TSV) dan nilai yang dipisahkan koma (CSV). Setiap baris berisi pasangan istilah yang dipisahkan oleh tab (\t) atau koma (,) untuk format file ini.

Vertex AI Translation API juga menerima format Translation Memory eXchange (TMX), format XML standar untuk menyediakan pasangan istilah sumber dan target terjemahan. File input yang didukung memiliki format berdasarkan TMX versi 1.4.

Contoh berikut menunjukkan struktur yang diperlukan untuk format file TSV, CSV, dan TMX glosarium satu arah:

TSV dan CSV

Gambar berikut menunjukkan dua kolom dalam file TSV atau CSV. Kolom pertama berisi istilah bahasa sumber, dan kolom kedua berisi istilah bahasa target.

Contoh istilah glosarium yang setara

Saat membuat file glosarium, Anda dapat menentukan baris header. Permintaan glosarium membuat file tersedia untuk Vertex AI Translation API.

TMX

Contoh berikut mengilustrasikan struktur yang diperlukan dalam file TMX:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
  <header segtype="sentence" o-tmf="UTF-8" adminlang="en" srclang="en" datatype="PlainText"/>
  <body>
    <tu>
      <tuv xml:lang="en">
        <seg>account</seg>
      </tuv>
      <tuv xml:lang="es">
        <seg>cuenta</seg>
      </tuv>
    </tu>
    <tu>
      <tuv xml:lang="en">
        <seg>directions</seg>
      </tuv>
      <tuv xml:lang="es">
        <seg>indicaciones</seg>
      </tuv>
    </tu>
  </body>
</tmx>

Jika file Anda berisi tag XML yang tidak ditampilkan dalam contoh ini, Vertex AI Translation API akan mengabaikan tag tersebut.

Sertakan elemen berikut dalam file TMX Anda untuk memastikan pemrosesan berhasil oleh Vertex AI Translation API:

  • <header>: Identifikasi bahasa sumber menggunakan atribut srclang.
  • <tu>: Sertakan sepasang elemen <tuv> dengan bahasa sumber dan target yang sama. Elemen <tuv> ini mematuhi hal berikut:

    • Setiap elemen <tuv> mengidentifikasi bahasa teks yang dimuat menggunakan atribut xml:lang. Gunakan kode ISO-639-1 untuk mengidentifikasi bahasa sumber dan target. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • Jika elemen <tu> berisi lebih dari dua elemen <tuv>, Vertex AI Translation API hanya akan memproses elemen <tuv> pertama yang cocok dengan bahasa sumber dan elemen <tuv> pertama yang cocok dengan bahasa target. Layanan mengabaikan elemen <tuv> lainnya.
    • Jika elemen <tu> tidak memiliki pasangan elemen <tuv> yang cocok, Vertex AI Translation API akan mengabaikan elemen <tu> yang tidak valid.
  • <seg>: Merepresentasikan string teks umum. Vertex AI Translation API mengecualikan tag markup dari elemen <seg> sebelum memproses file. Jika elemen <tuv> berisi lebih dari satu elemen <seg>, Vertex AI Translation API akan menggabungkan teksnya menjadi satu elemen yang dipisahkan dengan spasi.

Setelah mengidentifikasi istilah glosarium dalam glosarium satu arah, upload file ke bucket penyimpanan dan sediakan untuk Vertex AI Translation API dengan membuat dan mengimpor glosarium.

Glosarium kumpulan padanan istilah

Vertex AI Translation API menerima file glosarium untuk kumpulan padanan istilah menggunakan format CSV. Untuk menentukan kumpulan padanan istilah, buat file CSV multi-kolom yang setiap barisnya mencantumkan satu istilah glosarium dalam beberapa bahasa. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.

Gambar berikut menunjukkan contoh file CSV multi-kolom. Setiap baris mewakili istilah glosarium, dan setiap kolom mewakili terjemahan istilah ke dalam bahasa yang berbeda.

Contoh istilah glosarium yang setara

Header adalah baris pertama dalam file, yang mengidentifikasi bahasa untuk setiap kolom. Baris header menggunakan kode bahasa standar ISO-639-1 atau BCP-47. Vertex AI Translation API tidak menggunakan informasi part-of-speech (pos), dan nilai posisi tertentu tidak divalidasi.

Setiap baris berikutnya berisi padanan istilah glosarium dalam bahasa yang diidentifikasi di header. Anda dapat mengosongkan kolom jika istilah tidak tersedia dalam semua bahasa.

Setelah mengidentifikasi istilah glosarium dalam kumpulan padanan istilah, upload file ke bucket penyimpanan dan sediakan untuk Vertex AI Translation API dengan membuat dan mengimpor glosarium.

Mengupload file glosarium ke bucket penyimpanan

Ikuti langkah-langkah berikut untuk mengupload file glosarium ke bucket penyimpanan:

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

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

      apiVersion: object.gdc.goog/v1
      kind: Bucket
      metadata:
        name: glossary-bucket
        namespace: translation-glossary-project
      spec:
        description: bucket for translation glossary
        storageClass: Standard
        bucketPolicy:
          lockingPolicy:
            defaultObjectRetentionDays: 90
    
  3. Berikan izin read 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 project:

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

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

Membuat glosarium

Metode CreateGlossary membuat glosarium dan menampilkan ID ke operasi yang berjalan lama yang membuat glosarium.

Untuk membuat glosarium, ganti hal berikut sebelum menggunakan data permintaan:

  • ENDPOINT: endpoint Vertex AI Translation yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.
  • PROJECT_ID: project ID Anda.
  • GLOSSARY_ID: ID glosarium Anda, yang merupakan nama resource Anda.
  • BUCKET_NAME: nama bucket penyimpanan tempat file glosarium Anda berada.
  • GLOSSARY_FILENAME: nama file glosarium Anda di bucket penyimpanan.

Berikut adalah sintaksis untuk permintaan HTTP guna membuat glosarium:

POST https://ENDPOINT/v3/projects/PROJECT_ID/glossaries

Menurut file glosarium yang Anda buat, pilih salah satu opsi berikut untuk membuat glosarium:

Unidirectional

Untuk membuat glosarium searah, tentukan pasangan bahasa (language_pair) dengan bahasa sumber (source_language_code) dan target bahasa (target_language_code).

Ikuti langkah-langkah berikut untuk membuat glosarium satu arah:

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

    {
      "name":"projects/PROJECT_ID/glossaries/GLOSSARY_ID,
      "language_pair": {
        "source_language_code": "SOURCE_LANGUAGE",
        "target_language_code": "TARGET_LANGUAGE"
        },
      "{"input_config": {
        "s3_source": {
          "input_uri": "s3://BUCKET_NAME/GLOSSARY_FILENAME"
        }
      }
    }
    

    Ganti kode berikut:

    • SOURCE_LANGUAGE: kode bahasa sumber bahasa glosarium. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • TARGET_LANGUAGE: kode bahasa target glosarium. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
  2. Dapatkan token autentikasi.

  3. Buat permintaan. Contoh berikut menggunakan metode REST API dan command line, tetapi Anda juga dapat menggunakan library klien untuk membuat glosarium searah.

curl

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

Ganti TOKEN dengan token autentikasi yang Anda peroleh.

PowerShell

$cred = TOKEN
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest
  -Method POST
  -Headers $headers
  -ContentType: "application/json; charset=utf-8"
  -InFile request.json
  -Uri "https://ENDPOINT/v3/projects/PROJECT_ID/glossaries"
  | Select-Object -Expand Content

Ganti TOKEN dengan token autentikasi yang Anda peroleh.

Anda harus menerima respons JSON yang mirip dengan yang berikut ini:

{
"name": "projects/PROJECT_ID/operations/operation-id",
"metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.CreateGlossaryMetadata",
    "name": "projects/PROJECT_ID/glossaries/GLOSSARY_ID",
    "state": "RUNNING",
    "submitTime": TIME
  }
}

Kumpulan padanan istilah

Untuk membuat glosarium kumpulan padanan istilah, tentukan kumpulan bahasa (language_codes_set) dengan kode bahasa (language_codes) dari glosarium.

Ikuti langkah-langkah berikut untuk membuat glosarium kumpulan padanan istilah:

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

    {
      "name":"projects/PROJECT_ID/glossaries/GLOSSARY_ID",
      "language_codes_set": {
        "language_codes": ["LANGUAGE_CODE_1",
                            "LANGUAGE_CODE_2",
                            "LANGUAGE_CODE_3",
                            ...
                          ]
      },
      "input_config": {
        "s3_source": {
          "input_uri": "s3://BUCKET_NAME/GLOSSARY_FILENAME"
        }
      }
    }
    

    Ganti LANGUAGE_CODE dengan kode bahasa atau bahasa glosarium. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.

  2. Dapatkan token autentikasi.

  3. Buat permintaan:

curl

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

Ganti TOKEN dengan token autentikasi yang Anda peroleh.

Anda harus menerima respons JSON yang mirip dengan yang berikut ini:

{
  "name": "projects/PROJECT_ID/operations/GLOSSARY_ID,
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.CreateGlossaryMetadata",
    "name": "projects/PROJECT_ID/glossaries/GLOSSARY_ID",
    "state": "RUNNING",
    "submitTime": TIME
  }
}

PowerShell

$cred = TOKEN
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
  -Method POST `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -InFile request.json `
  -Uri "https://ENDPOINT/v3/projects/PROJECT_ID/glossaries"
  | Select-Object -Expand Content

Ganti TOKEN dengan token autentikasi yang Anda peroleh.

Anda harus menerima respons JSON yang mirip dengan yang berikut ini:

{
  "name": "projects/PROJECT_ID/operations/GLOSSARY_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.CreateGlossaryMetadata",
    "name": "projects/PROJECT_ID/glossaries/GLOSSARY_ID",
    "state": "RUNNING",
    "submitTime": TIME
  }
}

Python

  1. Instal library klien Vertex AI Translation versi terbaru.

  2. Tetapkan variabel lingkungan yang diperlukan pada skrip Python.

  3. Tambahkan kode berikut ke skrip Python yang Anda buat:

    from google.cloud import translate_v3 as translate
    
    def create_glossary(
        project_id=PROJECT_ID,
        input_uri= "s3://BUCKET_NAME/GLOSSARY_FILENAME",
        glossary_id=GLOSSARY_ID,
        timeout=180,
    ):
    
        client = translate.TranslationServiceClient()
    
        # Supported language codes
        source_lang_code = "LANGUAGE_CODE_1"
        target_lang_code = "LANGUAGE_CODE_2", "LANGUAGE_CODE_3", ...
    
  4. Simpan skrip Python.

  5. Jalankan skrip Python:

    python SCRIPT_NAME
    

Ganti SCRIPT_NAME dengan nama yang Anda berikan ke skrip Python, seperti glossary.py.

Untuk mengetahui informasi selengkapnya tentang metode create_glossary, lihat library klien Python.

Bergantung pada ukuran file glosarium, pembuatan glosarium biasanya memerlukan waktu kurang dari 10 menit. Anda dapat mengambil status operasi ini untuk mengetahui kapan operasi selesai.

Mendapatkan glosarium

Metode GetGlossary menampilkan glosarium yang disimpan. Jika glosarium tidak ada, output akan menampilkan nilai NOT_FOUND. Untuk memanggil metode GetGlossary, tentukan project ID dan ID glosarium Anda. Metode CreateGlossary dan ListGlossaries menampilkan ID glosarium.

Misalnya, permintaan berikut menampilkan informasi tentang glosarium tertentu dalam project Anda:

curl

curl -X GET \
   -H "Authorization: Bearer TOKEN" \
   "http://ENDPOINT/v3/projects/PROJECT_ID/glossaries/GLOSSARY_ID"

Ganti TOKEN dengan token autentikasi yang Anda peroleh.

Python

from google.cloud import translate_v3 as translate

def get_glossary(project_id="PROJECT_ID", glossary_id="GLOSSARY_ID"):
    """Get a particular glossary based on the glossary ID."""

client = translate.TranslationServiceClient()

name = client.glossary_path(project_id, glossary_id)

response = client.get_glossary(name=name)
print(u"Glossary name: {}".format(response.name))
print(u"Input URI: {}".format(response.input_config.s3_source.input_uri))

Membuat daftar glosarium

Metode ListGlossaries menampilkan daftar ID glosarium dalam project. Jika glosarium tidak ada, output akan menampilkan nilai NOT_FOUND. Untuk memanggil metode ListGlossaries, tentukan project ID Anda dan endpoint Vertex AI Translation.

Misalnya, permintaan berikut menampilkan daftar ID glosarium dalam project Anda:

curl -X GET \
    -H "Authorization: Bearer TOKEN" \
    "http://ENDPOINT/v3/projects/PROJECT_ID/glossaries?page_size=10"

Ganti TOKEN dengan token autentikasi yang Anda peroleh.

Menghapus glosarium

Metode DeleteGlossary menghapus glosarium. Jika glosarium tidak ada, output akan menampilkan nilai NOT_FOUND. Untuk memanggil metode DeleteGlossary, tentukan project ID, ID glosarium, dan endpoint Vertex AI Translation. Metode CreateGlossary dan ListGlossaries menampilkan ID glosarium.

Misalnya, permintaan berikut menghapus glosarium dari project Anda:

curl -X DELETE \
    -H "Authorization: Bearer TOKEN" \
    "http://ENDPOINT/v3/projects/PROJECT_ID/glossaries/GLOSSARY_ID"

Ganti TOKEN dengan token autentikasi yang Anda peroleh.