LANDASAN TEORI Peringkasan teks adalah proses untuk ...
Transcript of LANDASAN TEORI Peringkasan teks adalah proses untuk ...
7
BAB 2
LANDASAN TEORI
2.1 Peringkas Teks Otomatis
Peringkasan teks adalah proses untuk mengambil dan mengekstrak
informasi penting dari sebuah teks sehingga menghasilkan teks yang lebih singkat
dan mengandung poin-poin penting dari sumber. Sebuah sistem peringkas diberi
masukan berupa teks, kemudian melakukan peringkasan, dan menghasilkan
keluaran berupa teks yang lebih singkat dari teks aslinya. Pada peringkasan teks
terdapat dua pendekatan yaitu, ekstraksi (shallower approaches) dan abstraksi
(deeper approaches) (Mustaqhfiri, Abidin, & Kusumawati, 2011). Pendekatan
ekstraksi adalah peringkasan yang memilih suatu paragraf atau kalimat penting
dalam menginterpretasikan dokumen ke dalam sebuah bentuk sederhana.
Sedangkan pendekatan abstraksi menghasilkan ringkasan yang bukan dari
kumpulan kalimat penting tetapi menangkap hasil dari konsep utama pada teks dan
merepresentasikannya menjadi sebuah kalimat baru (Pradnyana & Mogi, 2014).
Berdasarkan jumlah sumbernya, peringkas teks otomatis dapat dibagi menjadi dua
yaitu single document dan multi document (Mulyana et al., 2012). Single document
merupakan sumber dokumen yang akan diekstraksi berupa dokumen tunggal
sedangkan multi-document adalah dokumen yang akan diekstraksi terdiri dari
beberapa dokumen.
8
2.2 Text Preprocessing
Text preprocessing adalah tahapan untuk mempersiapkan teks menjadi data
olah pada tahap berikutnya. Beberapa proses dari text preprocessing pada penelitian
ini yaitu pemecahan kalimat, proses case folding, proses filtering, proses stemming,
dan proses tokenizing kata. Berikut adalah penjelasan proses pada tahap text
preprocessing.
a. Pemecahan kalimat
Pemecahan kalimat merupakan langkah awal dari proses text preprocessing.
Pada tahap ini, teks berita yang terdiri dari kumpulan paragraf akan dipecah menjadi
kalimat agar dapat dihitung similarity antar kalimat pada tahapan proses nanti.
Pemisahan kalimat tersebut dilakukan dengan bantuan tanda baca, seperti tanda
titik (.), tanda seru (!), dan tanda tanya (?) (Pinandhita, 2013).
b. Case folding
Teks berita yang telah dipisah menjadi kalimat kemudian akan melalui proses
case folding. Case folding adalah tahapan proses mengubah semua teks menjadi
karakter dengan huruf kecil, serta menghilangkan karakter selain a-z.
c. Filtering
Filtering adalah proses penghilangan stopword. Stopword adalah kata-kata
yang sering muncul (umum) dalam dokumen namun artinya tidak deskriptif dan
tidak memiliki katerkaitan dengan tema tertentu. Beberapa contoh stopword dalam
Bahasa Indonesia contohnya βdiβ, βolehβ, βpadaβ, dan sebagainya.
d. Stemming
Stemming merupakan proses mencari akar (root) kata tiap token kata yaitu
dengan mengembalikan suatu kata berimbuhan ke bentuk dasarnya (Tala, 2003).
9
e. Tokenizing kata
Tokenizing kata adalah proses pemisahan string input berdasarkan setiap kata
yang menyusunnya. Kalimat pada teks akan dipisahkan menjadi kata-kata tunggal
dengan memindai kalimat dengan pemisah (delimiter) white space seperti spasi,
tab, dan newline.
2.3 Word Embedding
Pada tahun 2003, Bengio dkk. (Bengio et al., 2003) memperkenalkan istilah
word embedding. Word embedding adalah sebuah fungsi parameter yang
memetakan setiap kata ke dalam vektor berdimensi tinggi. Keunggulan word
embedding tidak membutuhkan anotasi, dapat langsung diturunkan dari korpus tak
teranotasi. Word embedding dapat dibuat langsung dari dataset yang dimiliki atau
menggunakan pre-trained word embedding yang telah tersedia. Pre-trained word
embedding ini adalah word embedding yang telah dilatih menggunakan dataset
yang besar pada domain permasalahan tertentu yang dapat digunakan untuk
menyelesaikan permasalahan lain yang serupa. Penggunaan word embedding ini
harus disesuaikan dengan domain dari kasus yang dimiliki. Misalkan permasalahan
pada domain biomedik tidak akan cocok menggunakan pretrained word embedding
dari korpus berita atau Wikipedia.
2.4 One-hot Encoding
One-hot encoding merupakan salah satu cara merepresentasikan sebuah
kata atau kalimat di dalam sebuah dokumen teks. Pembentukan One-hot encoding
yaitu dengan cara memberikan sebuah integer unik pada setiap kata dan kemudian
mengubah integer ke-i menjadi sebuah binary vector (bernilai 0 atau 1) dengan
10
jumlah dimensi sebesar K (jumlah kata pada kamus kata). Semua vektor yang
terbentuk akan bernilai 0, kecuali kata dengan indeks i, yaitu 1 (Chollet, 2017).
Gambar 2.1 Representasi Kata Dengan One-Hot Encoding
2.5 TF-IDF
TF-IDF adalah metode untuk memberikan bobot hubungan suatu kata
(term) terhadap sebuah dokumen. Metode ini bekerja dengan menghitung frekuensi
kemunculan kata dalam dokumen (Term Frequency) dan dibandingkan dengan
inverse frekuensi dokumen yang mengandung kata tersebut (Inverse Document
Frequency). Frekuensi kemunculan kata di dalam dokumen menunjukkan seberapa
penting kata tersebut dalam dokumen. Selain itu, semakin besar nilai frekuensi
kemunculan kata tersebut pada sebuah dokumen juga menunjukkan seberapa umum
kata tersebut. Sehingga, hubungan antara sebuah kata dan sebuah dokumen akan
tinggi jika frekuensi kata tersebut tinggi di dalam suatu dokumen dan kemunculan
kata tersebut rendah dalam kumpulan dokumen (Term Frequency β Inverse
11
Document Frequency). Berikut merupakan penjabaran rumus untuk TF (Term
Frequency):
ππ‘ππ‘,π = 1 + log10 π‘ππ‘,π ...(2.1)
Keterangan:
ππ‘ππ‘,π = log-term frequency weighting pada term ke t, dokumen ke d.
π‘ππ‘,π = nilai dari term frequency weighting pada term ke t, dokumen ke d.
Sedangkan untuk rumus IDF (Inverse Document Frequency) dapat
dijabarkan sebagai berikut:
ππππ‘ = log10(π
πππ‘)
...(2.2)
Keterangan:
ππππ‘ = nilai inverse document frequency pada term ke t.
N = jumlah keseluruhan kalimat pada dokumen yang ada pada teks.
πππ‘ = nilai dari document frequency pada term ke t.
Berikut merupakan rumus TF-IDF (Term Frequency - Inverse Document
Frequency) dapat dijabarkan sebagai berikut:
ππ‘,π = ππ‘ππ‘,π π₯ ππππ‘ ...(2.3)
Keterangan:
ππ‘,π = nilai TF-IDF pada term ke t, dokumen ke d.
ππ‘ππ‘,π = log-term frequency weighting pada term ke t, dokumen ke d.
πππ‘ = nilai dari document frequency pada term ke t.
12
Berbeda dengan perhitungan menggunakan library
sklearn.feature_extraction pada Python, bobot TF-IDF dihitung berdasarkan rumus
berikut:
ππ‘,π = π‘ππ‘,π π₯ [ln (π
πππ‘) + 1]
...(2.4)
Hal ini disebabkan perhitungan log pada library TF-IDF sklearn
menggunakan logaritma natural, yaitu dapat ditulis dengan eloga atau dengan kata
lain logaritma dengan basis e dengan nilai e = 2.718281828459β¦. Selain itu, dalam
TfidfVectorizer terdapat beberapa parameter untuk diatur, seperti smooth_idf dan
norm. Default parameter norm dan smooth_idf adalah True, jika parameter norm
diubah menjadi False maka perhitungan bobot adalah sebagai berikut:
ππ‘,π = π‘ππ‘,π π₯ log (π + 1
πππ‘ + 1) + 1
π‘ππ‘,π π₯ [ln (π + 1
πππ‘ + 1) + 1]
...(2.5)
Keterangan:
ππ‘,π = nilai TF-IDF pada term ke t, dokumen ke d.
π‘ππ‘,π = nilai dari term frequency weighting pada term ke t, dokumen ke d.
2.6 FastText
FastText adalah library open-source yang dibuat oleh Facebook AI
Research (FAIR) dan merupakan pengembangan lebih lanjut dari Word2Vec.
FastText dapat digunakan untuk melakukan text representation dan text
classification (Fasttext.cc, 2021). Selain itu, FastText juga menyediakan model pre-
trained untuk 157 bahasa yang telah dilatih berdasarkan common crawl dan
11eighbour. Berbeda dengan Word2Vec, FastText dapat menghasilkan vektor
13
untuk semua kata, termasuk kata yang tidak berada pada word dictionary model.
Hal ini dikarenakan FastText mempertimbangkan suku kata (subwords) dalam
mencari vektor dari kata yang tidak berada pada word dictionary dan
merepresentasikannya sebagai kumpulan karakter n-gram. Oleh karena itu,
FastText dapat mempelajari prefix dan suffix dalam sebuah kata. Model FastText
dapat menggunakan Continuous Bag-of-Word (CBOW) ataupun Skip-Gram untuk
merepresentasikan kata, namun secara default FastText menggunakan Skip-Gram.
Hal ini dikarenakan model Skip-Gram bekerja lebih baik dibandingkan Continuous
Bag-of-Word (CBOW) dalam subword information (Fasttext.cc, 2021).
Dalam representasi kata menggunakan model Skip-Gram, model akan
dilatih menggunakan data training terlebih dahulu. Kata yang diambil dalam model
training adalah kata yang memiliki frekuensi kemunculan terbanyak (menggunakan
parameter minCount) dalam teks. Sebagai contoh, dimisalkan kalimat βI like
natural language processingβ sebagai data training. Training example pada kalimat
tersebut dengan jumlah window_size bernilai 1 dan jumlah n-gram bernilai 3 adalah
sebagai berikut
Tabel 2.1 Contoh Training Data Menggunakan FastText
Training example Context Words Target Words 1 (<i>, <na, nat, atu, tur, ura, ral, al>) Like
2 (<li, lik, ike, ke>, <la, lan, ang, ngu,
gua, uag, age, ge>
Natural
3 dan sebagainya
Tujuan dari proses training ini adalah untuk melatih model memprediksi
kata di sekitar target words (context words) jika diberikan target words. Dalam
proses training ini, model akan belajar memahami konteks dari kata tersebut agar
dapat menebak context words. Berbeda dengan proses training, pada proses testing
14
model akan diberikan sebuah kata untuk dicari nilai representasinya. Dalam
mencari nilai representasi suatu kata, akan dilakukan proses prediksi menggunakan
model yang sudah dibentuk dan dilatih. Hasil dari representasi kata berupa nilai
prediksi pada hidden layer sehingga dimensinya sebesar jumlah hidden neurons
pada hidden layer. Hal ini dikarenakan pada fungsi model untuk merepresentasi
kata, tidak perlu sampai memprediksi context words sebagai output model. Gambar
2.2 menunjukkan perbedaan arsitektur Continuous Bag-of-Word (CBOW) dan
Skip-Gram.
Gambar 2.2 Perbedaan Arsitektur FastText CBOW dan Skip-Gram
Dalam mencari kata yang tidak berada dalam word dictionary model
(dengan catatan kata tersebut merupakan variasi dari data latih), FastText bekerja
dengan memecah kata tersebut menjadi n-gram data input. Kemudian mencari
irisan subwords serupa pada word dictionary dengan asumsi jika sebagian besar
irisan subwords sama, vektor yang dihasilkan juga serupa. Sebagai contoh, kata
βmemakanβ dan βmakanβ akan menghasilkan vektor yang serupa.
2.7 Algoritme TextRank
Algoritme TextRank merupakan algoritme yang bekerja dengan
memberikan peringkat pada graf (Mihalcea & Tarau, 2004). Implementasi
15
algoritme berbasis graf pada pemrosesan teks dapat dijabarkan menjadi 4 tahapan
yaitu:
a. Mengidentifikasi text unit yang paling sesuai untuk dijadikan simpul pada graf.
b. Mengidentifikasi relasi yang berhubungan dengan text unit dan menggunakan
relasi ini untuk menarik tepi antara simpul dalam grafik. Pemberian tepi dapat
berbobot atau tidak, berarah atau tidak berarah.
c. Mengintegrasi graph based ranking algorithm sehingga tercapainya
konvergensi.
d. Menyortir simpul berdasarkan skor akhir dengan menggunakan nilai pada
setiap simpul untuk ranking decision.
Berdasarkan penelitian sebelumnya, algoritme TextRank efektif untuk
diaplikasikan pada peringkas teks otomatis. Menurut Anwar (2015), TextRank
memiliki beberapa keunggulan di antaranya:
a. Unsupervised, atau dengan kata lain TextRank dapat bekerja tanpa
membutuhkan proses pelabelan untuk memproses data sesungguhnya.
b. Language independent, yang berarti TextRank tidak bergantung pada bahasa
tertentu atau pemahaman tentang suatu bahasa seperti grammar. Hal ini karena
TextRank bekerja hanya menggunakan kata-kata dalam teks.
Hasil evaluasi peringkas teks menggunakan algoritme TextRank menduduki
posisi 5 besar dari hasil penilaian menggunakan DUC (Document Understanding
Conference).
16
Tabel 2.2 Hasil Evaluasi Algoritme TextRank Dengan Evaluasi ROUGE
Sistem
ROUGE score β Ngram(1,1)
Basic(a) Stemmed(b) Stemmed no-stopwords(c)
S27 0.4814 0.5011 0.4405
S31 0.4715 0.4914 0.4160
TextRank 0.4708 0.4904 0.4229
S28 0.4703 0.4890 0.4346
S21 0.4683 0.4869 0.4222
S29 0.4502 0.4681 0.4019
Sedangkan untuk hasil evaluasi Algoritme TextRank dengan menggunakan
evaluasi co-selection berupa nilai precision, recall, dan f-measure pada penelitian
Kanitha et al. (2018), diperoleh nilai evaluasi sebagai berikut
Tabel 2.3 Hasil Evaluasi Algoritme TextRank Dengan Evaluasi Co-Selection
Artikel Precision Recall F-measure
1 0.40 0.50 0.44
2 0.40 0.80 0.53
3 0.47 0.58 0.52
4 0.60 0.60 0.60
5 0.56 0.33 0.42
6 0.63 0.54 0.58
Rata-Rata 0.51 0.558 0.515
Terdapat dua jenis pengelolahan bahasa dalam TextRank, yaitu TextRank
for keyword extraction (ekstraksi kata kunci) dan TextRank for sentence extraction
(ekstraksi kalimat). Pada TextRank for sentence extraction akan dibangun sebuah
graf yang berisi hubungan antar kalimat dalam dokumen. Vertex di dalam graf ini
direpresentasikan sebagai unit satuan yang akan diberikan peringkat. Vertex ini
mempunyai similiarity yang dihubungkan oleh edges. Jenis similiarty yang
digunakan adalah yang sering digunakan pada Natural Language Processing (NLP)
yaitu cosine similarity (McKeown, Kathleen, dan Nenkova, Ani, 2012). Nilai
relevansi pada cosine similarity di dapat dengan mengukur kesamaan antara 2
17
vektor. Nilai relevansi memiliki rentang antara 0 dan 1, di mana nilai 1
menunjukkan tingkat relevansi yang tinggi. Berikut merupakan penjabaran rumus
dari cosine similarity (Grossman, 1998):
Gambar 2.3 Cosine Similarity
πΆππ(π, π) =βπππ. ππ
ββπ(ππ)2. ββπ(ππ)2
...(2.6)
Keterangan:
π = term dalam kalimat
π = kalimat 1
Y = kalimat 2
ππ = bobot term dalam kalimat 1
ππ = bobot term dalam kalimat 2
TextRank sendiri merupakan rumus yang berasal dari metode PageRank.
Rumus pada metode PageRank ini telah diubah/dimodifikasi untuk kebutuhan
meringkas suatu dokumen. Rumus dari PageRank adalah sebagai berikut
(Mihalcea, R., & Tarau, P., 2004):
π(ππ) = (1 β π) + π β βπππ
βπ£π β ππ’π‘(ππ)ππππ(ππ)
π β ln(ππ)
...(2.7)
Keterangan:
18
S = Skor dari setiap sentence
ππ = Vertex Input (dari kalimat asal)
ππ = Vertex Output (ke kalimat tujuan)
πππ = bobot dari input ke output
πππ = bobot dari row tersebut
d = damping factor yang nilainya antara 0 dan 1, biasanya 0.85.
Faktor d dapat diatur antara 0 dan 1 untuk menentukan probabilitas suatu
vertex pindah ke random vertex lainnya. Pada umumnya faktor d bernilai 0,85.
Iterasi akan dilakukan dengan menghitung selisih dari value sebelumnya terhadap
value sekarang sampai lebih kecil dari threshold yaitu 0,0001 dan jika belum lebih
kecil dari 0,0001 maka iterasi akan dilanjutkan (Brin dan Page, 1998). Setelah
dijalankan terus menerus, akan menghasilkan skor untuk menentukan tingkat
kepentingan suatu vertex di graph tersebut.
2.8 Metrik Evaluasi
Berdasarkan pemaparan Josef (2009), proses evaluasi hasil text
summarization dapat diklasifikasikan seperti Gambar 2.4.
Gambar 2.4 Klasifikasi Metrik Evaluasi Pada Text Summarization
19
Evaluasi pada peringkas teks sering kali dilakukan dengan membandingkan
hasil sistem dan pakar. Pendekatan evaluasi dapat dilakukan secara intriksik dan
ekstrinsik (task-based method). Pendekatan secara intrinsik bekerja dengan
membandingkan hasil sistem dan hasil ringkasan ideal pakar. Untuk peringkasan
teks secara ekstraktif evaluasi konten dari ringkasan dapat dilakukan dengan
menggunakan metode co-selection dan untuk peringkasan teks secara abstraktif
dapat dilakukan dengan menggunakan metode content-based. Metode co-selection
bekerja dengan mencari tahu berapa banyak kalimat ideal yang terkanding dalam
ringkasan. Sedangkan metode content-based bekerja dengan membandingkan kata-
kata ideal pakar pada kalimat ringkasan sistem. Di sisi lain, pendekatan ekstraktif
bekerja dengan mengukur kinerja menggunakan ringkasan untuk tujuan tertentu.
Peneitian ini menghasilkan ringkasan secara ekstraktif, oleh sebab itu akan
digunakan pendekatan intrinsik co-selection untuk mengevaluasi hasil ringkasan.
Evaluasi dilakukan dengan menggunakan tiga parameter yaitu precision, recall,
dan F-measure. Proses uji coba dan evaluasi terhadap sistem dapat dilakukan
dengan membandingkan hasil ringkasan otomatis dari sistem dengan ringkasan
manual. Perbandingan ringkasan manual dengan hasil ringkasan pada sistem dapat
dilakukan dengan rumus berikut.
π =|π π β© π π»|
|π π|
...(2.8)
Precision merupakan jumlah kalimat yang muncul pada ringkasan manual
dan ringkasan sistem dibagi dengan jumlah kalimat yang muncul pada ringkasan
sistem (Josef Steinberger, 2009). Di mana untuk sebuah dokumen π· yang terdiri
dari sejumlah π kalimat (π 1, β¦ , π π), dan π π β π·. Hasil precision (π) dihitung
20
berdasarkan nilai ringkasan dari mesin, π π, di mana π π β π· dan hasil ringkasan
dari manusia, π π», di mana π π» β π·.
π =|π π β© π π»|
|π π»|
...(2.9)
Recall merupakan jumlah kalimat yang muncul pada ringkasan manual dan
ringkasan sistem dibagi dengan jumlah kalimat yang muncul pada ringkasan
manual (Josef Steinberger, 2009). Di mana untuk sebuah dokumen π· yang terdiri
dari sejumlah π kalimat (π 1, β¦ , π π), dan π π β π·. Hasil recall (π ) dihitung
berdasarkan nilai ringkasan dari manusia, π π», di mana π π» β π· dan hasil ringkasan
dari mesin, π π, di mana π π β π·.
πΉ1 = 2 β π β π
(π + π)
...(2.10)
F-measure (F1) merupakan hubungan antara recall dan precision yang
mempresentasikan akurasi sistem. Dengan kata lain, F-measure merupakan nilai
yang diperoleh dari gabungan perhitungan precision dan recall (Josef Steinberger,
2009).