Petunjuk dan persyaratan penyiapan lab
Lindungi akun dan progres Anda. Selalu gunakan jendela browser pribadi dan kredensial lab untuk menjalankan lab ini.

Mengklasifikasikan Teks ke Berbagai Kategori dengan Natural Language API

Lab 10 menit universal_currency_alt 5 Kredit show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP063

Logo lab mandiri Google Cloud

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 Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. 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.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar 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. Ikon Navigation menu dan 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.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. 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.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (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

  1. Luaskan Navigation menu (Ikon Navigation menu) di kiri atas layar.

  2. Pilih APIs & Services > Enabled APIs and Services.

  1. Klik Enable APIs and Services.
  1. Kemudian, cari language di kotak penelusuran.

  2. Klik Cloud Natural Language API:

Jika API belum diaktifkan, Anda akan melihat tombol Enable.

  1. Klik Enable untuk mengaktifkan Cloud Natural Language API.

Saat API aktif, Google Cloud akan menampilkan informasi API berikut:

Detail API, yang mencakup tombol 'Manage' dan 'Try this API', serta tanda centang API yang diaktifkan.

Tugas 2. Membuat kunci API

Karena menggunakan curl untuk mengirimkan permintaan ke Natural Language API, Anda harus membuat kunci API untuk meneruskan URL permintaan.

  1. Untuk membuat kunci API, klik Navigation menu > APIs & Services > Credentials di Konsol.

  2. Kemudian klik Create Credentials.

  3. Di menu drop-down, pilih API key.

  4. 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.

  1. Buka Navigation menu, lalu pilih Compute Engine > VM Instances. Anda akan melihat linux-instance yang telah disediakan.
  1. Klik tombol SSH. Anda akan diarahkan ke shell interaktif.

  2. 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.

  1. 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.

  1. 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
  1. 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.

  1. 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.

  1. Buka Navigation menu > BigQuery di Konsol.

  2. Klik Done.

  3. Untuk membuat set data, klik ikon View actions di sebelah project ID, lalu pilih Create dataset:

Opsi &#39;Create dataset&#39; disorot dalam menu View actions.

  1. Beri nama set data news_classification_dataset, lalu klik Create dataset.

  2. Untuk membuat tabel, klik ikon View actions di samping news_classification_dataset, lalu pilih Create Table.

  1. Gunakan setelan berikut untuk tabel baru:

    • Buat tabel dari: Empty table
    • Beri nama tabel: article_data
  2. 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

Daftar kolom di bagian Schema di halaman &#39;Create table&#39;, termasuk article-text, category, dan confidence.

  1. 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.

  1. Ekspor Project ID sebagai variabel lingkungan:
export PROJECT={{{project_0.project_id | Project ID}}}
  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. Di BigQuery, buka tabel article_data di tab Explorer, lalu klik Query untuk mengkueri tabel:

Opsi &#39;In new tab&#39; disorot dalam menu drop-down Query.

  1. 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`
  1. Sekarang, klik Run.

Anda akan melihat data Anda setelah kueri selesai.

  1. 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.

  1. Di konsol BigQuery, klik + SQL query.

  2. 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
  1. Sekarang, klik Run.

Anda akan melihat hasil kueri kira-kira seperti ini:

Hasil kueri yang mencantumkan beberapa kategori, termasuk /News/Politics dan /Business & Industrial.

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 Looker 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.