2. 2
KK - Informatika
POS Tagger
• Merupakan salah satu pemrosesan teks pada
level leksikal
• POS=part of speech=jenis kata
• Digunakan untuk:
• Seleksi kata
• Misalnya pada information retrieval atau sistem temu balik informasi
dimana kata yang diambil hanyalah yang merupakan kata kerja
(verb) dan kata benda (noun)
• Dasar bagi pemrosesan teks selanjutnya seperti parser
atau Named Entity Tagger
3. 3
KK - Informatika
Jenis Kata (POS Tag)
• 2 Macam:
• Closed
• Kata depan, kata hubung, kata ganti
• Open
• Kata kerja, kata benda
• Kelas Kata (Tag Set):
• Dionysius Thrax 8 POS utk bhs Yunani: noun, verb, pronoun,
preposition, adverb, conjunction, particle, article
• Penn Treebank (45 tag): DT (determiner), IN (preposition), JJ
(Adjective), JJR (Adjective, comparative), NN (Noun singular), etc
• Brown Corpus (87 tag)
• C7 (146 tag)
4. 4
KK - Informatika
Masalah pada POS Tagger
• Polysemi (ambigu)
• Sebuah kata dapat memiliki lebih dari 1 jenis kata,
tergantung dari kalimat tempat kata tersebut berada atau
disebut juga konteks
• Bisa ular bisa mematikan
• Bisa: sebagai kata benda dan kata kerja bantu
• Bagus memakai baju baru yang bagus
• Bagus: sebagai kata benda dan kata sifat
• OOV
• Terdapat kata-kata baru misalnya berupa kata serapan
atau named entity baru
5. 5
KK - Informatika
Metode pada POS Tagger
• Rule based tagger
• Cara top down
• Pendefinisian aturan yg biasa digunakan manusia
• Statistical tagger
• Cara bottom up
• Menggunakan corpus sebagai training data dimana aturan
ditetapkan secara otomatis
• untuk menentukan secara probabilistik, mana tag terbaik untuk
sebuah kata dalam konteks kalimat tertentu machine learning,
generative
• Untuk menentukan fungsi pembeda yang menetapkan tag untuk
sebuah input kata machine learning, fungsi pembeda
• Transformation based tagger (Brill tagger)
• Menggunakan corpus sebagai training data untuk mengambil rule atau aturan
pendefinisian POS tag sebuah kata
5
6. 6
KK - Informatika
Rule-based POS Tagger
• Langkah:
• Menggunakan kamus untuk menentukan tag ke setiap kata
• Menggunakan aturan (rule) untuk menghilangkan
kemungkinan POS tagging yang salah rule
mempertimbangkan konteks kalimat (beberapa kata
tetangga)
• Contoh ENGTWOL
• Pavlov Pavlov N Nom Sg Proper
• Had Have V Past ; Have Pcp2
• Shown show pcp2
• That Adv; Pron Dem Sg; Det; Cs
6
7. 7
KK - Informatika
Statistical based POS Tagger
• Rule/aturan klasifikasi POS dilakukan secara
otomatis melalui corpus yang sudah dilabeli
• Tahap:
• Pembuatan corpus (daftar kalimat dimana setiap katanya
diberi label POS)
• Contoh: “Bisa/NN ular/NN bisa/MD mematikan/VB”
• NN=noun; MD=modality; VB=verb
• Pelatihan dengan algoritma
• HMM: hasil pelatihan berupa nilai probabilitas
• Decision Tree: hasil pelatihan berupa pohon keputusan
• Neural Network: hasil pelatihan berupa fungsi pembeda
8. 8
KK - Informatika
POS Tagger dgn
HMM (Hidden Markov Model)
• Konteks kalimat (yg dinyatakan pd rule dlm metode
sebelumnya) dilakukan secara otomatis dan dinyatakan
dalam bentuk nilai probabilistik
• Nilai probabilistik sebuah tag dari sebuah kata tertentu =
p(tag|word)
• Tag atau POS Tag sebagai nilai yang ingin diketahui (belum tahu atau
hidden information)
• Word sebagai nilai yang sudah diketahui (observable)
• Contoh “Bisa ular bisa mematikan”
• Untuk kata pertama “Bisa”, perlu dihitung semua nilai probabilitas
jenis kata terhadap kata tsb spt P(noun|bisa) , P(modality|bisa),
P(verb|bisa), dst
8
9. 9
KK - Informatika
POS Tagger dgn HMM
• {S, O, π, A, B}
• S : {s1…sN } adalah nilai yang hidden, dalam hal ini adalah POS Tag
• O : {o1…oM } adalah nilai yang observable, yaitu Word
• π = {π i} adalah nilai probabilitas initial atau sebagai POS Tag
pertama
• A = {aij} adalah nilai probabilitas transisi atau P(tag)
• B = {bik} adalah nilai probabilitas emission atau P(word|tag)
9
A
B
AAA
BB
SSS
OOO
S
O
S
O
BB
10. 10
KK - Informatika
POS Tagger dgn HMM (2)
• Berdasar pada hukum bayes
• P(POS Tag|word) = P(word|POS Tag) P(POS Tag)
• P(word|POS Tag) disebut sbg emission probability
• Probabilitas sebuah kata memiliki label POS Tag tertentu
• Conditional probability
• P(POS Tag) disebut sbg transition probability
• Probabilitas sebuah POS Tag jika diketahui POS Tag sebelumnya
• Contoh P(Noun | Mod) berarti probabilitas sebuah Noun jika
sebelumnya adalah Modality
• Sering disebut sebagai language model
11. 11
KK - Informatika
POS Tagger dgn HMM (3)
• P(t|w) = P(w|t) P(t)
• P(wi|ti) = c(wi,ti) / c(ti)
• Probabilitas sebuah kata wi jika ada ti adalah jumlah kemunculan
wi dan ti pada corpus dibagi dengan jumlah kemunculan ti pada
corpus
• P(ti|ti-2ti-1) = c(ti-2ti-1ti) / c(ti-2ti-1)
• Probabilitas sebuah tag ti jika diketahui dua pos tag
sebelumnya (ti-2ti-1) adalah jumlah kemunculan ketiga tag
berurutan pada corpus dibagi jumlah kemunculan dua tag
(sebelumnya) berurutan pada corpus
13. 13
KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MD
TAG
WORD
0
0
0
Tahap 1 - Inisialisasi
πNN x P(Bisa|NN) = 0.85
0.85
14. 14
KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MD
TAG
WORD
0
0
0
Tahap 1 - Inisialisasi
πMDx P(Bisa|MD) = 0.15
0.85
0.15
15. 15
KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MD
TAG
WORD
0
0
0
Tahap 1 - Inisialisasi
0.85
0.15
0
16. 16
KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MD
TAG
WORD
0
0
0
Tahap 2 - Iterasi
0.85
0.15
0
1
P(NN|NN) x P(ular|NN) x Score(1,1) =
P(NN|MD) x P(ular|NN) x Score(2,1) =
P(NN|VB) x P(ular|NN) x Score(3,1) =
1
17. 17
KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MD
TAG
WORD
0
0
0
Tahap 2 - Iterasi
0.85
0.15
0
1
P(MD|NN) x P(ular|MD) x Score(1,1) =
P(MD|MD) x P(ular|MD) x Score(2,1) =
P(MD|VB) x P(ular|MD) x Score(3,1) =
1
01
18. 18
KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MD
TAG
WORD
0
0
0
Tahap 2 - Iterasi
0.85
0.15
0
1
1
01
01
0.21
0.51
0.31
01
01
12
19. 19
KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MD
TAG
WORD
0
0
0
Tahap 3 - Identifikasi
0.85
0.15
0
1
1
01
01
0.21
0.5
1
0.31
01
01
12
NN NN MD VB
Bisa ular bisa mematikan
20. 20
KK - Informatika
Transformation Based Tagger
• Ide
• Meng-assign tag dengan nilai probabilitas terbesar
• Perbaiki kesalahan dengan melihat rule yang
dipelajari dari data
• Contoh
• P(NN|race) = 0.98
• P(VB|race) = 0.02
• Maka pertama kali race di-tag sebagai NN
• Ubah tag jika memenuhi rule tertentu, cth: change NN
to VB when the previous tag is TO