1. Tổng quan
Google Cloud Translation API cung cấp một giao diện có lập trình đơn giản để dịch tự động một chuỗi tuỳ ý sang bất kỳ ngôn ngữ nào được hỗ trợ bằng tính năng Dịch máy dùng mạng nơron tiên tiến. Bộ lọc cũng có thể được dùng để phát hiện ngôn ngữ trong trường hợp không xác định được ngôn ngữ nguồn.
Trong lớp học lập trình này, bạn sẽ tập trung vào việc sử dụng Translation API với C#. Bạn sẽ tìm hiểu cách liệt kê các ngôn ngữ có sẵn, dịch văn bản và cả cách phát hiện ngôn ngữ của một văn bản cụ thể.
Kiến thức bạn sẽ học được
- Cách sử dụng Cloud Shell
- Cách bật Translation API
- Cách xác thực yêu cầu API
- Cách cài đặt thư viện ứng dụng Google Cloud cho C#
- Cách liệt kê các ngôn ngữ có sẵn
- Cách dịch văn bản
- Cách phát hiện ngôn ngữ
Bạn cần có
- Một dự án trên Google Cloud Platform
- Một trình duyệt, chẳng hạn như Chrome hoặc Firefox
- Quen thuộc với C#
Khảo sát
Bạn sẽ sử dụng hướng dẫn này như thế nào?
Bạn đánh giá trải nghiệm sử dụng C# như thế nào?
Bạn đánh giá trải nghiệm sử dụng các dịch vụ của Google Cloud Platform như thế nào?
2. Thiết lập và yêu cầu
Thiết lập môi trường theo tiến độ riêng
- Đăng nhập vào Google Cloud Console rồi tạo dự án mới hoặc sử dụng lại dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.
- Tên dự án là tên hiển thị của những người tham gia dự án này. Đây là một chuỗi ký tự không được API của Google sử dụng. Bạn luôn có thể cập nhật ứng dụng.
- Mã dự án là duy nhất trong tất cả các dự án Google Cloud và không thể thay đổi (không thể thay đổi sau khi đã đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường bạn không quan tâm đến sản phẩm đó là gì. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham khảo Mã dự án của mình (thường được xác định là
PROJECT_ID
). Nếu không thích mã đã tạo, bạn có thể tạo một mã nhận dạng ngẫu nhiên khác. Ngoài ra, bạn có thể thử cách riêng của mình để xem có thể sử dụng hay không. Bạn không thể thay đổi mã này sau bước này và mã vẫn giữ nguyên trong thời gian dự án. - Đối với thông tin của bạn, có giá trị thứ ba, Project Number (Số dự án), mà một số API sử dụng. Tìm hiểu thêm về cả ba giá trị này trong tài liệu này.
- Tiếp theo, bạn sẽ phải bật tính năng thanh toán trong Cloud Console để sử dụng API/tài nguyên trên đám mây. Việc chạy qua lớp học lập trình này sẽ không tốn nhiều chi phí. Để tắt các tài nguyên nhằm tránh phát sinh việc thanh toán ngoài hướng dẫn này, bạn có thể xoá các tài nguyên bạn đã tạo hoặc xoá dự án. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí 300 USD.
Khởi động Cloud Shell
Mặc dù bạn có thể vận hành Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trong Đám mây.
Trong Google Cloud Console, hãy nhấp vào biểu tượng Cloud Shell ở thanh công cụ trên cùng bên phải:
Sẽ chỉ mất một chút thời gian để cấp phép và kết nối với môi trường. Sau khi hoàn tất, bạn sẽ thấy như sau:
Máy ảo này chứa tất cả các công cụ phát triển mà bạn cần. Phiên bản này cung cấp thư mục gốc có dung lượng ổn định 5 GB và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất và khả năng xác thực của mạng. Bạn có thể thực hiện mọi công việc trong lớp học lập trình này trong trình duyệt. Bạn không cần cài đặt gì cả.
3. Bật Translation API
Bạn phải bật API trước khi có thể bắt đầu sử dụng API Dịch. Bạn có thể bật API này bằng cách dùng lệnh sau trong Cloud Shell:
gcloud services enable translate.googleapis.com
4. Cài đặt thư viện ứng dụng Google Cloud Translation API cho C#
Trước tiên, hãy tạo một ứng dụng bảng điều khiển C# đơn giản mà bạn sẽ sử dụng để chạy mẫu Translation API.
dotnet new console -n TranslationApiDemo
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
Tiếp theo, hãy chuyển đến thư mục TranslationApiDemo
và thêm gói NuGet Google.Cloud.Translation.V2
vào dự án:
cd TranslationApiDemo/
dotnet add package Google.Cloud.Translation.V2
info : Adding PackageReference for package 'Google.Cloud.Translation.V2' into project '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
log : Restoring packages for /home/atameldev/TranslationDemo/TranslationDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Translation.V2' version '1.0.0' added to file '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
Giờ đây, bạn đã sẵn sàng sử dụng Translation API!
5. Liệt kê ngôn ngữ có sẵn
Trong phần này, trước tiên bạn sẽ liệt kê tất cả ngôn ngữ có sẵn trong Translation API.
Trước tiên, hãy mở trình soạn thảo mã từ trên cùng bên phải của Cloud Shell:
Chuyển đến tệp Program.cs
bên trong thư mục TranslationApiDemo
rồi thay thế mã bằng đoạn mã sau:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
foreach (var language in client.ListLanguages(LanguageCodes.English))
{
Console.WriteLine($"{language.Code}\t{language.Name}");
}
}
}
}
Hãy dành một hoặc hai phút để nghiên cứu mã*.* Xin lưu ý rằng chúng tôi liệt kê tên ngôn ngữ bằng tiếng Anh nhưng có thể liệt kê bằng bất kỳ ngôn ngữ nào.
Quay lại Cloud Shell, chạy ứng dụng. Bạn sẽ thấy kết quả sau đây:
dotnet run
af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
...
yi Yiddish
yo Yoruba
zu Zulu
Tóm tắt
Ở bước này, bạn đã có thể liệt kê tất cả ngôn ngữ hiện có trong Translation API. Bạn có thể tìm thấy danh sách đầy đủ các ngôn ngữ được hỗ trợ trên trang Hỗ trợ ngôn ngữ.
6. Dịch văn bản
Bạn có thể sử dụng Translate API để dịch văn bản bằng ngôn ngữ này sang ngôn ngữ khác. Văn bản được dịch bằng mô hình Dịch máy dùng mạng nơ-ron nhân tạo (NMT). Nếu mô hình NMT không được hỗ trợ cho cặp bản dịch ngôn ngữ yêu cầu thì mô hình Dịch máy dựa trên cụm từ (PBMT) sẽ được sử dụng.
Để dịch văn bản, hãy chuyển đến tệp Program.cs
bên trong thư mục TranslationApiDemo
rồi thay thế mã bằng đoạn mã sau:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Hello World!";
var response = client.TranslateText(text, LanguageCodes.Turkish, LanguageCodes.English);
Console.WriteLine(response.TranslatedText);
}
}
}
Hãy dành một hoặc hai phút để nghiên cứu mã. Dịch vụ này dịch văn bản "Hello World" ("Xin chào thế giới") từ tiếng Anh sang tiếng Thổ Nhĩ Kỳ*.*
Quay lại Cloud Shell, chạy ứng dụng. Bạn sẽ thấy kết quả sau đây:
dotnet run
Selam Dünya!
Tóm tắt
Trong bước này, bạn có thể sử dụng API Dịch để dịch văn bản từ tiếng Anh sang tiếng Thổ Nhĩ Kỳ. Đọc thêm về Dịch văn bản.
7. Phát hiện ngôn ngữ
Bạn cũng có thể sử dụng Translate API để phát hiện ngôn ngữ của chuỗi văn bản.
Để phát hiện ngôn ngữ, hãy chuyển đến tệp Program.cs
bên trong thư mục TranslationApiDemo
và thay thế mã bằng đoạn mã sau:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Selam Dünya!";
var detection = client.DetectLanguage(text);
Console.WriteLine($"Language: {detection.Language}\tConfidence: {detection.Confidence}");
}
}
}
Hãy dành một hoặc hai phút để nghiên cứu mã. Công cụ này phát hiện thấy ngôn ngữ của văn bản "Selam Dünya!" cụm từ tiếng Thổ Nhĩ Kỳ tương tự*.*
Quay lại Cloud Shell, chạy ứng dụng. Bạn sẽ thấy kết quả sau đây:
dotnet run
Language: tr Confidence: 1
Tóm tắt
Ở bước này, bạn đã có thể phát hiện ngôn ngữ của một đoạn văn bản bằng Translation API. Đọc thêm về tính năng Phát hiện ngôn ngữ.
8. Xin chúc mừng!
Bạn đã tìm hiểu cách sử dụng Translation API bằng C#!
Dọn dẹp
Để tránh bị tính phí vào tài khoản Google Cloud Platform cho các tài nguyên được sử dụng trong hướng dẫn bắt đầu nhanh này, hãy làm như sau:
- Truy cập vào Bảng điều khiển Cloud Platform.
- Chọn dự án bạn muốn tắt, sau đó nhấp vào "Xoá" ở trên cùng: thao tác này sẽ lên lịch xoá dự án.
Tìm hiểu thêm
- API Google Cloud Translation: https://cloud.google.com/translate/docs
- C#/.NET trên Google Cloud Platform: https://cloud.google.com/dotnet/
- Ứng dụng Google Cloud .NET: https://googlecloudplatform.github.io/google-cloud-dotnet/
Giấy phép
Tác phẩm này được cấp phép theo Giấy phép chung Ghi nhận tác giả Creative Commons 2.0.