Ekstraksi Informasi Penting dari… – Menuju AI

Ekstraksi Informasi Penting dari… – Menuju AI

Pengarang: Eman Shemsu

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Objektif

Meskipun ada peningkatan jumlah makalah yang diterbitkan setiap tahun, sedikit pekerjaan yang dilakukan pada penerapan Pembelajaran Mesin ke makalah ilmiah. Model pembelajaran mesin juga menjadi lebih pintar. Meskipun makalah ilmiah sulit dipahami bahkan oleh kita manusia, makalah tersebut mengandung struktur, format, dan bahasa yang unik yang membedakannya dari dokumen lain.

Foto oleh Andrea De Santis di Unsplash

Dalam proyek ini, saya akan mendemonstrasikan bagaimana kita dapat mengekstrak dan meringkas informasi penting dari dokumen tersebut mengikuti pendekatan multidisiplin Pemrosesan Bahasa Alami dan Visi Komputer. Harap dicatat bahwa ini adalah kelanjutan dari blog saya sebelumnya tentang Ekstraksi informasi penting dari karya ilmiah.

rekap

Saya telah membahas bagian visi komputer di blog saya sebelumnya di sini. Berikut ini adalah ringkasan dari apa yang dibahas.

Bagian visi komputer berisi saluran UNet-OCR yang melakukan hal berikut:

Ekstraksi bagian penting yang dipelajari oleh UNet dan Konversi bagian yang dipelajari menjadi teks menggunakan OCR

UNet menghasilkan topeng hitam dan putih yang menyoroti bagian Judul, Penulis/Penulis, dan Abstrak dari makalah tertentu. Langkah pasca-pemrosesan mengikuti di mana gambar bertopeng direkonstruksi menjadi gambar RGB. Gambar ini kemudian diteruskan ke mesin Optical character recognition (OCR) untuk diubah menjadi teks. Saya telah menggunakan Tesseract dengan parameter default untuk OCR.

Gambar 1: Jalur pipa UNet-OCR. Gambar oleh Penulis

Peringkasan Teks dengan BERT

Peringkasan teks adalah teknik pembelajaran mesin yang bertujuan menghasilkan ringkasan teks yang ringkas dan tepat tanpa kehilangan makna secara keseluruhan. Peringkasan teks adalah domain Pemrosesan bahasa alami yang populer dan banyak diteliti.

Ada dua pendekatan untuk meringkas teks yaitu:

Peringkasan teks ekstraktif Peringkasan teks abstrak

Dalam Peringkasan teks ekstraktif, ringkasan dibuat menggunakan kutipan dari teks. Tidak ada teks baru yang dihasilkan; hanya teks yang ada yang digunakan dalam proses peringkasan. Ini dapat dilakukan dengan menilai setiap kalimat dan menghasilkan k kalimat terpenting dari teks.

Peringkasan abstrak adalah bagaimana manusia akan melakukan ringkasan konten yaitu menjelaskan dengan kata-kata sendiri. Ringkasan akan mencakup kata, frasa, dan kalimat yang tidak ada dalam teks.

Saya mengikuti pendekatan peringkasan teks Ekstraktif untuk proyek ini dan menggunakan peringkas ekstraktif Bert sumber terbuka[1] gudang.

BERT[2] singkatan dari Bidirectional Encoder Representations from Transformers[3] dan merupakan model yang telah mempelajari representasi kalimat dari pelatihan pada korpus yang sangat besar. Hanya bagian encoder yang diambil dari arsitektur encoder-decoder Transformers untuk model BERT.

Gambar 2: Arsitektur transformator. Gambar oleh Vaswani dkk

Singkatnya, bagian encoder menerima penyisipan kata dari teks input. Pengkodean posisi mengubah penyisipan kata untuk menambahkan makna pada setiap kata sehubungan dengan konteks posisinya. Blok perhatian (Multi-head Attention) menghitung vektor perhatian untuk setiap kata. Vektor-vektor ini kemudian diumpankan ke Jaringan Neural feed-forward satu vektor pada satu waktu. Hasil ini terdiri dari satu set vektor yang dikodekan untuk setiap kata yang merupakan keluaran akhir dari model BERT.

Repositori Bert-extractive-summarizer didasarkan pada makalah Leveraging BERT for Extractive Text Summarization on Lectures [4]. Makalah ini menjelaskan penggunaan BERT untuk menghasilkan representasi kalimat dan kemudian menggunakan algoritma K-mean untuk mengelompokkan representasi ini di sekitar k konsep. K kalimat yang paling dekat dengan centroid masing-masing kemudian dikembalikan sebagai ringkasan representatif untuk cluster mereka.

