Social Network Extraction dan Social Network
Analysis dari Web
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh :
Maria Helena Iwo / 13503088
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA
INSTITUT TEKNOLOGI BANDUNG
2007
i
Lembar Pengesahan
Program Studi Sarjana Informatika
Social Network Extraction dan
Social Network Analysis dari Web
Tugas Akhir
Program Studi Sarjana Informatika ITB
Oleh
Maria Helena Iwo / 13503088
Telah disetujui dan disahkan sebagai laporan tugas akhir
di Bandung, pada tanggal 31 Agustus 2007
Pembimbing
Ir. Dwi Hendratmo Widyantoro, M.Sc., Ph.D.
NIP. 132084094
ii
ABSTRAK
Social network merupakan pola-pola interaksi sosial yang terjadi antar individu di dalam
komunitas tertentu. Untuk mengungkapkan social network yang terjadi di dalam suatu
komunitas, maka diperlukan Social Network Extraction (SNE) dari sumber data tertentu,
misalnya dokumen web. SNE dapat dilakukan dengan menggunakan pendekatan web
mining dan prinsip co-occurrence nama individu pada dokumen web hasil pencarian
search engine. Penentuan jenis relasi antar individu dapat diselesaikan melalui teknik
Text Classification (TC). Social network tersebut kemudian dapat dianalisis strukturnya
dengan menggunakan berbagai metode statistik yang disebut Social Network Analysis
(SNA). Penerapan SNA terdapat dalam bidang pemasaran, medis, dan sosiologi.
Tugas Akhir ini bertujuan untuk melakukan SNE dari dokumen web dengan bantuan
search engine Google serta melakukan analisis terhadap social network yang diperoleh.
Teknik SNE yang diimplementasikan menggunakan properti Google hit dan Google top,
serta kombinasi keduanya. Pada Tugas Akhir ini juga dikaji teknik TC sebagai bagian
dari proses SNE. Algoritma TC yang dikaji adalah Naive Bayes dan Support Vector
Machine (SVM). Melalui Tugas Akhir ini diharapkan akan didapatkan teknik SNE dan
teknik TC yang memberikan performansi maksimum.
Dari hasil eksperimen yang dilakukan, disimpulkan bahwa teknik SNE yang memberikan
performansi maksimum sebesar 69,59% adalah teknik SNE yang menggunakan
parameter Google top. Hal ini menunjukkan bahwa Google top lebih tepat dalam
menentukan keberadaan relasi antara sepasang individu. Namun, akurasi yang didapatkan
berbanding lurus dengan banyak dokumen dan relasi yang benar terdapat pada
dokumen-dokumen awal hasil perankingan search engine. Selain itu, algoritma TC yang
memberikan performansi maksimum sebesar 93.99% adalah SVM. SVM juga lebih
tangguh daripada Naive Bayes dari segi feature selection. Walaupun demikian perbedaan
performansi SVM dan Naive Bayes tidak signifikan.
Kata kunci : social network, Social Network Extraction, Social Network Analysis, web
mining, prinsip co-occurrence, search engine, Google top, Google hit, text classification,
Support Vector Machine, Naive Bayes, feature selection.
iii
KATA PENGANTAR
Puji syukur Penulis panjatkan ke hadirat Tuhan Yesus Kristus, karena atas kuasa dan
kebaikanNya, Penulis dapat merampungkan Tugas Akhir yang berjudul “Social Network
Extraction dan Social Network Analysis dari Web” dengan baik dan tepat pada waktunya.
Begitu banyak pihak yang turut berkontribusi sekaligus membantu Penulis baik secara
langsung maupun tidak langsung dalam proses penyelesaian Tugas Akhir ini. Oleh karena
itu, pada kesempatan ini Penulis mengucapkan terima kasih kepada:
1. Bapak Ir. Dwi Hendratmo Widyantoro, M.Sc., Ph.D sebagai Pembimbing Tugas
Akhir yang telah banyak meluangkan waktu dan memberikan arahan, perhatian
serta semangat selama pembuatan Tugas Akhir ini.
2. Ibu Henny Yusnita Zubir, B.S., M.T dan Bapak Ir. Rinaldi Munir, M.T yang
telah bersedia memberikan masukan bagi Penulis pada saat review proposal,
seminar, prasidang dan sidang Tugas Akhir.
3. Ibu Nur Ulfa Maulidevi, S.T, M.Sc selaku Wali Penulis yang bersedia ditanya
pendapat dan diminta bantuan mengenai berbagai hal.
4. Papa dan Mama yang senantiasa memberikan doa, dorongan, semangat, dan
dukungan dalam segala hal.
5. Darmawan Shi untuk segala dukungan, motivasi, dan bantuan yang selalu
diberikannya sejak tahun pertama Penulis belajar di Teknik Informatika. Secara
khusus, terima kasih untuk ide dasar dari Tugas Akhir ini.
6. Adik-adik Penulis, Hendrik dan Willi, terima kasih untuk segala doa dan
bantuannnya, khususnya ketika harus mengantar dan menjemput Penulis selama
mengerjakan Tugas Akhir ini.
7. Aku Ima untuk segala bantuannya sejak Penulis mendaftar ke ITB dan ketika
Penulis sedang sakit.
8. Keluarga besar Penulis di Jakarta dan Maumere untuk segala doa dan
dukungannya.
9. Rekan-rekan asisten Laboratorium Programming: Ronny, Ndan, Fahris, Uqi, CK,
Dewi, dan Okta.
iv
10. Sahabat Penulis selama kuliah di Departemen Teknik Informatika ITB: Anna, Ira,
Metta, Victor, Pendy, Jeffrey, Davis, Ong, Aulia, Adhit, Andri, Arie, Audi, Indi,
Rika, Simon, Andoko, Satria, dan Krisantus.
11. Senior Penulis di Teknik Informatika ITB yang telah membantu selama kuliah:
Peter, Ivan, Arya, Rayhan, Andri, Samuel, Dhara, JF, dan Ridho.
12. Teman-teman kos Kyai Gede Utama 28: Mbak Nia, Mbak Bita, Mbak Prita,
Mbak Nancy, Mbak Mini, dan Bibi.
13. Staf pengajar Teknik Informatika ITB terutama Ibu Inge dan Ibu Wanti.
14. Staf Teknik Informatika ITB, terutama bagian dapur yang mau direpotkan ketika
Penulis sedang mengejar deadline pengerjaan tugas-tugas kuliah. Terima kasih
juga kepada Pak Rasidi, Pak Ade, Ibu Titi, Ibu Nur, Ibu Tita, dan Pak Maman
15. Seluruh teman-teman Informatika angkatan 2003 yang telah menemani selama
empat tahun masa perkuliahan
16. Pihak lain yang tidak dapat disebutkan satu per satu.
Semoga Tugas Akhir ini dapat berguna khususnya bagi mereka yang tertarik dalam
bidang social network. Penulis menyadari bahwa Laporan Tugas Akhir ini memiliki
banyak kekurangan. Oleh karena itu Penulis mengharapkan kritik dan saran dari
pembaca.
Bandung, Agustus 2005
v
DAFTAR ISI
Lembar Pengesahan Program Studi Sarjana Informatika ... i
ABSTRAK ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL... viii
DAFTAR ALGORITMA ... ix
DAFTAR SINGKATAN ... x
DAFTAR ISTILAH ... xi BAB I PENDAHULUAN ... I-1
1.1 Latar Belakang ... I-1 1.2 Rumusan Masalah ... I-3 1.3 Tujuan ... I-3 1.4 Batasan Masalah ... I-4 1.5 Metodologi ... I-4 1.6 Sistematika Pembahasan ... I-5
BAB II STUDI LITERATUR ... II-1
2.1 Teori Graf ... II-1 2.1.1 Definisi Graf ... II-1 2.1.2 Jenis-Jenis Graf ... II-2 2.1.3 Representasi Graf ... II-3 2.2 Social Network ... II-6 2.2.1 Definisi Social Network ... II-7 2.2.2 Data Social Network ... II-10 2.2.3 SNA ... II-11 2.2.3.1 Ukuran-Ukuran pada SNA ... II-11 2.2.3.2 Aplikasi SNA ... II-15 2.2.4 SNE dari Dokumen Web ... II-16
2.2.4.1 Teknik SNE dari Dokumen Web ... II-17 2.2.4.2 Sistem SNE dari Dokumen Web ... II-22 2.2.5 Perangkat Lunak Social Network ... II-23 2.3 Text Classification ... II-25
2.3.1 Klasifikasi... II-25 2.3.2 Pemilihan Atribut Klasifikasi pada Text Classification ... II-27 2.3.3 Algoritma Klasifikasi ... II-29
2.3.3.1 Naïve Bayes ... II-29 2.3.3.2 SVM ... II-31 2.3.3.2.1 SVM pada Linearly Separable Data ... II-31 2.3.3.2.2 Multi Class SVM ... II-33
BAB III METODE PEMBANGUNAN SOCIAL NETWORK ... III-1
3.1 Analisis Teknik SNE ... III-1 3.1.1 Penentuan Keterhubungan antar Individu ... III-2 3.1.1.1 Pemilihan Parameter Google ... III-2 3.1.1.2 Pemilihan Koefisien Co-occurrence ... III-5 3.1.1.3 Penentuan Threshold ... III-6
vi
3.1.2 Teknik Text Classification untuk Penentuan Jenis Relasi Sosial... III-7 3.1.2.1 Feature Selection untuk Representasi Dokumen Web ... III-7 3.1.2.2 Penentuan Algoritma Klasifikasi ... III-9 3.2 Algoritma Lintasan Terpendek ... III-11 3.3 Contoh Perhitungan SNA ... III-13 3.3.1 Centrality ... III-13 3.3.2 Betweenness ... III-16 3.3.3 Closeness ... III-18 3.3.4 Density ... III-19
BAB IV EKSPERIMEN SOCIAL NETWORK EXTRACTION ... IV-1
4.1 Lingkungan Eksperimen...IV-1 4.2 Data ...IV-1 4.3 Prosedur Eksperimen ...IV-2 4.4 Pengukuran Performansi ...IV-4 4.5 Hasil ...IV-4 4.6 Diskusi...IV-4 4.6.1 Pengaruh Threshold ...IV-4 4.6.2 Pengaruh Banyak Dokumen ...IV-9 4.6.3 Pengaruh Algoritma SNE ...IV-10
BAB V EKSPERIMEN TEXT CLASSIFICATION ... V-1
5.1 Lingkungan Eksperimen... V-1 5.2 Data ... V-1 5.3 Prosedur Eksperimen ... V-2 5.4 Pengukuran Performansi ... V-5 5.5 Hasil ... V-5 5.6 Diskusi... V-6
5.6.1 Pengaruh Pendekatan Feature Selection ... V-6 5.6.2 Pengaruh Penggunaan Stemming ... V-8 5.6.3 Pengaruh Lingkup Dokumen ... V-9 5.6.4 Pengaruh Algoritma Klasifikasi ... V-9
BAB VI IMPLEMENTASI SOCIAL NETWORK ANALYSIS... VI-1
6.1 Prosedur dan Hasil Implementasi ...VI-1 6.2 Diskusi...VI-9 6.2.1 Centrality ...VI-9 6.2.2 Betweenness ...VI-9 6.2.3 Closeness ...VI-10 6.2.4 Density ...VI-10
BAB VII PENUTUP ... VII-1
7.1 Kesimpulan ... VII-1 7.2 Saran ... VII-3
DAFTAR REFERENSI ... xii DAFTAR PUSTAKA ... xvi LAMPIRAN A DAFTAR NAMA INDIVIDU ... A-1 LAMPIRAN B DAFTAR PASANGAN INDIVIDU... B-1 LAMPIRAN C HASIL EKSPERIMEN SOCIAL NETWORK EXTRACTION... C-1 LAMPIRAN D DAFTAR STOPWORD ... D-1 LAMPIRAN E CONTOH HASIL PREDIKSI JENIS RELASI ... E-1 LAMPIRAN F CONTOH FORMAT ARSIP MASUKAN PAJEK ... F-1
vii
DAFTAR GAMBAR
Gambar II-1 Graf G ... II-1 Gambar II-2 Graf (atas) dan Matriks Ketetanggaannya (bawah) ... II-4 Gambar II-3 Graf (atas) dan Matriks Bersisiannya (bawah) ... II-5 Gambar II-4 Social Network pada Komunitas Ilmu Komputer ... II-9 Gambar II-5 Tahap Pembelajaran pada Proses Klasifikasi ... II-26 Gambar II-6 Tahap Klasifikasi pada Proses Klasifikasi ... II-26 Gambar II-7 Alternatif Bidang Pemisah ... II-32 Gambar II-8 Bidang Pemisah Terbaik dengan Margin m Terbesar ... II-32 Gambar II-9 Contoh Klasifikasi dengan Teknik One-against-one ... II-34 Gambar III-1 Contoh Query untuk Satu Buah Nama ...III-3 Gambar III-2 Contoh Query untuk Dua Buah Nama ...III-3 Gambar III-3 Contoh Sociogram ... III-14 Gambar IV-1 Grafik Pengaruh Threshold pada Algoritma GoogleCoocHit ... IV-5 Gambar IV-2 Grafik Hasil Eksperimen Algoritma SNE ... IV-9 Gambar V-1 Grafik Eksperimen Pendekatan Feature Selection pada Naïve Bayes ... V-7 Gambar V-2 Grafik Eksperimen Pengaruh Stemming pada Naïve Bayes ... V-8 Gambar VI-1 Sociogram Hasil Algoritma GoogleCoocTop (k=20) ... VI-2 Gambar VI-2 Sociogram Hasil Algoritma GoogleCoocTop (k=30) ... VI-3 Gambar C-1 Hubungan Threshold terhadap Nilai r dan R pada GoogleCoocHit ... C-1 Gambar C- 2 Hubungan Threshold terhadap Nilai r dan R pada GoogleCoocTop ... C-2 Gambar C- 3 Grafik Hubungan Threshold terhadap Nilai r dan R pada GoogleTopHit ... C-3 Gambar C- 4 Grafik Precision dan Recall pada GoogleCoocHit ... C-3 Gambar C- 5 Grafik Precision dan Recall pada GoogleCoocTop ... C-4 Gambar C- 6 Grafik Precision dan Recall pada GoogleTopHit ... C-4 Gambar C- 7 Grafik Hubungan Nilai r dan R pada GoogleCoocHit ... C-5 Gambar C- 8 Grafik Hubungan Nilai r dan R pada GoogleCoocTop ... C-5 Gambar C- 9 Grafik Hubungan Nilai r dan R pada GoogleTopHit ... C-6
viii
DAFTAR TABEL
Tabel II-1 Sistem Software Network Extraction dari Dokumen Web ... II-22 Tabel II-2 Perangkat Lunak Social Network ... II-24 Tabel II-3 Kelompok Kata pada Polyphonet ... II-28 Tabel II-4 Atribut Klasifikasi dan Nilainya pada Polyphonet ... II-29 Tabel II-5 Aturan Klasifikasi pada Polyphonet ... II-29 Tabel II-6 Contoh 3 SVM Biner dengan Teknik One-against-one ... II-34 Tabel III-1 Atribut Klasifikasi pada Tugas Akhir ... III-10 Tabel III-2 Sociomatrix untuk Sociogram Gambar III-3 ... III-14 Tabel III-3 Centrality untuk Sociogram pada Gambar III-3 ... III-15 Tabel III-4 Geodesic Setiap Pasangan Individu untuk Sociogram pada Gambar III-3 ... III-15 Tabel III-5 Perhitungan Absolute Betweenness (“Andre”) ... III-17 Tabel III-6 Betweenness untuk Sociogram pada Gambar III-3 ... III-18 Tabel III-7 Perhitungan Absolute Closeness ("Andre")... III-18 Tabel III-8 Closeness untuk Sociogram pada Gambar III-3 ... III-19 Tabel IV-1 Hasil Eksperimen Teknik SNE ... IV-7 Tabel IV-2 Rata-Rata Precision dan Recall ... IV-8 Tabel IV-3 Banyak Relasi (N) dengan Koefisien Co-occurrence >0 ... IV-8 Tabel IV-4 Nilai r dan R ... IV-8 Tabel V-1 Hasil Eksperimen Text Classification (a) ... V-6 Tabel V-2 Hasil Eksperimen Text Classification (b)... V-6 Tabel V-3 Hasil Eksperimen Text Classification (c) ... V-6 Tabel VI-1 SNA pada Sociogram Hasil Algoritma GoogleCoocTop (k=20) ... VI-4 Tabel VI-2 SNA pada Sociogram Hasil Algoritma GoogleCoocTop (k=30) ... VI-6 Tabel C-1 Daftar Threshold ... C-2
ix
DAFTAR ALGORITMA
Algoritma II-1 Algoritma Ekstraksi Nama Individu dari Dokumen Web ... II-17 Algoritma II-2 Algoritma Co-occurrence Menggunakan Google Hit ... II-20 Algoritma II-3 Algoritma Co-occurrence Menggunakan Google Top. ... II-20 Algoritma II-4 Algoritma SNE Menggunakan GoogleCoocHit ... II-21 Algoritma II-5 Algoritma Klasifikasi Relasi Sosial ... II-22 Algoritma II-6 Algoritma Naive Bayes ... II-30 Algoritma III-1 Algoritma Kombinasi Google Top dan Google Hit ...III-5 Algoritma III-2 Algoritma Lintasan Terpendek ... III-11