• Tidak ada hasil yang ditemukan

Temu-Kembali Informasi 2017

N/A
N/A
Protected

Academic year: 2021

Membagikan "Temu-Kembali Informasi 2017"

Copied!
41
0
0

Teks penuh

(1)

Temu-Kembali Informasi

2017

Proyek Pemrograman Terpadu (Tiga Tahapan)

Husni

(2)

Proyek Pemrograman #1

(3)

Proyek Pemrograman #1: Indexing

• Sasaran (goal): membangun suatu inverted index untuk suatu koleksi dokumen teks

• Input: sehimpunan dokumen teks

• Output: inverted index

• Tools: dengan memanggil fungsi-fungsi dalam pustaka (atau API) open source atau menulis kode sendiri dari awal menggunakan bahasa

pemrograman tertentu (Python, Java dan R adalah bahasa yang banyak digunakan di bidang temu-kembali Informasi)

(4)

Inverted Index Crawler Halaman Tersimpan Statistika Situs & Halaman Internet Pembangkit Index

Pengurai Halaman Pembangkit Graf Web Graf Web Analisa Tautan Pages Sisi Offline Sisi Online User Interface Caching

Indexing & Ranking

Query Ranking Halaman H al am an Ta ut an & An chor s Kata

(5)

Diagram Proyek #1 dan #2

#1

(6)
(7)
(8)
(9)
(10)

Beberapa Tool Indexing Open Source

• Apache Lucene (dalam Java) • The Lemur Project: Indri

– dari CMU/Umass (dalam C++) • Terrier IR Platform

– dari U. Glasgow (dalam Java) • …

• https://www.datacamp.com/community/blog/text-mining-in-r-and-python-tips

(11)
(12)

Input: Koleksi Dokumen Uji

• Korpora berita Reuters (RCV1, RCV2, TRC2)

http://trec.nist.gov/data/reuters/reuters.html

• RCV1: ~810,000 cerita berita English dari 1996/08/20 s.d 1997/08/19 (2.5GB tidak dipadatkan) • RCV2: 487,000 berita banyak-bahasa dalam 13 bahasa

• TRC2: 1,800,370 berita dari 2008/01/01 s,d 2009/02/28 (2.87GB) • Harus menandatangani kesepakatan.

• Reuters-21578:

http://www.daviddlewis.com/resources/testcollections/reuters21578/

• 21,578 news articles in 1987 (28.0MB tanpa kompressan) • Tersedia bagi publik

• Koleksi uji di University of Glasgow:

http://ir.dcs.gla.ac.uk/resources/test_collections/

• Tersedia bagi publik: LISA, NPL, CACM, CISI, Cranfield, Time, Medline, ADI • Contoh: Koleksi Time: 423 artikel dari majalah Time (1.5MB)

(13)

Output: Inverted Index

• Format Output: menggunakan Indeks Berposisi Standar (sebagaimana dibahas dalam Bab 1 dan 2):

• File Kamus: daftar kosakata yang diurutkan (dalam baris-baris terpisah) • Daftar Posting: untuk setiap term, daftar kemunculan dalam teks asli

• Format: (seperti dalam gambar 2.11)

termi, dfi:

<doc1, tfi1: <pos1, pos2, … >; doc2, tfi2: <pos1, pos2, …>; …> • Contoh: to, 993427: <1, 6: <7, 18, 33, 72, 86, 231>; 2, 5: <1, 17, 74, 222, 255>; … > dfi: frekuensi dokumen dari termi

tfij: frekuensi term dari

(14)

Persoalan Rancangan

• pos berarti posisi token di dalam body dari dokumen

• Ini mempermudah penerapan langkah-langkah berikut, misalnya, penelusuran kedekatan

• Anda dapat merancang format indeks sendiri, selama informasi yang diperlukan disertakan

• Kamus: term ti, frekuensi dokumen dfi

• Posting: daftar (docID, frekuensi term tfij, lokasi) untuk setiap term ti

• Preprocessing harus ditangani secara cermat

• Format input dari koleksi data

• Tunjukkan bagaimana penanganan digit, tanda hubung, tanda baca, ... dalam tokenisasi.

(15)

Fungsionalitas Opsional

• Persoalan Efisiensi

• Struktur data terpisah (misalnya tree) dapat digunakan untuk menyimpan kosakata dan posting di Indexer

• Skip pointer (digunakan dalam pemrosesan query)

• Tokenization

• Case folding > ubuah ke huruf kecil

• Penghapusan Stopword > hapus semua kata-kata yang kurang bermakna

• Stemming > kembalikan kata ke bentuk akarnya

