NATURAL LANGUANGE PROCESSING
What is NLP??
 Wiki: Natural language processing (NLP) is a field of
computer science, artificial intelligence, and computational
linguistics concerned with the interactions between
computers and human (natural) languages.
ML in NLP 2
Go beyond the keyword matching
 Identify the structure and meaning of words, sentences,
texts and conversations
 Deep understanding of broad language
 NLP is all around us
ML in NLP 3
Tujuan dari NLP :
Membuat System yang dapat Memahami bahasa alami (natural languange)
Example: Siri
 Siri contains
 Speech recognition
 Language analysis
 Dialog processing
 Text to speech
Image: Wikipedia
Sentiment/Opinion Analysis
ML in NLP 8
how?
NLP’s practical applications
●
●
●
Machine translation Sentiment
Analysis Automatic speech recognition
○ Personalized assistants
○ Auto customer service
● Information Retrieval
○
○
Web Search Question
Answering
● Computational Social Science
● Growing day by day
● Machine learning:
○ Logistic regression
○ Probabilistic modeling
○ Recurrent Neural Networks
○ Transformers
● Algorithms, e.g.:
○ Graph analytics
○ Dynamic programming
● Data science
○ Hypothesis testing
Challenge of NLP
Challenges: Ambiguity
Credit: Mark Liberman, http://languagelog.ldc.upenn.edu/nll/?p=17711
12
Challenges: Language is dynamic
18
KOMPONEN NLP
Sintaksis
• Pengetahuan tentang urutan kata dalam pembentukan kalimat.
• Contoh:
Kalimat  Subyek, Predikat
Subyek  Determinan, KataBenda
Predikat  KataKerja, KataBenda
Semantik
• Mempelajari arti suatu kata pada kalimat yang utuh.
• Contoh:
– Ayahku datang membawa buah tangan
– Saya mau tahu. (tahu = mengerti)- saya mau tahu. (tahu = makanan)
Part of speech tagging (POS-
Tagging)
ML in NLP 23
Kategori Kata
NOUN Kata benda Bangku, awan, tetikus
VERB Kata kerja Belajar, lari, makan
ADJ Kata sifat Ungu, tinggi, lucu
ADV Kata keterangan Yang biru / dengan lincah
DETERMINER Kata penentu Itu, ini
PUNCT Tanda baca (.) / (,) / (?) / (!) dll
PRONOUN Kata ganti Dia, kamu, mereka
ADP Preposisi Di atas, di bawah
SYM Simbol $ / @ /
NUM Angka 1 / 3 / 45 / 1975
X Lain-lain
Penn Treebank Tagset
Parsing
• Suatu proses menganalisa suatu kumpulan kata dengan
memisahkan kata-kata itu dan menentukan struktur sintaktis
dari tiap kata tersebut.
• Mempunyai 2 pendekatan:
– Top-down parsing
– Bottom-up parsing
Contoh
kucing makan
kucing makan
KataBenda KataKerja
Kalimat
Bottom-up
parsing
Syntactic (Constituency) parsing
29
Syntactic structure => meaning
30
Parsing Resources
• SpaCy
 Python, high accuracy, fast
 https://spacy.io/
