Model Terjemahan Mesin Neural (NMT)
Terjemahan Mesin Neural (NMT) standar Google telah berkembang dari sistem terjemahan jaringan neural yang diperkenalkan Google pada November 2016, dengan banyak peningkatan. Fitur ini dapat menerjemahkan ke dan dari banyak bahasa secara real time.
ID modelnya adalah general/nmt.
Anda dapat mengakses model NMT tanpa modifikasi melalui Cloud Translation - Basic API atau Cloud Translation - Advanced API. Dengan Cloud Translation - Advanced API, Anda juga dapat menyesuaikannya.
Dalam kedua kasus tersebut, Anda harus memiliki projectGoogle Cloud yang telah mengaktifkan Cloud Translation API, dengan kredensial untuk melakukan panggilan yang terautentikasi. Untuk mengakses model menggunakan Python atau bahasa pemrograman lain, instal library klien v2 atau v3 yang sesuai.
Dalam contoh yang ditampilkan di sini, PROJECT_ID mewakili project ID Anda, dan
REGION_NAME mewakili nama wilayah teknis dari wilayah Google Cloud
tempat Anda ingin menjalankan operasi terjemahan (seperti us-central1).
Gunakan kode ISO-639 untuk mengidentifikasi bahasa sumber
dan bahasa target jika diperlukan.
Contoh REST API Cloud Translation - Basic
Anda dapat melakukan panggilan REST dengan Cloud Translation - Basic API untuk
TranslateText menggunakan model
NMT. Anda dapat memasukkan kolom permintaan ke dalam file JSON
yang diberi nama seperti request.json, seperti ini:
{
"q": ["Hello world", "My name is Jeff"],
"target": "de"
}
Cloud Translation - Basic API hanya mendukung model NMT, sehingga Anda tidak perlu menentukan model dalam permintaan.
Kemudian, Anda dapat menggunakan perintah curl untuk mengirimkan permintaan:
!curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: cloud-ml-translate-e2e-testing" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translate.googleapis.com/language/translate/v2"
Responsnya adalah dokumen JSON yang terlihat seperti ini:
{
"data": {
"translations": [
{
"translatedText": "Hallo Welt",
"detectedSourceLanguage": "en"
},
{
"translatedText": "Mein Name ist Jeff",
"detectedSourceLanguage": "en"
}
]
}
}
Contoh Python Cloud Translation - Basic API
Berikut contoh kode Python untuk memanggil TranslateText pada model NMT menggunakan Cloud Translation - Basic API.
Karena tidak ada bahasa sumber yang ditentukan, API akan mencoba
mendeteksinya secara otomatis.
def translate_text(
text: str | bytes | list[str] = "¡Hola amigos y amigas!",
target_language: str = "en",
source_language: str | None = None,
) -> dict:
translate_client = translate_v2.Client()
if isinstance(text, bytes):
text = [text.decode("utf-8")]
if isinstance(text, str):
text = [text]
results = translate_client.translate(
values=text,
target_language=target_language,
source_language=source_language
)
for result in results:
if "detectedSourceLanguage" in result:
print(f"Detected source language: {result['detectedSourceLanguage']}")
print(f"Input text: {result['input']}")
print(f"Translated text: {result['translatedText']}")
print()
return results
translate_text()
Outputnya adalah sebagai berikut:
Detected source language: es
Input text: ¡Hola amigos y amigas!
Translated text: Hello friends!
[{'translatedText': 'Hello friends!',
'detectedSourceLanguage': 'es',
'input': '¡Hola amigos y amigas!'}]
Contoh REST API Cloud Translation - Advanced
Anda dapat melakukan panggilan REST dengan Cloud Translation - Advanced API untuk
TranslateText menggunakan model
NMT default dengan tidak menentukan model, atau dengan
meminta model NMT secara eksplisit. Masukkan kolom permintaan PUT ke dalam file JSON yang diberi nama seperti request.json, seperti ini:
{
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, come here!", "Bring me some coffee!"],
"model": "projects/PROJECT_ID/locations/REGION_NAME/models/general/nmt"
}
Kemudian, Anda dapat menggunakan perintah curl untuk mengirimkan permintaan:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/REGION_NAME:translateText"
Responsnya adalah dokumen JSON yang terlihat seperti ini:
{
"translations": [
{
"translatedText": "Доктор Ватсон, иди сюда!",
},
{
"translatedText": "Принеси мне кофе!",
}
]
}
Cloud Translation - Contoh Python API Advanced
def translate():
response = translate_v3.TranslationServiceClient().translate_text(
contents=["Life is short.",
"Art is long."],
target_language_code='fr',
source_language_code='en',
parent=f"projects/{project_id}/locations/us-central1",
model=f"{parent}/models/general/nmt"
)
print(response)
return response
translate()
Outputnya adalah dokumen JSON yang terlihat seperti ini:
translations {
translated_text: "La vie est courte."
model: "projects/261347268520/locations/us-central1/models/general/nmt"
}
translations {
translated_text: "L'art est long."
model: "projects/261347268520/locations/us-central1/models/general/nmt"
}