Minggu, 27 Juni 2010

Chunk Tagging dan Chunk Labelling

Chunk tagging adalah sebuah task di bidang NLP yang bertugas untuk memberi batas setiap chunk pada kalimat. Chunk adalah sebuah/beberapa kata dalam kalimat yang masih terkait seperti frase. Sebenarnya, teknik yang digunakan sama dengan POS tagging, perbedaannya terletak pada label yang digunakan. Pada POS tagging label yang digunakan adalah JJ, VBI, NNP, dll, tetapi kalau pada pada Chunk tagging, label yang digunakan adalah STRT, INSTP, STP, UNSTP.
  1. STRT : menandakan awal dari chunk
  2. INSTP : menandakan bagian tengan dari chunk
  3. STP : menandakan bagian akhir dari chunk
  4. UNSTP : menandakan chunk yang hanya terdiri dari satu kata
Sebenarnya, label yang digunakan tidak harus berjumlah 4 seperti yang sudah disebut pada bagian sebelumnya. Kita bisa membuatnya menjadi hanya 2 label atau 3 label saja. Penentuan mana yang terbaik, harus dilakukan penelitian terhadap bahasa yang digunakan.

Sebelum melakukan Chunk tagging, kita harus melakukan terlebih dahulu POS tagging terhadap kalimat masukan. Salah satu input yang sering digunakan adalah gabungan antara Kata dengan POS-nya, outputnya adalah label chunk.

jadi, token input adalah V1-Vn, dimana V = {W, Tw}. Output adalah kumpulan Ct-Cn dimana C adalah label chunk (STRT, INSTP, dll).

berikut adalah contoh hasil Chunk Tagging:
Orang/STRT tua/INSTP pergi/STRT ke/INSTP Bandung/STP
[Orang tua]chunk1 [pergi ke Bandung]chunk2

Selain Chunk tagging, ada juga yang disebuah Chunk labelling. Tasks ini sebenarnya merupakan kelanjutan dari task Chunk tagging. Pada chunk tagging, kita hanya mengetahui batas-batas chunk pada kalimat, tetapi kita tidak mengetahui kategori chunk tersebut. Kategori chunk bisa terdiri dari NP (Noun Phrase) , VP (Verb Phrase), dll.

Proses yang dilakukan sebenarnya sama saja dengan Chunk tagging, hanya pada corpus latih, kita harus menambahkan satu lagi informasi, yaitu informasi Kategori chunk.

contoh hasil Chunk labelling:
[Orang tua]NP [pergi ke Bandung]VP

Machine learning yang digunakan bisa macam-macam, bisa HMM, SVM, CRF, dll. Penggunaan Chunk Tagging dan Chunk Labelling ini banyak sekali, misal untuk membangung Named Entity Recognizer, untuk deteksi Kata Majemuk pada bahasa Indonesia, sebagai pengganti Shallow Parser, dan lain-lain.

Engine IPostagger yang sudah saya kembangkan bisa digunakan untuk melakukan Chunk Tagging dan Chunk Labelling, hanya saja CORPUS yang digunakan belum diberi label untuk kasus ini. Kalau ada yang mau melanjutkan pekerjaan melakukan labeling terhadap corpus POS Tagger saya, silakan saja...

2 komentar:

  1. mas alfan, ni dhito, teman sesama tim PTI dulu :D

    mas alfan sekarang masih di bandung atau nggak?
    boleh ga kapan-kapan saya diskusi sama mas alfan mengenai NLP ini..
    saya insya Allah kalo jadi mau ambil TA berkaitan dengan NLP...

    BalasHapus
  2. mas boleh tau untuk referensi chunk labelling nya dapet darimana ya??

    BalasHapus