Audiens
Tutorial ini dirancang untuk memungkinkan Anda dengan cepat mulai menjelajahi dan mengembangkan aplikasi dengan Cloud Natural Language API. Tutorial ini dirancang untuk orang yang memahami pemrograman dasar, meskipun tanpa banyak pengetahuan pemrograman, Anda harus dapat mengikutinya. Setelah mempelajari 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 konsol Google Cloud.
- Anda telah menyiapkan lingkungan menggunakan Kredensial Default Aplikasi di konsol Google Cloud.
- Anda memahami Python dalam pemrograman konsol Google Cloud.
- Anda telah menyiapkan lingkungan pengembangan Python. Sebaiknya Anda menginstal
Python versi terbaru,
pip
, danvirtualenv
di sistem Anda. Untuk mendapatkan petunjuk, lihat Panduan Penyiapan Lingkungan Pengembangan Python untuk Google Cloud Platform. - Anda telah menginstal Library Klien Google Cloud untuk Python
Ringkasan
Tutorial ini akan memandu Anda mempelajari 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 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 contoh teks sumber dari Wikipedia. Anda dapat menemukan contoh file teks di folder resources/texts dari 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 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 Python API Natural Language.
Untuk melakukan autentikasi 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 guna mengklasifikasikan konten. Library klien Python melakukan enkapsulasi detail untuk permintaan ke dan respons dari Natural Language API.
Fungsi classify
dalam tutorial memanggil metode classifyText
Natural Language API, dengan membuat instance
class LanguageServiceClient
terlebih dahulu, 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 dokumentasi referensi Python API Natural Language.
Untuk melakukan autentikasi 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 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. Membuat indeks beberapa file teks
Fungsi index
dalam skrip tutorial menggunakan, sebagai input, direktori yang berisi beberapa file teks, dan jalur ke file tempat 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 dokumentasi referensi Python API Natural Language.
Untuk melakukan autentikasi 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 diatur 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
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 dokumentasi referensi Python API Natural Language.
Untuk melakukan autentikasi ke Natural Language, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 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 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 Python API Natural Language.
Untuk melakukan autentikasi 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.
Klasifikasikan konten yang memiliki stempel waktu dan analisis tren topik dari waktu ke waktu.
Bandingkan 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.