Pengenalan POS Tagging dalam NLP
Pengenalan POS Tagging dalam NLP
Ruli Manurung
1/53
Pemodelan bahasa
Part of speech tagging
Parsing
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
2/53
Pemodelan bahasa
Part of speech tagging
Parsing
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
3/53
Pemodelan bahasa
Part of speech tagging
Parsing
4/53
Pemodelan bahasa
Part of speech tagging
Parsing
Contoh sederhana
Bagaimana caranya menginterpretasikan sebuah sinyal lisan:
1 “I scream is delicious”.
2 “Ice cream is delicious”.
Model linguistik
Kalimat (1) tidak valid, sedangkan kalimat (2) adalah valid.
Model empiris
“Ice cream is” lebih sering dijumpai daripada “I scream is”.
5/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
6/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
7/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
POS
Kelas kata
Part-of-speech, POS, word class, morphological class, lexical tag: sebuah
atribut dari kata. Secara umum, menentukan “tipe” dari kata tersebut.
8/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
9/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Verbs
Kata-kata yang menyatakan tindakan, proses, kejadian. English verbs bisa
berbeda bentuk (eat, eats, eating, eaten).
Adjectives
Kata-kata yang menyatakan sifat/atribut. Hampir semua bahasa memiliki
adjective yang menyatakan warna (hitam, putih), usia (tua, muda), dst.
Adverbs
Merupakan modifier/keterangan terhadap verb. Seringkali menjadi category
“dan lain-lain”. Contoh: “Unfortunately , John walked home extremely slowly
yesterday”
10/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Contoh:
prepositions: on, under, over, near, . . .
determiners: a, an, the
pronouns: she, who, I others
conjunctions: and, but, or, as, if, when
auxiliary verbs: can, may, should, are
particles: up, down, on, off, in, out, at, by
numerals: one, two, three, first, second, third
11/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Analogi CS?
Anggap closed class word seperti reserved keyword dalam bahasa
pemrograman: for, if, while, etc. Open class ≈ variable(?)
12/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Tagset
Perbedaannya?
Penn Treebank menggabungkan beberapa tag menjadi satu, karena ada
informasi parse tree.
Tergantung kebutuhan!
13/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
14/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
15/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Part-of-speech tagging
16/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
17/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
17/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
17/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
18/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
19/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Bayangkan sudah diketahui POS tag yang benar kecuali untuk race. Konteks
yang perlu diamati (secara bigram):
1 to/TO race/???
2 the/DT race/???
20/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Pemodelan statistik
Pada intinya, kita ingin memilih tag yang memaksimalkan rumus berikut:
P(kata|tag ) × P(tag |n tag sebelumnya)
Sebagai aproksimasi, sebuah bigram tagger memilih tag untuk kata ke-i
(ti ) berdasarkan tag sebelumnya (ti−1 ) dan kata ke-i tersebut (wi )
ti = argmaxj P(tj |ti−1 , wi )
Melalui beberapa asumsi Markovian, diperoleh:
ti = argmaxj P(tj |ti−1 ) × P(wi |tj )
(Pada kenyataannya, kita ingin melakukan tagging pada seluruh kalimat
sekaligus, bukan hanya satu kata!)
21/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
22/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Menggunakan statistik
Definisi
Hidden Markov Model (HMM) adalah pemodelan statistik di mana sebuah
sistem “menghasilkan” (emit) urutan simbol yang dapat diamati (observation
symbols) berdasarkan sebuah proses probabilistik yang parameternya tidak
diketahui (hidden parameters).
23/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
24/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Menggunakan statistik
HMM sering digunakan untuk memodelkan data sequential/temporal, di mana
proses berjalan seiring waktu t, dengan asumsi berikut:
Nilai hidden state x(t) sepenuhnya ditentukan oleh hidden state
sebelumnya, x(t − 1).
Nilai observed symbol y (t) sepenuhnya ditentukan oleh hidden state pada
saat itu, x(t).
25/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
HMM Tagger
26/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
27/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Persiapan data
Data: [Link]
Tool: [Link]
Siapkan dokumen training:
Dokumen training berisi kalimat yang sudah diberi tagging secara manual
dengan format:
28/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Pembuatan model
29/53
Pemodelan bahasa Kelas kata
Part of speech tagging Tagging
Parsing Hands-on
Penggunaan model
30/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
31/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
32/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
33/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Bahasa formal yang dinyatakan oleh sebuah CFG adalah himpunan string yang
bisa di-derive dari symbol khusus: start symbol (S). Dalam NLP, S sering
diartikan sebagai “sentence”.
34/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Context-Free Grammar
Context-Free Grammar (CFG/Phrase-Structure Grammar/Backus-Naur
Form) adalah suatu notasi matematis yang menyatakan aturan sebuah
bahasa berdasarkan constituency.
CFG terdiri dari dua bagian:
1 sehimpunan (rewrite) rule atau production, yang menyatakan
35/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh CFG
Contoh rule:
Dalam bhs. Inggris, sebuah NP bisa terdiri dari ProperNoun atau Determiner
diikuti Nominal. Sebuah Nominal bisa terdiri dari satu atau lebih Noun.
36/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh CFG
Contoh rule:
Dalam bhs. Inggris, sebuah NP bisa terdiri dari ProperNoun atau Determiner
diikuti Nominal. Sebuah Nominal bisa terdiri dari satu atau lebih Noun.
NP → Det Nominal
36/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh CFG
Contoh rule:
Dalam bhs. Inggris, sebuah NP bisa terdiri dari ProperNoun atau Determiner
diikuti Nominal. Sebuah Nominal bisa terdiri dari satu atau lebih Noun.
NP → Det Nominal
NP → ProperNoun
36/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh CFG
Contoh rule:
Dalam bhs. Inggris, sebuah NP bisa terdiri dari ProperNoun atau Determiner
diikuti Nominal. Sebuah Nominal bisa terdiri dari satu atau lebih Noun.
NP → Det Nominal
NP → ProperNoun
Nominal → Noun | Noun Nominal
Contoh lexicon:
Lexicon bisa saja dinyatakan sebagai aturan context-free sebagai berikut:
36/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh CFG
Contoh rule:
Dalam bhs. Inggris, sebuah NP bisa terdiri dari ProperNoun atau Determiner
diikuti Nominal. Sebuah Nominal bisa terdiri dari satu atau lebih Noun.
NP → Det Nominal
NP → ProperNoun
Nominal → Noun | Noun Nominal
Contoh lexicon:
Lexicon bisa saja dinyatakan sebagai aturan context-free sebagai berikut:
Det → a
36/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh CFG
Contoh rule:
Dalam bhs. Inggris, sebuah NP bisa terdiri dari ProperNoun atau Determiner
diikuti Nominal. Sebuah Nominal bisa terdiri dari satu atau lebih Noun.
NP → Det Nominal
NP → ProperNoun
Nominal → Noun | Noun Nominal
Contoh lexicon:
Lexicon bisa saja dinyatakan sebagai aturan context-free sebagai berikut:
Det → a
Det → the
36/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh CFG
Contoh rule:
Dalam bhs. Inggris, sebuah NP bisa terdiri dari ProperNoun atau Determiner
diikuti Nominal. Sebuah Nominal bisa terdiri dari satu atau lebih Noun.
NP → Det Nominal
NP → ProperNoun
Nominal → Noun | Noun Nominal
Contoh lexicon:
Lexicon bisa saja dinyatakan sebagai aturan context-free sebagai berikut:
Det → a
Det → the
Noun → flight
(dalam kenyataannya, kurang efisien)
36/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Sebagai parser, bacalah tanda “→” sebagai: “if you see the symbols on the
right, rewrite with the symbol on the left”.
S
37/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Grammar untuk L0
S → NP VP I + prefer a morning flight
NP → Pronoun I
— ProperNoun Los Angeles
— Det Nominal a + flight
Nominal → Noun Nominal morning + flight
— Noun flights
VP → Verb do
— Verb NP prefer a morning flight
— Verb NP PP leave Boston in the morning
— Verb PP leave in the morning
PP → Prep NP from Los Angeles
38/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Grammaticality
Kalimat-kalimat yang bisa di-derive dari S dikatakan grammatical.
Kalimat-kalimat yang TIDAK bisa di-derive dari S dikatakan
ungrammatical.
Perbedaan yang sangat “tajam” untuk bahasa formal seperti ini
terkadang kurang cocok untuk bahasa natural/manusia . . .
Dalam bidang linguistics, pemodelan ini disebut generative grammar
(Chomsky), akhir ’60-an.
39/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Grammaticality
Kalimat-kalimat yang bisa di-derive dari S dikatakan grammatical.
Kalimat-kalimat yang TIDAK bisa di-derive dari S dikatakan
ungrammatical.
Perbedaan yang sangat “tajam” untuk bahasa formal seperti ini
terkadang kurang cocok untuk bahasa natural/manusia . . .
Dalam bidang linguistics, pemodelan ini disebut generative grammar
(Chomsky), akhir ’60-an.
39/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
40/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
41/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Menambahkan probabilitas
Rule sebuah CFG secara non-deterministik menjabarkan semua kemungkinan
rewrite sebuah non-terminal:
Contoh kemungkinan expansion VP:
VP → Verb
VP → Verb NP
VP → Verb NP NP
42/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Menambahkan probabilitas
Rule sebuah CFG secara non-deterministik menjabarkan semua kemungkinan
rewrite sebuah non-terminal:
Contoh kemungkinan expansion VP:
VP → Verb
VP → Verb NP
VP → Verb NP NP
42/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Menambahkan probabilitas
Rule sebuah CFG secara non-deterministik menjabarkan semua kemungkinan
rewrite sebuah non-terminal:
Contoh kemungkinan expansion VP:
VP → Verb [0.55]
VP → Verb NP [0.40]
VP → Verb NP NP [0.05]
42/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
43/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
43/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Contoh PCFG
44/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
45/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
46/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Ta ≈ “bisakah anda
memesan penerbangan
untuk TWA”?
Tb ≈ “bisakah anda
memesan penerbangan
maskapai TWA”?
P(Ta ) = .15 × .40 × .05 ×
.05 × .35 × .75 × .40 × .40 ×
.40 × .30 × .40 × .50 =
1.5 × 10−6
P(Tb ) = .15 × .40 × .40 ×
.05 × .05 × .75 × .40 × .40 ×
.40 × .30 × .40 × .50 =
1.7 × 10−6
47/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Language modelling
48/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
49/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Outline
1 Pemodelan bahasa
2 Part of speech tagging
Kelas kata
Tagging
Hands-on
3 Parsing
Grammar
Probabilistic parsing
Menggunakan PCFG
Hands-on
50/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Persiapan data
Data: [Link]
Tool: [Link]
Siapkan dokumen training:
Dokumen training berisi kalimat yang sudah diberi bracketing secara
manual dengan format:
51/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Pembuatan model
52/53
Grammar
Pemodelan bahasa
Probabilistic parsing
Part of speech tagging
Menggunakan PCFG
Parsing
Hands-on
Ringkasan
53/53