Mulai

Mulailah dengan mengkloning repositori saya yang tersedia di Dagshub[5].

git clone https://dagshub.com/Eman22S/Unet-OCR-2.0.git

Instal DVC.

pip install dvc

Instal dagshub.

pip install dagshub

Instal Tesseract.

sudo apt install tesseract-ocr-all -y

Instal Bert.

pip install bert-extractive-summarizer

Konfigurasikan asal DVC Anda.

dvc remote memodifikasi dv-origin — dasar auth lokal
dvc remote memodifikasi dv-origin — pengguna lokal {nama pengguna Dagshub Anda}
dvc remote memodifikasi dv-origin — kata sandi lokal {kata sandi Dagshub Anda}

Jika Anda merasa bingung dalam mengonfigurasi DVC Anda, lihat dokumentasi ini.

Selanjutnya, tarik dataset terlacak saya ke sistem Anda menggunakan perintah ini.

dvc tarik -r dv-asal

Jalankan tesseract pada gambar Anda di dalam shell python.

impor hasil subproses= subproses.run([‘tesseract’,’postprocessed/1409.1556_0.jpg’,
‘-‘,’-l’,’eng’]stdout=subproses.PIPE) hasil = hasil.stdout
hasil = str(hasil)

Berikan hasil ini ke model Summarizer.

dari summarizer impor Summarizer
tubuh = hasil
model = Peringkas()
result = model(body, ratio=0.2) # Ditentukan dengan rasio result = model(body, num_sentences=3) # Akan mengembalikan 3 kalimat
cetak (hasil)

Blok kode di atas memanggil model dengan teks Anda (tubuh) dan jumlah kalimat = 3. Ini berarti model akan merangkum teks Anda dalam 3 kalimat. Anda dapat menambah atau mengurangi jumlah kalimat tergantung pada kasus penggunaan Anda. Jika Anda menggunakan Google Colab Notebook, lihat notebook ini.

Apa yang saya gunakan?

Colab notebook versi gratis Dagshub sebagai DVC repositori online saya untuk melacak dataset saya Bert-extractive-summarizer

Pipa Proyek

Gambar di bawah menunjukkan output pada 1409.1556_0.jpg ditemukan di sini.

Gambar 2: Output Bert pada Gambar. Gambar oleh Penulis

Kesimpulan

Anda dapat melatih UNet untuk mengekstrak bagian mana pun dari makalah ilmiah, tetapi untuk eksperimen ini, saya memilih bagian Abstrak, Penulis, dan Judul. BERT memberi kita hasil akhir yang merupakan ringkasan bagian yang ditemukan di Abstrak, Penulis, dan Judul. Sementara sebagian besar makalah memiliki format, struktur, dan bagian yang kurang lebih serupa, tantangan untuk proyek ini adalah mengekstrak bagian tertentu di mana bagian itu mungkin/mungkin tidak ada untuk makalah tertentu.

Dengan itu, kami telah mencapai tonggak akhir. Selamat telah berhasil sejauh ini! Jangan ragu untuk menghubungi jika ada pertanyaan atau umpan balik. Akan senang mendengar dari Anda!

Referensi

[1] https://github.com/dmmiler612/bert-extractive-summarizer

[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, dan Kristina Toutanova. 2019. BERT: Pra-pelatihan Deep Bidirectional Transformers untuk Pemahaman Bahasa. Dalam Prosiding Konferensi 2019 Bab Amerika Utara dari Asosiasi Linguistik Komputasi: Teknologi Bahasa Manusia, Volume 1 (Makalah Panjang dan Pendek), halaman 4171–4186, Minneapolis, Minnesota. Asosiasi Linguistik Komputasi.

[3] Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, ukasz Kaiser, dan Illia Polosukhin. “Hanya perhatian yang kamu butuhkan.” Kemajuan dalam sistem pemrosesan informasi saraf 30 (2017).

[4] Miller, Derek. “Memanfaatkan BERT untuk peringkasan teks ekstraktif pada kuliah.” pracetak arXiv arXiv:1906.04165 (2019).

[5] https://dagshub.com/docs/

Dari UNet ke BERT: Ekstraksi Informasi Penting dari Makalah Ilmiah awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jeffrey Hayes