(16)

Pengumpulan Hasil

• Hasil proyek ini dikirimkan ke email husni@trunojoyo.ac.id, berisi:

• Kode program lengkap (source codes)

• Untuk pemanggilan library open source, tunjukkan API atau fungsi pustaka apa saja yang diperlukan dan instruksi dimana mendownloadnya dan bagaimana instalasi, konfigrasi dan kompilasinya.

• Dokumentasi 3 halaman, termasuk:

• Fitur-fitur utama: misalnya efisien tinggi, storage kecil, format input beragam, korpus besar, …

• Arsitektur dari sistem (gambar dan penjelasan cara kerjanya) • Kesulitan besar yang ditemui

• Instruksi instalasi/kompilasi/konfigurasi/lingkungan eksekusi (misal: Java Runtime,…)

• Daftar anggota tim: Nama dan bagian yang menjadi tanggungjawab masing-masing

anggota (harus jelas)

(17)

Evaluasi

• Requirement minimum: ketepatan index terhadap data test

• Menggunakan Koleksi Uji Reuters-21578 sebagai input, inverted index

dibangkitkan oleh program yang dibuat akan diperiksa

• Fitur-fitur tambahan akan dipertimbangkan sebagai bonus

• Anda diharuskan mendemokan program tersebut jika program yang dikirimkan via email tidak dapat dikompilasi atau dijalankan.

(18)

Proyek Pemrograman #2

(19)

Proyek Pemrograman #2: Pemrosesan Query &

Pencarian

• Sasaran (goal): mencari dokumen-dokumen yang relevan dengan query yang diberikan pengguna

