Audiens
Tutorial ini dirancang agar Anda dapat dengan cepat mulai menjelajahi dan mengembangkan aplikasi dengan Cloud Natural Language API. Tutorial ini ditujukan untuk orang yang memahami pemrograman dasar, meskipun tanpa banyak pengetahuan pemrograman, Anda tetap dapat mengikuti tutorial ini. Setelah mengikuti tutorial ini, Anda akan dapat menggunakan dokumentasi Referensi untuk membuat aplikasi dasar Anda sendiri.
Tutorial ini membahas aplikasi Natural Language menggunakan kode Python. Tujuannya di sini bukan untuk menjelaskan library klien Python, tetapi untuk menjelaskan cara melakukan panggilan ke Natural Language API. Aplikasi di Java dan Node.js pada dasarnya serupa. Lihat Contoh Natural Language API untuk contoh dalam bahasa lain (termasuk contoh dalam tutorial ini).
Prasyarat
Tutorial ini memiliki beberapa prasyarat:
- Anda telah menyiapkan project Cloud Natural Language di Google Cloud konsol.
- Anda telah menyiapkan lingkungan menggunakan Kredensial Default Aplikasi di Google Cloud konsol.
- Anda memahami pemrograman Python di Google Cloud konsol.
- Anda telah menyiapkan lingkungan pengembangan Python. Sebaiknya Anda menginstal Python versi terbaru,
pip, danvirtualenvdi sistem Anda. Untuk mengetahui petunjuknya, lihat Panduan Penyiapan Lingkungan Pengembangan Python untuk Google Cloud Platform. - Anda telah menginstal Library Klien Google Cloud untuk Python
Ringkasan
Tutorial ini memandu Anda melalui aplikasi Natural Language dasar, menggunakan permintaan classifyText, yang mengklasifikasikan konten ke dalam kategori beserta skor keyakinan, seperti:
category: "/Internet & Telecom/Mobile & Wireless/Mobile Apps & Add-Ons"
confidence: 0.6499999761581421
Untuk melihat daftar semua label kategori yang tersedia, lihat Kategori.
Dalam tutorial ini, Anda akan membuat aplikasi untuk melakukan tugas-tugas berikut:
- Mengklasifikasikan beberapa file teks dan menulis hasilnya ke file indeks.
- Memproses teks kueri input untuk menemukan file teks yang serupa.
- Memproses label kategori kueri input untuk menemukan file teks yang serupa.
Tutorial ini menggunakan konten dari Wikipedia. Anda dapat membuat aplikasi serupa untuk memproses artikel berita, komentar online, dan sebagainya.
File Sumber
Anda dapat menemukan kode sumber tutorial di Contoh Library Klien Python di GitHub.
Tutorial ini menggunakan teks sumber contoh dari Wikipedia. Anda dapat menemukan file teks contoh di folder resources/texts project GitHub.
Mengimpor library
Untuk menggunakan Cloud Natural Language API, Anda harus mengimpor modul
language dari library google-cloud-language. Modul language.types berisi class yang diperlukan untuk membuat permintaan. Modul language.enums digunakan untuk menentukan jenis teks input. Tutorial ini mengklasifikasikan konten teks biasa (language.enums.Document.Type.PLAIN_TEXT).
Untuk menghitung kesamaan antara teks berdasarkan klasifikasi konten yang dihasilkan, tutorial ini menggunakan numpy untuk perhitungan vektor.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Natural Language, lihat Library klien Natural Language. Untuk mengetahui informasi selengkapnya, lihat Natural Language Python API dokumentasi referensi.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah 1. Mengklasifikasikan konten
Anda dapat menggunakan library klien Python untuk membuat permintaan ke Natural Language API guna mengklasifikasikan konten. Library klien Python melakukan enkapsulasi detail permintaan ke dan respons dari Natural Language API.
Fungsi classify dalam tutorial memanggil metode Natural Language API
classifyText, dengan terlebih dahulu membuat
instance class LanguageServiceClient, lalu memanggil metode classify_text
dari instance LanguageServiceClient.
Fungsi classify tutorial hanya mengklasifikasikan konten teks untuk contoh ini. Anda juga dapat mengklasifikasikan konten halaman web dengan meneruskan HTML sumber halaman web sebagai text dan dengan menetapkan parameter type ke language.enums.Document.Type.HTML.
Untuk mengetahui informasi selengkapnya, lihat Mengklasifikasikan Konten. Untuk mengetahui detail tentang struktur permintaan ke Natural Language API, lihat Referensi Natural Language.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Natural Language, lihat Library klien Natural Language. Untuk mengetahui informasi selengkapnya, lihat Natural Language Python API dokumentasi referensi.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Hasil yang ditampilkan adalah kamus dengan label kategori sebagai kunci, dan skor keyakinan sebagai nilai, seperti:
{
"/Computers & Electronics": 0.800000011920929,
"/Internet & Telecom/Mobile & Wireless/Mobile Apps & Add-Ons": 0.6499999761581421
}
Skrip Python tutorial disusun agar dapat dijalankan dari command line untuk eksperimen cepat. Misalnya, Anda dapat menjalankan:
python classify_text_tutorial.py classify "Google Home enables users to speak voice commands to interact with services through the Home's intelligent personal assistant called Google Assistant. A large number of services, both in-house and third-party, are integrated, allowing users to listen to music, look at videos or photos, or receive news updates entirely by voice. "
Langkah 2. Mengindeks beberapa file teks
Fungsi index dalam skrip tutorial mengambil, sebagai input, direktori
yang berisi beberapa file teks, dan jalur ke file tempat fungsi tersebut menyimpan
output yang diindeks (nama file default adalah index.json).
Fungsi index membaca konten
setiap file teks di direktori input, lalu meneruskan file teks
ke Cloud Natural Language API untuk diklasifikasikan ke dalam
kategori konten.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Natural Language, lihat Library klien Natural Language. Untuk mengetahui informasi selengkapnya, lihat Natural Language Python API dokumentasi referensi.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Hasil dari Cloud Natural Language API untuk setiap file disusun ke dalam satu kamus, diserialisasi sebagai string JSON, lalu ditulis ke file. Contoh:
{
"android.txt": {
"/Computers & Electronics": 0.800000011920929,
"/Internet & Telecom/Mobile & Wireless/Mobile Apps & Add-Ons": 0.6499999761581421
},
"google.txt": {
"/Internet & Telecom": 0.5799999833106995,
"/Business & Industrial": 0.5400000214576721
}
}
Untuk mengindeks file teks dari command line dengan nama file output default index.json, jalankan perintah berikut:
python classify_text_tutorial.py index resources/texts
Langkah 3. Membuat kueri indeks
Membuat kueri dengan label kategori
Setelah file indeks (nama file default = index.json) dibuat, kita dapat membuat kueri ke indeks untuk mengambil beberapa nama file dan skor keyakinannya.
Salah satu cara untuk melakukannya adalah menggunakan label kategori sebagai kueri, yang dilakukan tutorial dengan fungsi query_category. Implementasi fungsi helper, seperti similarity, dapat ditemukan di file classify_text_tutorial.py. Dalam aplikasi Anda, pemberian skor dan peringkat kesamaan harus dirancang dengan cermat berdasarkan kasus penggunaan tertentu.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Natural Language, lihat Library klien Natural Language. Untuk mengetahui informasi selengkapnya, lihat Natural Language Python API dokumentasi referensi.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Untuk mengetahui daftar semua kategori yang tersedia, lihat Kategori.
Seperti sebelumnya, Anda dapat memanggil fungsi query_category dari command line:
python classify_text_tutorial.py query-category index.json "/Internet & Telecom/Mobile & Wireless"
Anda akan melihat output yang mirip dengan yang berikut:
Query: /Internet & Telecom/Mobile & Wireless
Most similar 3 indexed texts:
Filename: android.txt
Similarity: 0.665573579045
Filename: google.txt
Similarity: 0.517527175966
Filename: gcp.txt
Similarity: 0.5
Membuat kueri dengan teks
Atau, Anda dapat membuat kueri dengan teks yang mungkin bukan bagian dari teks yang diindeks. Fungsi query tutorial mirip dengan fungsi query_category,
dengan langkah tambahan membuat permintaan classifyText untuk input teks, dan
menggunakan hasilnya untuk membuat kueri file indeks.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Natural Language, lihat Library klien Natural Language. Untuk mengetahui informasi selengkapnya, lihat Natural Language Python API dokumentasi referensi.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Untuk melakukannya dari command line, jalankan:
python classify_text_tutorial.py query index.json "Google Home enables users to speak voice commands to interact with services through the Home's intelligent personal assistant called Google Assistant. A large number of services, both in-house and third-party, are integrated, allowing users to listen to music, look at videos or photos, or receive news updates entirely by voice. "
Tindakan ini akan mencetak sesuatu yang mirip dengan berikut ini:
Query: Google Home enables users to speak voice commands to interact with services through the Home's intelligent personal assistant called Google Assistant. A large number of services, both in-house and third-party, are integrated, allowing users to listen to music, look at videos or photos, or receive news updates entirely by voice.
Category: /Internet & Telecom, confidence: 0.509999990463
Category: /Computers & Electronics/Software, confidence: 0.550000011921
Most similar 3 indexed texts:
Filename: android.txt
Similarity: 0.600579500049
Filename: google.txt
Similarity: 0.401314790229
Filename: gcp.txt
Similarity: 0.38772339779
Langkah berikutnya
Dengan API klasifikasi konten, Anda dapat membuat aplikasi lain. Contoh:
Mengklasifikasikan setiap paragraf dalam artikel untuk melihat transisi antar-topik.
Mengklasifikasikan konten yang diberi stempel waktu dan menganalisis tren topik dari waktu ke waktu.
Membandingkan kategori konten dengan sentimen konten menggunakan metode
analyzeSentiment.Membandingkan kategori konten dengan entity yang disebutkan dalam teks.
Selain itu, produk Google Cloud Platform lainnya dapat digunakan untuk menyederhanakan alur kerja Anda:
Dalam aplikasi contoh untuk tutorial ini, kami memproses file teks lokal, tetapi Anda dapat mengubah kode untuk memproses file teks yang disimpan di bucket Google Cloud Storage dengan meneruskan URI Google Cloud Storage ke metode
classify_text.Dalam aplikasi contoh untuk tutorial ini, kami menyimpan file indeks secara lokal, dan setiap kueri diproses dengan membaca seluruh file indeks. Hal ini berarti latensi tinggi jika Anda memiliki data yang diindeks dalam jumlah besar atau jika Anda perlu memproses banyak kueri. Datastore adalah pilihan yang wajar dan praktis untuk menyimpan data indeks.