Audience
Tutorial ini dirancang untuk memungkinkan Anda secara cepat mulai menjelajahi dan mengembangkan aplikasi dengan Cloud Natural Language API. Kursus ini dirancang untuk orang-orang yang memahami pemrograman dasar, meskipun tanpa banyak pengetahuan pemrograman, Anda harus dapat mengikutinya. Setelah mengikuti tutorial ini, Anda akan dapat menggunakan Dokumentasi referensi untuk membuat aplikasi dasar Anda sendiri.
Tutorial ini memandu aplikasi Natural Language menggunakan kode Python. Tujuannya di sini bukan untuk menjelaskan library klien Python, tetapi menjelaskan cara melakukan panggilan ke Natural Language API. Aplikasi di Java dan Node.js pada dasarnya mirip. Lihat Sample Natural Language API untuk mengetahui sampel dalam bahasa lain (termasuk contoh dalam tutorial ini).
Prasyarat
Tutorial ini memiliki beberapa prasyarat:
- Anda telah menyiapkan project Cloud Natural Language di Konsol Google Cloud.
- Anda telah menyiapkan lingkungan menggunakan Kredensial Default Aplikasi di konsol Google Cloud.
- Anda memahami Python di pemrograman konsol Google Cloud.
- Anda telah menyiapkan lingkungan pengembangan Python. Sebaiknya instal
Python,
pip
, danvirtualenv
versi terbaru di 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 memahami aplikasi Natural Language dasar, menggunakan permintaan classifyText
, yang mengklasifikasikan konten ke dalam kategori bersama dengan 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 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 dalam Contoh Library Klien Python di GitHub.
Tutorial ini menggunakan contoh teks sumber dari Wikipedia. Anda dapat menemukan contoh file teks di folder resources/texts pada 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 antarteks berdasarkan klasifikasi konten yang dihasilkannya, tutorial ini menggunakan numpy
untuk penghitungan vektor.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Natural Language, lihat library klien Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Natural Language.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah 1. Mengklasifikasikan konten
Anda dapat menggunakan library klien Python untuk membuat permintaan ke Natural Language API untuk mengklasifikasikan konten. Library klien Python mengenkapsulasi detail permintaan dan respons dari Natural Language API.
Fungsi classify
dalam tutorial memanggil metode classifyText
Natural Language API, 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 mengklasifikasi konten
halaman web dengan meneruskan HTML sumber halaman web sebagai text
dan dengan menetapkan parameter type
ke language.enums.Document.Type.HTML
.
Untuk informasi selengkapnya, lihat Mengklasifikasi 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 dokumentasi referensi API Python Natural Language.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 diatur sehingga 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 ini mengambil, sebagai input, direktori yang berisi beberapa file teks, dan jalur ke file tempat hasil yang diindeks akan disimpan (nama file default adalah index.json
). Fungsi index
membaca konten setiap file teks di direktori input, kemudian meneruskan file teks ke Cloud Natural Language API untuk diklasifikasikan ke dalam berbagai kategori konten.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Natural Language, lihat library klien Natural Language. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Natural Language.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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. Buat kueri indeks
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 dengan menggunakan label kategori sebagai kueri, yang dilakukan tutorial dengan fungsi query_category
. Implementasi
fungsi bantuan, seperti similarity
, dapat ditemukan dalam
file classify_text_tutorial.py
. Dalam aplikasi Anda, skor dan peringkat kemiripan harus didesain dengan cermat untuk 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 dokumentasi referensi API Python Natural Language.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Untuk 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 berikut ini:
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
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 yaitu 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 dokumentasi referensi API Python Natural Language.
Untuk mengautentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 selanjutnya
Dengan API klasifikasi konten, Anda dapat membuat aplikasi lain. Contoh:
Klasifikasikan setiap paragraf dalam artikel untuk melihat transisi antartopik.
Mengklasifikasikan konten dengan stempel waktu dan menganalisis tren topik dari waktu ke waktu.
Bandingkan kategori konten dengan sentimen konten menggunakan metode
analyzeSentiment
.Bandingkan kategori konten dengan entitas 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. Artinya, latensi tinggi jika Anda memiliki data terindeks dalam jumlah besar atau jika Anda perlu memproses banyak kueri. Datastore adalah pilihan alami dan praktis untuk menyimpan data indeks.