Pertemuan membahas penilaian tugas, ujian tengah semester dan akhir semester, serta penggunaan paket NLTK dan bahasa pemrograman Python untuk melakukan informasi retrieval pada berbagai korpus teks. Metode yang dibahas antara lain model Boolean dan vektor, konkordansi, kemiripan konteks, analisis frekuensi kata, dan n-gram. Peserta diminta mengerjakan tugas menggunakan fungsi-fungsi NLTK.
3. Model Boolean
Model Vektor
Information Retrieval – ISD312 NLTK dan Python 3
4. Menggunakan NLTK
Pemrograman Python
Latihan
Information Retrieval – ISD312 NLTK dan Python 4
5. Menggunakan package nltk
import nltk
Mengunduh korpus-korpus yang tersedia online
nltk.download()
Menggunakan korpus "Book"
from nltk.book import *
import nltk.book as buku
Information Retrieval – ISD312 NLTK dan Python 5
6. text1: Moby Dick
text2: Sense and Sensibility
text3: The Book of Genesis
text4: Inaugural Address Corpus
text5: Chat Corpus
text6: Monty Python and the Holy Grail
text7: Wall Street Journal
text8: Personals Corpus
text9: The Man Who Was Thursday
Information Retrieval – ISD312 NLTK dan Python 6
7. Konkordansi
Menampilkan kalimat yang menggunakan sebuah kata
tertentu
text1.concordance("monstrous")
Kemiripan berdasarkan konteks
text1.similar("monstrous")
Menampilkan konteks dari kata-kata yang mirip
text1.common_contexts(['monstrous',
'subtly'])
List sebagai paameter untuk fungsi
common_contexts()
Information Retrieval – ISD312 NLTK dan Python 7
8. text1
Jumlah tokens dalam satu dokumen
len(text1)
Perulangan kemunculan dihitung
Jumlah kata unik
len(set(text1))
set() menghilangkan perulangan kemunculan
Mengurutkan data dalam list / set
sorted(set(text1))
Information Retrieval – ISD312 NLTK dan Python 8
9. List dan Variabel
sent1 = ['Kelas', 'Information',
'Retrieval', 'Teknik', 'Informatika']
Indeks dimulai dari 0
Slicing
sent1[1:2]
sent1[:2]
sent1[2:]
sent1[-2:]
Information Retrieval – ISD312 NLTK dan Python 9
10. Concatenation
sent1 + sent1
Append
sent1.append('python')
String
Diapit oleh 'single quote' atau "double quote"
List of characters
Information Retrieval – ISD312 NLTK dan Python 10
11. Lexical richness
Perbandingan jumlah tokens dengan jumlah kata unik
len(text1) / len(set(text1))
Integer division
from __future__ import division
Jumlah kemunculan sebuah token
text1.count('whale')
100 * text1.count('whale') / len(text1)
Information Retrieval – ISD312 NLTK dan Python 11
13. df = FreqDist(text5)
vocabulary = df.keys()
vocabulary[:10]
df.plot(50)
df.plot(50, cumulative=True)
Information Retrieval – ISD312 NLTK dan Python 13
14. Kemunculan dua kata (bi-) dalam dokumen
N-grams: Kemunculan N kata dalam dokumen
kalimat = ['After', 'all', 'is', 'said',
'and', 'done', 'more', 'is', 'said', 'than',
'done']
tokens = set(kalimat)
tokens = sorted(tokens)
tokens[-2:]
bigrams(kalimat)
Information Retrieval – ISD312 NLTK dan Python 14
15. Muncul hanya satu kali dalam dokumen
H = df.hapaxes()
longHapaxes = [w for w in V if len(w) > 15]
Information Retrieval – ISD312 NLTK dan Python 15
16. Frase dua-kata yang sering muncul bersama
Melibatkan kata yang jarang muncul
text1.collocations()
text5.collocations()
Information Retrieval – ISD312 NLTK dan Python 16
17. Menghitung frekuensi terms dalam teks
from nltk.book import *
fdist1 = FreqDist(text1)
vocabulary = fdist.keys()
vocabulary[:50]
vocabulary['whale']
Information Retrieval – ISD312 NLTK dan Python 17
18. Mengubah definisi fungsi percentage() agar bisa
menerima satu parameter: nama dokumen
Buat sebuah fungsi python yang menerima dua buah
vektor dan mengembalikan Hasil dot-product dari
kedua vektor tersebut
Buat sebuah fungsi python yang menerima sebuah
vektor dan mengembalikan Norm dari vektor tersebut
Information Retrieval – ISD312 NLTK dan Python 18
19. Hitung berapa jumlah kata unik di dalam korpus
nltk.book
Tuliskan statement-statement progam Python yang
anda gunakan untuk mendapatkannya
Batas waktu: 3 Oktober 2011, pukul 13.30 WIB
By e-mail barliant@gmail.com (Subject "ISD312 TM2",
Nama, dan NIM)
Bonus sebelum batas waktu pengumpulan
Nilai kosong setelah batas waktu
Information Retrieval – ISD312 NLTK dan Python 19