BAB LANASAN EORI. Kerangka eori.. Algoritma Lingo Sebelum masuk dalam pembahasan teori lebih dalam tentang algoritma Lingo, analisis akan dilakukan terhadap website yang menyediakan fasilitas search engine pada gambar berikut yang menjadikannya lebih baik jika dibandingkan dengan search engine lain yang umumnya ada saat ini seperti Google, Yahoo, dan sebagainya.. Gambar. http://citeseer.ist.psu.edu/osinski4conceptual.html 6
Search engine di atas memiliki suatu keunikan dibanding dengan yang ada pada umumnya saat ini, yaitu adanya nilai persentase pada sebelah kiri dari masing-masing link dokumen. Persentase yang terlihat menggambarkan kedekatan hubungan antara suatu dokumen dengan setiap dokumen lainnya. okumen yang ditampilkan pada hasil pencarian hanya merupakan sejumlah dokumen yang memiliki kekerabatan yang erat dengan dokumen yang ditampilkan. Hasil pencarian oleh search engine di atas ditampilkan secara berurut mulai dari tingkat persentase tertinggi hingga terendah. engan demikian user dapat merasakan kemudahan dalam melakukan pencarian dokumen dengan adanya urutan relevansi yang jelas yang direpresentasikan dalam nilai yang ditampilkan. Sementara search engine yang ada saat ini hanya mampu mengembalikan hasil pencarian dokumen berupa sejumlah besar dokumen yang mengandung kata yang dicari tanpa mengetahui urutan yang jelas, dokumen mana yang paling relevan dengan query yang diinput oleh user. Hal ini yang membuat hasil pencarian dengan search engine pada Gambar. memberikan kemudahan yang lebih baik bagi user jika dibandingkan dengan search engine yang ada saat ini. Berikut istilah-istilah akan dijumpai dalam pembahasan mengenai algoritma Lingo pada skripsi ini, diambil dari situs http://www.searchenginedictionary.com/terms-termfrequency.shtml []. Query merupakan satu atau sekumpulan kata kunci yang terdiri atas sekumpulan frase yang dimasukkan oleh user ke dalam kotak pencarian. igunakan oleh mesin pencari untuk dibandingkan dengan dokumen dokumen yang tersedia untuk mendapatkan hasil pencarian yang relevan. 7
Stop words merupakan kata kata seperti kata sambung, awalan, dll, memiliki pengaruh yang sangat kecil bahkan tidak sama sekali terhadap relevansi. Mesin pencari pada umumnya mengabaikan stop words yang berada dalam suatu query. Vektor dokumen merupakan vektor yang merepresentasikan sebuah dokumen. erm document matrix merupakan matriks di mana setiap kolomnya merupakan sebuah vektor dokumen, jadi matriks ini mengandung informasi dari sekumpulan dokumen. erm document matrix terdiri atas baris yang mewakili sejumlah kata dan kolom yang mewakili sejumlah dokumen. erm Frequency (F) merupakan pengukuran frekuensi munculnya kata dalam suatu dokumen. F dikombinasikan dengan Inverse ocument Frequency (IF) untuk mencari sejumlah dokumen yang paling relevan dengan query. Inverse ocument Frequency (IF) merupakan pengukuran frekuensi kemunculan suatu kata dalam sekumpulan dokumen. Perhitungan dilakukan dengan mengkalkulasi total dokumen dalam koleksi dibagi dengan jumlah dokumen yang mengandung kata tertentu. alam algoritma Lingo, yang pertama kali dilakukan adalah menciptakan label kelompok yang mudah dimengerti oleh manusia, kemudian menandai keseluruhan dokumen yang ada ke dalam label label kelompok yang telah terbentuk. Secara spesifik, dilakukan pengekstrakan frequent phrase dari dokumen yang diinput dengan harapan dapat menjadi sumber yang paling informatif yang menggambarkan deskripsi dari suatu topik. Kemudian dilakukan pengurangan term document matrix menggunakan SV untuk menemukan konsep abstrak dari bermacam macam topik, dengan tujuan untuk mendapatkan hasil pencarian. Pada akhirnya, dilakukan pencocokkan deskripsi grup dengan topik yang diekstrak dan menandai dokumen yang relevan masuk dalam 8
deskripsi grup yang tepat. Langkah spesifik dari algoritma Lingo disajikan sebagai berikut: a) Preprocessing ujuan dari fase Preprocessing adalah untuk melakukan pembuangan karakterkarakter dan kata kata yang tidak perlu dari suatu dokumen, yang dapat mempengaruhi kualitas pengelompokan. Ada tahap dalam melakukan Preprocessing, yaitu Stop Words Removal dan Stemming. Keduanya merupakan operasi yang umum dalam pengumpulan informasi. Berikut algoritma Preprocessing: Masukkan semua dokumen; Untuk setiap d lakukan langkah langkah berikut { } Jika kata d dikenali maka { } Lakukan proses Stop Words Removal dan Stemming;. Metode Stop Words Removal Stop Words merupakan sekumpulan kata yang dianggap sebagai kata yang terlalu umum dipakai dalam sistem online, sehingga nilai informasi yang terkandung di dalam kata tersebut sangat sedikit. engan demikian pencarian kata yang termasuk dalam daftar stop words akan diabaikan, contohnya dalam frase to be or not to be. 9
after also an and as at be because before between but before for however from if in into of or other out since such than that the these there this those to under upon when where whether which with within abel. aftar kata yang termasuk Stop Words Removal. Metode Stemming Metode Stemming merupakan proses penggunaan salah satu algoritma Stemmer untuk mendapatkan bentuk dasar dari sebuah kata. Stemmer pertama dipublikasikan oleh Julie Beth Lovins: Lovins JB (968) evelopment of Stemming Algorithm, Mechanical ranslation and Computational Linguistics, :-. Stemmer yang kemudian yang terkenal dengan algoritma Porter ditulis oleh Martin Porter, dan dipublikasikan pada Program, Vol 4 no. pp -7, Juli 98. Stemmer ini menjadi sangat luas dalam penggunaannya, dan menjadi standar algoritma yang biasa digunakan dalam melakukan proses Stemming pada dokumen berbahasa Inggris. Sebagai contoh, penggunaan Stemmer untuk bahasa Inggris dapat mengidentifikasikan kata stemmer, stemming, stemmed menjadi kata dasarnya, yaitu stem. Stemmer merupakan salah satu elemen yang cukup umum dalam tahap awal pengolahan query. Mungkin saja seseorang yang menuliskan kata stemmer dalam pencarian suatu dokumen, juga menginginkan dokumen yang di dalamnya terdapat kata stem (tanpa er ).
Sebelum masuk dalam pembahasan mengenai algoritma Porter yang akan digunakan dalam melakukan proses Stemming, berikut beberapa kemungkinan kondisi kondisi persyaratan dari algoritma Porter. *S Kata diakhiri dengan S, atau lainnya disesuaikan huruf setelah tanda *. *v* *d *o Kata mengandung huruf vokal.. Kata diakhiri dengan buah huruf konsonan yang sama (contoh: -, -SS). Kata diakhiri dengan cvc (konsonan-vokal-konsonan), di mana c yang kedua selain huruf W, X or Y (contoh:. -WIL, -HOP). m merupakan jumlah perulangan VC (vokal-konsonan), sebagai contoh: m > m = R, EE, REE, Y, BY. m = ROUBLE, OAS, REES, IVY. m = ROUBLES, PRIVAE, OAEN, ORRERY. Stemmer: Berikut contoh penulisan aturan untuk membuang akhiran kata dalam algoritma (kondisi) S S yang memiliki arti, jika sebuah kata memiliki akhiran S, dan susunan huruf-huruf sebelumnya memenuhi persyaratan kondisi yang diberikan, maka dilakukan penggantian S dengan S. Berikut algoritma Porter beserta contoh kata dalam aplikasinya, sumber http://www.snowball.tartarus.org/algorithms/porter/stemmer.html [].
Langkah a SSES -> SS caresses -> caress IES -> I ponies -> poni ties -> ti SS -> SS caress -> caress S -> cats -> cat Langkah b (m>) EE -> EE feed -> feed agreed -> agree (*v*) E -> plastered -> plaster bled -> Bled (*v*) ING -> motoring -> motor sing -> sing Jika langkah b yang kedua atau ketiga sukses, lanjutkan dengan langkah berikut: A -> AE conflat(ed) -> conflate BL -> BLE troubl(ed) -> trouble IZ -> IZE siz(ed) -> size (*d and not (*L or *S or *Z)) -> single letter hopp(ing) -> hop ann(ed) -> tan fall(ing) -> fall hiss(ing) -> hiss fizz(ed) -> fizz (m= and *o) -> E fail(ing) -> fail fil(ing) -> file alam tahap ini terdapat langkah pembuangan pasangan huruf yang sama pada akhiran menjadi buah huruf tunggal. Akhiran -E akan ditambahkan kembali pada -A, -BL and -IZ, dengan demikian akhiran -AE, -BLE and -IZE dapat diberikan, namun E mungkin saja dihilangkan pada langkah 4. Langkah c (*v*) Y -> I happy -> Happi sky -> sky Langkah (m>) AIONAL -> AE relational -> relate (m>) IONAL -> ION conditional -> condition rational -> rational (m>) ENCI -> ENCE valenci -> valence (m>) ANCI -> ANCE hesitanci -> hesitance (m>) IZER -> IZE igitizer -> digitize
(m>) ABLI -> ABLE conformabli -> conformable (m>) ALLI -> AL Radicalli -> radical (m>) ENLI -> EN differentli -> different (m>) ELI -> E vileli -> vile (m>) OUSLI -> OUS analogousli -> analogous (m>) IZAION -> IZE vietnamization -> vietnamize (m>) AION -> AE Predication -> predicate (m>) AOR -> AE operator -> operate (m>) ALISM -> AL feudalism -> feudal (m>) IVENESS -> IVE decisiveness -> decisive (m>) FULNESS -> FUL hopefulness -> hopeful (m>) OUSNESS -> OUS Callousness -> callous (m>) ALII -> AL Formaliti -> formal (m>) IVII -> IVE sensitiviti -> sensitive (m>) BILII -> BLE sensibiliti -> sensible Langkah (m>) ICAE -> IC triplicate -> triplic (m>) AIVE -> formative -> Form (m>) ALIZE -> AL formalize -> formal (m>) ICII -> IC electriciti -> electric (m>) ICAL -> IC electrical -> electric (m>) FUL -> hopeful -> hope (m>) NESS -> goodness -> good Langkah 4 (m>) AL -> revival -> reviv (m>) ANCE -> allowance -> allow (m>) ENCE -> Inference -> infer (m>) ER -> airliner -> airlin (m>) IC -> gyroscopic -> gyroscop (m>) ABLE -> adjustable -> adjust (m>) IBLE -> defensible -> defens (m>) AN -> irritant -> irrit (m>) EMEN -> replacement -> replac (m>) MEN -> adjustment -> adjust (m>) EN -> dependent -> depend (m> and (*S or *)) ION -> adoption -> adopt (m>) OU -> homologou -> homolog (m>) ISM -> communism -> commun (m>) AE -> activate -> activ (m>) II -> angulariti -> angular
(m>) OUS -> homologous -> homolog (m>) IVE -> effective -> effect (m>) IZE -> bowdlerize -> bowdler alam langkah di atas dilakukan pembuangan akhiran. Langkah 5a (m>) E -> probate -> Probat Rate -> rate (m= and not *o) E -> Cease -> ceas Langkah 5b (m > and *d and *L) -> single letter controll -> control roll -> roll b) Metode Frequent Phrase Extraction Secara intuisi, ketika menulis tentang suatu topik, seorang penulis terbiasa melakukan pengulangan subjek yang memiliki keterkaitan dengan kata kunci untuk mendapatkan perhatian pembaca. Frequent Phrase Extraction merupakan proses penemuan sejumlah kata yang disebutkan berulang ulang dalam suatu dokumen. Untuk menjadi suatu kandidat label, sebuah frequent phrase harus muncul minimal sejumlah ambang batas (threshold) dari term frequency. Berikut algoritma Frequent Phrase Extraction: Lakukan penggabungan seluruh dokumen; P c daftar seluruh kata yang terdapat pada seluruh dokumen yang diinput; P f p : { p P c frekuensi ( p ) > batas ambang term frequency }; alam melakukan Frequent Phrase Extraction, yang perlu dilakukan adalah membangun suatu term document matrix yang mewakili atas seluruh dokumen yang ada, 4
kemudian lakukan pembobotan, dan terakhir lakukan pemilihan kata yang termasuk dalam kandidat label di mana memiliki bobot di atas batas ambang term frequency. Langkah pertama dalam Frequent Phrase Extraction adalah dengan membangun suatu term document matrix yang terdiri atas kumpulan vektor dokumen. Vektor dokumen adalah vektor yang merepresentasikan sebuah dokumen. erm document matrix merupakan matriks di mana setiap kolomnya merupakan sebuah vektor dokumen, jadi matriks ini mengandung informasi dari sekumpulan dokumen. erm document matrix terdiri atas baris yang mewakili sejumlah kata dan kolom yang mewakili sejumlah dokumen. Langkah kedua dalam Frequent Phrase Extraction adalah dengan melakukan pembobotan setiap kolom dari term document matrix. Perhitungan bobot bertujuan untuk melakukan penyaringan kata yang sering muncul. Pembobotan dapat mengevaluasi seberapa penting suatu kata bagi sebuah dokumen Pembobotan seringkali digunakan oleh mesin pencari (search engine) untuk menemukan dokumen yang paling relevan dengan kata kunci yang dicari. FIF (erm Frequency Inverse ocument Frequency) merupakan teknik pembobotan yang sering digunakan dalam pengumpulan informasi. Perhitungan bobot bertujuan untuk melakukan penyaringan kata yang sering muncul. FIF dapat digunakan untuk mengevaluasi seberapa penting suatu kata bagi sebuah dokumen. FIF seringkali digunakan dalam search engine untuk menemukan dokumen yang paling relevan dengan query. dokumen. erm frequency menggambarkan ukuran seberapa penting suatu kata dalam suatu 5
F = n i = frekuensi munculnya suatu kata dalam suatu dokumen. k n i n k k n k = banyaknya kata dalam suatu dokumen. ocument frequency merupakan pengukuran secara umum tingkat kepentingan dari suatu kata (log dari hasil perhitungan jumlah dokumen dibagi dengan banyaknya dokumen yang mengandung kata tertentu). FIF = F log ( d t j j Contoh kasus: 5 buah kata yang terdapat dalam keseluruhan dokumen: : Information : Singular : Value 4 : Computations 5 : Retrieval buah frase yang ingin dicari: P : Singular Value P : Information Retrieval 7 buah dokumen yang tersedia: : Large Scale Singular Value Computations : Software for the Sparse Singular Value ecomposition : Introduction to Modern Information Retrieval 4 : Linear Algebra for Intelligent Information Retrieval 5 : Matrix Computations 6
6 : Singular Value Analysis of Cryptograms 7 : Automatic Information Organization Vektor dokumen untuk 4 sebagai berikut: Vektor okumen untuk 4 : (setelah dilakukan normalisasi):.56.8 NB: Proses normalisasi vektor dokumen 4 untuk kata Information: F = (dari 5 buah kata, kata Information mucul sebanyak kali) 5 7 IF = (dari 7 buah dokumen, kata Information terdapat pada buah dokumen) 7 FIF = F log IF = log =. 76 5 Proses normalisasi vektor dokumen 4 untuk kata Retrieval: F = (dari 5 buah kata, kata Retrieval mucul sebanyak kali) 5 7 IF = (dari 7 buah dokumen, kata Retrieval terdapat pada buah dokumen) 7 FIF = F x log IF = log =.88 5 Normalisasi dilakukan untuk mendapatkan panjang vektor dokumen =. (.76 a ) + (.88a ) = 7
.7a = a = 7.64 bobot dalam 4 untuk kata Information =.76 a =.76 7. 64 =. 56 bobot dalam 4 untuk kata Retrieval =.88 a =.88 7. 64 =. 8 erm ocument Matrix:.49 A =.49.7.7.7.56.8.56.8..7.7. alam 4, terdapat satu buah kata Information dan satu buah kata Retrieval, hal ini yang membentuk vektor dokumen V 4. Setelah vektor dokumen terbentuk, lakukan normalisasi hingga didapatkan panjang masing masing vektor dokumen yang merupakan kolom pada term document matrix =, hal ini dilakukan untuk menjaga relevansi di mana sebelumnya setiap vektor dokumen memiliki panjang berbeda-beda. engan memasukkan vektor dokumen milik ke dalam kolom I, vektor dokumen milik ke dalam kolom II, vektor dokumen milik ke dalam kolom III dan seterusnya, didapatkan sebuah term document matrix. c) Metode Cluster Label Induction ari satu tahap sebelum Cluster Label Induction, didapatkan daftar dari frequent phrase yang memiliki frekuensi di atas batas ambang term frequency yang telah ditentukan. Seluruh kata yang tercakup dalam daftar frequent phrase kemudian akan 8
diproses lebih lanjut dalam fase Cluster Label Induction untuk mendapatkan label yang sebenarnya. Ada beberapa tahap dalam melakukan Cluster Label Induction: - penemuan konsep abstrak. - pencocokan frase dan pelabelan. Penemuan konsep abstrak dilakukan dengan metode Singular Value ecomposition (SV). SV dari term document matrix A dituliskan sebagai A = U V, di mana U merupakan t t matriks ortogonal di mana kolom kolomnya berperan sebagai vektor singular kiri dari A, V merupakan d d matriks ortogonal di mana kolom kolomnya berperan sebagai vektor singular kanan dari A dan merupakan t d matriks diagonal yang memiliki nilai singular σ σ... σ min ( t, d ). Matriks U yang merupakan salah satu hasil dari SV merepresentasikan konsep abstrak yang terdapat pada suatu dokumen. Peringkat dari matriks A ( r A ) sama dengan jumlah dari nilai singular yang bukan nol. Hanya sejumlah k pertama dari vektor pada matriks U digunakan dalam fase lebih lanjut. Nilai dari k ditentukan dari estimasi, dengan bantuan Frobenius norms dari matriks A. q merupakan batas ambang kandidat label. Semakin besar nilai q, semakin banyak jumlah kandidat label yang akan terbentuk. Setelah tahap perhitungan SV matriks A, kemudian lakukan perhitungan nilai k minimum yang memenuhi kondisi berikut A A k F F q, di mana X merupakan simbol dari Frobenius norm dari F matriks X dengan rumus: 9
A r A = σ F j j = Berikut algoritma Cluster Label Induction: A term document matrix yang sudah melewati tahap Stop Words Removal dan memiliki frekuensi lebih tinggi daripada batas ambang term frequency;,u,v SV ( A ); { Produk SV dari A } k ; { Mulai dengan jumlah kelompok } n Peringkat ( A ); repeat k k + ; q k i = = n i = ii ii ; until q > batas ambang kandidat label; Contoh kasus lanjutan: ari tahap Preprocessing didapatkan term document matrix sebagai berikut:.49 A =.49.7.7.7.56.8.56.8..7.7. Menggunakan software matematika, MALAB 6., didapatkan SV dari matrix A sebagai berikut:
U.659 =.659.87.756.6584.78.78.9.6584.756.77.77.645 =.56.44.754 ari diagonal matriks di atas didapatkan: σ =.645, σ =.56, σ =.44, σ 4 =.754 A = r A σ F j j = =.645 +.56 +.44 +.754 =.6495 Misalkan kita tetapkan q =.9, maka...645 Jika k = q = =. 69.6495.645 +.56 Jika k = q = =. 856.6495.645 +.56 +.44 Jika k = q = =. 9589.6495 Perulangan berhenti pada k =, karena kondisi berhenti yaitu q > batas ambang kandidat label, di mana batas ambang kandidat label dalam hal ini ditetapkan sama dengan.9. Maka jumlah dari kelompok = k =.
ahap terakhir pada Cluster Label Induction adalah pencocokan frase dan pelabelan. Pada tahap ini, konsep abstrak dan frequent phrase diekspresikan dalam satu buah ruang vektor di mana deskripsi kelompok dapat diketahui. Untuk selanjutnya dapat dilakukan perhitungan jarak klasik dengan menggunakkan kosinus untuk mengkalkulasi seberapa dekat jarak/kekerabatan antara frase dan konsep abstrak. Misalkan ada sebuah matriks P dan sejumlah i kolom dari matriks U hasil dari perhitungan SV. Vektor m i adalah kosinus sudut antara konsep abstrak yang ke i dan frequent phrase dapat dikalkulasikan dengan rumus m i = U i P. Frase yang sesuai dengan komponen maksimum dari vektor m i, dipilih sebagai kandidat label kelompok. Sedangkan nilai kosinusnya menjadi skor bagi kandidat label kelompok. Berikut algoritmanya: P matriks frase P f ; Untuk setiap kolom hasil dari U k P { cari satu yang maksimum untuk setiap kolom m i ; tambahkan frase yang bernilai maksimum tersebut ke dalam kandidat label; skorlabel = m; i } Contoh kasus lanjutan: ari tahap sebelumnya didapatkan:
U.659 =.659.87.756.6584.78.78.9.6584.756.77.77 k = ( k di sini menandakan jumlah kelompok yang akan dibentuk. engan demikian hanya sejumlah k kolom dari U yang merupakan konsep abstrak yang dihasilkan oleh SV yang akan dipergunakan dalam proses berikut). maka: U k.659 =.659.87.756.6584 U k =.756.659.659.87.6584.7 P =.7.56.8..... M = U k P M.9 =.97.75.65.65.9.66 Perhitungan M = U P dilakukan untuk menemukan deskripsi dari kelompok k kelompok yang ada, di mana dari hasil perhitungan didapatkan jumlah kelompok = (diperoleh dari nilai k = ). P merupakan term document matrix berukuran t ( p + t ),
di mana t merupakan jumlah dari frequent terms dan p merupakan jumlah dari frequent phrases. P dibentuk dari frequent phrase dan seluruh kata yang terdapat pada dokumen, di mana telah dilakukan pembobotan dan normalisasi terhadap P. i satu sisi, kita ingin mendapatkan informasi yang sifatnya umum dari sejumlah dokumen, di sisi lain kita ingin membaginya ke dalam deskripsi label yang paling cocok. Baris pada matriks M merepresentasikan kelompok, sedangkan kolom pada matriks M merepresentasikan deskripsi dari kelompok. Untuk setiap baris, dipilih sebuah kolom yang nilainya paling maksimum, dengan demikian buah kelompok yang didapat: Singular Value (skor:.9) dan Information Retrieval (skor:.97). Berikut algoritma Frequent Phrase Extraction: Hitung kosinus antara setiap pasang kandidat label; Identifikasi label yang memenuhi batas ambang kesamaan label ke dalam kelompok-kelompok; Untuk setiap kelompok yang dibentuk dari label yang serupa { Pilih satu label dengan skor tertinggi; } d) Metode Cluster Content iscovery alam fase ini, kita menggunakan model ruang vektor klasik untuk menandai setiap dokumen yang diinput kedalam label label kelompok yang telah terbentuk dari fase Cluster Label Induction. Rumus perhitungan yang dipakai dalam fase ini yaitu C = Q A, di mana Q adalah matriks yang terdiri atas kelompok kelompok label, A adalah term document matrix asli dari dokumen dokumen yang tersedia. engan 4
demikian, elemen C dari matriks C mengindikasikan kekuatan hubungan antara i j dokumen ke j dan kelompok ke-i. okumen ditambahkan ke dalam kelompok jika C termasuk dalam batas ambang yang ditetapkan. okumen yang tidak ditandai i j kepada kelompok tertentu, akan dimasukkan ke dalam kelompok yang dinamakan Others. Berikut algoritma Cluster Content iscovery: Untuk setiap L kandidat label kelompok lakukan langkah langkah berikut { Buat kelompok C dengan L sebagai deskripsi; ambahkan ke dalam C semua dokumen yang skor kemiripannya dengan C masuk dalam batas ambang; } Masukkan ke dalam kelompok Others setiap dokumen yang belum menjadi anggota dari kelompok manapun kelompok manapun; Contoh kasus lanjutan: Pada akhirnya, dokumen ditandai pada kelompok dengan mengaplikasikan matriks Q dengan A FIF. ari tahap sebelumnya diketahui:.7 P =.7.56.8..... 5
.7 Q =.7.56.8 Q =.56.7.7.8 Lakukan perhitungan C = Q A, didapatkan matriks C sebagai berikut:.69 C =.....56 erakhir, lakukan proses penandaan dokumen pada kelompok kelompok yang ada: Information Retrieval [skor:.97] : Introduction to Modern Information Retrieval 4 : Linear Algebra for Intelligent Information Retrieval 7 : Automatic Information Organization Singular Value [skor:.9] : Software for the Sparse Singular Value ecomposition 6 : Singular Value Analysis of Cryptograms : Large Scale Singular Value Computations Others: [yang tidak ditandai kedalam kelompok manapun] 5 : Matrix Computations 6
.. Matriks Ortogonal Matriks ortogonal adalah matriks persegi di mana inversnya dapat diperoleh dengan melakukan transpos matriks ( didefinisikan sebagai berikut: A = A ). Matriks ortogonal juga dapat Jika A A = atau A A =, maka matriks A disebut matriks ortogonal. Berikut rumus untuk memperoleh vektor basis ortogonal u r k sebagai kolom dari matriks ortogonal: Langkah : µ = v v Vektor v r k Langkah : µ = v Langkah : µ = v v v - < v - < v - < v - < v, µ > µ, µ > µ, µ > µ - < v, µ > µ, µ > µ - < µ, µ > µ Langkah ke k :(misalkan sudah di peroleh µ, µ,..., µ merupakan vektor eigen dari matriks A. Matriks ortogonal U merupakan r r r penggabungan vektor basis ortogonal dalam tiap kolomnya = [ u u... ] U k- ) u k. Kerangka Pikir Proses pencarian dokumen yang diinginkan pada search engine dilakukan dengan menginput data yang disebut query pada kotak pencarian, setelah itu mesin pencari akan melakukan pencarian pada seluruh dokumen yang sesuai dengan query yang diinput. Pada umumnya hasil pencarian ditampilkan tanpa adanya urutan relevansi yang jelas. 7
alam skripsi ini digunakan algoritma Lingo, di mana dihasilkan pengurutan dokumen hasil pencarian sesuai dengan urutan kekerabatan antara frase yang diinput dengan dokumen, mulai dari kekerabatan tertinggi hingga terendah. Hal ini tentu saja sangat menguntungkan bagi user, di mana user mendapatkan hasil pencarian yang paling relevan berada pada posisi teratas. Proses yang dilakukan Lingo sehingga algoritma ini dapat mengetahui kekerabatan antara dokumen dengan frase yaitu dengan menyatukan seluruh dokumen yang dimiliki menjadi sebuah matriks yang disebut dengan term document matrix yang terdiri atas kolom mendeskripsikan dokumen, dan baris mendeskripsikan kata Proses awal pengolahan dokumen, dilakukan Preprocessing, di mana dalam tahap ini dilakukan pemrosesan terhadap sejumlah kata yang telah dikumpulkan dari seluruh dokumen. Pemrosesan terhadap sejumlah kata mencakup pemotongan kata menjadi kata dasarnya (Stemming) dan pembuangan kata yang umum dipakai seperti and, or (Stop Words Removal). ahap selanjutnya dalam pemrosesan awal dokumen, dilakukan tahap Frequent Phrase Extraction yang akan menyaring sejumlah kata yang merupakan penggabungan kata pada seluruh dokumen, di mana ditetapkan minimal kata yang akan menjadi kandidat pembentukan term document matrix harus muncul sejumlah n kali Sejumlah kata terpilih yang telah melalui berbagai proses penyaringan yang mewakili seluruh kata pada seluruh dokumen kemudian dipakai dalam pembentukan term document matrix yang merupakan matriks yang mewakili seluruh dokumen. Jadi deskripsi dari seluruh dokumen disajikan dalam bentuk matriks. Setelah melakukan pembentukan term document matrix, dilakukan proses pengolahan query yang sama dengan proses terbentuknya term document matrix, 8
hasilnya berupa phrase matrix yang terdiri atas baris sebagai deskripsi kata dan kolom sebagai deskripsi frase. alam tahap pembentukan matriks, akan diperoleh dua buah matriks, yaitu term document matrix yang mendeskripsikan seluruh dokumen yang dimiliki, dan phrase matrix yang mendeskripsikan frase yang diinput pada kotak pencarian. Jika matriks yang mewakili seluruh dokumen dan seluruh frase telah terbentuk, maka selanjutnya akan dilakukan proses yang secara garis besar dapat digambarkan dengan mengalikan term document matrix dengan phrase matrix, di mana akan dihasilkan sebuah matriks yang menggambarkan kekerabatan antara sejumlah frase dan dokumen. ari matriks ini dapat terlihat, ke dalam kelompok frase mana dokumen X terkategori (terjadi pengelompokan dokumen ke dalam kelompok frase yang paling sesuai). erlihat pula skor yang didapat untuk tiap dokumen, sebagai contoh: - skor dokumen untuk kelompok K yaitu., - skor dokumen untuk kelompok K yaitu.5, maka dokumen akan menjadi bagian dalam kelompok K karena memiliki skor kekerabatan dengan kelompok K lebih tinggi daripada dengan kelompok K (skor kekerabatan dokumen dengan kelompok K adalah.5). Skor suatu dokumen akan diperbandingkan dengan skor dokumen lain pada kelompok yang sama, misalkan dokumen dokumen yang tergabung dalam kelompok K terdiri atas: - dokumen dengan skor.4, - dokumen dengan skor., - dokumen dengan skor., 9
maka dapat disimpulkan bahwa dokumen memiliki kekerabatan paling tinggi dengan kelompok K jika dibandingkan dengan dokumen dan. Contoh di atas merupakan gambaran dari hasil yang akan diperoleh dalam skripsi Perancangan Program Aplikasi Klasifikasi dan Visualisasi eks Menggunakan Algoritma Lingo, yang menjadikan hasil proses pencarian lebih relevan dari hasil proses pencarian yang umum ada saat ini. Hasil yang diperoleh dengan algoritma Lingo lebih baik dibandingkan dengan hasil yang dikembalikan oleh search engine yang umum ada saat ini di mana jumlahnya sangat banyak, di sisi lain tidak adanya urutan kekerabatan (urutan kerelevanan) yang jelas dengan frase yang diinput, sehingga hasil pencarian memakan cukup banyak waktu bagi user untuk mencari sejumlah di antara sekian banyak hasil pencarian yang benarbenar relevan.