NER (Named Entity Recognition) Bahasa Indonesia dengan Stanford NER

 

Update, posting lanjutan: NER Bahasa Indonesia dengan anaGo (Ptyhon+Keras)

Posting sebelumnya tentang NER


Untuk mengekstrak named entity Bahasa Indonesia, kita dapat memanfaatkan library Stanford NER untuk membuat model yang di-train dengan dataset Bahasa Indonesia. Pertama download Stanford NER di: https://nlp.stanford.edu/software/CRF-NER.html#Download

Sedangkan dataset NER Bahasa Indonesia untuk training dapat diperoleh di:

 https://github.com/yohanesgultom/nlp-experiments/blob/master/data/ner/training_data.txt

dan

https://github.com/yusufsyaifudin/indonesia-ner/tree/master/resources/ner

Catatan: format dataset di atas tidak sesuai dengan Stanford NER, jadi perlu dikonversi ke format dua kolom seperti ini:

Sementara	O
itu	O
Pengamat	O
Pasar	O
Modal	O
Dandossi	PERSON
Matram	PERSON
mengatakan	O
,	O
sulit	O
bagi	O
sebuah	O
kantor	ORGANIZATION
akuntan	ORGANIZATION
publik	ORGANIZATION
(	O
KAP	ORGANIZATION
)	O

Selanjutnya untuk training, dokumentasinya ada di:

https://nlp.stanford.edu/software/crf-faq.html#a:   

Setelah training selesai dan model didapat, maka cara menggunakannya adalah sebagai berikut.

Ambil stanford-ner-resources.jar, letakkan di direktori lib. Jika menggunakan Gradle maka setting gradle-nya sbb:


repositories {
  flatDir {
    dirs 'libs'
  }
}

dependencies {
 testCompile group: 'junit', name: 'junit', version: '4.12'
 compile group: 'edu.stanford.nlp', name: 'stanford-parser', version: '3.8.0'
 compile name: 'stanford-ner-3.8.0'
}

Selanjutnya gunakan code yang ada di NERDemo.java.  Sesuaikan variabel serializedClassifier dengan lokasi model bahasa Indonesia. Outputnya akan seperti ini untuk input “Budi Martami kuliah di UPI yang berlokasi di Bandung”:


---
Budi/PERSON Martami/PERSON kuliah/O di/O UPI/ORGANIZATION yang/O berlokasi/O di/O Bandung/LOCATION ./O
---
Budi	PERSON
Martami	PERSON
kuliah	O
di	O
UPI	ORGANIZATION
yang	O
berlokasi	O
di	O
Bandung	LOCATION
.	O
---

4 tanggapan untuk “NER (Named Entity Recognition) Bahasa Indonesia dengan Stanford NER”

  1. apakah ada tutorial yang lebih lengkap pa seperti contoh training datanya saya agak kebingungan membaca dokumentasi trainingnya

Tinggalkan komentar