Tujuan
Teruskan teks yang dikenali oleh Cloud Vision API ke Cloud Translation API.
Buat dan gunakan glosarium Cloud Translation untuk mempersonalisasi terjemahan Cloud Translation API.
Buat representasi audio dari teks terjemahan menggunakan Text-to-Speech API.
Biaya
Setiap Google Cloud API menggunakan struktur harga yang terpisah.Untuk mengetahui detail harga, baca panduan harga Cloud Vision, panduan harga Cloud Translation, dan panduan harga Text-to-Speech
Sebelum memulai
Pastikan Anda memiliki:- Project di konsol Google Cloud dengan Vision API, Cloud Translation API, dan Text-to-Speech API diaktifkan
- Pemahaman dasar tentang pemrograman Python atau NodeJS
Menyiapkan library klien
Tutorial ini menggunakan library klien Vision, Translation, dan Text-to-Speech.
Untuk menginstal library klien yang relevan, jalankan perintah berikut dari terminal.
Python
pip install --upgrade google-cloud-vision pip install --upgrade google-cloud-translate pip install --upgrade google-cloud-texttospeech
Node.js
npm install --save @google-cloud/vision npm install --save @google-cloud/translate npm install --save @google-cloud/text-to-speech
Menyiapkan izin untuk pembuatan glosarium
Pembuatan glosarium Translation memerlukan penggunaan kunci akun layanan dengan izin "Cloud Translation API Editor".
Untuk menyiapkan kunci akun layanan dengan izin Cloud Translation API Editor, lakukan hal berikut:
Membuat akun layanan
Di konsol Google Cloud, buka halaman Akun Layanan.
Pilih project Anda
Klik
Buat akun layanan.Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.
Opsional: Di kolom Deskripsi akun layanan, masukkan deskripsi akun layanan.
Klik Buat dan lanjutkan.
Klik kolom Select a role dan pilih Cloud Translation > Cloud Translation API Editor
Klik Selesai untuk menyelesaikan pembuatan akun layanan.
Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.
Download kunci JSON untuk akun layanan yang baru saja Anda buat:
- Di konsol Google Cloud, klik alamat email untuk akun layanan yang telah dibuat.
- Klik Kunci.
- Klik Tambahkan kunci, lalu klik Buat kunci baru.
Klik Buat. File kunci JSON akan didownload ke komputer Anda.
Pastikan Anda menyimpan file kunci dengan aman karena file tersebut dapat digunakan untuk melakukan autentikasi sebagai akun layanan Anda. Anda dapat memindahkan dan mengganti nama file ini sesuai keinginan Anda.
Klik Close.
Di terminal Anda, tetapkan variabel GOOGLE_APPLICATION_CREDENTIALS menggunakan perintah berikut. Ganti path_to_key dengan jalur ke file JSON yang didownload yang berisi kunci akun layanan baru Anda.
Linux atau macOS
export GOOGLE_APPLICATION_CREDENTIALS=path_to_key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path_to_key
Mengimpor library
Tutorial ini menggunakan impor sistem dan impor library klien berikut.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menetapkan project ID
Anda harus mengaitkan project Google Cloud dengan setiap permintaan ke Google Cloud API. Tentukan project Google Cloud dengan menetapkan variabel lingkungan GCLOUD_PROJECT
dari terminal.
Di perintah berikut, ganti project-id dengan ID project Google Cloud Anda. Jalankan perintah berikut dari terminal.
Linux atau macOS
export GCLOUD_PROJECT=project-id
Windows
set GCLOUD_PROJECT=project-id
Menggunakan Vision untuk mendeteksi teks dari gambar
Menggunakan Vision API untuk mendeteksi dan mengekstrak teks dari gambar.
Vision API menggunakanPengenalan Karakter Optik (OCR) untuk mendukung dua fitur deteksi teks: deteksi teks padat, atauDOCUMENT_TEXT_DETECTION
, dan deteksi teks renggang, atau TEXT_DETECTION
.
Kode berikut menunjukkan cara menggunakan fitur DOCUMENT_TEXT_DETECTION
Vision API untuk mendeteksi teks dalam foto dengan teks padat.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menggunakan Terjemahan dengan glosarium
Setelah mengekstrak teks dari gambar, gunakan Glosarium terjemahan untuk mempersonalisasi terjemahan teks yang diekstrak. Glosarium menyediakan terjemahan standar yang akan menggantikan terjemahan Cloud Translation API untuk persyaratan yang ditentukan.
Kasus penggunaan glosarium meliputi:
Nama produk: Misalnya, 'Google Home' harus diterjemahkan ke 'Google Home'.
Kata ambigu: Misalnya, kata 'bat' dapat berarti peralatan olahraga atau hewan. Jika Anda menerjemahkan kata-kata tentang olahraga, sebaiknya gunakan glosarium untuk memasukkan terjemahan olahraga 'bat' ke Cloud Translation API, bukan terjemahan hewan.
Kata-kata pinjaman: Misalnya, 'bouillabaisse' dalam bahasa Prancis diterjemahkan menjadi 'bouillabaisse' dalam bahasa Inggris; bahasa Inggris meminjam kata 'bouillabaisse' dari bahasa Prancis. Seorang penutur bahasa Inggris yang kurang memiliki konteks budaya Prancis mungkin tidak tahu bahwa bouillabaisse adalah hidangan sup ikan Prancis. Daftar istilah dapat mengganti terjemahan, sehingga 'bouillabaisse' dalam bahasa Prancis diterjemahkan menjadi 'fish stew' dalam bahasa Inggris.
Membuat file glosarium
Cloud Translation API menerima file glosarium TSV, CSV, atau TMX. Tutorial ini menggunakan file CSV yang diupload ke Cloud Storage untuk menentukan kumpulan istilah yang setara.
Untuk membuat file CSV glosarium:
Tentukan bahasa kolom menggunakan kode bahasa ISO-639 atau BCP-47 di baris pertama file CSV.
fr,en,
Cantumkan pasangan istilah yang setara di setiap baris file CSV. Pisahkan istilah dengan tanda koma. Contoh berikut mendefinisikan terjemahan bahasa Inggris untuk beberapa kata kuliner Prancis.
fr,en, chèvre,goat cheese, crème brulée,crème brulée, bouillabaisse,fish stew, steak frites,steak with french fries,
Menentukan varian kata. Cloud Translation API peka huruf besar/kecil dan peka terhadap karakter khusus seperti kata beraksen. Pastikan glosarium Anda menangani variasi sebuah kata dengan menentukan ejaan yang berbeda secara eksplisit.
fr,en, chevre,goat cheese, Chevre,Goat cheese, chèvre,goat cheese, Chèvre,Goat cheese, crème brulée,crème brulée, Crème brulée,Crème brulée, Crème Brulée,Crème Brulée, bouillabaisse,fish stew, Bouillabaisse,Fish stew, steak frites,steak with french fries, Steak frites,Steak with french fries, Steak Frites,Steak with French Fries,
Upload glosarium ke bucket Cloud Storage. Untuk keperluan tutorial ini, Anda tidak perlu mengupload file glosarium ke bucket Cloud Storage atau membuat bucket Cloud Storage. Sebagai gantinya, gunakan file glosarium yang tersedia secara publik yang dibuat untuk tutorial ini untuk menghindari timbulnya biaya Cloud Storage. Kirim URI file glosarium di Cloud Storage ke Cloud Translation API untuk membuat referensi glosarium. URI file glosarium yang tersedia secara publik untuk tutorial ini adalah gs://cloud-samples-data/translation/bistro_glossary.csv. Untuk mendownload glosarium, klik link URI di atas, tetapi jangan buka di tab baru.
Membuat referensi glosarium
Untuk menggunakan glosarium, Anda harus membuat referensi glosarium dengan Cloud Translation API. Untuk membuat referensi glosarium, kirim URI file glosarium di Cloud Storage ke Cloud Translation API.
Pastikan Anda menggunakan kunci akun layanan dengan izin "Cloud Translation API Editor" dan pastikan Anda telah menetapkan project ID dari terminal ini.
Fungsi berikut membuat referensi glosarium. Dengan referensi glosarium ini, Anda dapat mempersonalisasi permintaan terjemahan pada langkah berikutnya dalam tutorial ini.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menerjemahkan dengan glosarium
Setelah membuat referensi glosarium, Anda dapat menggunakan referensi glosarium untuk mempersonalisasi terjemahan teks yang Anda kirim ke Cloud Translation API.
Fungsi berikut menggunakan referensi glosarium yang telah dibuat sebelumnya untuk mempersonalisasi terjemahan teks.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menggunakan Text-to-Speech dengan Bahasa Markup Sintesis Ucapan
Setelah mempersonalisasi terjemahan teks yang terdeteksi gambar, Anda siap menggunakan Text-to-Speech API. Text-to-Speech API dapat membuat audio sintetis untuk teks terjemahan Anda.
Text-to-Speech API menghasilkan audio sintetis dari string teks biasa atau string teks yang diberi markup dengan Bahasa Markup Sintesis Ucapan (SSML). SSML adalah bahasa markup yang mendukung anotasi teks dengan tag SSML. Anda dapat menggunakan tag SSML untuk memengaruhi cara Text-to-Speech API memformat pembuatan ucapan sintetis.
Fungsi berikut mengubah string SSML menjadi file MP3 ucapan sintetik.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menggabungkan semuanya
Pada langkah sebelumnya, Anda telah menentukan fungsi di hybrid_glossaries.py
yang menggunakan Vision, Translation, dan Text-to-Speech. Sekarang, Anda siap menggunakan fungsi ini untuk menghasilkan ucapan sintetis teks terjemahan dari foto berikut.
Kode berikut memanggil fungsi yang ditentukan di hybrid_glossaries.py
untuk:
membuat referensi glosarium Cloud Translation API
gunakan Vision API untuk mendeteksi teks dalam gambar di atas
melakukan terjemahan glosarium Cloud Translation API dari teks yang terdeteksi
membuat ucapan sintetik Text-to-Speech dari teks yang diterjemahkan
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.
Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menjalankan kode
Untuk menjalankan kode, masukkan perintah berikut di terminal di direktori tempat kode Anda berada:
Python
python hybrid_tutorial.py
Node.js
node hybridGlossaries.js
Output berikut akan muncul:
Created glossary bistro-glossary. Audio content written to file resources/example.mp3
Setelah menjalankan kode, buka direktori resources
dari direktori hybrid_glossaries.
Periksa direktori resource untuk menemukan file example.mp3
.
Dengarkan klip audio berikut untuk memastikan file example.mp3
Anda terdengar sama.
Pemecahan masalah pesan error
403 IAM permission 'cloudtranslate.glossaries.create' denied.
Penggunaan kunci akun layanan tanpa izin "Cloud Translation API Editor" akan menyebabkan pengecualian ini.
KeyError: 'GCLOUD_PROJECT'
Tidak menetapkan variabel GCLOUD_PROJECT akan menyebabkan error ini.
400 Invalid resource name project id
Penggunaan nama glosarium yang berisi karakter selain huruf kecil, angka, titik, titik dua, atau tanda hubung, atau menggunakan kunci akun layanan tanpa izin "Cloud Translation API Editor" akan menimbulkan pengecualian ini.
File filename was not found.
Menetapkan variabel GOOGLE_APPLICATION_CREDENTIALS ke jalur file yang tidak valid akan memunculkan pengecualian ini.
Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or explicitly create credentials and re-run the application
Tidak menetapkan variabel GOOGLE_APPLICATION_CREDENTIALS akan menyebabkan pengecualian ini.
Forbidden: 403 POST API has not been used or is disabled
Memanggil Cloud Translation API, Cloud Vision API, atau Text-to-Speech API tanpa mengaktifkan API-nya akan memicu peringatan ini.
AttributeError: 'module' object has no attribute 'escape'
Python 2.7.10 atau versi yang lebih lama tidak kompatibel dengan
HTML
. Untuk memperbaiki error ini, gunakan lingkungan virtual Python. Lingkungan virtual akan menggunakan versi terbaru Python.UnicodeEncodeError
Python 2.7.10 atau versi yang lebih lama tidak kompatibel dengan
HTML
. Untuk memperbaiki error ini, gunakan lingkungan virtual Python. Lingkungan virtual akan menggunakan versi terbaru Python.
Pembersihan
Gunakan konsol Google Cloud untuk menghapus project jika Anda tidak membutuhkannya. Jika project Anda dihapus, Anda dapat mencegah timbulnya biaya tambahan pada akun Penagihan Cloud untuk resource yang digunakan dalam tutorial ini.
Menghapus project Anda
- Di konsol Google Cloud, buka halaman Project.
- Dalam daftar project, pilih project yang ingin dihapus, lalu klik Hapus.
- Di kotak dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Langkah berikutnya
Selamat! Anda baru saja menggunakan Vision OCR untuk mendeteksi teks dalam gambar. Kemudian, Anda membuat glosarium Terjemahan dan menerjemahkan dengan glosarium tersebut. Setelah itu, Anda menggunakan Text-to-Speech untuk menghasilkan audio sintetis dari teks terjemahan.
Untuk membangun pengetahuan Anda tentang Vision, Translation, dan Text-to-Speech:
- Buat glosarium sendiri. Pelajari cara membuat bucket Cloud Storage dan mengupload file CSV glosarium ke bucket.
- Bereksperimenlah dengan cara lain untuk menggunakan Glosarium terjemahan.
- Pelajari cara menggunakan Cloud Storage dengan Cloud Vision OCR.
- Pelajari lebih lanjut cara menggunakan SSML dengan Text-to-Speech.
- Pelajari cara menggunakan kolom
imageContext
Vision API untuk meneruskan konteks tambahan tentang foto saat menggunakan Vision OCR. - Pelajari tutorial komunitas.