How to Use Hugging Face Pipelines? – Towards AI

How to Use Hugging Face Pipelines? – Towards AI

Author(s): Tirendaz AI

Awalnya diterbitkan di Menuju AI.

Panduan praktis tentang cara melakukan tugas NLP dengan Hugging Face Pipelines

Gambar oleh Canva

Dengan perpustakaan yang dikembangkan baru-baru ini, menjadi lebih mudah untuk melakukan analisis pembelajaran yang mendalam. Salah satu library tersebut adalah Hugging Face. Hugging Face adalah platform yang menyediakan model bahasa terlatih untuk tugas NLP seperti klasifikasi teks, analisis sentimen, dan lainnya.

Blog ini akan memandu Anda melalui cara melakukan tugas NLP dengan Hugging Face Pipelines. Berikut topik yang akan kami bahas di blog ini.

Apa itu NLP? Apa itu Transformer? Melakukan berbagai tugas NLP dengan Transformers.

Tugas NLP yang akan kami bahas adalah klasifikasi teks, pengenalan entitas bernama, menjawab pertanyaan, dan pembuatan teks.

Ayo selami!

Apa itu NLP?

NLP adalah subbidang AI yang memungkinkan komputer untuk menafsirkan, memanipulasi, dan memahami bahasa manusia. Tujuan tugas NLP adalah menganalisis data teks dan suara seperti email, umpan berita media sosial, video, audio, dan lainnya. Dengan teknik NLP, Anda dapat menangani berbagai tugas seperti klasifikasi teks, membuat konten teks, mengekstraksi jawaban dari teks, dll.

NLP tidak hanya berurusan dengan teks tertulis. Ini juga mengatasi tantangan kompleks dalam pengenalan ucapan dan visi komputer, seperti membuat transkrip sampel suara atau deskripsi gambar.

Keren, kami mempelajari apa itu NLP di bagian ini. Mari kita lanjutkan dan lihat apa itu perpustakaan Transformers.

Apa itu perpustakaan Transformers?

Transformers adalah pustaka di Hugging Face yang menyediakan API dan alat. Ini memungkinkan Anda mengunduh dan melatih model pra-terlatih yang canggih dengan mudah.

Anda mungkin bertanya apa itu model pra-terlatih. Mari saya jelaskan. Model pra-terlatih sebenarnya adalah jaringan pra-terlatih tersimpan yang sebelumnya dilatih pada kumpulan data besar. Dengan menggunakan model terlatih, Anda dapat menghemat waktu dan sumber daya yang diperlukan untuk melatih model dari awal.

Bagus, kami melihat apa itu perpustakaan Transformers. Mari kita lakukan beberapa tugas untuk menunjukkan cara menggunakan pustaka ini.

Aplikasi Transformator

Pustaka transformer memiliki fungsi yang bagus untuk menangani berbagai tugas NLP. Cara termudah untuk menangani tugas NLP adalah dengan menggunakan fungsi pipa. Ini menghubungkan model dengan langkah pra-pemrosesan dan pasca-pemrosesan yang diperlukan. Ini memungkinkan Anda untuk langsung memasukkan teks apa pun dan mendapatkan jawaban.

Untuk menggunakan pustaka Transformers, Anda perlu menginstalnya dengan perintah berikut:

pip install -q transformer

Untuk menunjukkan cara memanfaatkan fungsi pipa, mari impor dari transformer.

dari pipa impor transformer

Keren, sekarang kita bisa melakukan tugas NLP dengan objek ini. Mari kita mulai dengan analisis sentimen.

Analisis Sentimen

Analisis sentimen adalah salah satu tugas NLP yang paling banyak digunakan. Ini adalah proses mendeteksi sentimen positif atau negatif dalam teks. Untuk menunjukkan cara melakukan tugas ini, mari buat teks.

text = “Film ini sangat bagus. Saya ingin menonton film ini lagi.”

Luar biasa, kami sekarang memiliki teks. Mari kita cari tahu sentimen dari teks ini. Untuk melakukannya, pertama-tama, kita membuat instance pipeline dengan memanggil fungsi pipeline. Selanjutnya, kami memberi nama tugas yang kami minati.

classifier = pipeline(“analisis-sentimen”)

Bagus, kita siap menganalisis teks kita menggunakan objek ini.

pengklasifikasi (teks)

