Peringkasan Teks dalam Pemrosesan Bahasa Alami: Algoritma, Teknik & Tantangan
Diterbitkan: 2020-08-07Membuat ringkasan dari bagian konten tertentu adalah proses yang sangat abstrak yang diikuti oleh semua orang. Mengotomatiskan proses semacam itu dapat membantu mengurai banyak data dan membantu manusia menggunakan waktu mereka dengan lebih baik untuk membuat keputusan penting. Dengan banyaknya media di luar sana, seseorang dapat menjadi sangat efisien dengan mengurangi ketidakjelasan di sekitar informasi yang paling penting. Kami sudah mulai melihat ringkasan teks di seluruh web yang dibuat secara otomatis.
Jika Anda sering mengunjungi Reddit, Anda mungkin pernah melihat 'bot Autotldr' secara rutin membantu Redditor dengan meringkas artikel tertaut di pos tertentu. Itu dibuat hanya pada tahun 2011 dan telah menghemat ribuan jam kerja. Ada pasar untuk ringkasan teks yang andal, seperti yang ditunjukkan oleh tren aplikasi yang melakukan hal itu, seperti Inshorts (meringkas berita dalam 60 kata atau kurang) dan Blinkist (meringkas buku ).
Peringkasan Teks Otomatis , dengan demikian, merupakan batas yang menarik namun menantang dalam Pemrosesan Bahasa Alami (NLP) dan Pembelajaran Mesin (ML). Perkembangan terkini dalam Peringkasan teks otomatis berutang pada penelitian di bidang ini sejak 1950-an ketika makalah Hans Peter Luhn berjudul "Penciptaan otomatis abstrak sastra" diterbitkan.
Makalah ini menguraikan penggunaan fitur seperti frekuensi kata dan frekuensi frasa untuk mengekstrak kalimat penting dari sebuah dokumen. Ini diikuti oleh penelitian kritis lain yang dilakukan oleh Harold P Edmundson pada akhir 1960-an, yang menyoroti keberadaan kata-kata isyarat, kata-kata yang digunakan dalam judul yang muncul dalam teks, dan lokasi kalimat untuk mengekstrak kalimat penting dari sebuah dokumen.
Sekarang dunia telah membuat kemajuan dalam Pembelajaran mesin dan menerbitkan studi baru di lapangan, peringkasan teks otomatis hampir menjadi alat yang ada di mana-mana untuk berinteraksi dengan informasi di era digital.
Harus Dibaca: Gaji Insinyur NLP di India

