
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