pos tagger

20
1 Informatika POS Tagger Ayu Purwarianti

Upload: ayu-purwarianti

Post on 05-Jul-2015

303 views

Category:

Engineering


3 download

DESCRIPTION

Teknik pada POS Tagger atau pelabelan jenis kata pada kata dalam sebuah kalimat.

TRANSCRIPT

Page 1: Pos tagger

1Informatika

POS Tagger

Ayu Purwarianti

Page 2: Pos tagger

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

Page 3: Pos 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)

Page 4: Pos tagger

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

Page 5: Pos tagger

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

Page 6: Pos tagger

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

Page 7: Pos tagger

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

Page 8: Pos tagger

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

Page 9: Pos tagger

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

Page 10: Pos tagger

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

Page 11: Pos tagger

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

Page 12: Pos tagger

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

Page 13: Pos tagger

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

Page 14: Pos tagger

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

Page 15: Pos tagger

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

Page 16: Pos tagger

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

Page 17: Pos tagger

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

Page 18: Pos tagger

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

Page 19: Pos tagger

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

Page 20: Pos tagger

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