Ada dua pendekatan utama untuk Meringkas teks dalam NLP
Daftar isi
Peringkasan Teks dalam NLP
1. Peringkasan berbasis ekstraksi
Seperti namanya, teknik ini hanya mengandalkan ekstraksi atau penarikan frase kunci dari sebuah dokumen. Kemudian diikuti dengan menggabungkan frase kunci ini untuk membentuk ringkasan yang koheren.
2. Peringkasan berbasis abstrak
Teknik ini, tidak seperti ekstraksi, bergantung pada kemampuan untuk memparafrasekan dan mempersingkat bagian dari dokumen. Ketika abstraksi tersebut dilakukan dengan benar dalam masalah pembelajaran yang mendalam, seseorang dapat yakin untuk memiliki tata bahasa yang konsisten. Namun, lapisan kerumitan tambahan ini harus dibayar dengan biaya yang lebih sulit untuk dikembangkan daripada ekstraksi.
Ada cara lain untuk menghasilkan ringkasan yang lebih berkualitas. Pendekatan ini disebut peringkasan berbantuan, yang memerlukan upaya gabungan manusia dan perangkat lunak. Ini juga hadir dalam 2 rasa yang berbeda
- Peringkasan manusia dengan bantuan mesin : teknik ekstraktif menyoroti bagian kandidat yang akan disertakan, yang dapat ditambahkan atau dihapus oleh manusia.
- Peringkasan mesin dibantu manusia : manusia hanya mengedit output dari perangkat lunak.
Terlepas dari pendekatan-pendekatan utama untuk meringkas teks, ada dasar-dasar lain di mana peringkasan teks diklasifikasikan. Berikut ketua kategori tersebut:
3. Peringkasan tunggal vs. Multi-dokumen
Dokumen tunggal bergantung pada keterpaduan dan pengulangan fakta yang jarang untuk menghasilkan ringkasan. Peringkasan multi-dokumen, di sisi lain, meningkatkan kemungkinan informasi yang berlebihan dan pengulangan.
4. Indikatif vs. informatif
Taksonomi ringkasan bergantung pada tujuan akhir pengguna. Misalnya, dalam ringkasan tipe indikatif, orang akan mengharapkan poin tingkat tinggi dari sebuah artikel. Padahal, dalam ikhtisar informatif, orang mungkin mengharapkan lebih banyak pemfilteran topik agar pembaca menelusuri ringkasan.
5. Panjang dan jenis dokumen
Panjang teks masukan sangat mempengaruhi jenis pendekatan peringkasan.
Kumpulan data ringkasan terbesar, seperti ruang berita oleh Cornell, telah berfokus pada artikel berita, yang rata-rata berisi 300-1000 kata. Peringkas ekstraktif menangani panjang seperti itu dengan relatif baik. Dokumen multihalaman atau bab dari sebuah buku hanya dapat diringkas secara memadai dengan pendekatan yang lebih maju seperti pengelompokan hierarkis atau analisis wacana.
Selain itu, genre teks juga memengaruhi ringkasan. Metode yang akan meringkas buku putih teknis akan sangat berbeda dari teknik yang mungkin lebih siap untuk meringkas laporan keuangan.
Pada artikel ini, kita akan fokus pada rincian lebih lanjut dari teknik ekstraksi summarization.
Algoritma PageRank
Algoritma ini membantu mesin pencari seperti halaman web peringkat google. Mari kita memahami algoritma dengan sebuah contoh. Asumsikan Anda memiliki empat halaman web dengan tingkat konektivitas yang berbeda di antara mereka. Seseorang mungkin tidak memiliki tautan ke tiga lainnya; satu mungkin terhubung ke 2 lainnya, satu mungkin berkorelasi hanya dengan satu, dan seterusnya.
Kami kemudian dapat memodelkan probabilitas navigasi dari satu halaman ke halaman lain dengan menggunakan matriks dengan n baris dan kolom, di mana n adalah jumlah halaman web. Setiap elemen dalam matriks akan mewakili kemungkinan transisi dari satu halaman web ke halaman web lainnya. Dengan menetapkan probabilitas yang tepat, seseorang dapat memperbarui matriks seperti itu secara berulang untuk mencapai peringkat halaman web.
Baca Juga: Proyek & Topik NLP
Algoritma Peringkat Teks
Alasan kami menjelajahi algoritme PageRank adalah untuk menunjukkan bagaimana algoritme yang sama dapat digunakan untuk menentukan peringkat teks alih-alih halaman web. Ini dapat dilakukan dengan mengubah perspektif dengan mengganti tautan antar halaman ke kesamaan antar kalimat dan menggunakan matriks gaya PageRank sebagai skor kesamaan.
Menerapkan algoritma TextRank
Perpustakaan yang Diperlukan
- mati rasa
- panda
- Ntlk
- ulang
Berikut penjelasan kode di balik teknik ekstraksi summarization:
Langkah 1
Gabungkan semua teks yang Anda miliki di dokumen sumber sebagai satu blok teks yang solid. Alasan melakukannya adalah untuk memberikan kondisi sehingga kita dapat menjalankan langkah 2 dengan lebih mudah.
Langkah 2
Kami menyediakan kondisi yang mendefinisikan sebuah kalimat seperti mencari tanda baca seperti titik (.), tanda tanya (?), dan tanda seru (!). Setelah kami memiliki definisi ini, kami hanya membagi dokumen teks menjadi kalimat.
Langkah 3
Sekarang kami memiliki akses ke kalimat yang terpisah, kami menemukan representasi vektor (penyematan kata) dari masing-masing kalimat tersebut. Sekarang kita harus memahami apa itu representasi vektor. Penyematan kata adalah jenis representasi kata yang memberikan deskripsi matematis kata-kata dengan arti yang serupa. Pada kenyataannya, ini adalah seluruh kelas teknik yang mewakili kata-kata sebagai vektor bernilai nyata dalam ruang vektor yang telah ditentukan.

