Format Penulisan Jurnal FIK 2010

advertisement
PERANCANGAN APLIKASI PERINGKAS KALIMAT DENGAN
MENGGUNAKAN METODE NOISY CHANNEL MODEL
Helmy Thendean, Hartono Mochtar
Program Studi Teknik Informatika
Universitas Tarumanagara
Jl. Let. Jend. S. Parman No. 1, Jakarta 11440
Telp.: +6221-5676260, +6221-5638351 Ext. 11, e-mail: [email protected], [email protected]
Abstract
Sentence-compression task is usually done to
create a shorter sentence but still contained
important information and grammatically correct.
The objective to create a shorter sentence is to
decrease the time consuming in natural language
processing. This research was intended to design
and implement a sentence-compression model
using noisy channel model. The initial learning
database in this model used a Ziff Davis Corpus
(newspaper articles about computer) that
contained 1067 pair of sentences and its
compression by the human expert. The experiment
showed that this adaptive model can compress the
sentence in the level “good enough” by using
80% level of summary.
Keywords: noisy channel model,
compression, Ziff Davis corpus.
perhitungannya. Probabilitas ini didapat dengan
cara menghitung kemunculan tiap kata yang ada
dalam sebuah corpus (data latih). Dalam
perancangan ini, rumus probabilitas yang
digunakan adalah rumus probabilitas Bayes.
Dalam merancang aplikasi ini digunakan tiga
buah program yang akan dimodifikasi sesuai
dengan kebutuhan aplikasi peringkas kalimat ini.
Program-program tersebut antara lain Brill
Tagger untuk menandai kelas dari tiap kata dalam
kalimat, Collins Parser untuk membentuk tree
dari kalimat tersebut, dan Tiburon untuk
membentuk expansion-template atau kumpulan
kalimat yang mungkin sebagai hasil ringkasan.
Ketiga program tersebut digabungkan dalam
program untuk pembentukan hasil ringkasan
kalimat yang dirancang dengan menggunakan
Visual Basic.Net.
sentence-
2. METODE
1. PENDAHULUAN
Dalam meringkas sebuah teks, yang biasa
dilakukan manusia adalah dengan membuat
kalimat baru yang sesuai dengan tata bahasa dan
tidak merubah informasi aslinya. Namun, tanpa
disadari, proses utama dari meringkas teks
tersebut adalah dengan mencari kata-kata kunci
dalam kalimat tersebut. Hal inilah yang menjadi
dasar/langkah awal dari meringkas teks, yaitu
meringkas kalimat.
Perancangan aplikasi peringkas kalimat
menggunakan metode noisy channel model.
Metode noisy channel model menganggap sebuah
kalimat terdiri atas sebuah kalimat inti dan
ditambah noise. Jadi metode ini berusaha untuk
mendapatkan kalimat inti dengan cara menghapus
noise yang ditambahkan tersebut [a]. Perancangan
aplikasi peringkas kalimat ini dibatasi hanya pada
penggunaan bahasa Inggris yang sesuai dengan
tata bahasa dan kaedah ejaan bahasa Inggris.
Metode noisy channel model menerapkan
rumus-rumus
probabilitas
sebagai
dasar
Gambar 1. Struktur noisy channel model
Noisy Channel Model Di dalam noisy channel
model, terdapat tiga proses yang harus dilalui
seperti pada gambar 1. Ketiga bagian tersebut
antara lain [b]:
Model sumber (source/encoder). Pada bagian
ini ditentukan nilai probabilitas awal P(s)
untuk setiap kalimat s, di mana s dianggap
sebagai sebuah kalimat pendek. Dalam model
ini, P(s) harus bernilai sangat kecil.
Model channel. Untuk setiap pasangan kata
(s,t), ditentukan nilai probabilitas P(t|s), di
mana apabila kalimat pendek s diperluas,
maka akan menghasilkan kalimat panjang t.
Dalam model ini, nilai P(t|s) harus bernilai
sangat kecil.
Model decoder. Ketika meneliti kalimat
panjang t, kalimat pendek s yang dicari harus
Perancangan Aplikasi Peringkas… (H. Thendean, H. Mochtar)
201
memaksimalkan P(s|t). Dalam model ini, nilai
P(s|t) harus paling besar.
Model Probabilitas Di dalam penelitian ini,
probabilitas yang dihitung adalah probabilitas
P(s) dan P(t|s). Untuk memudahkan perhitungan
probabilitas tersebut, maka kalimat masukan
harus diubah menjadi bentuk tree daripada
menghitung dalam bentuk kalimat. Pertama
adalah dengan mengubah bentuk kalimat menjadi
bentuk tree (menggunakan Collins Parser [1]),
kemudian baru dihitung probabilitas untuk
masing-masing tree tersebut.
Probabilitas P(s) adalah kombinasi dari
perhitungan standar probabilistic context free
grammar (PCFG), yang mana dihitung
berdasarkan aturan produksi yang menyusun tree
s, dan standar perhitungan bigram, yang dihitung
berdasarkan leaves yang menyusun tree s.
Sebagai contoh, dari Collins Parser didapati
tree s sebagai berikut:
s = S (NP I)
(VP (VB eat)
(NP cake)))
Maka perhitungan probabilitas menjadi:
P(s) = P(TOP->S | TOP) . P(S->NP VP | S) .
P(NP->I | NP) . P(VP->VB NP | VP) .
P(VB->eat | VB) . P(NP->cake | NP) . P(I | <s>) .
P(eat | I) . P(cake | eat) . P(<f> | cake)
Sedangkan untuk menghitung P(t|s), adalah
dengan membandingkan kedua tree t dan s,
kemudian hitung probabilitas tree t terhadap s.
Misalkan tree t adalah sebagai berikut:
t = S (NP I)
(VP (VB eat)
(NP cake))
(PP (IN with)
(NP spoon)))
Maka perhitungan probabilitas P(t|s) menjadi:
P(t|s) = P(S->NP VP PP | S->NP VP) . P(PP->IN
NP | PP) . P(IN->with | IN) . P(NP->spoon | NP)
Untuk memperoleh nilai probabilitas tersebut
diperlukan sebuah basis data yang diperoleh dari
data latih.
Bigram Bigram adalah menghitung probabilitas
kata berdasarkan kemunculan satu kata
202
sebelumnya, atau dengan kata lain, bigram adalah
probabilitas sebuah kata dengan kondisi
kemunculan kata sebelumnya.
Perhitungan probabilitas bigram memiliki
sebuah kelemahan, yaitu adanya kemungkinan
sebuah bigram bernilai 0 (nol) apabila tidak
pernah ditemukan dalam data latih (corpus).
Untuk mengatasi hal tersebut, digunakanlah
pendekatan yang disebut smoothing. Dalam
perancangan aplikasi ini pendekatan smoothing
yang digunakan adalah algoritma Witten-Bell
dengan konsep “Things Seen Once: Use the count
of things you've seen once to help estimate the
count of things you've never seen” [2]. Persamaan
probabilitas [3] yang digunakan dalam WittenBell algorithm adalah:
PWB ( wi wi 1 )
PMLE ( wi wi 1 )
N1 ( wi 1 )
Pbackoff ( wi )
Ch ( wi 1 )
(1)
PWB (wi wi 1 ) adalah probabilitas kemunculan sebuah
kata apabila diikuti oleh kata lain yang pernah
muncul sebelum kata tersebut. Nilai (lambda)
dapat ditentukan bebas agar jumlah distribusi
probabilitas yang terjadi mendekati 1. Nilai Ch
merupakan
count
history
(perhitungan
kemunculan) dari kata tersebut.
Data Latih Untuk dapat menghitung probabilitas
tersebut, diperlukan sebuah data latih. Data latih
yang digunakan adalah Ziff Davis corpus, yaitu
kumpulan kalimat yang berjumlah 1067 kalimat
dari artikel surat kabar mengenai produk
komputer. Ziff Davis corpus ini tidak hanya berisi
artikel, melainkan juga berisi ringkasan dari
kalimat artikel tersebut yang dibuat manusia.
Alasan mengapa menggunakan Ziff Davis corpus
ini karena ringkasan yang dibuat manusia tersebut
bersifat gramatikal, dan masih mengandung arti
dari artikel aslinya. Dengan ini diharapkan sistem
yang dibuat bisa mempelajari bagaimana
membuat ringkasan yang bersifat gramatikal dan
mengandung arti dengan kalimat asli. Contoh isi
data latih Ziff Davis corpus adalah:
All design goals were achieved.
All of our design goals were achieved and the
delivered performance matches the speed of the
underlying device.
Data tersebut menggambarkan contoh kalimat
yang mengandung isi yang berhubungan dengan
produk komputer. Kalimat-kalimat tersebut
dianggap memiliki kebenaran dari sisi ringkasan
yang dibuat oleh manusia sehingga nantinya
Jurnal Ilmiah Ilmu Komputer, Vol. 7 No. 2 Maret 2011: 201-206
probabilitas masing-masing kata dapat dihitung
berdasarkan contoh data kalimat tersebut dengan
menggunakan persamaan 1.
Decoding Terdapat banyak kombinasi kalimat
ringkasan yang dapat dihasilkan dari kalimat
masukan. Untuk dapat menghasilkan kombinasi
tersebut, maka dilakukanlah decoding terhadap
aturan produksi dari tree t. Proses decoding
tersebut antara lain untuk setiap aturan produksi
yang memiliki lebih dari satu node di sisi kanan
aturan:
Bentuk aturan produksi baru sebanyak 2n-2
dari kombinasi aturan di sisi kanan.
Tambahkan aturan produksi tersebut ke
dalam kumpulan aturan produksi kalimat
masukan awal.
they must be shielded (73.09556562)
they must be shielded (88.24409127)
also must be shielded . (75.26537568)
also must be shielded (90.41390131)
they also must be shielded . (81.06131186)
they also must be shielded (96.20983777)
Output: they must be shielded.
Sebagai contoh, misalkan terdapat sebuah
aturan produksi S->NP VP PP, maka proses
decoding yang dihasilkan adalah membentuk
aturan produksi baru dari kombinasi node di sisi
kanan. Aturan produksi baru yang terbentuk
adalah sebagai berikut:
S->NP VP
S->NP PP
S->VP PP
S->NP
S->VP
S->PP
Dari hasil decoding di atas, apabila ada aturan
yang belum ditemukan di dalam corpus, maka
aturan tersebut tersebut dihapus. Proses yang
dilakukan di dalam model rancangan dapat
dijabarkan pada gambar 2.
Contoh proses meringkas adalah sebagai
berikut:
Kalimat masukan awal: they also must be
shielded.
Parse string: (TOP (S (NP (PRP they)) (ADVP
(RB also)) (VP (MD must) (VP (VB be) (VP
(VBN shielded) (. .))))))
Expansion-template
dengan
(probabilitas lebih kecil lebih baik):
they (81.16572826)
must be (84.78729523)
they also (89.02531436)
they must be (83.83508192)
also must be (86.00489149)
must be shielded (74.04777915)
must be shielded (89.19630466)
they also must be (91.80082846)
probabilitas
Gambar 2. Rancangan
Di dalam menentukan keluaran, terdapat dua
cara yang digunakan. Cara tersebut antara lain:
Berdasarkan persentase panjang kalimat
ringkasan (level of summary). Dalam hal ini,
diperlukan interaksi dengan pengguna untuk
menentukan persentase kalimat ringkasan
yang diinginkan. Kalimat keluaran, adalah
kalimat dengan persentase yang mendekati
keinginan pengguna dan dengan nilai
probabilitas terbesar.
Berdasarkan pembagian probabilitas dengan
panjang kalimat ringkasan. Dengan cara ini,
aplikasi akan menentukan kalimat ringkasan
tanpa campur tangan dari pengguna. Cara
yang dilakukan adalah menentukan peringkat
kalimat
ringkasan
dengan
membagi
probabilitas kalimat ringkasan dengan
panjang kalimat ringkasan. Kalimat keluaran
Perancangan Aplikasi Peringkas… (H. Thendean, H. Mochtar)
203
adalah kalimat ringkasan dengan peringkat
terbesar.
aslinya. Contoh hasil pengujian adaptive sebagai
berikut:
Cara penentuan keluaran otomatis bergantung
dari kebutuhan pengguna. Apabila pengguna
ingin terlibat langsung dengan aplikasi maka cara
pertama yang dipilih. Pengujian dalam penelitian
ini akan difokuskan pada cara yang kedua
Original Sentence
Before adaptive
3. DISKUSI
Berdasarkan pengujian proses peringkasan
kalimat, didapati bahwa parser yang digunakan
terkadang menghasilkan parse tree yang
menyalahi kaidah tata bahasa Inggris yang
berlaku. Contoh kesalahan parser yang terjadi
dapat dilihat pada gambar 3 (pada bagian yang
ditulis lebih besar). Menurut tata bahasa Inggris,
NP (noun phrase) harus diikuti paling tidak
sebuah kata benda, sedangkan dari parse tree
yang dihasilkan, NP tidak diikuti oleh kata benda,
melainkan hanya sebuah kata kerja saja.
Pengujian juga dilakukan terhadap fitur
adaptive yang ditambahkan. Dari hasil pengujian
diperoleh hasil bahwa sebelum melakukan
pembelajaran, kalimat ringkasan yang dihasilkan
kurang begitu baik, sedangkan setelah dilakukan
pembelajaran, kalimat ringkasan yang dihasilkan
lebih baik berdasarkan struktur gramatikalnya dan
tata bahasanya. Apabila sebelumnya, kalimat
ringkasan yang dihasilkan kurang begitu
mempunyai arti, namun setelah dilakukan proses
adaptive ini, kalimat yang dihasilkan jadi lebih
mempunyai arti, dan lebih sesuai dengan kalimat
After adaptive
: accepted entries would be
placed on the official
contest
website
for
consideration and public
voting.
: accepted entries would be
placed
on
the
for
consideration and public
voting.
: accepted entries would be
placed on website for
consideration and public
voting.
Untuk menilai keluaran yang dihasilkan,
maka diadakan survey. Survey dilakukan dengan
cara memberikan kuesioner kepada orang-orang
yang ahli dan sering menggunakan bahasa
Inggris.
Di dalam kuesioner, kalimat yang diuji berisi
8 kalimat, dengan pembagian 4 kalimat yang
belum pernah dilatih, dan 4 kalimat yang sudah
pernah dilatih. Dari setiap kalimat tersebut
diberikan 10 pilihan kalimat ringkasan
berdasarkan cara penentuan kalimat ringkasan
dan persentase kalimat ringkasan. Dari 10 kalimat
ringkasan tersebut, responden memberi tanda
pada kalimat ringkasan yang tidak sesuai dengan
kalimat asli, dan paling sesuai dengan kalimat
asli. Contoh bentuk kuesioner pengujian data
dapat dilihat pada tabel 1.
TOP
S
NP
VP
DT
NN
NN
NN
VBZ
the
transfer
program
interface
falls
ADJP
ADVP
RB
short
PP
IN
NP
of
VBG
S
JJ
,
intuitive
,
VP
VBG
leading
PP
TO
to
being
Gambar 3. Kesalahan parsing
204
Jurnal Ilmiah Ilmu Komputer, Vol. 7 No. 2 Maret 2011: 201-206
NP
JJ
NN
.
possible
confusion
.
Gambar 4. Hasil pengujian dengan data latih
ringkasan terbaik berdasarkan perhitungan
tertentu.
Nilai level of summary antara 10 sampai 90
menunjukkan persentase panjang kalimat
ringkasan yang dihasilkan.
Tiga grafik menunjukkan tiga penilaian yang
diberikan oleh responden. Sign X berarti
kalimat ringkasan tidak sesuai dengan kalimat
asli. No-sign berarti kalimat ringkasan masih
sesuai dengan kalimat asli. Sign O berarti
kalimat ringkasan paling sesuai dengan
kalimat asli.
Tabel 1. Contoh pengujian data (original
sentence: in my opinion , goals should
stretch your maximum capabilities)
Level of
Summary
NA
90
80
70
60
50
Summary Sentences
in my opinion , goals should stretch your
capabilities
in my opinion , goals should stretch your
capabilities
in my opinion , goals should stretch
capabilities
in my opinion , goals should stretch your
goals should stretch your maximum
capabilities
should stretch your maximum
capabilities
40
should stretch capabilities
30
should stretch your
20
should stretch
10
Goals
Berdasarkan pengujian seperti pada gambar 4,
5 dan 6, diperoleh hasil:
Pada kalimat yang belum dilatih, kalimat
ringkasan yang masih dapat diterima adalah
pada kalimat dengan tingkat 90% (panjang
kalimat ringkasan sama dengan 90% dari
panjang kalimat utama).
Pada kalimat yang sudah dilatih, kalimat
ringkasan yg dapat diterima adalah ada
tingkat 60%.
Secara keseluruhan, persentase kalimat
ringkasan yang masih dapat diterima adalah
pada tingkat 80%.
Keterangan pada gambar hasil pengujian
(gambar 4, 5 dan 6):
Pada level of summary, NA berarti aplikasi
tidak menggunakan level of summary,
melainkan menentukan sendiri kalimat
Gambar 5. Hasil pengujian dengan data baru
Gambar 6. Hasil pengujian dengan
data baru dan latih
4. HASIL
Berdasarkan pengujian diperoleh hasil bahwa
aplikasi dapat menghasilkan kalimat ringkasan
yang cukup baik sampai batas level of summary
sama dengan 80%. Aplikasi peringkas kalimat ini
dapat
beradaptasi
terhadap
penggunanya
walaupun belum mampu menghasilkan ringkasan
untuk kalimat asli yang memiliki panjang kata
lebih dari 20 kata (kompleks).
Dikarenakan jumlah basis data yang dimiliki
masih tergolong sedikit dan hanya pada bidang
tertentu saja (artikel komputer), maka aplikasi
peringkas kalimat ini harus sering digunakan dan
Perancangan Aplikasi Peringkas… (H. Thendean, H. Mochtar)
205
dilatih untuk dapat menghasilkan kalimat
ringkasan yang lebih baik.
Masih terdapatnya kesalahan yang dilakukan
oleh parser dalam membentuk parse string dari
kalimat yang dimasukkan sehingga berakibat
adanya aturan produksi yang tidak sesuai dengan
tata bahasa Inggris yang semestinya.
Recognition, Prentice Hall, Englewood Cliffs,
2000.
[3] H. Ney and U. Essen, “On Smoothing
Techniques for Bigram-Based Natural
Language
Modeling”,
International
Conference in Acoustics, Speech and Signal
Processing (ICASSP), 1991.
5. DAFTAR PUSTAKA
Websites:
[a] K. Knight and D. Marcu, (2009), StatisticsBased Summarization - Step One: Sentence
Compression,
http://www.isi.edu/naturallanguage/mt/statsum.ps.
[b] H. Daume III and D. Marcu, (2009), A
Noisy-Channel
Model
for
Document
Compression,
http://www.isi.edu/~marcu/
papers/doccompression-acl2002.pdf.
[1] M. K. Collins, Head-Driven Statistical
Models for Natural Language Processing,
Faculty of Computer and Information Science
University of Pennsylvania (dissertation),
Philadelphia, 1999.
[2] D. Jurafsky and J. H. Martin, Speech and
Language Processing: An Introduction to
Natural
Language
Processing,
Computational Linguistic and Speech
206
Jurnal Ilmiah Ilmu Komputer, Vol. 7 No. 2 Maret 2011: 201-206
Download