Laporan Text Mining [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Oleh :



APRILIANA DHARMA S.{ 0710963025} SAPTO BAGUS P.



{ 0710960045}



GURITNO YUDHO W.



{105090609111001}



ELHAM AKHIRU K



{105090609111002}



PROGRAM STUDI ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS BRAWIJAYA 2011



TEXT MINING



Pengertian Text mining yaitu menggali informasi yang berupa text, dimana sumber data diambil dari dokumen, tujuannya yaitu menggali informasi tentang data – data pada dokumen sehingga dapat dicari keterkaitan data pada dokumen-dokumen yang dicari menggunakan keyword. Dimana keterkaitan antar dokumen biasanya berhubungan dengan adanya key yang sama antar dokumen-dokumen tersebut. Batasan Masalah Pada pembuatan aplikasi ini batasan masalah sesuai dengan yang ditugaskan, yaitu : 1. Pembuatan aplikasi maksimal untuk analisis data sebanyak 5 buah data. 2. Data – data harus berekstensi .doc atau .docx



3. Tidak dilakukan filterisasi pada token. 4. Dilakukan penghitungan nilai D, df, IDF, dan banyaknya token dalam text dan



keseluruhan, nilai bobot per dokumen (W) dan space vektor 5. Hasil analisa akhir ditampilkan sorting berdasarkan judul .doc



Tujuan Tujuan dari diimplementasikan text mining yaitu untuk mengetahui keterkaitan antar data, untuk kemudian diketahui data mana yang memiliki keterhubungan paling besar, dan yang paling rendah, data hasil ditunjukkan dalam bentuk sorting Implementasi Dalam mengerjakan text mining ini kami membuat aplikasi menggunakan teknologi .NET dimana bahasa yang digunakan adalah bahasa pemrograman C#. Pertama aplikasi akan menampilkan text box dan browse data yang akan di analisis yang berekstensi .doc atau .docx, dalam analisis ini disediakan 5 buah text box (maksimal analisis 5 text). Setelah data di buka kemudian dimasukkan keyword kata, aplikasi nantinya akan menganalisis tentang ke-5 text tersebut, antara lain banyaknya token pada text-text,



keterhubungan data dengan keyword (df), setelah itu hitung D, untuk kemudian dapat dihitung bobot w dimana didapat dari nilai kata kunci (tf) * IDF, oleh karena jika bobot w antar dokumen bernilai sama, maka digunakan metode space vector untuk langkah selanjutnya, dan dari hasil akhir perhitungan space vector ini, maka nanti akan di sorting nilainya, untuk kemudian didapat urutan tingkat similiritas antar dokumen. a. Tampilan Aplikasi 1. Menu Pembuka



Tampilan splash



2. Menu Utama a. Menu Utama



Tampilan text box untuk menampilkan isi dokumen b. Browse File



Tampilan browse file default windows



c. Keluaran File



Tampilan .doc pada text box



3. Hasil Analisa Text a. Token Penyusun text Akan ditampilkan token-token penyusun dari text yang di load oleh program, masing-masing token dikelompokkan berdasarkan .doc-nya untuk nilai yang berulang pada token per artikel, maka token ditampilkan 1 kali, dan nantinya pada proses selanjutnya token-token ini dihitung berdasarkan tingkat kemunculan pada dokumen, untuk kemudian dijadikan dalam satu susunan token penyusun semua dokumen.



Token penyusun kalimat b. Analisa Misalnya untuk analisa ini dimasukkan key buku (untuk mencari keterkaitan antar data).



Hasil Analisa text



Pada hasil analisa text ini dapat diketahui, jumlah token masing – masing dokumen, jumlah df, D, dan perhitungan IDF, dan bobot w masing – masing dokumen, semakin besar nilai w berarti semakin besar similaritasnya, dan



jikanantinya nilai w antar dokumen ini terdapat kesamaan maka langkah selanjutnya adalah menggunakan space vector model. c. Vector Space Model Digunakan untuk menghitung nilai hasil, jika bobot w untuk dokumen sama, maka proses sorting yang akan dilakukan tidak akan maksimal, oleh karena itu untuk memaksimalkan proses digunakan vector space model ini. Yaitu menghitung cosine sudut antara dua vector, yaitu w dari tiap dokumen dan w dari kata kunci.



Analisis token dan vector space model



Setelah nilai cosine untuk masing – masing data diketahui, maka langkah selanjutnya adalah sorting, dimana nilai cosine terbesar memiliki tingkat similiritas tertinggi. Pada sorting di atas, sorting dilakukan secara asc, dimana urutan yang ditunjukkan dari similiritas tertinggi ke terendah pembacaan dilakukan dari kanan.



4. Menu About Pada menu ini akan menampilakn informasi tentang aplikasi ini.



Tampilan menu about



5. Menu Develop Pada menu ini akan menampilkan nama kelompok.



Tampilan Develop



Kesimpulan Kesimpulan yang dapat kami peroleh adalah : 1.



Setiap kalimat disusun atas token – token penyusunnya, yang dapat mencerminkan kesamaan atau perbedaan dengan data – data lain.



2.



Tingkat similiritas dokumen dihitung melalui bobot W, yaitu dimana bobot ini diperoleh dari perhitungan W = tf * IDF.



3.



Untuk tingkat bobot yang memiliki nilai sama dengan dokumen / data lain, maka langkah selanjutnya menggunakan vector space mode.



4.



Data di urutkan, dimana akan diketahui data dari nilai similaritas terendah ke tingkat similaritas tertinggi atau sebaliknya.



Lampiran //Ambil Token Data #region TampilToken1 string s = this.RTB_1.Text; string k = "", k1 = "", k2 = "", k3 = "", k4 = "" ; s = s.ToLower(); string[] words1 = s.Split(' '); string diFilter4 = ""; foreach (string word in words1) { if (diFilter4.Contains(word) == false) { diFilter4 += word + " "; } } string[] filter4 = diFilter4.Split(' '); foreach (string word in filter4) { k += word + "\n"; } RTB_Token1.Text = k; #endregion TampilToken1



//Hitung nilai W, df, D, IDF public void Hitung() { double w1 = 0, w2 = 0, w3 = 0, w4 = 0, w5 = 0; pp.Artikel_1 = this.RTB_1.Text; pp.Artikel_2 = this.RTB_2.Text; pp.Artikel_3 = this.RTB_3.Text; pp.Artikel_4 = this.RTB_4.Text; pp.Artikel_5 = this.RTB_5.Text; pp.Key = this.TB_Key.Text; word1 = Regex.Matches(pp.Artikel_1, sama1 = Regex.Matches(pp.Artikel_1, word2 = Regex.Matches(pp.Artikel_2, sama2 = Regex.Matches(pp.Artikel_2, word3 = Regex.Matches(pp.Artikel_3, sama3 = Regex.Matches(pp.Artikel_3, word4 = Regex.Matches(pp.Artikel_4, sama4 = Regex.Matches(pp.Artikel_4, word5 = Regex.Matches(pp.Artikel_5, sama5 = Regex.Matches(pp.Artikel_5, nn.Kalimat1 = word1.Count; nn.Kata1 = sama1.Count; nn.Kalimat2 = word2.Count; nn.Kata2 = sama2.Count;



@"[\S]+"); pp.Key); @"[\S]+"); pp.Key); @"[\S]+"); pp.Key); @"[\S]+"); pp.Key); @"[\S]+"); pp.Key);