Setiap kata diwakili oleh vektor bernilai nyata yang memiliki banyak dimensi (lebih dari 100 kali). Representasi distribusi didasarkan pada penggunaan kata-kata dan, dengan demikian, memungkinkan kata-kata yang digunakan dengan cara yang serupa memiliki deskripsi yang serupa. Hal ini memungkinkan kita untuk menangkap makna kata secara alami karena kedekatannya dengan kata lain yang direpresentasikan sebagai vektor itu sendiri.
Untuk panduan ini, kita akan menggunakan Global Vectors of Word Representation (GloVe). GloVe adalah algoritme representasi kata terdistribusi sumber terbuka yang dikembangkan oleh Pennington di Stanford. Ini menggabungkan fitur dari 2 keluarga model, yaitu faktorisasi matriks global dan metode jendela konteks lokal.
Langkah 4
Setelah kami memiliki representasi vektor untuk kata-kata kami, kami harus memperluas proses untuk mewakili seluruh kalimat sebagai vektor. Untuk melakukannya, kita dapat mengambil representasi vektor dari istilah yang membentuk kata-kata dalam sebuah kalimat dan kemudian mean/rata-rata dari vektor tersebut untuk sampai pada vektor gabungan untuk kalimat tersebut.
Langkah 5
Pada titik ini, kami memiliki representasi vektor untuk setiap kalimat individu. Sekarang membantu untuk mengukur kesamaan antara kalimat menggunakan pendekatan kesamaan kosinus. Kita kemudian dapat mengisi matriks kosong dengan persamaan kosinus dari kalimat.
Langkah 6
Sekarang kita memiliki matriks yang diisi dengan persamaan kosinus antara kalimat. Kita dapat mengubah matriks ini menjadi grafik dimana node mewakili kalimat, dan tepi mewakili kesamaan antar kalimat. Pada grafik inilah kita akan menggunakan algoritma PageRank yang berguna untuk sampai pada peringkat kalimat.
Langkah 7
Kami sekarang telah membuat peringkat semua kalimat dalam artikel dalam urutan kepentingan. Sekarang kita dapat mengekstrak kalimat N (katakanlah 10) teratas untuk membuat ringkasan.
Untuk menemukan kode metode seperti itu, ada banyak proyek semacam itu di Github; artikel ini, di sisi lain, membantu mengembangkan pemahaman yang sama.
Lihat: Evolusi Pemodelan Bahasa dalam Kehidupan Modern
Teknik evaluasi
Faktor penting dalam menyempurnakan model semacam itu adalah memiliki metode yang andal untuk menilai kualitas ringkasan yang dihasilkan. Hal ini memerlukan teknik evaluasi yang baik, yang secara garis besar dapat diklasifikasikan sebagai berikut:
- Evaluasi intrinsik dan ekstrinsik :
Intrinsik: evaluasi semacam itu menguji sistem peringkasan itu sendiri. Mereka terutama menilai koherensi dan keinformatifan ringkasan.
Ekstrinsik: evaluasi semacam itu menguji ringkasan berdasarkan bagaimana hal itu memengaruhi beberapa tugas lain. Ini dapat menguji dampak ringkasan pada tugas-tugas seperti penilaian relevansi, pemahaman bacaan, dll.
- Intertekstual dan Intratekstual :
Inter-tekstual: Evaluasi semacam itu berfokus pada analisis kontrastif dari beberapa sistem peringkasan.
Intra-tekstual: evaluasi semacam itu menilai keluaran dari sistem peringkasan tertentu.
- Domain-spesifik dan domain-independen :
Domain independen: Teknik ini umumnya menerapkan serangkaian fitur umum yang dapat difokuskan untuk mengidentifikasi segmen teks kaya informasi.
Domain-spesifik: Teknik ini memanfaatkan pengetahuan yang tersedia khusus untuk domain pada teks. Misalnya, peringkasan teks literatur medis membutuhkan penggunaan sumber pengetahuan medis dan ontologi.
- Mengevaluasi ringkasan secara kualitatif :
Kelemahan utama dari teknik evaluasi lainnya adalah bahwa mereka memerlukan ringkasan referensi untuk dapat membandingkan output ringkasan otomatis dengan model. Hal ini membuat tugas evaluasi menjadi sulit dan mahal. Ada pekerjaan yang sedang dilakukan untuk membangun kumpulan artikel/dokumen dan ringkasannya yang sesuai untuk memecahkan masalah ini.
Tantangan untuk Peringkasan Teks
Meskipun alat yang sangat maju untuk menghasilkan dan mengevaluasi ringkasan, tantangan tetap ada untuk menemukan cara yang andal bagi peringkas teks untuk memahami apa yang penting dan relevan.
Seperti yang telah dibahas, representasi vektor dan matriks kesamaan berusaha untuk menemukan asosiasi kata, tetapi mereka masih tidak memiliki metode yang dapat diandalkan untuk mengidentifikasi kalimat yang paling penting.
Tantangan lain dalam peringkasan teks adalah kompleksitas bahasa manusia dan cara orang mengekspresikan diri, terutama dalam teks tertulis. Bahasa tidak hanya terdiri dari kalimat panjang dengan kata sifat dan kata keterangan untuk menggambarkan sesuatu tetapi juga kalimat relatif, aposisi, dll. Wawasan seperti itu dapat menambah informasi berharga mereka tidak membantu dalam membangun inti informasi utama untuk dimasukkan ke dalam ringkasan.

