GSP063
Ringkasan
Dengan Cloud Natural Language API, Anda dapat mengekstrak entity dari teks,
melakukan analisis sentimen dan sintaksis, serta mengklasifikasikan teks ke
berbagai kategori. Di lab ini, fokusnya adalah klasifikasi teks. Menggunakan
database yang berisi lebih dari 700 kategori, fitur API ini memudahkan
klasifikasi set data teks berukuran besar.
Tujuan
Di lab ini, Anda akan mempelajari cara:
-
Membuat permintaan Natural Language API dan memanggil API menggunakan curl
- Menggunakan fitur klasifikasi teks Natural Language API
- Menggunakan klasifikasi teks untuk memahami set data artikel berita
Penyiapan dan kebutuhan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Konsol Google Cloud
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kanan terdapat panel Lab setup and access yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Kredensial sementara (nama pengguna dan sandi) yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
Perhatikan bahwa timer lab terletak di dekat bagian atas halaman, yang menampilkan waktu yang tersisa.
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab setup and access.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab setup and access.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Penggunaan akun Google Cloud sendiri untuk lab ini mungkin dikenai biaya tambahan.
-
Klik untuk melanjutkan ke halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan daftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Mengaktifkan Cloud Natural Language API
-
Luaskan Navigation menu (
) di kiri atas layar.
-
Pilih APIs & Services >
Enabled APIs and Services.
- Klik Enable APIs and Services.
-
Kemudian, cari language di kotak penelusuran.
-
Klik Cloud Natural Language API:
Jika API belum diaktifkan, Anda akan melihat tombol Enable.
-
Klik Enable untuk mengaktifkan Cloud Natural Language API.
Saat API aktif, Google Cloud akan menampilkan informasi API berikut:
Tugas 2. Membuat kunci API
Karena menggunakan curl untuk mengirimkan permintaan ke Natural
Language API, Anda harus membuat kunci API untuk meneruskan URL permintaan.
-
Untuk membuat kunci API, klik Navigation menu >
APIs & Services > Credentials di
Konsol.
-
Kemudian klik Create Credentials.
-
Di menu drop-down, pilih API key.
-
Selanjutnya, salin kunci yang baru saja Anda buat, lalu klik
Close.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat Kunci API
Simpan kunci API sebagai variabel lingkungan agar tidak perlu memasukkan nilai
kunci API pada setiap permintaan.
Untuk melakukan langkah-langkah selanjutnya, mulai koneksi ke instance yang
disediakan melalui ssh.
-
Buka Navigation menu, lalu pilih
Compute Engine > VM Instances. Anda akan
melihat
linux-instance yang telah disediakan.
-
Klik tombol SSH. Anda akan diarahkan ke shell interaktif.
-
Pada command line, masukkan perintah berikut ini dan ganti
<YOUR_API_KEY> dengan kunci yang baru saja Anda salin:
export API_KEY=<YOUR_API_KEY>
Tugas 3. Mengklasifikasikan artikel berita
Menggunakan metode classifyText Natural Language API, Anda dapat
mengelompokkan data teks ke berbagai kategori dengan satu panggilan API.
Metode ini menghasilkan daftar kategori konten yang relevan dengan sebuah
dokumen teks.
Kategori ini memiliki cakupan berbeda-beda, mulai dari kategori luas seperti
/Computer & Electronics hingga kategori yang sangat spesifik
seperti
/Computer & Electronics/Programming/Java (Programming Language). Daftar lengkap berisi lebih dari 700 pilihan kategori dapat ditemukan di
halaman
Kategori Konten.
Anda akan memulai tugas ini dengan mengklasifikasikan satu artikel, lalu
melihat penggunaan metode ini untuk memahami kumpulan berita berukuran besar.
-
Untuk memulai, ambil judul dan deskripsi ini dari artikel di rubrik makanan
di New York Times:
A Smoky Lobster Salad With a Tapa Twist. This spin on the Spanish pulpo a
la gallega skips the octopus, but keeps the sea salt, olive oil, pimentón
and boiled potatoes.
-
Buat file bernama
request.json dan tambahkan kode di bawah.
Anda dapat membuat file menggunakan salah satu editor command line pilihan
Anda (nano, vim, emacs).
{ "document":{ "type":"PLAIN_TEXT", "content":"A Smoky Lobster Salad With a
Tapa Twist. This spin on the Spanish pulpo a la gallega skips the octopus, but
keeps the sea salt, olive oil, pimentón and boiled potatoes." } }
Create a request to classify a news article
-
Sekarang Anda dapat mengirimkan teks ini ke metode
classifyText Natural Language API dengan perintah
curl berikut:
curl
"https://language.googleapis.com/v1/documents:classifyText?key=${API_KEY}" \
-s -X POST -H "Content-Type: application/json" --data-binary @request.json
Lihat responsnya:
{ categories: [ { name: '/Food & Drink/Cooking & Recipes', confidence:
0.85 }, { name: '/Food & Drink/Food/Meat & Seafood', confidence: 0.63
} ] }
Anda baru saja membuat permintaan Speech API, kemudian memanggil Speech API.
-
Jalankan perintah berikut untuk menyimpan respons di file
result.json:
curl
"https://language.googleapis.com/v1/documents:classifyText?key=${API_KEY}" \
-s -X POST -H "Content-Type: application/json" --data-binary @request.json >
result.json
Memeriksa respons Analisis Entity
API menghasilkan 2 kategori untuk teks ini:
/Food & Drink/Cooking & Recipes
/Food & Drink/Food/Meat & Seafood
Teks tersebut tidak secara eksplisit menyebutkan bahwa isinya adalah resep
atau mengandung bahan makanan laut, tetapi API ini dapat mengategorikannya.
Mengklasifikasikan satu artikel memang sederhana, tetapi untuk benar-benar
melihat kehebatan fitur ini, klasifikasikan banyak data teks.
Tugas 4. Mengklasifikasikan set data teks berukuran besar
Untuk melihat manfaat metode classifyText dalam membantu Anda
memahami set data yang berisi banyak teks, gunakan
set data publik artikel
berita BBC ini. Set data ini berisi 2.225 artikel dari lima rubrik (bisnis,
hiburan, politik, olahraga, teknologi) dari tahun 2004—2005. Sebagian artikel
ini berada di bucket Cloud Storage publik. Setiap artikel berupa file .txt
terpisah.
Untuk memproses data dan mengirimkannya ke Natural Language API, Anda perlu
menulis skrip Python untuk membaca setiap file teks dari Cloud Storage,
mengirimkannya ke endpoint classifyText, dan menyimpan hasilnya
di tabel BigQuery. BigQuery adalah alat data warehouse berskala besar dari
Google Cloud yang memungkinkan Anda menyimpan dan menganalisis set data
berukuran besar dengan mudah.
-
Untuk melihat jenis teks yang akan Anda gunakan, jalankan perintah berikut
untuk melihat satu artikel (
gsutil menyediakan antarmuka
command line untuk Cloud Storage):
gsutil cat gs://spls/gsp063/bbc_dataset/entertainment/001.txt
Selanjutnya, Anda akan membuat tabel BigQuery untuk data Anda.
Tugas 5. Membuat tabel BigQuery untuk data teks yang telah dikategorikan
Sebelum mengirimkan teks ke Natural Language API, Anda perlu tempat untuk
menyimpan teks dan kategori setiap artikel.
-
Buka Navigation menu > BigQuery di
Konsol.
-
Klik Done.
-
Untuk membuat set data, klik ikon View actions di sebelah
project ID, lalu pilih Create dataset:
-
Beri nama set data news_classification_dataset, lalu klik
Create dataset.
-
Untuk membuat tabel, klik ikon View actions di samping
news_classification_dataset, lalu pilih
Create Table.
-
Gunakan setelan berikut untuk tabel baru:
- Buat tabel dari: Empty table
- Beri nama tabel: article_data
-
Di bagian Schema, klik Add Field dan tambahkan 3 kolom
berikut:
| Field Name |
Type |
Mode |
article_text |
STRING |
NULLABLE |
category |
STRING |
NULLABLE |
confidence |
FLOAT |
NULLABLE |
- Klik Create Table.
Tabel ini masih kosong. Pada langkah berikutnya, Anda akan membaca artikel
dari Cloud Storage, mengirimkannya ke Natural Language API untuk
diklasifikasikan, dan menyimpan hasilnya di BigQuery.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat set data dan tabel baru untuk data teks yang telah dikategorikan
Tugas 6. Mengklasifikasikan data berita dan menyimpan hasilnya di BigQuery
Untuk melakukan langkah-langkah selanjutnya, mulai koneksi ke
Cloud Shell. Jika diminta, klik Continue.
Sebelum menulis skrip untuk mengirimkan data berita ke Natural Language API,
Anda perlu membuat akun layanan. Akun ini akan digunakan untuk mengautentikasi
Natural Language API dan BigQuery dari skrip Python.
- Ekspor Project ID sebagai variabel lingkungan:
export PROJECT={{{project_0.project_id | Project ID}}}
- Jalankan perintah berikut untuk membuat akun layanan:
gcloud iam service-accounts create my-account --display-name my-account gcloud
projects add-iam-policy-binding $PROJECT
--member=serviceAccount:my-account@$PROJECT.iam.gserviceaccount.com
--role=roles/bigquery.admin gcloud projects add-iam-policy-binding $PROJECT
--member=serviceAccount:my-account@$PROJECT.iam.gserviceaccount.com
--role=roles/serviceusage.serviceUsageConsumer gcloud iam service-accounts
keys create key.json --iam-account=my-account@$PROJECT.iam.gserviceaccount.com
export GOOGLE_APPLICATION_CREDENTIALS=key.json
Sekarang Anda siap untuk mengirimkan data teks ke Natural Language API.
- Tulis skrip Python menggunakan modul Python untuk Google Cloud.
Anda dapat melakukan hal yang sama dari bahasa apa pun dengan memanfaatkan
banyak library klien cloud yang tersedia.
-
Buat file bernama
classify-text.py dan salin kode berikut ke
dalamnya. Anda dapat membuat file menggunakan salah satu editor command line
pilihan Anda (nano, vim, emacs).
from google.cloud import storage, language, bigquery # Set up your GCS, NL,
and BigQuery clients storage_client = storage.Client() nl_client =
language.LanguageServiceClient() bq_client =
bigquery.Client(project='{{{project_0.project_id | Project ID}}}') dataset_ref
= bq_client.dataset('news_classification_dataset') dataset =
bigquery.Dataset(dataset_ref) table_ref = dataset.table('article_data') table
= bq_client.get_table(table_ref) # Send article text to the NL API's
classifyText method def classify_text(article): response =
nl_client.classify_text( document=language.Document( content=article,
type=language.Document.Type.PLAIN_TEXT ) ) return response rows_for_bq = []
files = storage_client.bucket('qwiklabs-test-bucket-gsp063').list_blobs()
print("Got article files from GCS, sending them to the NL API (this will take
~2 minutes)...") # Send files to the NL API and save the result to send to
BigQuery for file in files: if file.name.endswith('txt'): article_text =
file.download_as_bytes().decode('utf-8') # Decode bytes to string nl_response
= classify_text(article_text) if len(nl_response.categories) > 0:
rows_for_bq.append((article_text, nl_response.categories[0].name,
nl_response.categories[0].confidence)) print("Writing NL API article data to
BigQuery...") # Write article text + category data to BQ if rows_for_bq:
errors = bq_client.insert_rows(table, rows_for_bq) if errors:
print("Encountered errors while writing to BigQuery:", errors) else: print("No
articles found in the specified bucket.")
Sekarang Anda siap untuk mulai mengklasifikasikan artikel dan mengimpornya ke
BigQuery.
- Jalankan skrip berikut:
python3 classify-text.py
Penyelesaian skrip ini perlu waktu sekitar dua menit. Sambil menunggu, baca
penjelasan tentang prosesnya.
Anda menggunakan library
klien Python
Google Cloud untuk mengakses Cloud Storage, Natural Language API, dan
BigQuery. Pertama, klien dibuat untuk setiap layanan, lalu referensi dibuat ke
tabel BigQuery. files adalah referensi ke setiap file set data
BBC di bucket publik. File diperiksa, artikel didownload sebagai string, lalu
setiap artikel dikirimkan ke Natural Language API dalam fungsi
classify_text. Jika Natural Language API menghasilkan kategori
untuk suatu artikel, artikel tersebut dan data kategorinya disimpan ke daftar
rows_for_bq. Setelah proses klasifikasi setiap artikel selesai,
data disisipkan ke BigQuery menggunakan insert_rows().
Catatan: Natural Language API dapat menghasilkan lebih dari
satu kategori untuk sebuah dokumen, tetapi di lab ini, Anda hanya menyimpan
kategori pertama yang dihasilkan agar lebih sederhana.
Setelah skrip selesai berjalan, verifikasi bahwa data artikel telah disimpan
ke BigQuery.
-
Di BigQuery, buka tabel
article_data di tab Explorer, lalu klik
Query untuk mengkueri tabel:
-
Edit hasilnya di kotak Unsaved query, dengan menambahkan
tanda bintang di antara SELECT dan FROM:
SELECT * FROM `{{{project_0.project_id | Project
ID}}}.news_classification_dataset.article_data`
- Sekarang, klik Run.
Anda akan melihat data Anda setelah kueri selesai.
- Scroll ke kanan untuk melihat kolom kategori.
Kolom category memiliki nama kategori pertama yang dihasilkan Natural Language
API untuk artikel yang bersangkutan, dan confidence adalah nilai
antara 0 dan 1 yang menunjukkan tingkat keyakinan API bahwa artikel
dikategorikan dengan benar.
Anda akan mempelajari cara menjalankan kueri yang lebih kompleks pada data
tersebut di langkah berikutnya.
Tugas 7. Menganalisis data berita yang telah dikategorikan di BigQuery
Pertama, lihat kategori mana yang paling umum dalam set data.
-
Di konsol BigQuery, klik + SQL query.
-
Masukkan kueri berikut:
SELECT category, COUNT(*) c FROM `{{{project_0.project_id | Project
ID}}}.news_classification_dataset.article_data` GROUP BY category ORDER BY c
DESC
- Sekarang, klik Run.
Anda akan melihat hasil kueri kira-kira seperti ini:
Jika Anda ingin menemukan artikel yang dikategorikan lebih spesifik seperti
/Arts & Entertainment/Music & Audio/Classical Music,
tulis kueri berikut:
SELECT * FROM `{{{project_0.project_id | Project
ID}}}.news_classification_dataset.article_data` WHERE category = "/Arts &
Entertainment/Music & Audio/Classical Music"
Atau, Anda dapat menemukan artikel yang skor keyakinannya lebih dari 90% saja:
SELECT article_text, category FROM `{{{project_0.project_id | Project
ID}}}.news_classification_dataset.article_data` WHERE cast(confidence as
float64) > 0.9
Untuk menjalankan lebih banyak kueri pada data Anda, pelajari
dokumentasi BigQuery. BigQuery juga terintegrasi dengan sejumlah alat visualisasi. Untuk membuat
visualisasi data berita yang telah dikategorikan, lihat
Data Studio
untuk BigQuery.
Selamat
Anda telah mempelajari cara menggunakan metode klasifikasi teks dengan Natural
Language API untuk mengategorikan artikel berita. Anda memulainya dengan
mengklasifikasikan satu artikel, lalu mempelajari cara mengklasifikasikan dan
menganalisis set data berita berukuran besar menggunakan NL API dengan
BigQuery. Anda juga telah mempelajari cara membuat tabel BigQuery dan
menjalankan kueri pada data.
Langkah berikutnya untuk belajar lebih lanjut
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui: 21 Maret 2025
Lab Terakhir Diuji: 21 Maret 2025
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.