Kursus
Pemrosesan bahasa alami (NLP) meningkatkan cara manusia dan komputer berkomunikasi satu sama lain dengan menggunakan pembelajaran mesin untuk menunjukkan struktur dan makna teks. Dengan aplikasi pemrosesan bahasa alami, organisasi dapat meningkatkan produktivitas dan mengurangi biaya dengan menganalisis teks serta mengekstrak informasi yang lebih bermakna untuk meningkatkan pengalaman pelanggan.
Apa itu Pemrosesan Bahasa Alami (NLP)?
Kita jarang memikirkan seluk-beluk bahasa kita. Ini adalah perilaku intuitif yang bergantung pada isyarat semantik seperti kata, tanda, atau gambar untuk menyampaikan informasi dan makna. Terkadang dikatakan bahwa belajar bahasa lebih mudah pada masa remaja karena merupakan perilaku yang berulang dan dapat ditanamkan, mirip seperti berjalan. Selain itu, bahasa tidak mengikuti aturan yang kaku dan memiliki banyak pengecualian.
Pemerolehan bahasa, meski alami bagi manusia, sangat kompleks bagi komputer karena banyaknya data tidak terstruktur, kurangnya aturan yang ketat, dan ketiadaan perspektif atau konteks yang konkret. Namun, manusia semakin mengandalkan sistem komputer untuk berkomunikasi dan melakukan tugas. Inilah sebabnya pembelajaran mesin (ML) dan kecerdasan buatan (AI) mendapatkan begitu banyak perhatian dan popularitas. Pemrosesan bahasa alami mengikuti perkembangan AI. Walaupun kedua istilah ini mungkin memunculkan bayangan robot futuristis, sudah ada aplikasi sederhana pemrosesan bahasa alami dalam kehidupan sehari-hari.
NLP adalah komponen AI yang berfokus pada pemahaman bahasa manusia sebagaimana ditulis dan/atau diucapkan. Untuk melakukannya, dikembangkan program komputer khusus; komputer pada umumnya memerlukan instruksi yang disampaikan dalam bahasa pemrograman yang sangat presisi, terstruktur, dan tidak ambigu. Sayangnya, bahasa manusia alami itu tidak presisi, mengandung banyak ambiguitas, dan membingungkan. Untuk membuat program mampu memahami makna kata, diperlukan algoritme yang mampu menganalisis makna dan struktur agar kata-kata menjadi dapat dipahami, mengenali referensi tertentu, lalu menghasilkan bahasa.
Apa Saja Teknik Pemrosesan Bahasa Alami (NLP)?
Algoritme NLP melakukan berbagai analisis sintaktis dan semantik untuk mengevaluasi makna kalimat berdasarkan kaidah tata bahasa. Mereka melakukannya dengan:
- Memenggal kata dan kelompok kata atau menganalisis tata bahasa seluruh kalimat.
- Membandingkan teks secara real-time dengan basis data yang tersedia untuk menentukan makna dan konteks.
- Menggunakan teknik machine learning dan deep learning untuk mengidentifikasi korelasi relevan dalam sejumlah besar data berpenanda.
Teknik NLP yang umum meliputi:
- Named Entity Recognition (NER): Mengidentifikasi nama orang, tempat, organisasi, dan sebagainya.
- Analisis Sentimen: Menentukan apakah teks menyampaikan sentimen positif, negatif, atau netral.
- Ringkasan Teks: Menghasilkan ringkasan singkat dari teks yang lebih panjang.
- Ekstraksi Aspek: Mengidentifikasi aspek kunci atau maksud dalam sebuah teks.
- Pemodelan Topik: Menemukan tema dan struktur tersembunyi dalam kumpulan data teks besar.
Apa yang Dapat Dilakukan Pemrosesan Bahasa Alami?
NLP digunakan dalam beragam aplikasi. Berikut beberapa area yang paling umum.
Filter pesan
Filter pesan adalah salah satu aplikasi dasar NLP daring yang pertama. Teknik ini awalnya digunakan untuk membuat filter spam guna mengidentifikasi pesan yang tidak diinginkan berdasarkan kata atau frasa tertentu. Seiring berkembangnya pemrosesan bahasa alami, filter pun ikut berkembang.
Salah satu penerapan terbaru dan paling umum dari teknik ini adalah pengelompokan email oleh Gmail. Sistem ini dapat mengklasifikasikan email ke dalam tiga kategori (Utama, Jejaring Sosial, atau Promosi) berdasarkan isinya. Hal ini memungkinkan pengguna Gmail mengelola kotak masuk dengan lebih baik untuk melihat dan merespons email penting dengan cepat.
Asisten cerdas
Asisten cerdas seperti Siri (Apple) dan Alexa (Amazon) menggunakan pengenalan suara untuk mengidentifikasi pola ujaran, menyimpulkan makna, dan menyarankan respons yang berguna. Saat ini, terasa wajar untuk bertanya sesuatu kepada Siri dan ia memahami serta menjawab dengan relevan. Demikian pula, kita makin terbiasa berinteraksi dengan Siri atau Alexa setiap hari melalui termostat, lampu, mobil, dan lain-lain.
Kini kita mengharapkan asisten seperti Alexa dan Siri menangkap isyarat kontekstual untuk membantu dalam keseharian dan melakukan tugas tertentu (mis., memesan barang). Kita bahkan menikmati respons lucu mereka atau saat mereka bercerita tentang diri mereka. Interaksi kita menjadi lebih personal seiring mereka makin mengenal kita. Menurut artikel New York Times berjudul Why We May Soon Be Living in Alexa's World, "Perubahan besar akan datang. Alexa kemungkinan besar akan menjadi platform konsumen besar ketiga dekade ini."
Hasil pencarian
Mesin pencari menggunakan pemrosesan bahasa alami untuk menampilkan hasil yang relevan berdasarkan perilaku pencarian serupa atau maksud pengguna. Ini memungkinkan siapa pun menemukan apa yang dibutuhkan tanpa keterampilan khusus.
Misalnya, saat Anda mulai mengetik kueri, Google menampilkan penelusuran terkait yang populer, tetapi ia juga dapat mengenali makna umum kueri Anda melampaui susunan kata yang persis sama. Jika Anda mengetik nomor penerbangan di Google, Anda akan mengetahui statusnya. Jika Anda mengetik simbol saham, Anda akan mendapatkan laporan saham. Jika Anda mengetik persamaan matematika, Anda akan mendapatkan kalkulator. Penelusuran Anda dapat menawarkan beragam hasil karena teknik NLP yang digunakan mengaitkan kueri ambigu dengan entitas tertentu untuk menyajikan hasil yang berguna.
Ketik intuitif
Fitur seperti koreksi otomatis, pelengkapan otomatis, dan input intuitif kini begitu umum di ponsel cerdas kita hingga sering kita anggap remeh. Pengetikan otomatis dan intuitif sebanding dengan mesin pencari karena bergantung pada apa yang diketik untuk menyarankan akhir kata atau frasa. Koreksi otomatis terkadang bahkan mengubah beberapa kata untuk meningkatkan makna keseluruhan pesan Anda.
Selain itu, fungsi-fungsi ini berkembang seiring Anda berkembang. Misalnya, ketik intuitif beradaptasi dari waktu ke waktu dengan gaya ungkapan Anda yang spesifik. Ini kadang menghasilkan percakapan lucu, dengan kalimat yang sepenuhnya berdasarkan input intuitif. Hasilnya bisa terasa sangat personal dan informatif, dan bahkan sesekali menarik perhatian media.
Penerjemahan
Jika latihan bahasa asing Anda penuh dengan kesalahan tata bahasa, guru Anda mungkin tahu bahwa Anda menyontek menggunakan teknologi pemrosesan bahasa alami. Sayangnya, banyak bahasa tidak cocok untuk diterjemahkan secara langsung karena memiliki konstruksi kalimat yang berbeda, yang terkadang diabaikan oleh layanan penerjemahan. Namun, sistem-sistem ini telah berkembang pesat.
Berkat pemrosesan bahasa alami, alat terjemahan daring menawarkan terjemahan yang lebih akurat dan tata bahasanya lebih baik. Karena itu, alat ini sangat berguna jika Anda perlu berkomunikasi dengan seseorang yang tidak berbicara dalam bahasa Anda. Jika Anda perlu menerjemahkan teks asing, alat ini bahkan dapat mengenali bahasa dari teks yang dimasukkan untuk diterjemahkan.
Panggilan telepon digital
Saat menelepon beberapa perusahaan, kebanyakan dari kita mungkin pernah mendengar pengumuman "panggilan ini dapat direkam untuk tujuan pelatihan". Meskipun rekaman ini dapat digunakan untuk pelatihan (mis., menganalisis percakapan dengan pelanggan yang tidak puas), rekaman tersebut biasanya disimpan dalam basis data yang memungkinkan sistem NLP untuk belajar dan berkembang. Sistem otomatis mengarahkan ulang panggilan pelanggan ke agen atau chatbot daring, yang akan memberikan informasi relevan untuk menjawab permintaan mereka. Teknik pemrosesan bahasa alami ini sudah digunakan oleh banyak perusahaan, termasuk operator telepon besar.
Teknologi panggilan telepon digital juga memungkinkan komputer meniru suara manusia. Dengan demikian, dimungkinkan untuk merencanakan panggilan telepon otomatis untuk membuat janji ke bengkel atau penata rambut.
Analisis data
Kemampuan bahasa alami kini terintegrasi ke dalam alur kerja analitik. Memang, semakin banyak vendor BI yang menawarkan antarmuka bahasa alami untuk visualisasi data mereka. Pengodean visual yang lebih cerdas memungkinkan, misalnya, mengusulkan visualisasi terbaik untuk tugas tertentu, bergantung pada semantik data. Siapa pun dapat mengeksplorasi data menggunakan pernyataan bahasa alami atau potongan pertanyaan yang kata kuncinya ditafsirkan dan dipahami.
Menjelajahi data menggunakan bahasa membuat data lebih mudah diakses dan membuka analitik untuk seluruh perusahaan, melampaui lingkaran analis TI dan pengembang yang biasanya.
Analitik teks
Analitik teks mengonversi data tekstual tidak terstruktur menjadi data yang dapat dianalisis menggunakan berbagai teknik linguistik, statistik, dan pembelajaran mesin.
Analisis sentimen bisa terasa sebagai tantangan berat bagi merek (terutama jika basis pelanggan besar). Namun, alat berbasis pemrosesan bahasa alami umumnya dapat meninjau interaksi pelanggan (seperti komentar atau ulasan di media sosial, atau bahkan penyebutan nama merek) untuk melihat apa yang terjadi. Kemudian, merek dapat menganalisis interaksi ini untuk menilai efektivitas kampanye pemasaran atau memantau perkembangan masalah pelanggan. Mereka lalu dapat memutuskan bagaimana merespons, atau meningkatkan layanan untuk memberikan pengalaman yang lebih baik.
Pemrosesan bahasa alami juga berkontribusi pada analitik teks dengan mengekstraksi kata kunci serta mengidentifikasi pola atau tren dalam data teks tidak terstruktur. Apa saja model NLP utama?
Walau NLP telah ada cukup lama, kemajuan terbaru sangatlah mencolok, terutama dengan munculnya model berbasis transformer dan model bahasa berskala besar yang dikembangkan oleh perusahaan teknologi terkemuka. Beberapa model paling canggih meliputi:
-
Model berbasis transformer:
- BERT dan ALBERT (Google AI)
- RoBERTa (Meta/Facebook), StructBERT (Alibaba), DeBERTa (Microsoft), DistilBERT (Hugging Face)
- XLNet (Carnegie Mellon University), UniLM (Microsoft), Reformer (Google)
-
Model bahasa besar (LLM):
- GPT-3, GPT-4, dan GPT-4 Turbo (OpenAI)
- Claude 3 (Anthropic)
- PaLM 2 dan Gemini 1.5 (Google DeepMind)
- LLaMA 2 (Meta)
- Mistral dan Mixtral (Mistral AI)
Dalam tutorial ini, kita akan melihat lebih dekat bagaimana BERT digunakan untuk NLP.
Bagaimana Cara Kerja Google BERT?
BERT, singkatan dari "Bidirectional Encoder Representations from Transformers", adalah model yang dirilis oleh Google AI. Teknik inovatif ini berbasis pemrosesan bahasa alami (NLP).
Pada dasarnya, algoritme ini menggunakan pembelajaran mesin dan kecerdasan buatan untuk memahami kueri yang dibuat pengguna internet. Dengan demikian, ia berupaya menafsirkan maksud penelusuran mereka, yakni bahasa alami yang mereka gunakan.
Dalam pengertian ini, BERT dikaitkan dengan asisten suara pribadi seperti Google Home. Alat ini tidak lagi hanya berpatokan pada setiap kata yang dimasukkan pengguna, tetapi mempertimbangkan keseluruhan ungkapan dan konteksnya. Hal ini dilakukan untuk memperhalus hasil. Ia lebih efisien dalam menangani penelusuran kompleks, apa pun medianya.
Secara lebih konkret, BERT memungkinkan mesin telusur untuk:
- Mengatasi ambiguitas dalam ungkapan, dengan mempertimbangkan makna kontekstual kata;
- Memahami rujukan pronomina, terutama dalam paragraf panjang;
- Menyelesaikan masalah homonimi;
- Memahami kalimat berikutnya;
- Memberikan jawaban langsung di SERP (Search Engine Result Page)...
Untuk aplikasi lainnya, BERT digunakan dalam:
- Tanya jawab;
- Analisis opini;
- Pencocokan kalimat dan penalaran bahasa alami;
- Deteksi kicauan ofensif.
Dengan demikian, dampak Google BERT diperkirakan sekitar 10% pada kueri yang lebih panjang, yang diketik secara alami.
Pemrosesan bahasa alami berfokus pada analisis kata yang diketik pengguna. Kata kunci, pendahulu, dan pengikutnya semuanya diperiksa untuk lebih memahami kueri. Inilah prinsip analisis yang diadopsi oleh "transformer".
Algoritme ini sangat efektif untuk penelusuran ekor panjang, di mana preposisi memengaruhi makna. Di sisi lain, dampaknya pada kueri generik kurang signifikan, karena kueri tersebut sudah dipahami dengan baik oleh Google. Alat pemahaman lainnya, oleh karena itu, tetap berfungsi.
Baik kueri diformulasikan secara tidak beraturan maupun presisi, mesin telusur tetap mampu memprosesnya. Namun agar lebih efisien, sebaiknya gunakan istilah yang lebih tepat.
Konteks memainkan peran penting dalam analisis yang dilakukan BERT. Penerjemahan mesin dan pemodelan linguistik dioptimalkan. Peningkatan signifikan juga terlihat dalam penghasilan teks berkualitas.
Untuk menggunakan model ini, mari terlebih dahulu mengimpor library dan paket yang diperlukan, seperti berikut:

