Saya seorang bibliofil – saya suka membaca buku di waktu luang saya dan menggali pengetahuan sebanyak yang saya bisa. Namun di era informasi yang berlebihan saat ini, cara kita membaca sesuatu telah berubah. Sebagian besar dari kita cenderung melewatkan keseluruhan teks, entah itu artikel, buku, atau tutorial – dan hanya membaca potongan teks yang relevan Show
Biarkan saya berbagi contoh pribadi di sekitar ini. Saya baru-baru ini membaca sebuah artikel tentang tur India yang akan datang ke Australia ketika saya menyadari betapa cepatnya saya mencapai akhir teks. Saya membaca sekilas sebagian besar, hanya membaca berita utama dan sedikit tentang Virat Kohli. Berikut kutipan dari artikel tersebut Bisakah Anda menebak mengapa beberapa kata disorot dengan warna merah? . Dan ini membuat saya berpikir – sebagai seseorang di bidang Natural Language Processing (NLP), dapatkah saya membuat model yang dapat mengekstrak potongan-potongan yang relevan ini dari teks tertentu? Ternyata jawabannya ya – berkat konsep yang disebut Ekstraksi Informasi. Kita akan mempelajari lebih lanjut tentang apa itu ekstraksi informasi nanti, tetapi cukup untuk mengatakan bahwa itu benar-benar membantu saya menyempurnakan keterampilan NLP saya dan membangun model ekstraksi yang kuat yang dapat saya gunakan untuk menguraikan sebagian besar artikel Dalam artikel ini, saya menyajikan kepada Anda pembelajaran saya sejak saya mengerjakan proyek Ekstraksi Informasi. Ini adalah panduan komprehensif jadi bersiaplah untuk berkendara dan nikmati perjalanan berbahan bakar NLP Jika Anda belum pernah membaca tentang konsep NLP sebelumnya, saya sarankan untuk memulai kursus gratis di bawah ini Daftar isi
Apa itu Ekstraksi Informasi?Data teks berisi banyak informasi tetapi tidak semuanya penting bagi Anda. Kami mungkin mencari nama entitas, yang lain ingin mengekstraksi hubungan khusus antara entitas tersebut. Niat kita berbeda sesuai dengan kebutuhan kita Bayangkan harus melalui semua dokumen hukum untuk menemukan prioritas hukum untuk memvalidasi kasus Anda saat ini. Atau harus melalui semua makalah penelitian untuk menemukan informasi yang relevan untuk menyembuhkan suatu penyakit. Ada banyak lagi contoh seperti pengambilan resume, analisis media, pemindaian email, dll Tapi bayangkan saja harus menelusuri semua data tekstual secara manual dan mengekstraksi informasi yang paling relevan. Jelas, ini adalah perjuangan yang berat dan Anda bahkan mungkin akan melewatkan beberapa informasi penting Bagi siapa pun yang mencoba menganalisis data tekstual, tugas yang sulit bukanlah menemukan dokumen yang tepat, tetapi menemukan informasi yang tepat dari dokumen-dokumen ini. Memahami hubungan antar entitas, memahami bagaimana suatu peristiwa terjadi, atau sekadar menemukan permata tersembunyi dari informasi, jelas merupakan hal yang dicari setiap orang ketika mereka menelusuri sepenggal teks. Oleh karena itu, menemukan cara otomatis untuk mengekstraksi informasi dari data tekstual dan menyajikannya secara terstruktur akan membantu kita menuai banyak manfaat dan sangat mengurangi jumlah waktu yang harus kita habiskan untuk menelusuri dokumen teks. Inilah tepatnya yang ingin dicapai oleh ekstraksi informasi
Menggunakan ekstraksi informasi, kami dapat mengambil informasi yang telah ditentukan sebelumnya seperti nama seseorang, lokasi organisasi, atau mengidentifikasi hubungan antar entitas, dan menyimpan informasi ini dalam format terstruktur seperti database Izinkan saya menunjukkan contoh lain yang saya ambil dari artikel berita kriket Kami dapat mengekstrak informasi berikut dari teks
Hal ini memungkinkan kami memperoleh manfaat dari alat kueri canggih seperti SQL untuk analisis lebih lanjut. Membuat data terstruktur seperti itu menggunakan ekstraksi informasi tidak hanya akan membantu kita dalam menganalisis dokumen dengan lebih baik tetapi juga membantu kita dalam memahami hubungan tersembunyi dalam teks. Bagaimana cara kerja Ekstraksi Informasi?Mengingat sifat berubah-ubah dari data teks yang berubah tergantung pada penulis atau konteksnya, Ekstraksi Informasi tampak seperti tugas yang menakutkan. Tapi tidak harus seperti itu Kita semua tahu bahwa kalimat terdiri dari kata-kata yang termasuk dalam Parts of Speech (POS) yang berbeda. Ada delapan POS berbeda dalam bahasa Inggris. kata benda, kata ganti, kata kerja, kata sifat, kata keterangan, preposisi, konjungsi, dan persimpangan POS menentukan bagaimana kata tertentu berfungsi dalam arti dalam kalimat tertentu. Misalnya, ambil kata "benar". Dalam kalimat, “Bocah itu dianugerahi cokelat karena memberikan jawaban yang benar”, “benar” digunakan sebagai kata sifat. Sedangkan pada kalimat, “Anda berhak mengatakan apapun yang Anda inginkan”, “benar” diperlakukan sebagai kata benda Ini menunjukkan bahwa tag POS dari sebuah kata memiliki banyak arti ketika harus memahami arti dari sebuah kalimat. Dan kita dapat memanfaatkannya untuk mengekstrak informasi yang bermakna dari teks kita Mari kita ambil contoh untuk memahami ini. Kami akan menggunakan perpustakaan spaCy yang populer di sini Kode Piton Kami dengan mudah dapat menentukan tag POS dari semua kata dalam kalimat. Tapi bagaimana itu membantu dalam Ekstraksi Informasi? Nah, jika kita ingin mengekstraksi kata benda dari kalimat, kita bisa melihat tag POS dari kata/token dalam kalimat tersebut, menggunakan atribut. pos_, dan ekstrak sesuai Sangat mudah untuk mengekstrak kata-kata berdasarkan tag POS mereka. Namun terkadang mengekstraksi informasi murni berdasarkan tag POS saja tidak cukup. Lihatlah kalimat di bawah ini Jika saya ingin mengekstrak subjek dan objek dari sebuah kalimat, saya tidak dapat melakukannya berdasarkan tag POS mereka. Untuk itu, saya perlu melihat bagaimana kata-kata ini terkait satu sama lain. Ini disebut Dependensi Kita dapat menggunakan visualisator displacy spaCy yang menampilkan dependensi kata secara grafis Cukup keren. Grafik berarah ini dikenal sebagai grafik ketergantungan. Ini mewakili hubungan antara kata-kata yang berbeda dari sebuah kalimat Setiap kata adalah simpul dalam grafik Ketergantungan. Hubungan antara kata-kata dilambangkan dengan tepi. Misalnya, "The" adalah penentu di sini, "anak-anak" adalah subjek kalimat, "biskuit" adalah objek kalimat, dan "krim" adalah kata majemuk yang memberi kita lebih banyak informasi tentang objek tersebut. Panah membawa banyak arti di sini
Mari kita lihat bagaimana kita dapat mengekstrak subjek dan objek dari kalimat. Seperti kami memiliki atribut untuk POS di token SpaCy, kami juga memiliki atribut untuk mengekstrak ketergantungan token yang dilambangkan dengan dep_ Voila. Kami memiliki subjek dan objek kalimat kami Menggunakan tag POS dan tag Ketergantungan, kita dapat mencari hubungan antara entitas yang berbeda dalam sebuah kalimat. Misalnya, dalam kalimat "Kucing hinggap di ambang jendela", kita memiliki subjek "kucing", objek "kusen jendela", terkait dengan preposisi "di". Kita dapat mencari hubungan semacam itu dan lebih banyak lagi untuk mengekstrak informasi yang bermakna dari data teks kita Saya sarankan melalui tutorial luar biasa ini yang menjelaskan Ekstraksi Informasi secara detail dengan banyak contoh Kemana Kita Pergi dari Sini?Kami telah berbicara secara singkat tentang teori tentang Ekstraksi Informasi yang menurut saya penting untuk dipahami sebelum terjun ke inti artikel ini
Pada bagian berikut, saya akan menjelajahi kumpulan data teks dan menerapkan teknik ekstraksi informasi untuk mengambil beberapa informasi penting, memahami struktur kalimat, dan hubungan antar entitas. Jadi, tanpa basa-basi lagi, mari kita pecahkan kodenya Menjadi Akrab dengan Kumpulan Data TeksKumpulan data yang akan kami kerjakan adalah Korpus Debat Umum PBB. Ini berisi pidato yang dibuat oleh perwakilan dari semua negara anggota dari tahun 1970 hingga 2018 di Debat Umum sesi tahunan Majelis Umum Perserikatan Bangsa-Bangsa Tapi kami akan mengambil subset dari kumpulan data ini dan bekerja dengan pidato yang dibuat oleh India pada debat ini. Ini akan memungkinkan kita untuk tetap di jalur dan lebih memahami tugas yang ada dalam memahami Ekstraksi Informasi. Ini menyisakan 49 pidato yang dibuat oleh India selama bertahun-tahun, setiap pidato berkisar antara 2000 hingga 6000+ kata Karena itu, mari kita lihat dataset kita Saya akan mencetak snapshot dari salah satu pidato untuk memberi Anda gambaran seperti apa datanya Sekarang mari kita mulai bekerja dengan kumpulan data kita Pra-Pemrosesan Teks PidatoPertama, kita perlu membersihkan data teks kita. Ketika saya membahas beberapa pidato, saya menemukan setiap paragraf dalam pidato diberi nomor untuk mengidentifikasinya dengan jelas. Jelas ada karakter yang tidak diinginkan seperti karakter baris baru, tanda hubung, salam, dan apostrof, seperti di kumpulan data teks lainnya Tetapi informasi unik dan tidak diinginkan lainnya yang ada adalah referensi yang dibuat dalam setiap pidato ke dokumen lain. Kami jelas tidak menginginkan itu juga Saya telah menulis sebuah fungsi sederhana untuk membersihkan pidato. Poin penting di sini adalah saya belum menggunakan lemmatisasi atau mengubah kata menjadi huruf kecil karena berpotensi mengubah tag POS dari kata tersebut. Kami tentu tidak ingin melakukan itu seperti yang akan Anda lihat di subbagian yang akan datang Benar, sekarang setelah pidato kita dibersihkan secara minimal, kita dapat membaginya menjadi beberapa kalimat terpisah Pisahkan Pidato menjadi Kalimat yang BerbedaMemisahkan pidato kami menjadi kalimat terpisah akan memungkinkan kami untuk mengekstrak informasi dari setiap kalimat. Nanti, kami dapat menggabungkannya untuk mendapatkan informasi kumulatif untuk tahun tertentu Terakhir, kita dapat membuat kerangka data yang berisi kalimat-kalimat dari tahun yang berbeda Setelah melakukan operasi ini, kami mendapatkan 7150 kalimat. Menyelidikinya dan mengekstraksi informasi secara manual akan menjadi tugas yang sulit. Itu sebabnya kami melihat Ekstraksi Informasi menggunakan teknik NLP Ekstraksi Informasi menggunakan SpaCySekarang, kita dapat mulai mengerjakan tugas Ekstraksi Informasi. Kami akan menggunakan perpustakaan spaCy untuk bekerja dengan data teks. Itu memiliki semua alat yang diperlukan yang dapat kita manfaatkan untuk semua tugas yang kita butuhkan untuk ekstraksi informasi Biarkan saya mengimpor modul SpaCy yang relevan yang akan kami perlukan untuk tugas selanjutnya Kita membutuhkan kelas spaCy Matcher untuk membuat pola untuk mencocokkan frasa dalam teks. Kami juga memerlukan modul displaCy untuk memvisualisasikan grafik ketergantungan kalimat Pustaka visualise_spacy_tree akan diperlukan untuk membuat struktur seperti pohon dari grafik Ketergantungan. Ini membantu dalam memvisualisasikan grafik dengan cara yang lebih baik. Terakhir, kelas IPython Image dan display diperlukan untuk menampilkan pohon Tetapi Anda tidak perlu terlalu khawatir tentang ini. Ini akan menjadi jelas saat Anda melihat kodenya Ekstraksi Informasi #1 – Menemukan Sebutan Perdana Menteri dalam PidatoSaat mengerjakan tugas ekstraksi informasi, penting untuk secara manual memeriksa subset dari kumpulan data untuk memahami seperti apa teks itu dan menentukan apakah ada sesuatu yang menarik perhatian Anda pada pandangan pertama. Ketika saya pertama kali membahas pidato, saya menemukan banyak dari mereka merujuk pada apa yang dikatakan, dipikirkan, atau dicapai Perdana Menteri di masa lalu. Kita tahu bahwa sebuah negara bukanlah apa-apa tanpa pemimpinnya. Tujuan akhir suatu negara pada umumnya adalah hasil dari bimbingan yang cakap dari pemimpinnya. Oleh karena itu, saya yakin penting untuk mengekstrak kalimat-kalimat tersebut dari pidato yang merujuk pada Perdana Menteri India, dan mencoba memahami apa pemikiran dan perspektif mereka, dan juga mencoba mengungkap kepercayaan yang sama atau berbeda selama bertahun-tahun. Untuk mencapai tugas ini, saya menggunakan kelas Matcher SpaCy. Ini memungkinkan kita untuk mencocokkan urutan kata berdasarkan pola tertentu. Untuk tugas saat ini, kami tahu bahwa setiap kali Perdana Menteri disebut dalam pidato, itu akan dilakukan dengan salah satu cara berikut
Dengan menggunakan pemahaman umum ini, kita dapat menemukan sebuah pola Biarkan saya memandu Anda melalui pola ini
Berikut beberapa contoh kalimat dari tahun 1989 yang cocok dengan pola kita Sekarang, karena hanya 58 kalimat dari total 7150 kalimat yang memberikan keluaran yang sesuai dengan pola kita, saya telah merangkum informasi yang relevan dari keluaran ini di sini
Dengan menggunakan ekstraksi informasi, kami dapat mengisolasi hanya beberapa kalimat yang kami perlukan yang memberi kami hasil maksimal Ekstraksi Informasi #2 – Menemukan InisiatifHal menarik kedua yang saya perhatikan selama pidato adalah bahwa ada banyak inisiatif, skema, kesepakatan, konferensi, program, dll. yang disebutkan dalam pidato. Misalnya, 'Perjanjian Paris', 'Perjanjian Simla', 'Konferensi Dewan Keamanan', 'Konferensi Negara Non Blok', 'Aliansi Surya Internasional', 'Inisiatif Keterampilan India', dll. Mengekstrak ini akan memberi kita gambaran tentang apa yang menjadi prioritas India dan apakah ada pola mengapa hal itu cukup sering disebutkan dalam pidato. Saya akan mengacu pada semua skema, inisiatif, konferensi, program, dll. kata kunci sebagai inisiatif Untuk mengekstrak inisiatif dari teks, hal pertama yang akan saya lakukan adalah mengidentifikasi kalimat-kalimat yang berbicara tentang inisiatif. Untuk itu, saya akan menggunakan regex sederhana untuk memilih hanya kalimat yang mengandung kata kunci 'inisiatif', 'skema', 'kesepakatan', dll. Ini akan mengurangi pencarian pola inisiatif yang kita cari Sekarang, Anda mungkin berpikir bahwa tugas kita sudah selesai di sini karena kita telah mengidentifikasi kalimatnya. Kita dapat dengan mudah mencarinya dan menentukan apa yang sedang dibicarakan dalam kalimat-kalimat ini. Tapi, pikirkanlah, tidak semua ini akan memuat nama inisiatif. Beberapa di antaranya mungkin secara umum berbicara tentang inisiatif tetapi tidak ada nama inisiatif yang ada di dalamnya Oleh karena itu, kita perlu menemukan solusi yang lebih baik yang hanya mengekstrak kalimat yang berisi nama inisiatif. Untuk itu, saya akan menggunakan spaCy Matcher, sekali lagi, untuk menghasilkan pola yang cocok dengan inisiatif ini Lihat contoh kalimat berikut dan lihat apakah Anda dapat menemukan pola untuk mengekstrak inisiatif ini Seperti yang mungkin Anda perhatikan, nama inisiatif adalah kata benda yang dimulai dengan penentu dan diakhiri dengan 'inisiatif'/'program'/'perjanjian' dll. kata-kata pada akhirnya. Ini juga termasuk preposisi sesekali di tengah. Saya juga memperhatikan bahwa sebagian besar nama inisiatif memiliki panjang antara dua hingga lima kata. Dengan mengingat hal ini, saya menemukan pola berikut untuk mencocokkan nama inisiatif Kami mendapat 62 kalimat yang cocok dengan pola kami – lumayan. Lihat output dari tahun 2018 Tapi satu hal yang harus saya tekankan di sini adalah bahwa lebih banyak inisiatif dalam pidato yang tidak sesuai dengan pola kita. Misalnya, di tahun 2018, ada juga inisiatif lain seperti “MUDRA”, “Ujjwala”, “Perjanjian Paris”, dll. Jadi apakah ada cara yang lebih baik untuk mengekstraknya? Ingat bagaimana kita melihat dependensi di awal artikel? . Tetapi sebelum membuat aturan, Anda perlu memahami bagaimana sebuah kalimat disusun, baru setelah itu Anda dapat membuat aturan umum untuk mengekstrak informasi yang relevan. Untuk memahami struktur kalimat, saya akan mencetak grafik dependensi dari contoh contoh tetapi dengan cara pohon yang memberikan intuisi struktur yang lebih baik. Lihat di bawah Lihat bagaimana 'Ujjwala' adalah simpul anak dari 'program'. Lihat contoh lain Perhatikan bagaimana 'Aliansi Surya Internasional' disusun Anda pasti sudah mengetahui bahwa nama inisiatif biasanya adalah turunan dari node yang mengandung kata-kata seperti 'inisiatif', 'program', dll. Berdasarkan pengetahuan ini kita dapat mengembangkan aturan kita sendiri Aturan yang saya sarankan cukup sederhana. Biarkan saya memandu Anda melewatinya
Kali ini kami mencocokkan 282 entri. Itu adalah peningkatan yang signifikan dari hasil sebelumnya. Mari kita lihat output 2018 dan lihat apakah kita melakukan yang lebih baik kali ini Dari 7000+ kalimat, kami dapat membidik hingga hanya 282 kalimat yang berbicara tentang inisiatif. Saya mengulangi output ini dan di bawah ini adalah bagaimana saya akan meringkas hasilnya
Karena itu, hasilnya pasti tidak sempurna. Ada beberapa contoh ketika kata-kata yang tidak diinginkan juga diekstraksi dengan nama inisiatif. Tetapi keluaran yang diperoleh dengan membuat aturan kami sendiri jelas lebih baik daripada yang diperoleh dengan menggunakan pencocokan pola SpaCy. Ini menunjukkan fleksibilitas yang dapat kita capai dengan membuat aturan kita sendiri Menemukan Pola dalam PidatoSejauh ini, kami hanya mengekstraksi informasi yang sesuai dengan mata analitis kami saat kami menelusuri data. Tetapi apakah ada informasi lain yang tersembunyi di kumpulan data kami? Tapi sebelum itu, saya ingin menunjukkan dua hal Pertama, ketika kita mencoba untuk memahami struktur pidato, kita tidak dapat melihat seluruh pidato, yang akan memakan waktu lama, dan waktu sangat penting di sini. Apa yang akan kita lakukan sebagai gantinya adalah melihat kalimat acak dari kumpulan data dan kemudian, berdasarkan strukturnya, mencoba membuat aturan umum untuk mengekstraksi informasi. Tapi bagaimana kita menguji validitas aturan ini? . Tidak semua aturan yang kami buat akan memberikan hasil yang memuaskan. Jadi, untuk menyaring aturan yang tidak relevan, kita bisa melihat persentase kalimat yang cocok dengan aturan kita dari semua kalimat. Ini akan memberi kita gambaran yang adil tentang seberapa baik kinerja aturan, dan apakah, pada kenyataannya, ada struktur umum semacam itu dalam korpus. Hal lain yang sangat penting yang perlu disoroti di sini adalah bahwa setiap korpus pasti berisi kalimat panjang yang rumit. Bekerja dengan kalimat-kalimat ini untuk mencoba dan memahami strukturnya akan menjadi tugas yang sangat sulit. Oleh karena itu, kita akan melihat kalimat yang lebih kecil. Ini akan memberi kita kesempatan untuk lebih memahami struktur mereka. Jadi apa angka ajaibnya? Melihat histogram, kita dapat melihat bahwa sebagian besar kalimat berkisar antara 15-20 kata. Jadi saya akan bekerja dengan kalimat yang mengandung tidak lebih dari 15 kata Sekarang, mari tulis fungsi sederhana yang akan menghasilkan kalimat acak dari kerangka data ini Terakhir, mari buat fungsi untuk mengevaluasi hasil aturan kita Benar, mari kita turun ke bisnis membuat beberapa aturan Ekstraksi Informasi #3 – Aturan tentang Frasa Nomina-Kata Kerja-Kata BendaKetika Anda melihat sebuah kalimat, umumnya berisi subjek (kata benda), tindakan (kata kerja), dan objek (kata benda). Kata-kata lainnya ada di sana untuk memberi kita informasi tambahan tentang entitas. Oleh karena itu, kita dapat memanfaatkan struktur dasar ini untuk mengekstrak informasi utama dari kalimat. Ambil contoh kalimat berikut Apa yang akan diambil dari contoh kalimat berdasarkan aturan ini adalah – “negara-negara menghadapi ancaman”. Ini seharusnya memberi kita ide yang adil tentang apa yang ingin dikatakan kalimat itu Jadi mari kita lihat bagaimana aturan ini adil apa yang kita jalankan dengan kalimat pendek yang sedang kita kerjakan Kami mendapatkan lebih dari 20% kecocokan pola untuk aturan kami dan kami dapat memeriksanya untuk semua kalimat dalam korpus Kami mendapatkan lebih dari 30% kecocokan untuk aturan kami, yang berarti 2226 dari 7150 kalimat cocok dengan pola ini. Mari kita bentuk kerangka data baru yang hanya berisi kalimat-kalimat yang memiliki keluaran dan kemudian pisahkan kata kerja dari kata benda Mari kita lihat 10 kata kerja paling sering digunakan dalam kalimat Sekarang, kita dapat melihat kata kerja tertentu untuk melihat jenis informasi apa yang ada. Misalnya, 'selamat datang' dan 'dukungan' dapat memberi tahu kami apa yang didorong oleh India. Dan kata kerja seperti 'wajah' mungkin bisa memberi tahu kita masalah apa yang kita hadapi di dunia nyata Dengan melihat keluarannya, kita dapat mencoba melihat apa konteks kalimatnya. Misalnya, kita dapat melihat bahwa India mendukung 'upaya', 'sudut pandang', 'inisiatif', 'perjuangan', 'keinginan,' aspirasi ', dll. Sementara India percaya bahwa dunia menghadapi 'ancaman', 'konflik', 'kolonialisme', 'pandemi', dll Kita dapat memilih kalimat untuk dijelajahi secara mendalam dengan melihat outputnya. Ini pasti akan menghemat banyak waktu daripada hanya membaca seluruh teks Ekstraksi Informasi #4 – Aturan tentang Struktur Kata SifatPada aturan sebelumnya yang kami buat, kami mengekstrak subjek dan objek kata benda, tetapi informasinya tidak terasa lengkap. Ini karena banyak kata benda memiliki kata sifat atau kata dengan ketergantungan majemuk yang menambah arti kata benda. Mengekstraksi ini bersama dengan kata benda akan memberi kita informasi yang lebih baik tentang subjek dan objek Perhatikan contoh kalimat di bawah ini Apa yang ingin kami capai di sini adalah – “kehidupan yang lebih baik” Kode untuk aturan ini sederhana, tetapi izinkan saya memandu Anda melalui cara kerjanya
51% dari kalimat pendek cocok dengan aturan ini. Kami sekarang dapat mencoba memeriksanya di seluruh korpus Di seluruh korpus 7150, 76% atau 5117 kalimat cocok dengan aturan pola kami, karena kebanyakan dari kalimat tersebut pasti mengandung kata benda dan pengubahnya Sekarang kita bisa menggabungkan rule ini dengan rule yang kita buat sebelumnya. Ini akan memberi kita perspektif yang lebih baik tentang informasi apa yang ada dalam sebuah kalimat Kami mendapatkan hasil 31% yang cocok, beberapa di antaranya ditampilkan di bawah ini Di sini, kita berakhir dengan frasa seperti "kami mengambil janji baru", "kami memiliki peningkatan yang cukup besar", "orang mengharapkan kehidupan yang lebih baik", dll. yang termasuk kata benda dan pengubahnya. Ini memberi kami informasi yang lebih baik tentang apa yang sedang diekstraksi di sini Seperti yang Anda lihat, kami tidak hanya membuat aturan baru untuk memahami struktur kalimat, tetapi juga menggabungkan dua aturan untuk mendapatkan informasi yang lebih baik dari teks yang diekstrak. Ekstraksi Informasi #5 – Aturan tentang PreposisiTerima kasih Tuhan untuk preposisi. Mereka memberi tahu kita di mana atau kapan sesuatu berhubungan dengan sesuatu yang lain. Misalnya, Orang-orang India percaya pada prinsip-prinsip Perserikatan Bangsa-Bangsa. Mengekstraksi frase dengan jelas termasuk preposisi akan memberi kita banyak informasi dari kalimat tersebut. Inilah tepatnya yang akan kita capai dengan aturan ini Mari kita coba memahami bagaimana aturan ini bekerja dengan membahasnya pada contoh kalimat – “India sekali lagi menunjukkan kepercayaan pada demokrasi. ”
Ini akhirnya harus mengekstrak frase iman dalam demokrasi dari kalimat tersebut. Lihatlah grafik ketergantungan kalimat di bawah ini Sekarang mari terapkan aturan ini pada kalimat pendek kita Sekitar 48% kalimat mengikuti aturan ini Kita dapat menguji pola ini di seluruh korpus karena kita memiliki banyak kalimat yang cocok dengan aturan tersebut 74% dari total kalimat cocok dengan pola ini. Mari pisahkan preposisi dari kata benda dan lihat jenis informasi apa yang dapat kami ekstrak Kerangka data berikut menunjukkan hasil aturan di seluruh korpus, tetapi preposisi dan kata benda dipisahkan untuk analisis yang lebih baik Kita dapat melihat 10 preposisi yang paling banyak muncul di seluruh korpus Kami melihat preposisi tertentu untuk mengeksplorasi kalimat secara rinci. Misalnya, preposisi 'melawan' dapat memberi kita informasi tentang apa yang tidak didukung oleh India Membaca sekilas kata benda, beberapa frasa penting seperti
… dan seterusnya. Ini seharusnya memberi kita ide yang adil tentang kalimat mana yang ingin kita jelajahi secara mendetail. Misalnya, upaya melawan proliferasi berbicara tentang upaya pelucutan senjata nuklir. Atau kalimat perjuangan melawan kolonialisme berbicara tentang hubungan historis antara India dan Afrika yang lahir dari perjuangan bersama mereka melawan kolonialisme Seperti yang Anda lihat, preposisi memberi kita hubungan penting antara dua kata benda. Dan dengan sedikit pengetahuan domain, kita dapat dengan mudah menyaring data yang luas dan menentukan apa yang didukung atau tidak didukung India, antara lain Tetapi hasilnya tampaknya agak tidak lengkap. Misalnya, dalam kalimat upaya melawan proliferasi, proliferasi seperti apa yang kita bicarakan? . Ini pasti akan meningkatkan pemahaman dari frase yang diekstraksi Aturan ini dapat dengan mudah dimodifikasi untuk memasukkan perubahan baru. Saya telah membuat fungsi baru untuk mengekstrak pengubah kata benda untuk kata benda yang kami ekstrak dari Ekstraksi Informasi #4 Yang harus kita lakukan adalah memanggil fungsi ini setiap kali kita menemukan kata benda dalam frase kita Ini pasti memiliki lebih banyak informasi daripada sebelumnya. Misalnya, 'hambatan dalam pembangunan ekonomi' daripada 'hambatan dalam pembangunan' dan 'pelanggar hak asasi manusia yang lebih besar' daripada 'pelanggar hak' Sekali lagi, menggabungkan aturan telah memberi kami lebih banyak kekuatan dan fleksibilitas untuk mengeksplorasi hanya kalimat-kalimat itu secara mendetail yang memiliki frase yang diekstrak bermakna KodeAnda dapat menemukan file kode lengkap di sini Catatan AkhirEkstraksi informasi sama sekali bukan tugas NLP yang mudah untuk dilakukan. Anda perlu menghabiskan waktu dengan data untuk lebih memahami strukturnya dan apa yang ditawarkannya Dalam artikel ini, kami menggunakan pengetahuan teoretis dan menerapkannya secara praktis. Kami bekerja dengan kumpulan data teks dan mencoba mengekstrak informasi menggunakan teknik ekstraksi informasi tradisional Kami mencari frase kunci dan hubungan dalam data teks untuk mencoba mengekstrak informasi dari teks. Jenis pendekatan ini membutuhkan kombinasi komputer dan upaya manusia untuk mengekstrak informasi yang relevan Bagaimana cara mengekstrak data dari Python?Untuk mengekstrak data menggunakan pengikisan web dengan python, Anda harus mengikuti langkah-langkah dasar ini. . Temukan URL yang ingin Anda kikis Memeriksa Halaman Temukan data yang ingin Anda ekstrak Tulis kodenya Jalankan kode dan ekstrak datanya Simpan data dalam format yang diperlukan Bagaimana Anda mengekstrak nilai dari string dengan Python?Ringkasan. Untuk mengekstrak angka dari string yang diberikan dengan Python, Anda dapat menggunakan salah satu metode berikut. . Gunakan modul regex Gunakan fungsi split() dan append() pada daftar Gunakan Pemahaman Daftar dengan fungsi isdigit() dan split() Gunakan modul num_from_string Bagaimana cara mengekstrak kata dari daftar dengan Python?Kita dapat menggunakan metode search() dari modul re untuk menemukan kemunculan kata pertama dan kemudian kita dapat memperoleh kata menggunakan slicing . ulang. metode search() akan mengambil kata yang akan diekstraksi dalam bentuk ekspresi reguler dan string sebagai input dan dan mengembalikan a re. |