• Input: suatu query (dan inverted index dari proyek #1)

• Output: Suatu daftar teranking hasil pencarian dari koleksi Reuters-21578

(20)

Input: Query Pengguna & Inverted Index

• Query sederhana

• Kata kunci tunggal

• Misal: Microsoft, komputer, …

• Teks bebas

• Misal: Republik Indonesia, lembaga swadaya masyarakat, …

• Pencarian Boolean sederhana

• Misal: open source AND Linux, software engineer OR project manager, …

• Inverted Index

(21)

Output: Hasil Pencarian Teranking

• Suatu daftar hasil pencarian yang telah teranking dari koleksi uji Reuters-21578

• Ranking: Model Ruang Vektor (VSM = vector space model) • Skema pembobotan Term: TF-IDF

• Estimasi kemiripan: cosine similarity antara vektor query dan vektor dokumen

) , , , ( ) , , , ( , , 2 , 1 , , 2 , 1 q t q q j t j j j w w w q w w w d      

         t i i q t i i j t i i j i q j j j w w w w q d q d q d sim 1 2 , 1 2 , 1 , , | | | | ) , (    wij = (1+ log tfij) * log (N/dfi)

(22)

Output

• Contoh:

• Query: “Republik Indonesia” • Hasil: <doc#> <skor kemiripan>

• 261 0.85 135 0.67 324 0.3 …

(23)

Fitur-fitur Opsional

• Fungsi Tambahan

• Antarmuka yang lebih baik untuk pencarian

• Query kompleks: frasa, wildcard, substring, pencarian kedekatan, kombinasi operator boolean, … (Bab 2 & 3)

• Pemrosesan Query: pembetulan ejaan, pembetulan fonetik, … (Bab 3) • Skema pembobotan term berbeda: varian dari TF-IDF, … (Bab 6)

• Temu-kembali top-k tidak eksak: eliminasi index, daftar juara, pengurutan dampak, indeks berjenjang, … (Ch.7)

(24)

Pengumpulan Hasil

• Hasil proyek ini dikirimkan ke email husni@trunojoyo.ac.id, berisi:

• Kode program lengkap (source codes)

• Untuk pemanggilan library open source, tunjukkan API atau fungsi pustaka apa saja yang diperlukan dan instruksi dimana mendownloadnya dan bagaimana instalasi, konfigrasi dan kompilasinya.

• Dokumentasi 2 halaman, termasuk:

• Fitur-fitur utama: misalnya efisien tinggi, storage kecil, format input beragam, korpus besar, …

• Arsitektur dari sistem (gambar dan penjelasan cara kerjanya) • Kesulitan besar yang ditemui

• Instruksi instalasi/kompilasi/konfigurasi/lingkungan eksekusi (misal: Java Runtime, …)

• Daftar anggota tim: Nama dan bagian yang menjadi tanggungjawab masing-masing

anggota (harus jelas)

(25)

Evaluasi

• Requirement minimum: ketepatan penanganan query simpel • Beberapa query contoh dari Koleksi Uji Reuters-21578 disubmitkan ke

program anda, dan daftar teranking yang dihasilkan diperiksa ketepatannya

• Fitur opsional akan dipertimbangkan sebagai bonus

• Variasi jenis query, skema pembobotan, efisiensi penskoran dan ranking, …

• Anda diharuskan mendemokan program tersebut jika program yang dikirimkan via email tidak dapat dikompilasi atau dijalankan.

(26)

Proyek Pemrograman #3

(27)

Proyek Pemrograman #3: Klasifikasi Teks

• Goal: mengklasifikasikan dokumen teks ke dalam kategori yang telah didefinisikan

• Input: koleksi uji Reuters-21578

• Kategori-kategori yang telah ditetapkan

• Dokumen-dokumen yang sudah diberi label (untuk training) • Dokumen uji untuk pengujian (testing)

• Output: classifier untuk setiap kategori, dan hasil klasifikasi terhadap dokumen uji.

(28)

Input: Himpunan Training dan Test

• Mengggunakan koleksi

Reuters-21578

• Tersedia di:

http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html

• 21,578 artikel berita tahun 1987 (28.0MB tidak dipadatkan)

• Didistribusikan dalam 22 file dalam format SGML

• Preprocessing dari tag-tag SGML

(29)

Kategori Telah Terdefinisi dalam Reuters-21578

• 5 himpunan kategori • Exchanges: 39 categories • Orgs: 56 categories • People: 267 categories • Places: 175 categories • Topics: 135 categories

 Dalam proyek ini, kita HANYA melibatkan klasifikasi 135 kategori berdasarkan topik (135 topical categories)

• 10 kelas terbesar

(30)

Himpunan Training dan Test

• Menggunakan Reuters-21578 untuk klasifikasi teks

• Modified Lewis (ModLewis) Split

• Training: 13,625 • Test: 6,188

• Modified Apte (ModApte) Split: digunakan dalam proyek ini • Training: 9,603

• Test: 3,299

• Modified Hayes (ModHayes) Split

• Training: 20,856 • Test: 722

(31)

Contoh Artikel Reuters

<REUTERS TOPICS="YES" LEWISSPLIT="TRAIN" CGISPLIT="TRAINING-SET" OLDID="5544"

NEWID="1"> <DATE>26-FEB-1987 15:01:01.79</DATE> <TOPICS><D>cocoa</D></TOPICS> <PLACES><D>el-salvador</D><D>usa</D><D>uruguay</D></PLACES> <PEOPLE></PEOPLE> … <TEXT>&#2;

<TITLE>BAHIA COCOA REVIEW</TITLE>

<DATELINE> SALVADOR, Feb 26 - </DATELINE>

<BODY>Showers continued throughout the week in …

&#3;</BODY></TEXT> </REUTERS>

Training set dalam pembagian ModApte

Kategori Berdasar kan Topik

(32)

Output Fase Training: suatu Classifier

• Tulis program anda sendiri atau panggil fungsi pustaka open source untuk mewujudkan setidaknya satu dari metode klasifikasi teks

berikut:

• Probabilistic classifier: Naïve Bayes (NB) (Bab 13)

• Vector space classifiers: Rocchio classification (Bab 14), kNN classification (Bab 14)

• SVM classification (Bab 15) • …

(33)

33

Dokumen Uji dari Kelas Apa?

Government Science

Arts

(34)

Contoh: Klasifikasi Rocchio

• Definisi dari centroid

• Dimana Dc Adalah himpunan semua dokumen yang masuk ke kelas c dan v(d) adalah representasi ruang vector dari d.

• Training: Kalkulasi centroids (vektor prototype) dari semua kategori • Testing: menempatkan dokumen uji ke kategori dengan centroid

terdekat berdasarkan pada cosine similarity



(c)  1

| Dc |dDv (d)

c

(35)

Proyek & Evaluasi

• Sistem anda harus mampu menyelesaikan tugas-tugas berikut

menggunakan pembagian ModApte dalam datasat Reuters-21578:

• Pelatihan (training) Classifier • Pengujian (Testing klasifikasi) • Evaluasi hasil

• Evaluasi dari classifier anda

• Training: Efisiensi

(36)

Contoh: Klasifikasi Rocchio

HTML Parsing Centroid Calculation Cosine Similarity Training docs Test doc. Training Testing centroids class Evaluation P, R, F1

(37)

Tahapan (Contoh) dalam Klasifikasi Rocchio

1. Uraikan dokumen HTML dalam dataset Reuters-21578. Dapatkan text body, topics, dan pisahkan mereka ke dalam dokumen training dan test.

• Body sebagai isi, topics sebagai kelas

2. Untuk setiap dokumen, hitung bobot TF-IDF dari teks body sebagai suatu vektor.

3. Untuk setiap dokumen training, hitung centroid dengan menjumlahkan semua vektor dalam setiap kelas topik.

• Sehingga anda akan mendapatkan 135 centroid, satu untuk setiap kelas topik.

4. Untuk setiap dokumen uji, dapatkan centroid paling mirip menggunakan cosine similarity sebagai kelas yang akan jadi tujuannya.

5. Bandingkan kelas tersebut dengan jawaban sebenarnya (dalam tag topics), dan evaluasi berapa banyak dokumen uji yang terklasifikasi dengan benar.

(38)

Fungsionalitas Opsional

• Seleksi fitur: (Sub-bab 13.5)

• mutual information • chi-square

• …

• Himpunan data training/test berbeda • Berbeda pembagain dalam dataset Reuters • Koleksi uji yang lain

• Metode klasifikasi berbeda • Naïve Bayes, kNN, SVM, …

• Antarmuka pengguna untuk klasifikasi

• Untuk pemilihan himpunan data training/test • Untuk pemilihan metode klasifikasi

• Visualization dari hasil klasifikasi • …

(39)

Pengumpulan Hasil

• Hasil proyek ini dikirimkan ke email husni@trunojoyo.ac.id, berisi:

• Kode program lengkap (dan file executable-nya)

• Manual pengguna lengkap (atau UI) untuk training/testing • Dokumentasi 2 halaman, termasuk:

• Fitur-fitur utama: misalnya efisien tinggi, storage kecil, format input beragam, korpus besar, …

• Arsitektur dari sistem (gambar dan penjelasan cara kerjanya) • Kesulitan besar yang ditemui

• Instruksi instalasi/kompilasi/konfigurasi/lingkungan eksekusi (misal: Java Runtime, …)

• Daftar anggota tim: Nama dan bagian yang menjadi tanggungjawab masing-masing

anggota (harus jelas)

(40)

Evaluasi

• Requirement minimal – dua pilihan:

• Pemilihan otomatis: Secara otomatis mengklasifikasi semua dokumen uji dalam ModApte, dan menampilkan hasil evaluasi terhadap efektifitas klasifikasi tersebut (precision, recall, F-measure, akurasi)

• Pemilihan secara acak beberapa dokumen uji (berdasarkan ID-nya), dan menampilkan hasil klasifikasinya (output dari classifier anda dan jawaban seharusnya)

• Fitur opsional akan dianggap sebagai bonus

• Pemilihan fitur, himpunan data training/test berbeda, metode klasifikasi berbeda, UI, visualisasi, …

• Anda diharuskan mendemokan program tersebut jika program yang dikirimkan via email tidak dapat dikompilasi atau dijalankan.

(41)

Gambar

Diagram Proyek #1 dan #2
Diagram Proyek #3

Referensi

Dokumen terkait

Oleh karena itu, lebih baik apabila terdapat peraturan yang khusus mengatur mengenai praktek kegiatan anjak piutang untuk meningkatkan perkembangan anjak piutang,

Berdasarkan hasil yang diperlihatkan Tabel 14, dengan jelas terlihat bahwa persentase terbesar contoh yang menjawab bersama adalah pada aktivitas penentuan waktu untuk mempunyai

Adapun kandungan DHA dari berbagai sumber bahan pangan alami (diarsir hijau) maupun sumber pangan fortifikasi dapat di­ lihat dalam Tabel 1. Distrik Asologaima, kab Ja

Peneliti bertemu dengan pasien untuk melakukan wawancara dan pengisian kuesioner SF-36 RAND untuk mengetahui usia, jenis kelamin, tingkat pendidikan, status ekonomi, status

Sistem pengendalian internal adalah suatu sistem yang terdiri dari kebijakan dan prosedur yang diterapkan untuk memastikan bahwa tujuan tertentu suatu satuan usaha dapat

Setiap orang mungkin saja memiliki Whorl, Arch, atau Loop di setiap ujung jari (sidik jari) yang berbeda, mungkin sebuah Triradius pada gunung dari Luna dan di bawah setiap jari,

Berdasarkan temuan penelitian, dapat disimpulkan bahwa perangkat pembelajaran berbasis learner autonomy yang dikembangkan dinyatakan layak untuk meningkatkan

Titik berat bidang gabungan Mempersiapka n tugas dan mendiskusikan nya dalam kelompok Menyelesai kan permasalah an titik berat dan mendiskusi kannya Kemampuan dalam