NER(Named Entity Recognition) Menggunakan Python

Pada post kali ini saya akan membahas mengenai  Named Entity Recognition (NER) menggunakan Python.

Apa itu NER?

Name Entity Recognition (NER) atau Name Entity Recognition and Classification (NERC) adalah salah satu komponen utama dari information extration yang bertujuan untuk mendeteksi dan mengklasifikasikan named-entity pada suatu teks. NER umumnya digunakan untuk mendeteksi nama orang, nama tempat dan organisasi dari sebuah dokumen, tetapi dapat juga diperluas untuk identifikasi gen, protein dan lainnya sesuai kebutuhan.



Oke langsung saja kita mulai, Berikut merupakan tutorial Named Entity Recognition (NER) menggunakan python:

Langkah pertama: Install python
  • Pastikan pada komputer/Laptop anda sudah terinstall python! jika belum anda dapat mendownloadnya Disini! 
  • Siapkan juga editornya, disini saya menggunakan notepad++. Untuk mendownload notepad++ anda bisa klik link Disini!
Langkah kedua: Install NLTK
  • Install python terlebih dahulu jika komputer anda belum terinstall python.
  • Download library NLTK untuk python, disini saya menggunakan CMD. Dapat dilihat seperti gambar dibawah:
  • Setelah itu akan muncul tampilan NLTK downloader, seperti gambar dibawah:
  • Tunggu sampai NLTK selesai didownload, jika sudah akan terlihat sepetri gambar dibawah:

Langkah Ketiga: Mencari artikel
Cari data artikelnya. Disini saya mencari artikel mengenai "Kebun Binatang Bandung". Semua artikel yang berkaitan dengan "Kebun Binatang Bandung" saya masukan. Cari minimal 10 artikel, berikut merupakan list artikel yang saya kumpulkan:
  • Pertama pilih artikelnya, untuk contoh saya mengambil artikel pertama yaitu " 'Beruang kelaparan' di Kebun Binatang Bandung "
  • Copy isi artikel tersebut dan paste ke editor, disini saya menggunakan notepad++. Tetapi menggunakan notepad biasa juga bisa. Dapat dilihat seperti gambar dibawah:

Copy semua isi artikel lalu paste ke editor




Selanjutnya simpan artikel tersebut di 1 folder, yang berisikan hanya artikel


Lakukan berulang sampai semua artikel terkumpul




Langkah Kelima : Membuat aplikasi untuk menghubungkan artikel menggunakan python
  • Buka python lalu klik new file/project. Import library yang akan digunakan, disini saya menggunakan library re, nltk, matplotlib.pyplot, dan os library.


  • Selanjutnya melakukan preprocesing data  dengan tokenize pada sebuah dokumen. Tokenize merupakan pemisahan kata  menggunakan library nltk kemudian dilakukan pos tagging untuk melabeli kata dalam kalimat (sentences).


  • Kemudian melakukan Information Extraction. Pada tahap ini dokumen yang sudah di preprocesing hanya akan mengambil kata-kata dengan tag PERSON dan ORGANIZATIONS yang ada pada dokumen. Kata yang diambil nantinya akan menjadi entitas orang atau organisasi.
  • Selanjutnya melakukan visualisasi dengan menggunakan Graph. Graphnya bermacam-macam ada grap shell, spectral, spring, atau random.Disini saya menggunakan networkx graph "nx.spring" untuk membuat node (simpul/ yang bentuknya lingkaran) , edge (jalur/garis) untuk menghubungkan antar entitas.
  • Kemudian yang terakhir menghilangkan karakter non ASCII, berfungsi untuk menghilangan simbol yang tak dikenali lalu melakukan ekstrasi dataset pertama membuka file artikel. Saya menggunkan library os kemudian ada pengecekkan file jika file ekstensi artikel tersebut .txt maka data nya akan dibaca lalu dijalankan fungsi _removeNonAscii untuk menghiangkan karakter non ASCII kemudian memproses dua kata yang berhubungan  “NAME” dan “ORGANIZATION” kemudian melakukan perulangan kemudian yang terakhir memanggil fungsi draw_graph untuk menampilkan grap.
Save program tersebut! Simpan satu file dengan artikel, tetapi jangan disimpan didalam folder artikel tersebut.




Langkah keenam: Menampilkan graph
  • Buka cmd lalu run python, dimana program tersebut disimpan!

  • Tunggu beberapa saat lalu akan muncul graph

Link Download
Sourcode+Artikel: Disini!
Sekian tutorial kali ini Semoga bermanfaat! Jika ada kesempatan video menyusul!




Komentar