Selanjutnya, mari unduh dan ekstrak Large Movie Review Dataset, lalu jelajahi struktur direktori tersebut.

Untuk membuat tf.data.Dataset berlabel, kita akan menggunakan text_dataset_from_directory seperti di bawah ini. Selanjutnya, kita akan membuat set validasi menggunakan pembagian 80:20 dari data pelatihan dengan argumen validation_split.

Penting untuk menentukan random seed saat menggunakan validation_split sehingga set validasi dan pelatihan tidak saling tumpang tindih.
Langkah berikutnya adalah memilih model BERT dari TensorFlow Hub yang ingin Anda muat dan lakukan fine-tuning, Anda dapat menggunakan hub.KerasLayer untuk menyusun model yang di-fine-tune. Lalu, kita akan mencoba model prapemrosesan pada beberapa teks dan melihat keluarannya.

Berikutnya, Anda akan membangun model sederhana yang terdiri dari model prapemrosesan, model BERT yang Anda pilih pada langkah sebelumnya, sebuah layer dense, dan layer Dropout.

Sekarang, Anda dapat memeriksa apakah model Anda berjalan dengan keluaran dari model prapemrosesan.

Fungsi loss merupakan langkah yang diperlukan di sini, kita akan memilih fungsi loss losses.BinaryCrossentropy karena kita menangani masalah klasifikasi biner.

