Tag Archives: OpenNLP

Ikutan Forum Keinformatikaan di Dunia Maya

Akhir-akhir ini saya aktif ikutan forum di dunia maya. Forum dunia maya yang saya maksud di sini bukan seperti Facebook atau Kaskus yang memang topik pembahasan di dalamnya sangat general. Forum atau mailinglist yang saya ikuti adalah yang berkaitan dengan keprofesian atau disiplin ilmu yang saya geluti, yakni Informatika atau computer science.

Sangat terlambat memang, mengingat saya sudah menginjak tingkat 4 akhir. Saya baru giat melakukan ini karena baru menemukan kebutuhan untuk mengikuti forum-forum itu. Apalagi kalau bukan gara-gara TA (Tugas Akhir) :). Kalau dahulu, ketika menemukan kesulitan di perkuliahan, misal dalam programming, saya tinggal ketikkan query di Google, maka langsung akan ketemu jawabannya.

Namun, dalam pengerjaan TA saya ini hal tersebut tidak selamanya saya dapatkan. Apalagi TA yang saya ambil tidak terlalu banyak dokumentasi yang beredar di dunia internet. Akhirnya, mau tidak mau saya harus berinteraksi “langsung” dengan mereka melalui forum atau mailinglist yang ada, Ngomong-ngomong tentang hal ini, saya jadi teringat perkataan yang pernah disampaikan Pak Budi Rahardjo dalam kuliah yang saya ikuti. Saya tidak ingat detail ucapannya, tapi intinya adalah jika Anda ingin jago dalam bidang Informatika, maka cobalah “being nerd/geek”. Beliau mencontohkan diri beliau yang sangat menyenangi dunia informatika. Segala hal keinformatikaan beliau coba dan pelajari. Dalam bidang programming, hampir semua bahasa pernah beliau coba. Setiap ada jejaring sosial baru, beliau selalu bikin akun dan memahami konsepnya. Yah, saya pun jadi ingin mengikuti beliau, tapi dengan cara saya, yakni mencoba aktif di forum-forum keinformatikaan yang ada dan ingin berkontribusi di dalamnya. Nggak cuma jadi leecher saja :).

Karena topik TA saya adalah OpenNLP saya pun berinteraksi dan mengikuti mailinglist dengan alamat opennlp-users@incubator.apache.org dan forum yang kebetulan saya dapati juga ikut membahasnya, yakni http://agsforum.agstechnet.com. Hitung-hitung juga sekalian latihan menerapkan bahasa Inggris saya dalam bentuk tulisan, hehehe. Alhamdulillah, respon di sana cepat dan sangat welcome. Jujur, masukan dari mereka sangat membantu untuk TA yang saya kerjakan. Bahkan, saya sampai YM-an dengan user yang ada di forum itu karena kebetulan apa yang kami kerjakan juga mirip, sehingga saya berdiskusi dengan dia juga via YM itu, Kebetulan dia sedang mengerjakan POS-Tagger untuk bahasa Romania dengan OpenNLP itu.

Seru juga ternyata berdiskusi dengan teman-teman yang sedang melakukan riset yang sama seperti itu. Yang lebih seru lagi itu kita berdiskusi bukan dengan bahasa ibu kita, sehingga itu menjadi tantangan tersendiri bagi kita untuk menyampaikan hal agar bisa dimengerti orang lain. 🙂


Mencoba Tools OpenNLP

Tools OpenNLP dapat diunduh dari alamat ini. Setelah itu, silakan ekstrak file unduhan tersebut. Untuk dapat menjalankan tools OpenNLP ini, pada komputer kita harus sudah terinstal JDK.

Sebelumnya, kita harus mengkompilasinya terlebih dahulu. Dokumentasi bagaimana melakukan kompilasi OpenNLP sudah secara jelas disampaikan di sini dan di sini. Kompilasi tersebut akan menghasilkan file opennlp-tools-1.4.3.jar di folder output. Sebelum menjalankan OpenNLP kita perlu menge-set variabel CLASSPATH pada komputer kita. Dokumentasi mengenai cara menge-set variabel CLASSPATH juga sudah terdapat pada artikel tersebut.

Setelah semuanya siap, sekarang saatnya mencoba tools OpenNLP tersebut… 🙂 Pada tulisan saya ini saya menggunakan training model bahasa Inggris karena kita akan mencoba melakukan pemrosesan untuk teks bahasa Inggris. Misalkan, diberikan suatu potongan artikel berbahasa Inggris sebagai berikut (diambil dari The Jakarta Post):

Indonesian Foreign Minister Marty Natalegawa and his Malaysian
counterpart Dato' Sri Anifah Aman arrived at the Le Meridien
Hotel on Monday at 12:30 p.m. local time for the 16th
Indonesia-Malaysia joint commission meeting. The meeting
highlights issues of sea border, the Aug. 13 arrests of
Indonesian civil servants and Malaysian fishermen in
Indonesian waters and Indonesian migrant workers, according
to the hosting minister. "We'll discuss [among others] the
Aug. 13 incident and try to fix it so, that any similar
incidents will not repeat in the future," Anifah told visiting
and local reporters after escorting Marty into the hotel.

Kemudian potongan artikel tersebut kita simpan ke dalam suatu file teks, misal bernama article.txt. Selanjutnya untuk memproses file artikel tersebut, dapat menggunakan aplikasi OpenNLP ini dengan menjalankannya melalui command prompt atau terminal. Hasil pemrosesan tersebut kemudian akan kita simpan dalam file out.txt.
Continue reading

Sekilas Mengenai OpenNLP

Kali ini saya ingin mencoba berbagi mengenai apa itu OpenNLP. Bukan suatu ketidaksengajaan tiba-tiba saya ingin menulis tentang OpenNLP karena kebetulan tugas akhir saya mengambil topik tentang adaptasi OpenNLP untuk pemrosesan bahasa Indonesia. Topik ini sebenarnya ditawarkan oleh salah seorang dosen saya dan karena berminat, maka saya ambil. Sebelumnya sudah banyak anak IF ITB angkatan atas yang mengambil topik terkait dengan NLP (Natural Language Processing) untuk bahasa Indonesia, salah satunya Kak Alfan IF 06 yang juga mengupas habis tentang NLP di blognya.

OpenNLP merupakan suatu tools berbasis Java yang menyediakan API untuk pemrosesan bahasa alami (NLP). Dengan OpenNLP kita dapat melakukan beberapa pemrosesan seperti sentence detection, tokenization, named-entity detection, parts-of-speech (POS) tagging, chunking & parsing, dan coreference. Untuk dapat menggunakan OpenNLP ini kita harus menyediakan training model terlebih dahulu. OpenNLP sudah menyediakan training model default yang dapat diunduh dari situsnya. Training model yang disediakan sampai saat tulisan ini dibuat baru mendukung empat bahasa saja, yaitu bahasa Inggris, Jerman, Spanyol, dan Thailand. Secara umum, urutan langkah-langkah dalam pemrosesan yang dilakukan OpenNLP adalah sebagai berikut:

– mengidentifikasi task pemrosesan yang akan dilakukan beserta training model-nya
– melatih dan membangun file GISModel, jika belum ada
– me-load model
– menyediakan data untuk task tersebut