Checkpoint
Create an API Key
/ 40
Make an Entity Analysis Request
/ 30
Check the Entity Analysis response
/ 30
Analisis Entity dan Sentimen Menggunakan Natural Language API
- GSP038
- Ringkasan
- Tujuan
- Penyiapan dan persyaratan
- Tugas 1. Membuat kunci API
- Tugas 2. Membuat permintaan analisis entity
- Tugas 3. Memanggil Natural Language API
- Tugas 4. Analisis sentimen menggunakan Natural Language API
- Tugas 5. Menganalisis sentimen entity
- Tugas 6. Menganalisis sintaksis dan jenis kata
- Tugas 7. Natural language processing multibahasa
- Selamat!
GSP038
Ringkasan
Dengan Cloud Natural Language API, Anda dapat mengekstrak entity dari teks, melakukan analisis sentimen dan sintaksis, dan mengklasifikasikan teks ke dalam beberapa kategori.
Di lab ini, Anda akan mempelajari cara menggunakan Natural Language API untuk menganalisis entity, sentimen, dan sintaksis.
Tujuan
Di lab ini, Anda akan mempelajari cara:
- Membuat permintaan Natural Language API dan memanggil API menggunakan curl
- Mengekstrak entity dan menjalankan analisis sentimen pada teks menggunakan Natural Language API
- Melakukan analisis linguistik pada teks menggunakan Natural Language API
- Membuat permintaan Natural Language API dalam bahasa lain
Penyiapan dan persyaratan
Sebelum mengklik tombol Mulai 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 praktik ini dapat Anda gunakan untuk melakukan sendiri 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).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info 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
-
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 Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}} Anda juga dapat menemukan Password di panel Lab Details.
-
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. -
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.
Tugas 1. Membuat kunci API
Karena Anda menggunakan curl
untuk mengirim permintaan ke Natural Language API, Anda harus membuat Kunci API untuk meneruskan URL permintaan.
-
Untuk membuat Kunci API, di Konsol Cloud, pilih Navigation menu > APIs & Services > Credentials.
-
Klik Create credentials lalu pilih API key.
-
Salin kunci API yang dibuat, lalu klik Close.
Klik Periksa progres saya untuk memverifikasi tujuan.
Agar dapat melakukan langkah-langkah selanjutnya, harap hubungkan ke instance yang disediakan untuk Anda melalui SSH.
-
Klik Navigation menu > Compute Engine. Anda akan melihat instance linux yang disediakan,
linux-instance
, dalam daftar instance VM -
Klik tombol SSH. Anda akan diarahkan ke shell interaktif.
-
Pada command line, masukkan baris berikut ini, dengan mengganti
<YOUR_API_KEY>
dengan kunci yang baru saja Anda salin:
Tugas 2. Membuat permintaan analisis entity
Metode Natural Language API pertama yang akan digunakan adalah analyzeEntities
. Dengan metode ini, API dapat mengekstrak entity (seperti orang, tempat, dan peristiwa) dari teks. Untuk mencoba analisis entity API, gunakanlah kalimat ini:
Joanne Rowling, yang berkarya menggunakan nama pena J. K. Rowling dan Robert Galbraith, adalah seorang novelis dan penulis skenario asal Inggris yang menulis seri fantasi Harry Potter.
Anda akan membuat permintaan Natural Language API dalam file request.json
.
- Gunakan nano (editor kode) untuk membuat file
request.json
:
- Ketik atau tempel kode berikut ini ke
request.json
:
- Tekan CTRL+X untuk keluar dari nano, lalu Y untuk menyimpan file, kemudian ENTER untuk mengonfirmasi.
Dalam permintaan tersebut, Anda memberi tahu Natural Language API tentang teks yang dikirim. Nilai jenis yang didukung yaitu PLAIN_TEXT
atau HTML
. Dalam konten, Anda meneruskan teks untuk dikirim ke Natural Language API agar dapat dianalisis.
Natural Language API juga mendukung pengiriman file yang disimpan di Cloud Storage untuk pemrosesan teks. Jika Anda ingin mengirim file dari Cloud Storage, Anda perlu mengganti content
dengan gcsContentUri
dan memberinya nilai uri file teks di Cloud Storage.
encodingType
akan memberi tahu API jenis encoding teks mana yang akan digunakan saat pemrosesan teks dilakukan. API akan menggunakannya untuk memperhitungkan letak munculnya entity tertentu di teks kita.
Klik Periksa progres saya untuk memverifikasi tujuan.
Tugas 3. Memanggil Natural Language API
- Kini, Anda dapat meneruskan isi permintaan, termasuk variabel lingkungan kunci API yang sebelumnya sudah disimpan, ke Natural Language API dengan perintah
curl
berikut (semua dalam satu command line tunggal):
- Untuk memeriksa respons yang masuk:
Bagian awal respons Anda akan terlihat seperti berikut:
Untuk tiap entity dalam respons, Anda akan mendapatkan type
entity, URL Wikipedia terkait (jika ada), salience
, dan indeks tempat entity ini muncul di dalam teks. Salience adalah angka dalam rentang [0,1] yang merujuk pada sentralitas entity terhadap teks secara keseluruhan.
Natural Language API juga mampu mengenali entity yang sama yang disebutkan dalam berbagai cara. Perhatikan daftar mentions
yang ada di respons: API mampu mengenali bahwa "Joanne Rowling", "Rowling", "novelis", dan "Robert Galbraith" merujuk ke hal yang sama.
Klik Periksa progres saya untuk memverifikasi tujuan.
Tugas 4. Analisis sentimen menggunakan Natural Language API
Di samping mengekstrak entity, Anda juga dapat melakukan analisis sentimen pada sebuah blok teks menggunakan Natural Language API. Permintaan JSON ini akan berisi parameter yang sama seperti permintaan di atas. Namun kali ini, ubah teksnya untuk menambahkan hal-hal dengan sentimen yang lebih kuat.
- Gunakan nano untuk mengganti kode di
request.json
dengan teks berikut, dan jangan sungkan untuk mengganticontent
di bawah ini dengan teks Anda sendiri:
-
Tekan CTRL+X untuk keluar dari nano, lalu Y untuk menyimpan file, kemudian ENTER untuk mengonfirmasi.
-
Selanjutnya, kirim permintaan ke endpoint
analyzeSentiment
API:
Respons yang Anda terima seharusnya seperti ini:
Perhatikan bahwa Anda mendapatkan dua macam nilai sentimen: sentimen untuk dokumen secara keseluruhan, dan sentimen yang dipecah per kalimat. Metode sentimen ini menampilkan dua nilai:
-
score
- merujuk pada angka dari -1.0 sampai 1.0 yang menunjukkan seberapa positif atau negatifnya suatu pernyataan. -
magnitude
- merujuk pada angka mulai dari 0 sampai tak terhingga yang mewakili bobot sentimen yang dinyatakan dalam pernyataan, terlepas dari apakah sentimen itu positif atau negatif.
Blok teks yang lebih panjang dengan penyataan yang lebih berbobot memiliki nilai magnitude yang lebih tinggi. Kalimat pertama mendapatkan skor positif (0.7), sedangkan kalimat kedua mendapatkan skor netral (0.1).
Tugas 5. Menganalisis sentimen entity
Selain memberikan detail sentimen pada keseluruhan dokumen teks, Natural Language API juga dapat memecah sentimen berdasarkan entity-nya di teks. Gunakan kalimat ini sebagai contoh:
Saya suka sushinya, tetapi pelayanannya sangat buruk.
Dalam kasus ini, mendapatkan skor sentimen untuk keseluruhan kalimat seperti yang sudah didapat di atas mungkin tidak terlalu berguna. Jika kalimat tersebut merupakan ulasan sebuah restoran dan ternyata sudah ada ratusan ulasan untuk restoran yang sama, sebaiknya Anda cari tahu item apa saja yang disukai dan tidak disukai oleh pengunjung dalam ulasannya. Untungnya, Natural Language API memiliki sebuah metode yang membuat Anda bisa memperoleh sentimen untuk setiap entity di dalam teks yang disebut dengan analyzeEntitySentiment
. Mari kita pelajari cara kerjanya.
- Gunakan nano untuk mengupdate
request.json
dengan kalimat di bawah:
-
Tekan CTRL+X untuk keluar dari nano, lalu Y untuk menyimpan file, kemudian ENTER untuk mengonfirmasi.
-
Selanjutnya, panggil endpoint
analyzeEntitySentiment
menggunakan perintah curl berikut:
Dalam respons, Anda kembali mendapatkan dua objek entity: satu untuk "sushi" dan satu untuk "pelayanan". Berikut adalah respons lengkap JSON:
Anda dapat melihat bawa skor yang diraih untuk "sushi" adalah skor netral 0, sedangkan "pelayanan" mendapatkan skor -0.7. Keren! Anda mungkin juga melihat bahwa ada dua objek sentimen yang ditampilkan untuk setiap entity. Jika salah satu dari istilah ini disebutkan lebih dari satu kali, API akan menampilkan skor dan besaran sentimen yang berbeda untuk tiap sebutan, beserta sentimen gabungan untuk entity tersebut.
Tugas 6. Menganalisis sintaksis dan jenis kata
Gunakan analisis sintaksis, yakni metode lain yang dimiliki Natural Language API, untuk lebih mendalami detail linguistik pada teks. analyzeSyntax
akan mengekstrak informasi linguistik, memecah teks menjadi serangkaian kalimat dan token (umumnya, batas-batas kata), untuk memberikan analisis yang lebih mendalam pada token tersebut. API akan memberi tahu Anda jenis kata (nomina, verba, adjektiva, dll.) untuk tiap kata di dalam teks dan bagaimana kata tersebut berhubungan dengan kata-kata lain yang ada dalam kalimat (Apakah itu merupakan kata kerja dasar? Atau penjelas?).
Coba praktikkan dengan kalimat sederhana. Permintaan JSON ini akan mirip dengan permintaan di atas, dengan tambahan berupa kunci fitur. Metode ini akan memerintahkan API untuk melakukan anotasi sintaksis.
- Gunakan nano untuk menggantikan kode di
request.json
dengan teks berikut:
-
Tekan CTRL+X untuk keluar dari nano, lalu Y untuk menyimpan file, kemudian ENTER untuk mengonfirmasi.
-
Selanjutnya, panggil metode
analyzeSyntax
API:
Respons akan menampilkan objek seperti contoh di bawah ini untuk tiap token yang ada dalam kalimat:
Mari uraikan responsnya:
-
partOfSpeech
menunjukkan bahwa "Joanne" merupakan nomina. -
dependencyEdge
mencakup data yang dapat Anda gunakan untuk membuat hierarki penguraian dependensi teks. Pada dasarnya, ini adalah diagram yang menunjukkan bagaimana kata-kata dalam kalimat berkaitan satu dengan lainnya. Hierarki penguraian dependensi untuk kalimat di atas akan terlihat seperti berikut:
-
headTokenIndex
merupakan indeks token yang memiliki alur yang mengarah ke "Joanne". Bayangkan tiap token dalam kalimat sebagai sebuah kata dalam array. -
headTokenIndex
sebesar 1 untuk "Joanne" merujuk pada kata "Rowling", yang terhubung kepadanya di hierarki. LabelNN
(kependekan dari penjelas nomina majemuk) menerangkan peran kata dalam kalimat. "Joanne" menjelaskan "Rowling", yang merupakan subjek dalam kalimat tersebut. -
lemma
merupakan bentuk kanonis dari kata. Sebagai contoh, kata run, runs, ran, dan running sama-sama berasal dari lema run. Nilai lemma berguna untuk melacak frekuensi penggunaan suatu kata dalam sebuah teks bervolume besar dari waktu ke waktu.
Tugas 7. Natural language processing multibahasa
Natural Language API juga mendukung bahasa selain bahasa Inggris (daftar lengkapnya dapat ditemukan di Panduan Dukungan Bahasa).
- Ubah kode di
request.json
dengan kalimat berbahasa Jepang:
- Tekan CTRL+X untuk keluar dari nano, lalu Y untuk menyimpan file, kemudian ENTER untuk mengonfirmasi.
Perhatikan bahwa Anda sama sekali tidak memberi tahu API tentang bahasa yang digunakan oleh teks. API mampu mendeteksinya secara otomatis.
- Selanjutnya, kirimkan ke endpoint
analyzeEntities
:
Inilah respons yang akan Anda terima:
Bahkan URL Wikipedia merujuk ke halaman Wikipedia bahasa Jepang. Sangat keren!
Selamat!
Anda telah mempelajari cara melakukan analisis teks menggunakan Cloud Natural Language API dengan cara mengekstrak entity, menganalisis sentimen, dan melakukan anotasi sintaksis. Di lab ini, Anda telah membuat permintaan Natural Language API dan memanggil API dengan curl
, mengekstrak entity, dan menjalankan analisis sentimen pada teks menggunakan Natural Language API, melakukan analisis linguistik pada teks, dan membuat permintaan Natural Language API dalam bahasa yang berbeda.
Langkah berikutnya
- Lihat tutorial Natural Language API dalam dokumentasi.
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 pada 14 Februari 2024
Lab Terakhir Diuji pada 13 Oktober 2023
Hak cipta 2024 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.