IMPLEMENTASI MODIFIKASI ENHANCED CONFIX STRIPPING STEMMER
UNTUK BAHASA INDONESIA
DENGAN METODE CORPUS BASED STEMMING
Seminar Tugas Akhir – Juli 2010
DOSEN PEMBIMBING
Diana Purwitasarti, S.Kom., M.Sc.
MAHASISWA
Andita Dwiyoga T (5106 100 158)
)Latar Belakang (1)
Enhanced Confix Stripping (ECS) Stemmer, yang merupakan perbaikan dari Confix Stripping (CS) Stemmer, masih
melakukan kesalahan stemming :
NO TIPE KESALAHAN
CONTOH KASUS
AWAL HASIL
STEMMING
SEHARUSNYA
1 KESALAHAN ATURAN 18 menyatakan menyatakan nyata
2 KESALAHAN ATURAN 31 penyanyi penyanyi nyanyi
3 SISIPAN temaram temaram taram
4 AKHIRAN SERAPAN BAHASA ASING relawan relawan rela
5 KATA GABUNGAN diberitahukan diberitahukan beritahu
6 NAMA ORANG Gumai Guma Gumai
7 OVERSTEMING penyidikan sidi sidik
8 UNDERSTEMMING mengalami alami alam
Latar Belakang (2)
Dalam evaluasi performa sistem pencarian dokumen,
pembentukan relevan set secara manual membutuhkan banyak waktu.
•Query A
•Query B
•Query C QUERY SET :
•Dokumen 1
•Dokumen 2
•Dokumen 4
•Dokumen 1
•Dokumen 3
•Dokumen 5
•Dokumen 2
•Dokumen 5
•Dokumen 6 RELEVAN SET :
Query B : Query A :
Query C :
•Dokumen 1
•Dokumen 2
•Dokumen 3
•Dokumen 4
•Dokumen 5
•Dokumen 6
•Dokumen 7
•Dokumen 8
KOLEKSI DOKUMEN :
Permasalahan
Bagaimana cara memperbaiki kesalahan
stemming yang dilakukan oleh ECS Stemmer ?
Bagaimana cara mengevaluasi performa sistem
temu kembali informasi tanpa melakukan penilaian relevansi dokumen secara manual ?
Bagaimana performa sistem pencarian dokumen
yang menggunakan ECS Stemmer sebelum dan
sesudah perbaikan ?
Tujuan
Melakukan modifikasi terhadap algoritma ECS Stemmer dengan menerapkan metode corpus based stemmer untuk mengatasi problem
overstemming dan understemming.
Menerapkan teknik data fusion menggunakan
metode Condorcet untuk proses pembentukan
relevansi set secara otomatis.
Batasan Masalah
Teknik stemming dilakukan untuk kata-kata dalam Bahasa Indonesia
Modul ECS Stemmer, kamus kata dasar, dan list stopwords serupa dengan yang digunakan oleh I Putu Adhi Kerta dalam Tugas Akhirnya.
Koleksi dokumen yang digunakan dalam uji coba
diambil dari detikfinance.com mulai dari tanggal
1 November 2009 sampai dengan 31 Desember
2009 dengan jumlah total 1427 dokumen berita.
DASAR TEORI
FLOWCHART SISTEM IR
Sejarah singkat perkembangan ECS Stemmer
Nazief-Adriani Stemmer (1996)
• Pembentukan kamus kata dasar sebagai acuan hasil pemenggalan
• Pembentukan tabel aturan pemenggalan awalan dan akhiran
Jelita Asian - CS Stemmer
(2007)
• Penambahan aturan pemenggalan untuk kata ulang (plural)
• Penggunaan rule precedence di dalam algoritma stemmer
• Penambahan dan revisi aturan dalam tabel aturan pemenggalan
Putu Adhi Kerta - ECS Stemmer
(2008)
• Revisi aturan dalam tabel aturan pemenggalan
• Penggunaan loopPengembalianAkhiran di dalam algoritma stemmer
Perbaikan terhadap ECS Stemmer
Revisi aturan nomor 18 dan 31 serta penambahan aturan untuk pemenggalan sisipan pada tabel
aturan pemenggalan imbuhan.
Penambahan algoritma pada ECS Stemmer untuk melakukan cek keberadaan kata gabungan, contoh
“diberitahukan” menjadi “beritahu”.
Penggunaan Corpus Based Stemming untuk
mengatasi permasalahan kata-kata yang memiliki
potensi overstemming dan understemming (memiliki
hasil stemming lebih dari satu).
Corpus Based Stemming
Dikembangkan oleh Jinxi Xu - Bruce Croft dengan
latarbelakang adanya proses stemming yang memiliki kemungkianan hasil stemming 2 buah kata atau lebih.
Contoh :
mengakui :
meng + akui
meng + aku + i
mengawali :
meng + awal + i
meng + kawal + i
Corpus Based Stemming (2)
Partisi terhadap kelas stem “awal” menjadi 4 kelas baru :
Term Hasil Stem ECS Stemmer Kata Dasar Seharusnya
diawal awal awal
diawali awal awal
awal-awal awal awal
mengawal awal awal / kawal
pengawalan awal awal / kawal
mengawali awal awal / kawal
diawali awal-awal mengawali
diawal mengawal pengawalan
Corpus Based Stemmer
1
2 3 4
Corpus Based Stemming (3)
Corpus based stemming dimulai dengan melakukan penghitungan nilai em :
Keterangan :
) 0 , ) , ( (
) , (
n b n a
b a ab En
n max b
a
em
En ( a , b ) kn a n b
n b n a
n ab k
na dan nb : jumlah frekuensi kata a dan b pada koleksi dokumen
nab : frekuensi kedua kata tersebut muncul secara bersamaan (co-occurence) di dalam jendela teks yang sama.
En(a,b) : nilai ekspektasi munculnya kata a dan b secara bersama-sama, dengan asumsi awal bahwa kedua kata tersebut tidak saling mempengaruhi (statictically independent)
k : faktor konstan dari estimasi dengan sample berukuran besar yang dipilih secara random atau acak dari pasangan kata yang terdapat pada corpus yang digunakan.
Corpus Based Stemming : Algoritma Connected Component
Algoritma Connected Component :
Hubungkan pasangan term dengan em > 0.01
Corpus Based Stemming : Algoritma Connected Component (2)
Kekurangan algoritma connected component :
Jumlah kelas stem yang terbentuk sangat ditentukan jumlah graf yang terbentuk.
Saat terbentuk 2 kelas stem oleh algoritma ECS Stemmer, dan salah satu term dari salah satu kelas tersebut salah di-stem oleh ECS Stemmer,
algoritma connected component tidak dapat memindahkan term tersebut ke kelas yang lain.
Kelas stem : awal
Diawali Awal-awal mengawal
Kelas stem : kawal
Dikawal kawal
Kelas stem : awal
Diawali Awal-awal
Kelas stem : kawal
mengawal Dikawal kawal
Kelas stem awal
Diawali Awal-awal mengawal
Kelas stem kawal
Dikawal kawal
Kelas stem 1
Diawali Awal-awal
Kelas stem 2
mengawal
Kelas stem 3
Dikawal kawal
Corpus Based Stemming : Algoritma Nilai Em Terbesar
Algoritma : Pemilihan Hasil Stemming dengan nilai Em terbesar
Dapatkan nilai em tertinggi dari tiap kelas stem.
Kelas Stem Term 1 Term 2 em Max
(em)
awal mengawal diawali 0,05
awal-awal 0,03 0,03
kawal mengawal dikawal 0,11
kawal 0 0,11 Kelas stem : awal
diawali
awal-awal
mengawal
Kelas stem : kawal
mengawal dikawal kawal
Corpus Based Stemming : Algoritma Nilai Em Terbesar (2)
Algoritma : Pemilihan Hasil Stemming dengan nilai Em terbesar
Kelas stem yang memiliki nilai em tertinggi akan ditetapkan sebagai kelas stem untuk term tersebut.
Kelas stem : awal
diawali
Awal-awal
Kelas stem : kawal
mengawal dikawal kawal
Penghitungan similaritas dokumen terhadap query
Proses penghitungan similaritas diawali dengan penghitungan bobot tf-idf :
Nilai similaritas suatu dokumen terhadap query
dihitung menggunakan rumus cosinus similarity :
Pembentukan relevance set
Pembentukan relevan set secara otomatis = pseudo relevance set (pseudorels)
Condorcet Method (1)
SISTEM B
Rank Similarity Dokumen
1 125 a
2 120 c
3 99 b
a > b > c a > c > b a > b = c
b > a c > a
SISTEM A
Rank Similarity Dokumen
1 125 a
2 122 b
3 100 c
SISTEM C
Rank Similarity Dokumen
1 125 a
2 120 b
3 120 c
SISTEM D
Rank Similarity Dokumen
1 125 b
2 111 a
SISTEM E
Rank Similarity Dokumen
1 110 c
2 90 a
Condorcet Method (2)
elemen matrix (i,j) : nilai menang, kalah, dan seri dokumen i terhadap dokumen j pada tiap sistem yang ada.
Setiap dokumen dibandingkan nilai menang dan kalahnya terhadap dokumen lainnya.
Penentuan ranking dokumen ditentukan berdasarkan nilai menang dan kalahnya.
Dari contoh di atas, maka urutan akhir dokumen adalah a > b = c.
a b c
a - 4,1,0 4,1,0
b 1,4,0 - 2,2,1
c 1,4,0 2,2,1 -
Win Lose Tie
a 2 0 0
b 0 1 1
c 0 1 1
UJI COBA
Hasil Perbaikan ECS Stemmer :
1. Aturan Nomor 18
TERM ECS IECS
menyala sala nyala
menyanyikan menyanyikan nyanyi menyatakannya menyatakannya nyata
2. Aturan Nomor 31
term ecs iecs
penyanyi sanyi nyanyi
penyawaan sawa nyawa
3. Sisipan
TERM ECS IECS
melamah melamah mamah
jelambar jelambar jambar
lemigas lemigas ligas
rerata rerata rata
Hasil Perbaikan ECS Stemmer (2) :
4. Akhiran serapan bahasa asing ('-is', '-isasi', '-isme', '-wan', '-wati')
TERM ECS IECS
relawan relawan rela
riawan riawan ria
salawati salawat sala
belesis belesis beles
eksis eksis eks
finalis finalis final
menepis tepis tep
minimalis minimalis minimal
brokerisasi brokerisasi broker difinalisasi difinalisasi final
finalisasi finalisasi final maksimalisasi maksimalisasi maksimal memfinalisasi memfinalisasi final
standarisasi standarisasi standar
terealisasi realisasi real
Hasil Perbaikan ECS Stemmer (3) :
5. Kata Gabungan
TERM ECS IECS
bekerjasama bekerjasama kerjasama
berkerjasama berkerjasama kerjasama
beritahukan beritahukan beritahu
diberitahu diberitahu beritahu
diberitahukan diberitahukan beritahu
dibertanggungjawabkan dibertanggungjawabkan tanggungjawab dipertanggungjawabkan dipertanggungjawabkan tanggungjawab
ditandatangani ditandatangani tandatangan ditandatanganinya ditandatanganinya tandatangan ditindaklanjut ditindaklanjut tindaklanjut ditindaklanjuti ditindaklanjuti tindaklanjut
diujicoba diujicoba ujicoba
diujicobakan diujicobakan ujicoba
keanekaragaman keanekaragaman anekaragam
Hasil Perbaikan ECS Stemmer (4) :
5. Perbaikan Hasil Stemming Menggunakan Analisis Nilai Em
term ECS Stemmer List Bentuk Dasar analisis nilai em
penjajakan jaja [jaja, jajak, jajakan, penjaja,
penjajak] jajak
penyelidikan lidi [lidi, lidikan, selidik] selidik
penyidikan sidi [nyidi, nyidik, nyikan, sidi, sidik,
sidikan, sikan] sidik
perancang ancang [ancang, pancang, perancang,
rancang] rancang
perancangan ancang [ancang, perancang, rancang] rancang
perbankan perban [bank, perban, perbank,
perbankan] bank
pergerakan gera [gera, gerak, gerakan, pergera,
pergerak] gerak
perombakan ombak [ombak, perombak, rombak] rombak
Perbandingan Nilai Efektifitas :
Percentage merged documents = 30
Pool Depth
Measure Tanpa
Stemming ECS Stemmer Perbaikan ECS Stemmer
10
Recall 0,955 1,000 1,000
Recall(10) 0,862 0,890 0,787
Recall(20) 0,879 0,941 0,863
Precision 0,073 0,055 0,038
Precision(10) 0,069 0,052 0,030
Precision(20) 0,072 0,054 0,036
MAP 0,758 0,802 0,663
20
Recall 0,941 1,000 1,000
Recall(10) 0,733 0,780 0,640
Recall(20) 0,829 0,907 0,835
Precision 0,143 0,106 0,070
Precision(10) 0,121 0,088 0,044
Precision(20) 0,136 0,103 0,064
MAP 0,750 0,811 0,681
30
Recall 0,890 0,992 1,000
Recall(10) 0,548 0,558 0,483
Recall(20) 0,761 0,877 0,861
Precision 0,198 0,148 0,103
Precision(10) 0,139 0,094 0,049
Precision(20) 0,184 0,141 0,094
MAP 0,685 0,790 0,705
Perbandingan Nilai Efektifitas (2) :
Percentage merged documents = 40
Pool Depth
Measure Tanpa
Stemming ECS Stemmer Perbaikan ECS Stemmer
10
Recall 0,956 1,000 1,000
Recall(10) 0,825 0,853 0,765
Recall(20) 0,850 0,916 0,865
Precision 0,106 0,078 0,053
Precision(10) 0,096 0,072 0,040
Precision(20) 0,102 0,076 0,049
MAP 0,799 0,846 0,702
20
Recall 0,928 0,992 1,000
Recall(10) 0,681 0,695 0,583
Recall(20) 0,818 0,883 0,832
Precision 0,182 0,136 0,095
Precision(10) 0,146 0,102 0,052
Precision(20) 0,172 0,132 0,086
MAP 0,790 0,864 0,726
30
Recall 0,889 0,981 1,000
Recall(10) 0,501 0,471 0,412
Recall(20) 0,752 0,808 0,791
Precision 0,248 0,189 0,139
Precision(10) 0,161 0,103 0,055
Precision(20) 0,230 0,171 0,118
MAP 0,775 0,854 0,768
Perbandingan Nilai Efektifitas (3) :
Percentage merged documents = 50 Pool Dept h Measure Tanpa
Stemming ECS Stemmer Perbaikan ECS Stemmer
10
Recall 0,959 1,000 1,000
Recall(10) 0,800 0,828 0,698
Recall(20) 0,831 0,908 0,843
Precision 0,134 0,098 0,068
Precision(10) 0,117 0,087 0,045
Precision(20) 0,125 0,095 0,062
MAP 0,805 0,864 0,720
20
Recall 0,912 0,983 1,000
Recall(10) 0,587 0,563 0,480
Recall(20) 0,786 0,845 0,816
Precision 0,220 0,167 0,121
Precision(10) 0,160 0,103 0,054
Precision(20) 0,205 0,156 0,105
MAP 0,788 0,858 0,750
30
Recall 0,876 0,978 0,997
Recall(10) 0,403 0,380 0,334
Recall(20) 0,721 0,746 0,683
Precision 0,297 0,236 0,176
Precision(10) 0,164 0,106 0,056
Precision(20) 0,266 0,202 0,126
MAP 0,770 0,853 0,776
Simpulan
Perbaikan berhasil dilakukan terhadap seluruh
kesalahan stemming yang dilakukan oleh algoritma ECS Stemmer
Penggunaan metode corpus based stemming
digunakan untuk menyelesaikan permasalahan overstemming dan understemming
Penggunaan data fusion dan metode condorcet
dapat mempersingkat waktu yang dibutuhkan untuk
melakukan pembentukan relevan set.
Saran
Penggunaan koleksi dokumen yang berbeda untuk mengetahui pengaruh dari metode corpus based
stemming terhadap hasil dari proses stemming yang dilakukan.
Percobaan terhadap parameter data fusion dan
metode Condorcet yang berbeda untuk mengetahui konsistensi hasil efektifitas sistem temu kembali
informasi .
SEKIAN DAN TERIMA KASIH
Tabel Aturan Pemenggalan Imbuhan (1)
Tabel Aturan Pemenggalan Imbuhan oleh Algoritma Nazief-Adriani :
Keterangan simbol huruf :
C : huruf konsonan A : huruf vokal atau konsonan
V : huruf vokal P : partikel atau fragmen dari suatu kata, misalnya “er”
<< Kembali >>
Aturan FORMAT KATA Pemenggalan
1 berV... ber-V... | be-rV...
2 berCAP... ber-CAP... dimana C!=‟r‟ & P!=‟er‟
3 berCAerV... ber-CaerV... dimana C!=‟r‟
4 belajar bel-ajar
5 beC1erC2... be-C1erC2... dimana C1!={‟r‟|‟l‟}
6 terV... ter-V... | te-rV...
7 terCerV... ter-CerV... dimana C!=‟r‟
8 terCP... ter-CP... dimana C!=‟r‟ dan P!=‟er‟
9 teC1erC2... te-C1erC2... dimana C1!=‟r‟
10 me{l|r|w|y}V... me-{l|r|w|y}V...
Tabel Aturan Pemenggalan Imbuhan (2)
Tabel Aturan Pemenggalan Imbuhan oleh Algoritma Nazief-Adriani :
Keterangan simbol huruf :
C : huruf konsonan A : huruf vokal atau konsonan
V : huruf vokal P : partikel atau fragmen dari suatu kata, misalnya “er”
<< Kembali >>
Aturan FORMAT KATA Pemenggalan
11 mem{b|f|v}... mem-{b|f|v}...
12 mempe{r|l}... mem-pe...
13 mem{rV|V}... me-m{rV|V}... | me-p{rV|V}...
14 men{c|d|j|z}... men-{c|d|j|z}...
15 menV... me-nV... | me-tV
16 meng{g|h|q}... meng-{g|h|q}...
17 mengV... meng-V... | meng-kV...
18 menyV... meny-sV…
19 mempV... mem-pV... dimana V!=„e‟
20 pe{w|y}V... pe-{w|y}V...
Tabel Aturan Pemenggalan Imbuhan (3)
Tabel Aturan Pemenggalan Imbuhan oleh Algoritma Nazief-Adriani :
Keterangan simbol huruf :
C : huruf konsonan A : huruf vokal atau konsonan
V : huruf vokal P : partikel atau fragmen dari suatu kata, misalnya “er”
<< Kembali >>
Aturan FORMAT KATA Pemenggalan
21 perV... per-V... | pe-rV...
23 perCAP per-CAP... dimana C!=‟r‟ dan P!=‟er‟
24 perCAerV... per-CAerV... dimana C!=‟r‟
25 pem{b|f|V}... pem-{b|f|V}...
26 pem{rV|V}... pe-m{rV|V}... | pe-p{rV|V}...
27 pen{c|d|j|z}... pen-{c|d|j|z}...
28 penV... pe-nV... | pe-tV...
29 peng{g|h|q}... peng-{g|h|q}...
30 pengV... peng-V... | peng-kV...
Tabel Aturan Pemenggalan Imbuhan (4)
Tabel Aturan Pemenggalan Imbuhan oleh Algoritma Nazief-Adriani :
Keterangan simbol huruf :
C : huruf konsonan A : huruf vokal atau konsonan
V : huruf vokal P : partikel atau fragmen dari suatu kata, misalnya “er”
<< Kembali >>
Aturan FORMAT KATA Pemenggalan
31 penyV... peny-sV…
32 pelV... pe-lV... kecuali “pelajar” yang menghasilkan “ajar”
33 peCerV... per-erV... dimana C!={r|w|y|l|m|n}
34 peCP... pe-CP... dimana C!={r|w|y|l|m|n} dan P!=‟er‟
REVISI DAN TAMBAHAN ATURAN OLEH CS STEMMER
Sebelum :
Sesudah :
<< Kembali >>
Aturan FORMAT KATA Pemenggalan
12 mempe{r|l}... mem-pe...
16 meng{g|h|q}... meng-{g|h|q}...
Aturan FORMAT KATA Pemenggalan
Aturan FORMAT KATA Pemenggalan
12 mempe... mem-pe...
16 meng{g|h|q|k}... meng-{g|h|q|k}...
35 terC1erC2... ter-C1erC2... dimana C1!= „r‟
36 peC1erC2... pe-C1erC2... dimana C1!={r|w|y|l|m|n}
12 mempe... mem-pe...
REVISI DAN TAMBAHAN ATURAN OLEH ECS STEMMER
Sebelum :
Sesudah :
<< Kembali >>
Aturan FORMAT KATA Pemenggalan
14 men{c|d|j|z}... men-{c|d|j|z}...
17 mengV... meng-V... | meng-kV...
19 mempV... mem-pV... dimana V!=„e‟
29 peng{g|h|q}... peng-{g|h|q}...
30 pengV... peng-V... | peng-kV...
Aturan FORMAT KATA Pemenggalan
Aturan FORMAT KATA Pemenggalan
14 men{c|d|j|s|z}... men-{c|d|j|s|z}...
17 mengV... meng-V... | meng-kV... | (mengV-... jika V=‟e‟) 19 mempA... mem-pA... dengan A!=‟e‟
29 pengC... peng-C...
30 pengV... peng-V... | peng-kV... | (pengV-... jika V=‟e‟)
REVISI DAN TAMBAHAN ATURAN :
Sebelum :
Sesudah :
<< Kembali >>
Aturan FORMAT KATA Pemenggalan
18 menyV... meny-sV…
31 penyV... peny-sV…
Aturan FORMAT KATA Pemenggalan
Aturan FORMAT KATA Pemenggalan
18 menyV… me-nyV… | meny-sV…
31 penyV… pe-nyV… | peny-sV…
37 CerV… CerV… | CV…
38 CelV… CelV… | CV…
39 CemV… CemV… | CV…
40 CinV… CinV… | CV…