# Keluaran:
[{‘label’: ‘POSITIVE’, ‘score’: 0.9998679161071777}]

Seperti yang Anda lihat, alur kami memprediksi label dan menunjukkan skornya. Labelnya positif, dan skornya 0,99. Ternyata sang model sangat yakin bahwa teks tersebut memiliki sentimen positif. Bagus, kami telah menyelesaikan analisis sentimen kami. Ini sederhana, bukan?

Mari kita mundur selangkah dan memikirkan apa yang terjadi. Pipeline ini pertama-tama memilih model pra-pelatihan yang telah disesuaikan untuk analisis sentimen. Selanjutnya, saat membuat objek pengklasifikasi, model diunduh. Perhatikan bahwa saat meneruskan beberapa teks ke saluran pipa, teks diproses sebelumnya menjadi format yang dapat dipahami model.

Dalam analisis ini, kami menggunakan pipeline untuk analisis sentimen. Anda juga dapat menggunakannya untuk tugas lain. Beberapa saluran yang telah dikembangkan baru-baru ini adalah analisis Sentimen; kita baru saja belajar bagaimana melakukan pipeline ini, meringkas, pengenalan entitas bernama, menjawab pertanyaan, pembuatan teks, terjemahan, ekstraksi fitur, klasifikasi zero-shot, dll. Mari kita lihat beberapa di antaranya. Pipeline yang akan kita bicarakan sekarang adalah klasifikasi zero-hit.

Klasifikasi Zero-Shot

Bayangkan Anda ingin mengkategorikan teks yang tidak berlabel. Di sinilah pipa klasifikasi zero-shot masuk. Ini membantu Anda memberi label pada teks. Jadi, Anda tidak harus bergantung pada label model yang telah dilatih sebelumnya. Mari kita lihat cara menggunakan pipa ini. Pertama, kita akan membuat instance dengan memanggil fungsi pipeline.

classifier = pipeline(“zero-shot-classification”)

Sekarang mari kita membuat teks untuk mengklasifikasikan.

text = “Ini adalah tutorial tentang Memeluk Wajah.”

Mari kita tentukan label kandidat.

kandidat_label = [“tech”, “education”, “business”]

Keren, kami membuat teks dan label kami. Sekarang, mari kita prediksi label dari kalimat ini. Untuk melakukan ini, kita akan menggunakan objek classifier.

pengklasifikasi(teks, kandidat_label)

# Keluaran:
{‘sequence’: ‘Ini adalah tutorial tentang Memeluk Wajah’,
‘label’: [‘education’, ‘tech’, ‘business’],
‘skor’: [0.8693577647209167, 0.11372026801109314, 0.016921941190958023]}

Seperti yang Anda lihat, teksnya tentang pendidikan. Di sini kami tidak menyempurnakan model pada data kami. Pipa kami langsung mengembalikan skor probabilitas. Inilah mengapa pipa ini disebut zero-shot. Mari lanjutkan dan lihat tugas pembuatan teks.

Pembuatan Teks

Alat seperti ChatGPT bagus untuk membuat teks, tetapi terkadang Anda mungkin ingin membuat teks tentang suatu topik. Tujuan dari pembuatan teks adalah untuk menghasilkan kalimat yang bermakna. Model kami mendapatkan prompt dan melengkapinya secara otomatis. Mari kita lihat cara melakukan pipeline. Pertama, kami membuat instance pipeline dengan pembuatan teks.

generator = pipa (“teks-generasi”)

Mari lanjutkan dan buat prompt.

prompt = “Tutorial ini akan memandu Anda tentang caranya”

Sekarang mari berikan prompt ini ke objek kita.

generator (meminta)

# Keluaran:
[{‘generated_text’: ‘This tutorial will walk you through how to setup a Python script to automatically find your favourite website using Python and JavaScript so you can build a web site that’}]

Seperti yang Anda lihat, sebuah teks dibuat sesuai dengan kalimat kami. Perhatikan bahwa teks ini dihasilkan secara acak. Jadi wajar jika Anda tidak mendapatkan hasil yang sama seperti di sini.

Dalam contoh ini, kami menggunakan model default. Anda juga dapat memilih model tertentu dari hub. Untuk menemukan model yang cocok untuk tugas Anda, buka Model Hub dan klik tag yang sesuai di sebelah kiri.

Model dalam Memeluk Wajah