• NLTK
 Python, low accuracy, fast
 https://www.nltk.org/
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
– Contoh :
• 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
Penandaan (Tagging) Otomatis
• Contoh: menggunakan Penn Tagger
Input: Some scorpions are able to survive 6 to 12 months of
starvation
Output: Some/DT scorpions/NNS are/VBP able/JJ to/TO
survive/VB 6/CD to/TO 12/CD months/NNS of/IN
starvation/NN
• Misalnya:
– http://nlp.stanford.edu:8080/parser/
– GATE – General Architecture for Text Engineering
(http://www.gate.ac.uk)
Metode pada POS Tagger
• Rule based tagger
– Top down
– Pendefinisian aturan yang biasa digunakan manusia
• Statistical tagger
– bottom up
– Menggunakan corpus sebagai training data dimana aturan ditetapkan secara
otomatis
– Pendekatan probabilistik tag terbaik untuk sebuah kata dalam konteks kalimat
tertentu  machine learning
– Perlu menentukan ciri atau fitur sebagai masukan kedalam machine learning
– Transformation based tagger  menggunakan corpus sebagai training data
untuk mengmbil rule atau aturan pendefinisian POS tag sebuah kata
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
• Punya  VB
• Kemarin  NN
• Wabah  NN
• Virus  X
• Membahayakan  VB
• Semua  CD
• Manusia  NN
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”
– Keterangan : 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
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
So what about ML and Deep Learning?
Penggunaan Machine Learning (ML) dan Deep Learning (DL) untuk
menyelesaikan banyak tugas NLP tingkat tinggi
Intro-NLP.pdf

Intro-NLP.pdf

  • 1.
  • 2.
    What is NLP?? Wiki: Natural language processing (NLP) is a field of computer science, artificial intelligence, and computational linguistics concerned with the interactions between computers and human (natural) languages. ML in NLP 2
  • 3.
    Go beyond thekeyword matching  Identify the structure and meaning of words, sentences, texts and conversations  Deep understanding of broad language  NLP is all around us ML in NLP 3
  • 4.
    Tujuan dari NLP: Membuat System yang dapat Memahami bahasa alami (natural languange)
  • 7.
    Example: Siri  Siricontains  Speech recognition  Language analysis  Dialog processing  Text to speech Image: Wikipedia
  • 8.
  • 9.
    how? NLP’s practical applications ● ● ● Machinetranslation Sentiment Analysis Automatic speech recognition ○ Personalized assistants ○ Auto customer service ● Information Retrieval ○ ○ Web Search Question Answering ● Computational Social Science ● Growing day by day ● Machine learning: ○ Logistic regression ○ Probabilistic modeling ○ Recurrent Neural Networks ○ Transformers ● Algorithms, e.g.: ○ Graph analytics ○ Dynamic programming ● Data science ○ Hypothesis testing
  • 10.
  • 12.
    Challenges: Ambiguity Credit: MarkLiberman, http://languagelog.ldc.upenn.edu/nll/?p=17711 12
  • 18.
  • 20.
  • 21.
    Sintaksis • Pengetahuan tentangurutan kata dalam pembentukan kalimat. • Contoh: Kalimat  Subyek, Predikat Subyek  Determinan, KataBenda Predikat  KataKerja, KataBenda
  • 22.
    Semantik • Mempelajari artisuatu kata pada kalimat yang utuh. • Contoh: – Ayahku datang membawa buah tangan – Saya mau tahu. (tahu = mengerti)- saya mau tahu. (tahu = makanan)
  • 23.
    Part of speechtagging (POS- Tagging) ML in NLP 23
  • 24.
    Kategori Kata NOUN Katabenda Bangku, awan, tetikus VERB Kata kerja Belajar, lari, makan ADJ Kata sifat Ungu, tinggi, lucu ADV Kata keterangan Yang biru / dengan lincah DETERMINER Kata penentu Itu, ini PUNCT Tanda baca (.) / (,) / (?) / (!) dll PRONOUN Kata ganti Dia, kamu, mereka ADP Preposisi Di atas, di bawah SYM Simbol $ / @ / NUM Angka 1 / 3 / 45 / 1975 X Lain-lain
  • 26.
  • 27.
    Parsing • Suatu prosesmenganalisa suatu kumpulan kata dengan memisahkan kata-kata itu dan menentukan struktur sintaktis dari tiap kata tersebut. • Mempunyai 2 pendekatan: – Top-down parsing – Bottom-up parsing
  • 28.
    Contoh kucing makan kucing makan KataBendaKataKerja Kalimat Bottom-up parsing
  • 29.
  • 30.
  • 31.
    Parsing Resources • SpaCy Python, high accuracy, fast  https://spacy.io/ • NLTK  Python, low accuracy, fast  https://www.nltk.org/
  • 32.
    Masalah pada POSTagger • Polysemi (ambigu) – Sebuah kata dapat memiliki lebih dari 1 jenis kata, tergantung dari kalimat tempat kata tersebut berada atau disebut juga konteks – Contoh : • 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
  • 33.
    Penandaan (Tagging) Otomatis •Contoh: menggunakan Penn Tagger Input: Some scorpions are able to survive 6 to 12 months of starvation Output: Some/DT scorpions/NNS are/VBP able/JJ to/TO survive/VB 6/CD to/TO 12/CD months/NNS of/IN starvation/NN • Misalnya: – http://nlp.stanford.edu:8080/parser/ – GATE – General Architecture for Text Engineering (http://www.gate.ac.uk)
  • 34.
    Metode pada POSTagger • Rule based tagger – Top down – Pendefinisian aturan yang biasa digunakan manusia • Statistical tagger – bottom up – Menggunakan corpus sebagai training data dimana aturan ditetapkan secara otomatis – Pendekatan probabilistik tag terbaik untuk sebuah kata dalam konteks kalimat tertentu  machine learning – Perlu menentukan ciri atau fitur sebagai masukan kedalam machine learning – Transformation based tagger  menggunakan corpus sebagai training data untuk mengmbil rule atau aturan pendefinisian POS tag sebuah kata
  • 35.
    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 • Punya  VB • Kemarin  NN • Wabah  NN • Virus  X • Membahayakan  VB • Semua  CD • Manusia  NN
  • 36.
    Statistical based POSTagger • 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” – Keterangan : 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
  • 37.
    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
  • 38.
    So what aboutML and Deep Learning? Penggunaan Machine Learning (ML) dan Deep Learning (DL) untuk menyelesaikan banyak tugas NLP tingkat tinggi