“Masalah Anaphora” adalah hambatan lain dalam peringkasan teks. Dalam bahasa, kita sering mengganti subjek dalam percakapan dengan sinonim atau kata ganti. Pemahaman tentang kata ganti mana yang menggantikan istilah mana adalah "masalah anafora."
“Masalah Cataphora” adalah kebalikan dari masalah anafora. Dalam kata-kata dan penjelasan yang ambigu ini, istilah tertentu digunakan dalam teks sebelum memperkenalkan istilah itu sendiri.
Kesimpulan
Bidang peringkasan teks mengalami pertumbuhan pesat, dan alat khusus sedang dikembangkan untuk menangani tugas peringkasan yang lebih terfokus. Dengan perangkat lunak sumber terbuka dan paket penyisipan kata menjadi tersedia secara luas, pengguna memperluas kasus penggunaan teknologi ini.
Peringkasan teks otomatis adalah alat yang memungkinkan lompatan kuantum dalam produktivitas manusia dengan menyederhanakan volume informasi yang berinteraksi dengan manusia setiap hari. Ini tidak hanya memungkinkan orang untuk mengurangi bacaan yang diperlukan tetapi juga membebaskan waktu untuk membaca dan memahami karya tulis yang diabaikan. Hanya masalah waktu bahwa peringkasan semacam itu terintegrasi dengan sangat baik sehingga mereka membuat ringkasan yang tidak dapat dibedakan dari yang ditulis oleh manusia.
Jika Anda ingin meningkatkan keterampilan NLP Anda, Anda perlu mendapatkan proyek NLP ini. Jika Anda tertarik untuk mempelajari lebih lanjut tentang pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk para profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, IIIT- B Status alumni, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
Apa kegunaan NLP?
NLP atau Natural Language Processing, salah satu teknologi modern yang paling canggih dan menarik, digunakan dalam berbagai cara. Aplikasi utamanya meliputi – koreksi kata otomatis, prediksi otomatis, chatbots dan asisten suara, pengenalan suara di asisten virtual, analisis sentimen ucapan manusia, pemfilteran email dan spam, terjemahan, analitik media sosial, iklan target, ringkasan teks, dan pemindaian resume untuk rekrutmen antara lain. Kemajuan lebih lanjut dalam NLP memunculkan konsep seperti Pemahaman Bahasa Alami (NLU) membantu mencapai akurasi yang lebih tinggi dan hasil yang jauh lebih unggul dari tugas-tugas kompleks.
Apakah saya harus belajar matematika untuk belajar NLP?
Dengan banyaknya sumber daya yang tersedia baik offline maupun online, sekarang lebih mudah untuk mengakses materi studi yang dirancang untuk belajar NLP. Sumber daya studi ini adalah semua tentang konsep spesifik dari bidang luas yang disebut NLP ini daripada gambaran yang lebih besar. Tetapi jika Anda bertanya-tanya apakah matematika adalah bagian dari konsep NLP, maka Anda harus tahu bahwa matematika adalah bagian penting dari NLP. Matematika, terutama teori probabilitas, statistik, aljabar linier, dan kalkulus, adalah pilar dasar dari algoritma yang mendorong NLP. Memiliki pemahaman dasar tentang statistik sangat membantu sehingga Anda dapat membangunnya sesuai kebutuhan. Namun, tidak ada cara untuk mempelajari pemrosesan Bahasa Alami tanpa masuk ke matematika.
Apa sajakah teknik NLP yang digunakan untuk mengekstrak informasi?
Di era digital ini, terjadi lonjakan besar-besaran dalam pembangkitan data tidak terstruktur, terutama dalam bentuk audio, gambar, video, dan teks dari berbagai saluran seperti platform media sosial, keluhan pelanggan, dan survei. NLP membantu mengekstrak informasi yang berguna dari volume data tidak terstruktur, yang dapat membantu bisnis. Ada lima teknik NLP umum yang digunakan untuk mengekstrak data mendalam, yaitu – pengenalan entitas bernama, ringkasan teks, analisis sentimen, penambangan aspek, dan pemodelan topik. Ada banyak metode ekstraksi data lain di NLP, tetapi ini adalah yang paling populer digunakan.