Di sini Anda dapat melihat model yang didukung untuk tugas Anda. Keren, mari kita coba modelnya. Pertama, kita akan membuat saluran pipa. Mari berikan tugas dan nama model kita padanya.

generator = pipa (“pembuatan teks”, model = “distilgpt2”)

Keren, kami membuat instance objek. Mari buat teks dengan panjang maksimal 30 menggunakan prompt kita sebelumnya.

generator(prompt, max_length = 30)

Seperti yang Anda lihat, sebuah teks dibuat dengan model yang kami tentukan. Mari kita lanjutkan dan lihat tugas pengenalan entitas bernama.

Pengakuan Entitas Bernama (NER)

NER adalah salah satu tugas preprocessing data yang paling populer. Di NLP, objek dunia nyata seperti produk, tempat, dan orang disebut entitas bernama, dan mengekstraknya dari teks disebut pengenalan entitas bernama. Mari tunjukkan bagaimana tugas ini dilakukan dengan sebuah contoh. Pertama, mari buat objek dari pipa.

ner = pipeline(“ner”, grouped_entities=True)

Di sini kami memberikan grouped_entities=True untuk mengelompokkan kembali bagian-bagian kalimat. Misalnya, kami ingin mengelompokkan “Google” dan “Cloud” sebagai satu organisasi. Sekarang mari kita membuat contoh kalimat.

“text = Nama saya Tirendaz dan saya senang bekerja dengan Hugging Face untuk tugas NLP saya.”

Sekarang, mari berikan teks ini ke objek kita.

bawah (teks)

# Keluaran:
[{‘entity_group’: ‘PER’,
‘score’: 0.99843466,
‘word’: ‘Tirendaz’,
‘start’: 11,
‘end’: 19},
{‘entity_group’: ‘ORG’,
‘score’: 0.870751,
‘word’: ‘Google Cloud’,
‘start’: 31,
‘end’: 43},
{‘entity_group’: ‘LOC’,
‘score’: 0.99855834,
‘word’: ‘Berlin’,
‘start’: 47,
‘end’: 53}]

Seperti yang Anda lihat, model kami mengidentifikasi entitas dengan benar dalam teks kami. Bagus, mari kita lanjutkan dan tugas tanya jawab.

Pertanyaan-Jawaban

Dalam tanya jawab, kami memberikan model sepotong teks yang disebut konteks dan pertanyaan. Model menjawab pertanyaan sesuai dengan teks. Mari kita ilustrasikan ini dengan sebuah contoh. Pertama, mari buat sebuah objek dari alur pertanyaan-jawaban.

question_answerer = pipeline(“penjawab pertanyaan”)

Sekarang mari kita gunakan objek ini.

pertanyaan_penjawab(
pertanyaan=”Di mana saya tinggal?”,
konteks=”Nama saya Tirendaz dan saya tinggal di Berlin”,)

# Keluaran:
{‘score’: 0.7006925940513611, ‘start’: 31, ‘end’: 43, ‘answer’: ‘Google Cloud’}

Seperti yang Anda lihat, pipeline kami mengekstraksi informasi dari konteksnya. Keren, kami belajar cara melakukan berbagai tugas NLP dengan pipeline. Anda juga dapat menggunakan alur untuk tugas lain, seperti peringkasan dan terjemahan.

Anda dapat menemukan notebook yang saya gunakan di blog ini

Bungkus

Transformers adalah pustaka di Hugging Face yang menyediakan API dan alat. Anda dapat melakukan tugas NLP menggunakan perpustakaan ini. Cara termudah untuk melakukannya adalah dengan menggunakan pipeline Hugging Face. Pipeline menyediakan API yang mudah digunakan yang menghubungkan model dengan langkah pra-pemrosesan dan pasca-pemrosesan yang diperlukan. Jadi, Anda dapat dengan mudah melakukan berbagai tugas NLP menggunakan objek pipa.

Itu dia. Terima kasih sudah membaca. Kuharap kamu menikmatinya. Beri tahu saya jika Anda memiliki pertanyaan. Ikuti saya di Medium, agar tidak ketinggalan konten terbaru. Kami juga membuat konten tentang AI di platform media sosial lainnya. Jangan lupa untuk mengikuti kami di YouTube | Twitter | Instagram 👍

Sumber daya

Bagaimana Cara Menggunakan Pipa Wajah Memeluk? awalnya diterbitkan di Menuju AI di Medium, di mana orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jonathan Kelly