NLP Tugas 4
NLP Tugas 4
To take a little review from last GSLC session. Please find Python code how to handle cliticization in
English!
For example:
etc.
Instead of n-grams, we have skip-grams. Look for some information about skip-grams, and describe it
here with examples! Compare it with n-grams!
1.
import re
def decontracted(phrase):
# specific
phrase = re.sub(r"won\'t", "will not", phrase)
phrase = re.sub(r"can\'t", "can not", phrase)
# general
phrase = re.sub(r"n\'t", " not", phrase)
phrase = re.sub(r"\'re", " are", phrase)
phrase = re.sub(r"\'s", " is", phrase)
phrase = re.sub(r"\'d", " would", phrase)
phrase = re.sub(r"\'ll", " will", phrase)
phrase = re.sub(r"\'t", " not", phrase)
phrase = re.sub(r"\'ve", " have", phrase)
phrase = re.sub(r"\'m", " am", phrase)
return phrase
test = "Hey I'm Yann, how're you and how's it going ? That's interesting: I'd love to hear more about it."
print(decontracted(test))
# Hey I am Yann, how are you and how is it going ? That is interesting: I would love to hear more about it.
Vincent Andreas 2101635183
FST sebagai recognizer / pengenal, contohnya : FST yang menggunakan sepasang string sebagai input,
kemudian output akan diterima bila sepasang string itu ada didalam kosakata, bila tidak ada didalam
kosakata, maka akan di reject atau di tolak.
Dimana PP adalah perplexity, W adalah word atau kata, P adalah probability atau peluang, sedangkan
w1,22 adalah kata pertama kata kedua, dst. Dan n adalah jumlah kata yang ada
Misalkan kita punya kumpulan angka acak (0 -9), sejumlah 15 buah. Kita harus menghitung berapa
perplexity nya bila setiap kata memiliki peluang 1/15. Maka kita bisa menghitung nya dengan cara :
Maka PP(W) = 15
4. smoothing dapat dilakukan dengan berbagai cara. Cara pertama adalah cara laplace / addone, yaitu
dengan cara menambahkan satu, sehingga bila terdapat suatu kata yang tidak muncul (dengan frekuensi
0), ketika dihitung tidak akan menjadi 0
Cara yang lain adalah dengan addative smoothing. Konsep nya hampir sama dengan Laplace, hanya saja
yang ditambahkan bukan lah 1, melainkan delta.
Vincent Andreas 2101635183
Good Turing Smoothing menggunakan frekuensi perhitungan dari NGrams untuk menghitung nilai
maksimal peluang.
Kneser Key
Metode Knesker Key Smoothing menghitung peluang atau probabilitas ngram berdasarkan histori /
sebelum2 nya.
Katz Smoothing
setiap n-gram dimasukan ke salah satu dari beberapa buckets berdasarkan frekuensi nya yang
diprediksi dari lower-order models.
Good-turing akan dihitung dalam setiap bucket.
5. skipgram adalah kumpulan dari item item yang berasal dari pemenggalan text. Bedanya dengan n gram
adalah : Skipgram mengambil kata kata dengan cara melongkap kata / melewati kata, tidak seperti ngram
yang mengambil kata secara berurutan tanpa ada yang dilewati. Skip gram biasanya digunakan untuk
memodelkan konteks dan sebagai alternative untk peningkatan ukuran training data.
Vincent Andreas 2101635183
Contoh nya:
"today I go to school"
sedangkan skip gram memiliki nilai n skip bi gram, dimana n adalah jumlah kata yang bisa di skip.
0 skip bi gram (tidak ada yang di skip) : {today I, I go,go to, to School}
sehingga nanti nya 3 skip bi gram akan mencakup 3 skip, 2 skip, 1 skip dan 0 skip bi gram