Document Indexing dan Term Weighting
Document Document
Indexing dan Term Indexing dan Term
Weighting Weighting M. Ali Fauzi M. Ali FauziDocument Indexing Document Indexing Setelah melakukan preprocessing, kita Setelah melakukan preprocessing, kita akan mendapatkan sebuah akan mendapatkan sebuah set term set term
yang bisa kita jadikan sebagai yang bisa kita jadikan sebagai indeks. indeks.
Indeks adalah perwakilan dari Indeks adalah perwakilan dari dokumen.aa dokumen.aa
Indeks memudahkan proses selanjutnya Indeks memudahkan proses selanjutnya
dalam teks mining ataupun IR. dalam teks mining ataupun IR.Document Indexing Document Indexing
Setelah melakukan preprocessing, kita Setelah melakukan preprocessing, kita
akan mendapatkan sebuah set term akan mendapatkan sebuah set term
yang bisa kita jadikan sebagai yang bisa kita jadikan sebagai indeks. indeks.
Indeks adalah perwakilan dari Indeks adalah perwakilan dari dokumen. dokumen.
Indeks Indeks memudahkan proses memudahkan proses selanjutnya dalam teks mining ataupun selanjutnya dalam teks mining ataupun IR.
IR.
Document Indexing Document Indexing
Hasil Hasil Hasil Type Term
Token Filtering Stemming they- >are
- applied applied apply apply appl
- the >words words word word word in >the
Document Indexing Document Indexing Hasil Token Hasil Filtering Hasil Stemming Type Term namanya namanya nama nama nama adalah - - - -
santiago santiago santiago santiago santiago
santiago santiago santiago- - - sudah - - - - memutusk an memutusk an putus putus putus untuk - - - - mencari mencari cari cari cari sang - - - -
alkemis alkemis alkemis alkemis alkemis
- applied applied apply apply appl
- the >words words word word word in >the
- - - sudah - - - - memutusk an memutusk an putus putus putus untuk - - - - mencari mencari cari cari cari sang - - - -
alkemis alkemis alkemis alkemis alkemis
- TF
Document Indexing Document Indexing
Dalam mebuat sebuah indeks, secara Dalam mebuat sebuah indeks, secara
umum kita umum kita tidak memperhatikan tidak memperhatikan urutan urutan kata kata
“John is quicker than Mary” dan “Mary is “John is quicker than Mary” dan “Mary is
quicker than John” memiliki quicker than John” memiliki representasi yang sama representasi yang sama Ini disebut bag of words model. Ini disebut bag of words model.Document Indexing Document Indexing
Dalam mebuat sebuah indeks, secara Dalam mebuat sebuah indeks, secara umum kita tidak memperhatikan umum kita tidak memperhatikan
urutan urutan kata kata
“John is quicker than Mary” dan “Mary “John is quicker than Mary” dan “Mary
is quicker than John” is quicker than John” memiliki memiliki representasi yang sama representasi yang sama Ini disebut bag of words model. Ini disebut bag of words model.
Document Indexing Document Indexing
Dalam mebuat sebuah indeks, secara Dalam mebuat sebuah indeks, secara
umum kita umum kita tidak memperhatikan tidak memperhatikan urutan urutan kata kata
“John is quicker than Mary” dan “Mary “John is quicker than Mary” dan “Mary
is quicker than John” is quicker than John” memiliki memiliki representasi yang sama representasi yang sama
Ini disebut bag of words model. Ini disebut bag of words model.
Document Indexing Document Indexing
Hasil Hasil Hasil Type Term
Token Filtering Stemming they- >are
Document Indexing Document Indexing Hasil Token Hasil Filtering Hasil Stemming Type Term namanya namanya nama nama nama adalah - - - -
santiago santiago santiago santiago santiago
santiago santiago santiago
Term Weighting Term Weighting
Teks Mining Teks MiningTerm Weighting Term Weighting
Dalam mebuat sebuah indeks, setiap Dalam mebuat sebuah indeks, setiap
kata/term kata/term memiliki bobot/nilai memiliki bobot/nilai masing-masing masing-masing
Ada banyak metode untuk memberikan Ada banyak metode untuk memberikan
bobot pada masing-masing term pada bobot pada masing-masing term pada indeks indeksTerm Weighting Term Weighting
Dalam mebuat sebuah indeks, setiap Dalam mebuat sebuah indeks, setiap
kata/term kata/term memiliki bobot/nilai memiliki bobot/nilai masing-masing masing-masing
Ada banyak metode untuk Ada banyak metode untuk
memberikan bobot memberikan bobot pada masing- pada masing-
masing term pada indeks masing term pada indeksTerm Weighting Term Weighting Term Weighting : Metode untuk Term Weighting : Metode untuk
memberikan nilai/bobot memberikan nilai/bobot pada masing- pada masing-
masing term indeks. masing term indeks.Term Weighting Term Weighting
Beberapa metode Term Weighting Beberapa metode Term Weighting
yang popular : yang popular : Binary Term Weighting Binary Term Weighting (Raw) Term-frequency (Raw) Term-frequency Logarithmic Term-frequency Logarithmic Term-frequency TF-IDF TF-IDF
Binary Term
WeightingBinary Term
WeightingMetode Term Weighting Metode Term Weighting
Binary Term Weighting Binary Term Weighting
Masing-masing dokumen Masing-masing dokumen direpresentasikan oleh sebuah binary direpresentasikan oleh sebuah binary
vector vector Dokumen diwakili oleh kolom, dan Dokumen diwakili oleh kolom, dan term diwakili oleh baris term diwakili oleh baris Jika kata/term berada pada dokumen Jika kata/term berada pada dokumen tertentu, maka nilainya 1, jika tidak, tertentu, maka nilainya 1, jika tidak, maka nilainya 0 maka nilainya 0
Binary Term Weighting Binary Term Weighting
Masing-masing dokumen Masing-masing dokumen
direpresentasikan oleh sebuah direpresentasikan oleh sebuah binary binary vector vector
Dokumen diwakili oleh kolom, dan Dokumen diwakili oleh kolom , dan
term term diwakili oleh baris diwakili oleh baris Jika kata/term berada pada dokumen Jika kata/term berada pada dokumen
tertentu, maka nilainya 1, jika tidak, tertentu, maka nilainya 1, jika tidak,
maka nilainya 0 maka nilainya 0
Binary Term Weighting Binary Term Weighting
Masing-masing dokumen Masing-masing dokumen
direpresentasikan oleh sebuah direpresentasikan oleh sebuah binary binary vector vector
Dokumen diwakili oleh kolom, dan Dokumen diwakili oleh kolom , dan
term term diwakili oleh baris diwakili oleh baris
Jika kata/term berada pada dokumen Jika kata/term berada pada dokumen tertentu, maka nilainya 1, jika tidak, tertentu, maka nilainya 1, jika tidak,
maka nilainya 0 maka nilainya 0
Binary Term Weighting Binary Term Weighting Metode term weighting ini Metode term weighting ini tidak tidak
memperhatikan jumlah kemunculan memperhatikan jumlah kemunculan
kata pada 1 dokumen. kata pada 1 dokumen.Binary Term Weighting Binary Term Weighting
Misal : terdapat 6 dokumen : Antony Misal : terdapat 6 dokumen : Antony
and Cleopatra, Julius Caesar, The and Cleopatra, Julius Caesar, The Tempest, Hamlet, Othello, dan Tempest, Hamlet, Othello, dan Macbeth Macbeth Antony, Brutus, Antony, Brutus, dan dan 7 kata/term : 7 kata/term :
Caesar, Calpurnia, Cleopatra, mercy, dan Caesar, Calpurnia, Cleopatra, mercy, dan
worser worserBinary Term Weighting Binary Term Weighting Antony Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth 1 1 1 Caesar Brutus 1 1 1 1 1 1 1 1 Cleopatra Calpurnia 1 1 worser mercy 1 1 1 1 1 1 1 1 1
(Raw) Term-
frequency(Raw) Term-
frequencyMetode Term Weighting Metode Term Weighting
(Raw) Term-frequency (Raw) Term-frequency
Seperti halnya binary, hanya saja
Seperti halnya binary, hanya saja mempertimbangkan mempertimbangkan jumlah jumlah
kemunculan kata kemunculan kata pada dokumen: pada dokumen:
count vector count vectorTerm frequency tf Term frequency tf dari term t dalam dari term t dalam t,d t,d
dokumen d didefniskan sebagai jumlah dokumen d didefniskan sebagai jumlah
kemunculan term t pada dokumen d. kemunculan term t pada dokumen d.(Raw) Term-frequency (Raw) Term-frequency
Seperti halnya binary, hanya saja Seperti halnya binary, hanya saja mempertimbangkan jumlah mempertimbangkan jumlah
kemunculan kata kemunculan kata pada dokumen: pada dokumen: count vector count vector
Term frequency Term frequency TF TF dari term t dalam dari term t dalam t,d t,d dokumen d didefniskan sebagai dokumen d didefniskan sebagai jumlah kemunculan term t pada jumlah kemunculan term t pada dokumen d. dokumen d.
(Raw) Term-frequency (Raw) Term-frequency Antony 157 Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth 73 Caesar 232 227 Brutus 4 157 2 1 1 1 Calpurnia Cleopatra 57 10 worser mercy 2 2 1 3 1 5 1 5 1
(Raw) Term-frequency (Raw) Term-frequency
Term frequency Term frequency TF TF dari term t dalam dari term t dalam t,d t,d dokumen d didefniskan sebagai dokumen d didefniskan sebagai jumlah kemunculan term t pada jumlah kemunculan term t pada dokumen d. dokumen d.
Anthony, Antony and Cleopatra Anthony , Antony and Cleopatra = 157 = 157
Anthony Anthony, Julius Caesar , Julius Caesar = 73 = 73 TF TF = 1 = 1 Mercy Mercy, Macbeth , Macbeth
(Raw) Term-frequency (Raw) Term-frequency
Raw term frequency kurang relevan: Raw term frequency kurang relevan :
Sebuah term yang muncul 10 kali pada Sebuah term yang muncul 10 kali pada
sebuah dokumen memang lebih penting sebuah dokumen memang lebih penting dalam mewakili dokumen dibandingkan dalam mewakili dokumen dibandingkan dengan term yang muncul cuma 1 kali. dengan term yang muncul cuma 1 kali. Tapi tidak berate 10 kali lebih penting. Tapi tidak berate 10 kali lebih penting.
(Raw) Term-frequency (Raw) Term-frequency Relevance does not increase
proportionally with term frequency.
Relevance does not increaseproportionally with term frequency.
Log Term-frequency Log Term-frequency
Metode Term Weighting Metode Term WeightingLog Term-frequency Log Term-frequency
Log Term-frequency dari term t dalam Log Term-frequency dari term t dalam
d adalah d adalah 1 log tf , if tf
10 t,d t,d w t,d
0, otherwise
0 → 0, 1 → 1, 2 → 1.3, 10 → 2, 1000 → 4, 0 → 0, 1 → 1, 2 → 1.3, 10 → 2, 1000 → 4, etc. etc.
Log Term-frequency Log Term-frequency
Log Term-frequency dari term t dalam d adalah 0 → 0, 1 → 1, 2 → 1.3, 10 → 2, 1000 → 4, etc.
Log Term-frequency dari term t dalam d adalah
0 → 0, 1 → 1, 2 → 1.3, 10 → 2, 1000 → 4, etc.
0, otherwise , tf if tf log
1 10 t,d t,d t,d w
Log Term-frequency Log Term-frequency W tf Antony & Cleopatra Julius Caesar The Tempest Hamlet Othello Macbet h Antony 1+ 10 log(157) 1+ 10 log(73)
Brutus 1+ 10 log(4) 1+ 10
log(157) 1+
Caesar 1+ 10 log(1) 10 log(232) 1+ 10log(227) 1+
10 log(2) 1+ 10 log(1) 1+ 10 log(1) Calpurnia 1+ Cleopatra 1+ 10 log(10) 10 log(57) Mercy 1+ 10 log(2) 1+ 10 log(3) 1+ 10 log(5) 1+ 10 log(5) 1+ 10 log(1) 10 10 10 10Log Term-frequency Log Term-frequency W tf & Cleopatra Antony Caesar Tempest Julius The Hamlet Othello Macbet h Antony Brutus 1.602059991 3.195899652 3.195899652 2.86332286
1 Calpurnia Caesar 3.365487985 3.356025857 1.301029996 2 1 1 Cleopatra Mercy 1.301029996 1.477121255 1.698970004 1.698970004 2.755874856 1 1.301029996 1 1 1
Metode Term Weighting Metode Term Weighting
Nilai TF-IDF dari sebuah term adalah Nilai TF-IDF dari sebuah term adalah
perkalian antara nilai (Log)TF and perkalian antara nilai (Log)TF and
nilai nilai IDF-nya.IDF -nya.
TF-IDF = TF x IDF TF-IDF = TF x IDF Catatan: tanda “-” dalam tf-idf adalah tanda Catatan: tanda “-” dalam tf-idf adalah tanda
hubung, bukan minus!. Alternative : TFf.IDF, hubung, bukan minus!. Alternative : TFf.IDF,
TF x IDF TF x IDF
Nilai TF-IDF dari sebuah term adalah Nilai TF-IDF dari sebuah term adalah
perkalian perkalian antara nilai (Log)TF and antara nilai (Log)TF and
nilai nilai IDF-nya.IDF -nya.
TF-IDF = TF x IDF TF-IDF = TF x IDF
Catatan: tanda “-” dalam tf-idf adalah tanda Catatan: tanda “-” dalam tf-idf adalah tanda hubung, bukan minus!. Alternative : hubung, bukan minus!. Alternative : TFf.IDF, TF x IDF TFf.IDF, TF x IDF
Apa itu IDF? IDF : Inverse Document Frequency atau Kebalikan dari Document
Frequency
Apa itu
IDF ?
IDF : Inverse Document Frequency atau Kebalikan dari Document Frequency
Document frequency Document frequency
Document frequency Document frequency (df (df ) adalah ) adalah t t jumlah dokumen jumlah dokumen yang yang mengandung mengandung term t term t df df N N t t
N = Jumlah Dokumen N = Jumlah Dokumen
Document frequency Document frequency
Document frequency (df Document frequency (df ) adalah ) adalah t t jumlah dokumen yang jumlah dokumen yang mengandung mengandung term t term t
df df N N t t
N = Jumlah Dokumen N = Jumlah Dokumen
Document frequency Document frequency Antony & Julius The Macbet Hamlet Othello Cleopatra Caesar Tempest h df t
Antony 157 Caesar 232 227 Brutus 4 157 73 1 2 1 1 2 5 3 Cleopatra Calpurnia Mercy 57 2 10 3 5 5 1 5 1 1 Worser 2 1 1 1 4
Document frequency Document frequency
Document frequency (df t ) adalah
jumlah dokumen yang mengandung term t Rare terms adalah term memiliki nilai
df yang kecil Frequent terms adalah term memiliki nilai df yang besar
Document frequency (df t ) adalah jumlah dokumen yang mengandung term t
Rare terms adalah term memiliki nilai df yang kecil
Frequent terms adalah term memiliki nilai df yang besar
Document frequency Document frequency
Document frequency (df Document frequency (df ) adalah ) adalah t t
jumlah dokumen yang mengandung jumlah dokumen yang mengandung
term t term t
Rare terms adalah term memiliki nilai Rare terms adalah term memiliki nilai
df yang kecil df yang kecil
Frequent terms adalah term memiliki
Frequent terms adalah term memiliki nilai df yang besar nilai df yang besar
Inverse Document Inverse Document frequency frequency
Apa itu IDF? Apa itu
IDF ?
IDF : Inverse Document Frequency
IDF : Inverse Document Frequency atau Kebalikan dari Document atau Kebalikan dari Document Frequency Frequency
Inverse Document Inverse Document frequency frequency
Kata-kata yang muncul di banyak Kata-kata yang muncul di banyak
dokumen adalah kata yang ”tidak dokumen adalah kata yang ”tidak penting” penting”
Misal kata : dan, di, atau, merupakan, Misal kata : dan, di, atau, merupakan, tinggi, bisa tinggi, bisa Sering muncul di hampir semua Sering muncul di hampir semua
dokumena dokumena Kata-kata seperti ini kurang Kata-kata seperti ini kurang
Inverse Document Inverse Document frequency frequency
Kata-kata yang muncul di banyak Kata-kata yang muncul di banyak
dokumen adalah kata yang ”tidak dokumen adalah kata yang ”tidak
penting” penting” Misal kata : dan, di, atau, merupakan, Misal kata : dan, di, atau, merupakan,
tinggi, bisa tinggi, bisa
Sering muncul di hampir semua Sering muncul di hampir semua
dokumen dokumen Kata-kata seperti ini kurang Kata-kata seperti ini kurang
Inverse Document frequency Inverse Document frequency
Kata-kata yang muncul di banyak
dokumen adalah kata yang ”tidak
penting”Misal kata : dan, di, atau, merupakan, tinggi, bisa Sering muncul di hampir semua dokumen Kata-kata seperti ini kurang
Kata-kata yang muncul di banyak
dokumen adalah kata yang ”tidak
penting” Misal kata : dan, di, atau, merupakan, tinggi, bisa
Sering muncul di hampir semua dokumen
Kata-kata seperti ini kurang
Inverse Document Inverse Document frequency frequency
Di sisi lain, kata-kata langka yang Di sisi lain, kata-kata langka yang
hanya muncul di sedikit dokumen, hanya muncul di sedikit dokumen, lebih informatif lebih informatif
Misal, kata Meganthropus yang hanya Misal, kata Meganthropus yang hanya muncul di dokumen sejarah, hampir muncul di dokumen sejarah, hampir tidak pernah muncul di dokumen- tidak pernah muncul di dokumen- dokumen lain seperti dokumen olahraga, dokumen lain seperti dokumen olahraga,
ekonomi, maupun politik. ekonomi, maupun politik.
Inverse Document Inverse Document frequency frequency
Di sisi lain, kata-kata langka yang Di sisi lain, kata-kata langka yang
hanya muncul di sedikit dokumen, hanya muncul di sedikit dokumen, lebih informatif lebih informatif
Misal, kata Meganthropus yang Misal, kata Meganthropus yang hanya muncul di dokumen sejarah, hanya muncul di dokumen sejarah ,
hampir tidak pernah muncul di hampir tidak pernah muncul di dokumen-dokumen lain seperti dokumen-dokumen lain seperti dokumen olahraga, ekonomi, maupun dokumen olahraga, ekonomi, maupun
Inverse Document frequency Inverse Document frequency
Rare terms (Kata-kata langka yang hanya muncul di dokumen-dokumen tertentu) lebih informatif dibandingkan dengan Frequent
terms (kata-kata yang muncul di
banyak dokumen) Oleh karena itu, Rare terms harus memiliki bobot/nilai yang lebih besar
Rare terms (Kata-kata langka yang
hanya muncul di dokumen-dokumen
tertentu) lebih informatif dibandingkan dengan Frequent terms (kata-kata yang muncul di banyak dokumen)Oleh karena itu, Rare terms harus
memiliki bobot/nilai yang lebih besar
Inverse Document Inverse Document frequency frequency
Rare terms (Kata-kata langka yang Rare terms (Kata-kata langka yang hanya muncul di dokumen-dokumen hanya muncul di dokumen-dokumen tertentu) lebih informatif tertentu) lebih informatif dibandingkan dengan Frequent dibandingkan dengan Frequent
terms (kata-kata yang muncul di terms (kata-kata yang muncul di banyak dokumen) banyak dokumen)
Oleh karena itu, Rare terms harus Oleh karena itu, Rare terms harus
memiliki memiliki bobot/nilai yang lebih bobot/nilai yang lebih
Inverse Document frequency Inverse Document frequency
df t
adalah ukuran kebalikan dari
keinformatifan term t idf (inverse document frequency) dari sebuah term t didefnisikan:
df t
adalah ukuran kebalikan dari
keinformatifan term t idf (inverse document frequency) dari sebuah term t didefnisikan:
) /df ( log idf 10 t t
N
Inverse Document Inverse Document frequency frequency idf log ( N /df ) t 10 t
Digunakan log (N/df Digunakan log (N/df ) dibanding N/df ) dibanding N/df t t t t untuk “mengecilkan” efek dari IDF. untuk “mengecilkan” efek dari IDF.
Menggunakan log berbasis Menggunakan log berbasis
berapapun tidak masalah berapapun tidak masalah
Inverse Document frequency Inverse Document frequency
Digunakan log (N/df t
) dibanding N/df t untuk “mengecilkan” efek dari IDF.
Menggunakan log berbasis
berapapun tidak masalah
Digunakan log (N/df t ) dibanding N/df t
untuk “mengecilkan” efek dari IDF.
Menggunakan log berbasis berapapun tidak masalah
) /df ( log idf 10 t t
N
Latihan Latihan Term df t idf t calpurnia
1 animal 100 sunday
1,000 fly 10,000 under
100,000 the 1,000,000
Berbeda dengan TF, sebuah term hanya Berbeda dengan TF, sebuah term hanya
Inverse Document frequency Inverse Document frequency df t idf t idf t
Antony
2 10 log (6/2) 0.47712125 Brutus
3 10 log (6/3) 0.30103 Caesar
5 10 log (6/5) 0.07918125 Calpurnia
1 10 log (6/1) 0.77815125 Cleopatra
1 10 log (6/1) 0.77815125 Mercy
5 10 log (6/5) 0.07918125 ) /df ( log idf
10 t t N
Nilai TF-IDF dari sebuah term adalah Nilai TF-IDF dari sebuah term adalah
perkalian antara nilai (Log)TF and perkalian antara nilai (Log)TF and nilai nilai IDF-nya.
IDF -nya.
TF-IDF = TF x IDF TF-IDF = TF x IDF
Term weighting paling populer Term weighting paling populer
Nilai TF-IDF dari sebuah term adalah
perkalian antara nilai (Log)TF and nilai IDF-nya.
TF-IDF = TF x IDF Term weighting paling populer
Nilai TF-IDF dari sebuah term adalah perkalian antara nilai (Log)TF and nilai IDF -nya.
TF-IDF = TF x IDF
Term weighting paling populer
TF-IDF = TF x IDF TF-IDF = TF x IDF
TF
IDF log( - 1 tf ) log ( N / df ) t , d t , d 10 t Term yang sering muncul di satu Term yang sering muncul di satu dokumen dan jarang muncul pada dokumen dan jarang muncul pada dokumen lain akan mendapatkan nilai dokumen lain akan mendapatkan nilai
tinggiaaaaaaaaa tinggiaaaaaaaaa
TF-IDF = TF x IDF TF-IDF = TF x IDF
TF
IDF log( - 1 tf ) log ( N / df ) t , d t , d 10 t
Term yang sering muncul di satu Term yang sering muncul di satu
dokumen dan jarang muncul pada dokumen dan jarang muncul pada
dokumen lain akan mendapatkan nilai dokumen lain akan mendapatkan nilai tinggi tinggi
IDF log( 1 tf ) log ( N / df )
t , d t , d 10 t Antony 1.524831652 1.366152196 TF-IDF Cleopatra Caesar Tempest Antony & Julius The Hamlet Othello Macbet h Caesar 0.266483532 0.265734309 Brutus 0.482268112 0.962061659 0.30102999 0.10301717 6 6 0.079181246 0.07918 Cleopatra 2.144487465 Calpurnia 1.556302501 Mercy 0.103017176 0.116960302 0.134526562 0.07918 0.13452656 2 Worser 0.22910001 0.176091259 0.176091259 0.17609125
Variasi TF-IDF Variasi TF-IDF
Metode Term Weighting Metode Term Weighting
Variasi TF-IDF Variasi TF-IDF
Term Weighting Lain Term Weighting Lain
Metode Term Weighting Metode Term WeightingTerm Weighting Lain Term Weighting Lain
Masih ada banyak Term Weighting lain Masih ada banyak Term Weighting lain
Information Gain Information Gain
Latent semantic indexing Latent semantic indexing
Mutual information Mutual information
Dsb. Dsb.