pos tagger
DESCRIPTION
Teknik pada POS Tagger atau pelabelan jenis kata pada kata dalam sebuah kalimat.TRANSCRIPT
1Informatika
POS Tagger
Ayu Purwarianti
2KK - Informatika
POS Tagger
• Merupakan salah satu pemrosesan teks padalevel leksikal
• POS=part of speech=jenis kata
• Digunakan untuk:
• Seleksi kata
• Misalnya pada information retrieval atau sistem temu balik informasidimana kata yang diambil hanyalah yang merupakan kata kerja(verb) dan kata benda (noun)
• Dasar bagi pemrosesan teks selanjutnya seperti parser atau Named Entity Tagger
3KK - 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)
4KK - Informatika
Masalah pada POS Tagger
• Polysemi (ambigu)
• Sebuah kata dapat memiliki lebih dari 1 jenis kata, tergantung dari kalimat tempat kata tersebut berada ataudisebut 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 serapanatau named entity baru
5KK - 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 tertentumachine learning, generative
• Untuk menentukan fungsi pembeda yang menetapkan tag untuksebuah 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
6KK - 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
7KK - Informatika
Statistical based POS Tagger
• Rule/aturan klasifikasi POS dilakukan secaraotomatis melalui corpus yang sudah dilabeli
• Tahap:
• Pembuatan corpus (daftar kalimat dimana setiap katanyadiberi 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
8KK - Informatika
POS Tagger dgnHMM (Hidden Markov Model)
• Konteks kalimat (yg dinyatakan pd rule dlm metodesebelumnya) dilakukan secara otomatis dan dinyatakandalam 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
9KK - 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
10KK - 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 jikasebelumnya adalah Modality
• Sering disebut sebagai language model
11KK - 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 kemunculanwi dan ti pada corpus dibagi dengan jumlah kemunculan ti padacorpus
• 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
12KK - Informatika
Contoh
Bisa
NNMDVB
NN VB
Bisa ular bisa mematikan
a12 a23 a34
b11 b22 b33 b44
π
ular bisa mematikan
NN
MD
VB
NN NN
MD
VB
VB
NNMDVB
13KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MDTAG
WORD
0
0
0
Tahap 1 - Inisialisasi
πNN x P(Bisa|NN) = 0.85
0.85
14KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MDTAG
WORD
0
0
0
Tahap 1 - Inisialisasi
πMDx P(Bisa|MD) = 0.15
0.85
0.15
15KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MDTAG
WORD
0
0
0
Tahap 1 - Inisialisasi
0.85
0.15
0
16KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MDTAG
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
17KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MDTAG
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
18KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MDTAG
WORD
0
0
0
Tahap 2 - Iterasi
0.85
0.15
0
11
01
01
0.21
0.51
0.31
01
01
12
19KK - Informatika
Contoh
(1) NN
(3) VB
Bisa ular bisa mematikan
(2) MDTAG
WORD
0
0
0
Tahap 3 - Identifikasi
0.85
0.15
0
11
01
01
0.21
0.51
0.31
01
01
12
NN NN MD VB
Bisa ular bisa mematikan
20KK - 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