Untuk fine-tuning, mari gunakan optimizer yang sama dengan yang digunakan saat BERT awalnya dilatih: "Adaptive Moments" (Adam). Optimizer ini meminimalkan loss prediksi dan melakukan regularisasi dengan weight decay, yang juga dikenal sebagai AdamW.

Menggunakan classifier_model yang Anda buat sebelumnya, Anda dapat mengompilasi model dengan loss, metrik, dan optimizer.

Perhatikan bahwa model Anda mungkin memerlukan waktu pelatihan yang lebih singkat atau lebih lama bergantung pada kompleksitas model BERT yang Anda pilih.

Sekarang, kita akan mengevaluasi performa model dengan memeriksa loss dan akurasinya.

Anda dapat menggunakan objek history jika ingin memplot loss dan akurasi untuk set pelatihan dan validasi:

Semua langkah di atas dirinci dalam notebook ini. Anda dapat mempraktikkan langkah-langkah di atas dan menjalankan kode untuk melihat keluaran setiap model BERT dalam daftar.
Kesimpulan
Pemrosesan bahasa alami sudah mapan di dunia digital. Penerapannya akan berlipat ganda seiring perusahaan dan industri menemukan manfaatnya dan mengadopsinya. Sementara intervensi manusia akan tetap penting untuk masalah komunikasi yang lebih kompleks, pemrosesan bahasa alami akan menjadi sekutu kita sehari-hari, awalnya mengelola dan mengotomatiskan tugas-tugas kecil lalu menangani yang semakin kompleks seiring kemajuan teknologi.
Untuk mempelajari lebih lanjut cara kerja NLP dan cara menggunakannya, lihat kursus kami Deep Learning for NLP in Python.
FAQ
Apa perbedaan BERT dengan model GPT?
BERT dirancang untuk pemahaman bahasa dua arah, artinya ia mempertimbangkan konteks penuh suatu kata dalam sebuah kalimat. Sebaliknya, model GPT (seperti GPT-4) bersifat autoregresif, artinya memprediksi kata secara kiri-ke-kanan dan dioptimalkan untuk generasi teks.
Apa saja kasus penggunaan umum BERT?
BERT banyak digunakan untuk:
- Analisis sentimen
- Named entity recognition (NER)
- Penjawaban pertanyaan (mis., mendukung Google Search)
- Ringkasan teks
- Penerjemahan bahasa
Apakah saya memerlukan GPU yang kuat untuk melakukan fine-tuning BERT?
Ya, fine-tuning BERT umumnya memerlukan GPU karena intensitas komputasi saat melatih model deep learning. Namun, versi BERT yang telah dilatih sebelumnya dapat digunakan untuk banyak tugas NLP dengan sumber daya komputasi minimal.
Apa saja alternatif untuk BERT?
Beberapa model dibangun dari atau bersaing dengan BERT, termasuk:
- ALBERT (Google AI): Versi BERT yang lebih ringan dan efisien
- RoBERTa (Meta): Versi BERT yang dioptimalkan dengan lebih banyak data pelatihan
- DistilBERT (Hugging Face): Versi BERT yang lebih kecil dan lebih cepat
- Model GPT (OpenAI): Model autoregresif yang dioptimalkan untuk pembuatan teks
Bagaimana cara mulai menggunakan BERT dalam proyek NLP saya sendiri?
Untuk mulai menggunakan BERT:
- Gunakan library Transformers dari Hugging Face untuk memuat model BERT pralatih.
- Lakukan fine-tuning BERT pada dataset Anda menggunakan PyTorch atau TensorFlow.
- Bereksperimenlah dengan API berbasis BERT dari Google, seperti model di TensorFlow Hub.
