INFORMATION RETRIEVAL
Pertemuan 2.
Term Vocabulary dan Text Preprocessing
Disusun oleh:
Dosen: Tim Dosen
Dr. Eng. Arie Wahyu Wijayanto, SST., MT.
PROFIL
MODEL PENCARIAN KLASIK
Kebutuhan
Memusnahkan gangguan tikus
Pengguna
di kawasan perumahan
Miskonsepsi?
Informasi tentang
Informasi yang penangkapan tikus tanpa
diperlukan perlu dibunuh
Salah formulasi?
Query
perangkap tikus hidup Search
Search
Collection
engine
Query Results
refinement
2
PROFIL
MODEL PENCARIAN KLASIK
Kebutuhan
Pengguna
Informasi yang
diperlukan
Query
Fokus kita saat ini
Search
Collection
engine
Query Results
refinement
3
PROFIL
COLLECTION
Contoh:
• Kumpulan artikel berita online yang diperoleh dari pencarian
di internet
• Kumpulan status media sosial yang sedang trending
• Kumpulan skripsi mahasiswa, laporan penelitian, dan tugas
kuliah yang telah dikumpulkan secara digital oleh
perpustakaan
4
PROFIL
PENGURAIAN DOKUMEN (PARSING)
Ada banyak hal yang menjadi tantangan bagi mesin untuk membaca dokumen:
1. Format file, apakah pdf, html, word, xml, dst.
2. Bahasa penulisan, apakah Indonesia, English, Japanese, dst.
3. Himpunan pengkodean karakter (character encoding), apakah ASCII, Unicode, UTF-8, dst.
5
PROFIL
PENGURAIAN DOKUMEN (PARSING)
Untuk memudahkan, seringkali parsing ini dilakukan secara heuristic, yaitu teknik
memperoleh hasil yang cukup baik (belum tentu yang terbaik) namun dalam waktu cepat.
Misalnya:
- Jika menggunakan Hangul maka dianggap berbahasa Korea,
- Jika kombinasi kanji-hiragana-katakana maka dianggap berbahasa Jepang,
- Jika banyak penggunaan kata “the”, dianggap berbahasa Inggris, dst
7
PROFIL
TERM & VOCABULARY
Term adalah sebutan untuk unit terkecil yang diindeks, biasanya berupa kata.
Dokumen adalah sebutan untuk unit yang dikembalikan sebagai output dari
suatu query
Collection atau Corpus merupakan sekumpulan dokumen tersebut.
Vocabulary adalah sekumpulan term unik dalam suatu corpus.
8
PROFIL
TERM & VOCABULARY
Terdapat beberapa struktur data pada Python yang sering digunakan dalam
information retrieval, di antaranya List dan Dictionary.
List Dictionary
List = [11, ‘Bagus’, [1, 2, 3], 11] Dict = {1: ‘Hijau’, 2: ‘Oranye’, 3: ‘Putih’}
List [0] List [1] List [2] List [3] Key Value
Ordered: sudah terurut dan tidak bisa diubah urutannya Ordered: pasangan key-value sudah terurut dan tidak
bisa diubah urutannya
Mutable: semua item dapat dimodifikasi kapan saja
Mutable: semua value dapat dimodifikasi tetapi key
Duplicates: item dengan nilai yang sama diperbolehkan tidak
Source: https://dataindonesia.id/
10
PROFIL
TEXT QUERY DAN TEXT STATISTICS
11
PROFIL
FENOMENA FREKUENSI KATA
Zipf Law
13
PROFIL
TEXT PREPROCESSING
Text preprocessing adalah suatu proses pengubahan bentuk data yang belum
terstruktur menjadi data yang terstruktur sesuai kebutuhan.
Kalimantan Timur, rumah sakit, tanggung jawab: satu atau dua token?
• Bagaimana menentukan itu satu token?
15
PROFIL
PERMASALAHAN PADA TOKENISASI
Jika dianggap 2 token (misal dipisahkan tanda strip) maka query yang mengandung
hanya salah satu dari dua token akan cocok (match)
– Hewlett-Packard: query "packard" akan me-retrieve dokumen mengenai "Hewlett-
Packard" OK?
– tanggung jawab: query "tanggung" akan cocok dengan dokumen mengenai
"tanggung jawab" OK?
Jika dianggap 1 token maka query yang mengandung hanya satu dari dua token tidak
akan cocok (not match)
– se-Indonesia: query "Indonesia" tidak akan cocok dengan dokumen tentang "se-
Indonesia"
16
PROFIL
TOKENISASI: PROBLEM BAHASA
Bahasa Jepang memiliki metode penulisan dengan 4 jenis script: Kanji (untuk
kata asli yang berasal dari pengaruh Chinese), Hiragana (untuk imbuhan,
partikel, cara baca, dst), Katakana (untuk penulisan kata serapan bahasa asing,
nama asing, dst) dan Romaji (penulisan serupa alfabet).
Japanese
Kalimat dalam Japanese dan Chinese tidak memiliki spasi sebagai pemisah kata.
Sehingga sulit untuk dilakukan tokenisasi secara langsung.
Chinese
Li Keqiang mengatakan bahwa pembangunan rendah karbon terkait dengan masa depan hijau
global, dan inovasi adalah kekuatan pendorong utama untuk pembangunan 17
PROFIL
TOKENISASI: PROBLEM BAHASA
Bahasa Arab secara umum memiliki metode penulisan dari kanan ke kiri baik
untuk huruf maupun angka.
Arabic
Namun dalam penulisan modern, Bahasa Arab mengadopsi penulisan angka dari kiri
ke kanan, berbeda dengan penulisan hurufnya. Sehingga menyulitkan tokenisasi.
Arabic
Negara Saudi yang pertama didirikan pada periode 1157-1233 H atau 1744-1818 M
18
PROFIL
TOKENISASI: PROBLEM BAHASA
Lebensversicherungsgesellschaftsangestellter
German
pegawai perusahaan asuransi jiwa
19
PROFIL
CASE-FOLDING & CAPITALIZATION
Capitalization:
SELAMAT PAGI
Input:
Selamat Pagi
Case-folding:
selamat pagi
20
PROFIL
ELIMINASI STOPWORDS
21
PROFIL
NORMALISASI
Contohnya:
- Kata “anti vaksin” dapat dituliskan dengan beberapa variasi seperti berikut,
antivaksin : {anti vaksin, antivaksin, anti-vaksin}.
- Agar ada kesesuaian antara Dr. dengan Dr, USA dengan U.S.A.
- Selain itu, normalisasi dapat juga digunakan untuk mengelompokkan bahasa
gaul ke bahasa bakunya, contohnya saya: {gue, gua, aku, aq, sy}
• Misal:
– am, are, is → be
– book, books, book's, books' → book
23
PROFIL
STEMMING
Tergantung bahasa:
- Bahasa Indonesia: “mengambil” → “ambil”, dst
- English: automate(s), automatic, automation semua direduksi menjadi
automat.
24
PROFIL
STEMMING
Dalam Bahasa Inggris, ada beberapa stemmer yang bisa digunakan dengan hasil
yang relatif mirip.
25
Image source: https://www.javatpoint.com/stemming-in-data-mining
PROFIL
STEMMING
26
Image source: https://www.javatpoint.com/stemming-in-data-mining
PROFIL
LIBRARY PYTHON
Banyak library Python yang bisa digunakan untuk preprocessing teks yang
meliputi keseluruhan atau sebagian proses tokenisasi, case-folding, dan
eliminasi stopwords:
• Sastrawi (https://pypi.org/project/Sastrawi)
• Spacy (https://spacy.io)
• NLTK (https://www.nltk.org)
• ID-Stopwords
27
QUESTIONS?