nn.Kalimat3 = word3.Count; nn.Kata3 = sama3.Count; nn.Kalimat4 = word4.Count; nn.Kata4 = sama4.Count; nn.Kalimat5 = word5.Count; nn.Kata5 = sama5.Count; double df = 0; if (nn.Kata1 != df++; if (nn.Kata2 != df++; if (nn.Kata3 != df++; if (nn.Kata4 != df++; if (nn.Kata5 != df++;



0) 0) 0) 0) 0)



LB_df.Text = df.ToString(); double D = 0; if (RTB_1.Text D++; if (RTB_2.Text D++; if (RTB_3.Text D++; if (RTB_4.Text D++; if (RTB_5.Text D++;



!= "") != "") != "") != "") != "")



LB_D.Text = D.ToString(); LB_DD.Text = D.ToString(); LB_Dff.Text = df.ToString(); double DF = Math.Log(5.0f/df, 10); LB_IDF.Text = DF.ToString(); w1 w2 w3 w4 w5



}



= = = = =



nn.Kata1 nn.Kata2 nn.Kata3 nn.Kata4 nn.Kata5



W1.Text W2.Text W3.Text W4.Text W5.Text



= = = = =



* * * * *



DF; DF; DF; DF; DF;



w1.ToString(); w2.ToString(); w3.ToString(); w4.ToString(); w5.ToString();



//cosinus public void HitungCosinus() { double ww1; ww1 = Convert.ToDouble(this.W1.Text);



#region kk double kkD1 = Math.Sqrt(nn.Kata1); #endregion kk double cosineD1 = (kkD1 * ww1) / Math.Sqrt(kkD1 * ww1); Cos1.Text = cosineD1.ToString(); }



//class nilai class Nilai { private private private private private private private private private private



int int int int int int int int int int



_kalimat1; _kalimat2; _kalimat3; _kalimat4; _kalimat5; _kata1; _kata2; _kata3; _kata4; _kata5;



public int Kalimat1 { get { return _kalimat1; } set { _kalimat1 = value; } } public int Kalimat2 { get { return _kalimat2; } set { _kalimat2 = value; } } public int Kalimat3 { get { return _kalimat3; } set { _kalimat3 = value; } } public int Kalimat4 { get { return _kalimat4; } set { _kalimat4 = value; } } public int Kalimat5 { get { return _kalimat5; } set { _kalimat5 = value; } } public int Kata1 { get { return _kata1; } set { _kata1 = value; } } public int Kata2



{



get { return _kata2; } set { _kata2 = value; }



} public int Kata3 { get { return set { _kata3 } public int Kata4 { get { return set { _kata4 } public int Kata5 { get { return set { _kata5 }



_kata3; } = value; }



_kata4; } = value; }



_kata5; } = value; }