Natural Language Processing (NLP) Didefinisikan
Natural language processing (NLP) adalah cabang kecerdasan buatan (AI) yang memungkinkan komputer untuk memahami, menghasilkan, dan memanipulasi bahasa manusia. Pemrosesan bahasa alami memiliki kemampuan untuk menginterogasi data dengan teks atau suara bahasa alami. Ini juga disebut "bahasa dalam." Sebagian besar konsumen mungkin telah berinteraksi dengan NLP tanpa menyadarinya. Misalnya, NLP adalah teknologi inti di balik asisten virtual, seperti Oracle Digital Assistant (ODA), Siri, Cortana, atau Alexa.
Ketika kami mengajukan pertanyaan kepada asisten virtual ini, NLP adalah apa yang memungkinkan mereka untuk tidak hanya memahami permintaan pengguna, tetapi juga merespons dalam bahasa alami. NLP berlaku baik untuk teks tertulis dan ucapan, dan dapat diterapkan ke semua bahasa manusia. Contoh lain dari alat yang didukung oleh NLP termasuk pencarian web, pemfilteran spam email, terjemahan otomatis teks atau ucapan, ringkasan dokumen, analisis sentimen, dan pemeriksaan tata bahasa/ejaan. Misalnya, beberapa program email dapat secara otomatis menyarankan balasan yang sesuai ke pesan berdasarkan kontennya—program ini menggunakan NLP untuk membaca, menganalisis, dan menanggapi pesan Anda.
Ada beberapa istilah lain yang kira-kira identik dengan NLP. Natural language understanding (NLU) dan natural language generation (NLG) mengacu pada penggunaan komputer untuk memahami dan menghasilkan bahasa manusia. NLG memiliki kemampuan untuk memberikan deskripsi verbal tentang apa yang telah terjadi. Ini juga disebut "language out" dengan meringkas dengan informasi yang bermakna ke dalam teks menggunakan konsep yang dikenal sebagai "tata bahasa grafik."
Dalam praktiknya, NLU digunakan untuk berarti NLP. Pemahaman oleh komputer tentang struktur dan makna semua bahasa manusia, memungkinkan pengembang dan pengguna untuk berinteraksi dengan komputer menggunakan kalimat dan komunikasi alami. Linguistik komputasi (CL) adalah bidang ilmiah yang mempelajari aspek komputasi bahasa manusia, sedangkan NLP adalah disiplin teknik yang berkaitan dengan membangun artefak komputasi yang memahami, menghasilkan, atau memanipulasi bahasa manusia.
Penelitian tentang NLP dimulai tak lama setelah penemuan komputer digital pada 1950-an, dan NLP mengacu pada linguistik dan AI. Namun, terobosan besar beberapa tahun terakhir telah didukung oleh pembelajaran mesin, yang merupakan cabang AI yang mengembangkan sistem yang belajar dan menggeneralisasi dari data. Pembelajaran mendalamadalah sejenispembelajaran mesinyang dapat mempelajari pola yang sangat kompleks dari himpunan data besar, yang berarti sangat cocok untuk mempelajari kompleksitas bahasa alami dari himpunan data yang bersumber dari web.
Aplikasi Pemrosesan Bahasa Alami
Otomatiskan tugas rutin:Chatbotsyang didukung oleh NLP dapat memproses sejumlah besar tugas rutin yang ditangani oleh agen manusia saat ini, membebaskan karyawan untuk mengerjakan tugas yang lebih menantang dan menarik. Misalnya, chatbot danAsisten Digitaldapat mengenali berbagai macam permintaan pengguna, mencocokkannya dengan entri yang sesuai dalam database perusahaan, dan merumuskan respons yang sesuai kepada pengguna.
Tingkatkan pencarian: NLP dapat meningkatkan pencarian pencocokan kata kunci untuk pengambilan dokumen dan FAQ dengan membedakan indera kata berdasarkan konteks (misalnya, "pembawa" berarti sesuatu yang berbeda dalam konteks biomedis dan industri), mencocokkan sinonim (misalnya, mengambil dokumen yang menyebutkan "mobil" yang diberi pencarian untuk "mobil"), dan mempertimbangkan variasi morfologis (yang penting untuk kueri non-Inggris). Sistem pencarian akademis yang didukung NLP yang efektif dapat secara dramatis meningkatkan akses ke penelitian mutakhir yang relevan untuk dokter, pengacara, dan spesialis lainnya.
Optimisasi mesin pencari: NLP adalah alat yang hebat untuk mendapatkan peringkat bisnis Anda lebih tinggi dalam pencarian online dengan menganalisis pencarian untuk mengoptimalkan konten Anda. Mesin pencari menggunakan NLP untuk menentukan peringkat hasil mereka — dan mengetahui cara menggunakan teknik ini secara efektif membuatnya lebih mudah untuk diberi peringkat di atas pesaing Anda. Ini akan mengarah pada visibilitas yang lebih besar untuk bisnis Anda.
Menganalisis dan mengatur koleksi dokumen besar: Teknik NLP seperti pengelompokan dokumen dan pemodelan topik menyederhanakan tugas memahami keragaman konten dalam koleksi dokumen besar, seperti laporan perusahaan, artikel berita, atau dokumen ilmiah. Teknik-teknik ini sering digunakan dalam tujuan penemuan hukum.
Analisis media sosial: NLP dapat menganalisis ulasan pelanggan dan komentar media sosial untuk lebih memahami volume informasi yang sangat besar. Analisis sentimen mengidentifikasi komentar positif dan negatif dalam aliran komentar media sosial, memberikan ukuran langsung sentimen pelanggan secara real time. Hal ini dapat menyebabkan hasil yang sangat besar di telepon, seperti peningkatan kepuasan pelanggan dan pendapatan.
Wawasan pasar: Dengan NLP yang bekerja untuk menganalisis bahasa pelanggan bisnis Anda, Anda akan memiliki pegangan yang lebih baik tentang apa yang mereka inginkan, dan juga gagasan yang lebih baik tentang cara berkomunikasi dengan mereka. Analisis sentimen berorientasi aspek mendeteksi sentimen yang terkait dengan aspek atau produk tertentu di media sosial (misalnya, "keyboardnya bagus, tetapi layarnya terlalu redup"), memberikan informasi yang dapat ditindaklanjuti secara langsung untuk desain dan pemasaran produk.
Memoderasi konten: Jika bisnis Anda menarik banyak komentar pengguna atau pelanggan, NLP memungkinkan Anda untuk memoderasi apa yang dikatakan untuk menjaga kualitas dan kesopanan dengan menganalisis tidak hanya kata-kata, tetapi juga nada dan maksud komentar.
Industri yang Menggunakan Natural Language Processing
NLP menyederhanakan dan mengotomatiskan berbagai proses bisnis, terutama yang melibatkan sejumlah besar teks tidak terstruktur seperti email, survei, percakapan media sosial, dan banyak lagi. Dengan NLP, bisnis lebih mampu menganalisis data mereka untuk membantu membuat keputusan yang tepat. Berikut adalah beberapa contoh aplikasi praktis NLP:
Ikhtisar Teknologi NLP
Model pembelajaran mesin untuk NLP: Kami sebutkan sebelumnya bahwa NLP modern sangat bergantung pada pendekatan AI yang disebut pembelajaran mesin. Pembelajaran mesin membuat prediksi dengan menggeneralisasi contoh dalam himpunan data. Himpunan data ini disebut data pelatihan, dan algoritme pembelajaran mesin melatih data pelatihan ini untuk menghasilkan model pembelajaran mesin yang menyelesaikan tugas target.
Misalnya, data pelatihan analisis sentimen terdiri dari kalimat bersama dengan sentimen mereka (misalnya, sentimen positif, negatif, atau netral). Algoritma pembelajaran mesin membaca himpunan data ini dan menghasilkan model yang mengambil kalimat sebagai input dan mengembalikan sentimennya. Model semacam ini, yang mengambil kalimat atau dokumen sebagai input dan mengembalikan label untuk input tersebut, disebut model klasifikasi dokumen. Pengklasifikasi dokumen juga dapat digunakan untuk mengklasifikasikan dokumen berdasarkan topik yang mereka sebutkan (misalnya, sebagai olahraga, keuangan, politik, dll.).
Jenis model lain digunakan untuk mengenali dan mengklasifikasikan entitas dalam dokumen. Untuk setiap kata dalam dokumen, model memprediksi apakah kata itu adalah bagian dari penyebutan entitas, dan jika demikian, entitas seperti apa yang terlibat. Misalnya, dalam "saham XYZ Corp yang diperdagangkan seharga $28 kemarin", "XYZ Corp" adalah entitas perusahaan, "$28" adalah jumlah mata uang, dan "kemarin" adalah tanggal. Data pelatihan untuk pengenalan entitas adalah kumpulan teks, di mana setiap kata diberi label dengan jenis entitas yang dirujuk oleh kata tersebut. Model semacam ini, yang menghasilkan label untuk setiap kata dalam input, disebut model pelabelan urutan.
Model urutan ke urutanadalah tambahan yang sangat baru untuk keluarga model yang digunakan dalam NLP. Model urutan ke urutan (atau seq2seq) mengambil seluruh kalimat atau dokumen sebagai input (seperti dalam pengklasifikasi dokumen) tetapi menghasilkan kalimat atau urutan lain (misalnya, program komputer) sebagai output. (Pengklasifikasi dokumen hanya menghasilkan satu simbol sebagai output). Contoh aplikasi model seq2seq termasuk terjemahan mesin, yang misalnya, mengambil kalimat bahasa Inggris sebagai input dan mengembalikan kalimat Prancisnya sebagai output; peringkasan dokumen (di mana output adalah ringkasan dari input); dan parsing semantik (di mana input adalah kueri atau permintaan dalam bahasa Inggris, dan outputnya adalah program komputer yang mengimplementasikan permintaan itu).
Pembelajaran mendalam, model yang telah dilatih sebelumnya, dan pembelajaran transfer:Pembelajaran mendalam adalah jenis pembelajaran mesin yang paling banyak digunakan di NLP. Pada 1980-an, para peneliti mengembangkan jaringan saraf, di mana sejumlah besar model pembelajaran mesin primitif digabungkan menjadi satu jaringan: dengan analogi dengan otak, model pembelajaran mesin sederhana kadang-kadang disebut "neuron." Neuron-neuron ini disusun berlapis-lapis, dan jaringan saraf yang dalam adalah satu dengan banyak lapisan. Pembelajaran mendalam adalah pembelajaran mesin menggunakan model jaringan saraf dalam.
Karena kompleksitasnya, umumnya dibutuhkan banyak data untuk melatih jaringan saraf yang dalam, dan memprosesnya membutuhkan banyak daya dan waktu komputasi. Model NLP jaringan saraf dalam modern dilatih dari beragam sumber, seperti semua Wikipedia dan data yang diambil dari web. Data pelatihan mungkin berukuran 10 GB atau lebih, dan mungkin perlu waktu seminggu atau lebih pada kluster berkinerja tinggi untuk melatih jaringan saraf dalam. (Para peneliti menemukan bahwa melatih model yang lebih dalam dari kumpulan data yang lebih besar memiliki kinerja yang lebih tinggi, jadi saat ini ada perlombaan untuk melatih model yang lebih besar dan lebih besar dari kumpulan data yang lebih besar dan lebih besar).
Data yang rakus dan persyaratan komputasi Deep Neural Networks tampaknya akan sangat membatasi kegunaannya. Namun, pembelajaran transfer memungkinkan jaringan saraf dalam yang terlatih untuk dilatih lebih lanjut untuk mencapai tugas baru dengan data pelatihan dan upaya komputasi yang jauh lebih sedikit. Jenis pembelajaran transfer yang paling sederhana disebut fine tuning. Ini hanya terdiri dari pelatihan pertama model pada himpunan data generik besar (misalnya, Wikipedia) dan kemudian pelatihan lebih lanjut ("fine-tuning") model pada himpunan data khusus tugas yang jauh lebih kecil yang diberi label dengan tugas target aktual. Mungkin mengejutkan, himpunan data fine-tuning bisa sangat kecil, mungkin hanya berisi ratusan atau bahkan puluhan contoh pelatihan, dan pelatihan fine-tuning hanya membutuhkan beberapa menit pada satu CPU. Pembelajaran transfer memudahkan penerapan model pembelajaran mendalam di seluruh perusahaan.
Sekarang ada seluruh ekosistem penyedia yang memberikan model pembelajaran mendalam yang telah dilatih sebelumnya yang dilatih pada kombinasi bahasa, himpunan data, dan tugas prapelatihan yang berbeda. Model yang telah dilatih sebelumnya ini dapat diunduh dan disetel dengan baik untuk berbagai tugas target yang berbeda.
Contoh Teknik Preprocessing NLP
Tokenisasi: Tokenisasi membagi teks mentah (misalnya., kalimat atau dokumen) menjadi urutan token, seperti kata atau potongan sub-kata. Tokenisasi sering kali merupakan langkah pertama dalam alur pemrosesan NLP. Token biasanya merupakan urutan teks berulang yang diperlakukan sebagai satuan atom dalam pemrosesan selanjutnya. Mereka mungkin kata-kata, unit subword yang disebut morfem (misalnya, awalan seperti "un-" atau sufiks seperti "-ing" dalam bahasa Inggris), atau bahkan karakter individu.
Model tas kata-kata: Model tas kata-kata memperlakukan dokumen sebagai kumpulan token atau kata-kata yang tidak berurutan (tas seperti satu set, kecuali bahwa ia melacak berapa kali setiap elemen muncul). Karena mereka sama sekali mengabaikan urutan kata, model bag-of-words akan membingungkan kalimat seperti "anjing menggigit manusia" dengan "manusia menggigit anjing." Namun, model bag-of-words sering digunakan untuk alasan efisiensi pada tugas pengambilan informasi besar seperti mesin pencari. Mereka dapat menghasilkan hasil yang mendekati canggih dengan dokumen yang lebih panjang.
Hentikan penghapusan kata: "Stop word" adalah token yang diabaikan dalam pemrosesan selanjutnya. Mereka biasanya pendek, kata-kata yang sering seperti "a," "the," atau "an." Model bag-of-words dan mesin pencari sering mengabaikan kata-kata berhenti untuk mengurangi waktu pemrosesan dan penyimpanan dalam database. Jaringan saraf dalam biasanya memperhitungkan urutan kata (yaitu, mereka bukan model bag-of-words) dan tidak menghentikan penghapusan kata karena kata-kata berhenti dapat menyampaikan perbedaan makna yang halus (misalnya, "paket hilang" dan "paket hilang" tidak berarti hal yang sama, meskipun mereka sama setelah penghapusan kata berhenti).
Membendung dan lemmatisasi: Morfem adalah elemen bahasa yang mengandung makna terkecil. Biasanya morfem lebih kecil dari kata-kata. Misalnya, "ditinjau kembali" terdiri dari awalan "re-", batang "kunjungan," dan akhiran lampau "-ed." Membendung dan lemmatisasi memetakan kata-kata ke bentuk batangnya (misalnya, "kunjungi kembali" + MASA LALU). Stemming dan lemmatisasi adalah langkah penting dalam model pra-deep learning, tetapi model deep learning umumnya mempelajari keteraturan ini dari data pelatihan mereka, sehingga tidak memerlukan langkah stemming atau lemmatisasi eksplisit.
Penandaan bagian dari ucapan dan penguraian sintaksis: Penandaan part-of-speech (PoS) adalah proses pelabelan setiap kata dengan bagian ucapannya (misalnya, kata benda, kata kerja, kata sifat, dll.). Pengurai sintaksis mengidentifikasi bagaimana kata-kata bergabung untuk membentuk frasa, klausa, dan seluruh kalimat. Penandaan PoS adalah tugas pelabelan urutan, penguraian sintaksis adalah jenis tugas pelabelan urutan yang diperluas, dan Nntworks saraf dalam adalah teknologi canggih untuk penandaan PoS dan penguraian sintaksis. Sebelum pembelajaran mendalam, penandaan PoS dan penguraian sintaksis adalah langkah-langkah penting dalam pemahaman kalimat. Namun, model NLP pembelajaran mendalam modern umumnya hanya mendapat manfaat sedikit (jika sama sekali) dari PoS atau informasi sintaksis, sehingga baik penandaan PoS maupun penguraian sintaksis tidak banyak digunakan dalam pembelajaran mendalam NLP.