Uploaded by Arya Mulya Kusuma

slide-pba-1

advertisement
PEMROSESAN BAHASA ALAMI
Jurusan Teknik Informatika
Fakultas Ilmu Komputer
Universitas Sriwijaya
Genap 2021/2022
Dr. Abdiansah, S.Kom., M.CS. (abdiansah@unsri.ac.id)
PERTEMUAN – 1
PERTEMUAN-1
Pengantar Pemrosesan Bahasa Alami
2
Pemrosesan Bahasa Alami
Materi Pertemuan
3

Pengantar Pemrosesan Bahasa Alami (PBA)

Aplikasi PBA

State of the art PBA

Latihan
Pemrosesan Bahasa Alami
PENGANTAR PEMROSESAN BAHASA ALAMI
4
Pemrosesan Bahasa Alami
Pemrosesan Bahasa Alami



5
Pemrosesan Bahasa Alami (PBA) atau Natural Language Processing (NLP) adalah
pekerjaan membuat perangkat lunak yang dapat memahami (konteks) informasi
dalam bentuk bahasa alami
Memahami bahasa alami merupakan pekerjaan sulit dan menantang bagi komputer
karena banyak fenomena-fenomena linguistik yang dapat terjadi (entailment, coreference, active-pasive, dan lainnya)
Ada 2 (dua) masalah umum dalam PBA, yaitu:

Ambiguitas (ambiguity), satu struktur berbeda makna

Variabilitas (variability), satu makna berbeda struktur

Contoh ambiguitas: tahu (N/V), bisa (N/V), bagus (A/N), dan lainnya

Contoh variabilitas: (presiden, pemimpin), (rajin, pandai), dan lainnya
Pemrosesan Bahasa Alami
Bahasa dan Makna
Meaning
VARIABILITY
AMBIGUITY
Language
6
Pemrosesan Bahasa Alami
Ambiguitas




7
Secara bahasa ambigu berarti memiliki makna lebih dari satu
Kalimat ambigu adalah kalimat yang maknanya bisa bermakna lebih dari satu
penafsiran
Faktor penyebab kalimat ambigu:

Faktor Morfologi (pembentukan kata atau kalimat)

Faktor Sintaksis (masalah sintak atau penyusunan pada kata atau frasa)

Faktor Struktural (struktur pada kalimat)
Jenis kalimat ambigu:

Ambiguitas Fonetik (persamaan bunyi)

Ambiguitas Gramatikal (pembentukan tata bahasa)

Ambiguitas Leksikal (faktor kata)
Pemrosesan Bahasa Alami
Ambiguitas
Faktor
Contoh
Morfologi
Masuk angin
Contoh Kalimat
●
●
Sintaksis
Gigit jari
●
●
Struktural Aldi, Iwan,
Doni dimarahi
Bu guru
●
●
●
8
Andi merasa tidak enak badan karena [masuk angin]
Saat Andi membuka pintu, [masuklah] [angin] yang sangat
kencang
Tim bola basket itu harus [gigit jari] karena kalah (konotasi)
Adik kecilku kini senang [menggigit jari] tangannya (denotasi)
Aldi. Iwan, Doni dimarahi Bu guru (Iwan dan Doni yang dimarahi
Bu guru)
Aldi, Iwan. Doni dimarahi Bu guru (Doni yang dimarahi Bu guru)
Aldi, Iwan, Doni dimarahi Bu guru (Aldi, Iwan, dan Doni yang
dimarahi Bu guru)
Pemrosesan Bahasa Alami
Ambiguitas
Jenis Ambiguitas
Contoh
Fonetik
Tahu
Makna
●
●
Gramatikal
Orang tua
●
●
Leksikal
Lari
●
●
9
Memberi makanan berupa tahu (makanan yang terbuat dari
kacang kedelai)
Memberi suatu informasi
Ibu dan Bapak
Orang yang sudah tua
Semua pemain [berlari] mengejar bola
Karena tidak sanggup, Andi memilih [lari] dari kenyataan
Pemrosesan Bahasa Alami
Ambiguitas





10
Jenis hubungan antar kata yang dapat menyebabkan ambigu, yaitu: Homonim,
Homofon, Homograf, dan Polisemi
Homonim, kata yang sama lafal dan ejaannya dengan kata yang lain tetapi berbeda
maknanya karena berasal dari sumber yang berbeda
Homofon, kata yang sama lafalnya dengan kata lain tetapi beda ejaan dan maknanya
Homograf, kata yang sama ejaannya dengan kata yang lain tertapi beda lafal dan
maknanya
Polisemi, kata yang memiliki makna atau arti lebih dari satu karena adanya banyak
komponen konsep dalam pemaknaan suatu kata (mirip dengan homonim tapi berbeda
berdasarkan sumber makna)
Pemrosesan Bahasa Alami
Ambiguitas
Jenis Kata
Contoh
Homonim
Hak
Makna
●
●
●
Homofon
Rok / Rock
●
●
Homograf
Apel
●
●
Polisemi
Akar
●
●
11
Bagian dari sepatu wanita
Sesuatu yang benar
Milik atau kepunyaan
Rok Jenis pakaian wanita atau perempuan
Rock (pelafalan “rok”), jenis aliran musik
Suatu jenis buah–buahan
Kegiatan berkumpul seperti akan melaksanakan upacara
Akar permasalahan (konotatif)
Akar beringin (denotatif)
Pemrosesan Bahasa Alami
Variabilitas





Variasi pada bidang linguistik (bahasa) adalah karakteristik dari suatu bahasa, “ada
lebih dari satu cara untuk mengatakan hal yang sama”
Pada bidang PBA, variasi dapat disebut dengan variabilitas, “ada banyak
struktur/bahasa untuk menyatakan makna yang sama”
Contoh variabilitas di tingkat kata adalah sinonim, kata yang berbeda memiliki makna
yang sama, contohnya kata “pemimpin” dan “ketua”

Pemimpin
: Orang yg memimpin

Ketua
: Orang yg mengepalai atau [memimpin]
Biasanya antar kata/kalimat memiliki keterikatan makna atau menjadi bagian dari
masing-masing kata/kalimat tersebut
Contoh varibilitas di tingkat kalimat:

12
“Hewan makan daging” = “Anjing makan daging”
Pemrosesan Bahasa Alami
Variabilitas




Ada dua topik penelitian yang berkaitan dengan variabilitas, yaitu parafrase
(Paraphrasing) dan Textual Entailment (TE)
Parafrase adalah istilah linguistik yang berarti pengungkapan kembali suatu konsep
dengan cara lain dalam bahasa yang sama, namun tanpa mengubah maknanya
Textual Entailment adalah hubungan terarah antar fragmen teks, suatu teks (text)
dapat disimpukan (inferensi) dengan melihat teks lain (hypothesis)
Pada TE, hipotesis dapat menyimpulkan makna dari teks, tetapi tidak sebaliknya


13
“Anjing makan daging” (H), tidak bisa menyimpulkan “Hewan makan daging” (T),
karena tidak semua hewan makan daging
Jika terdapat dua teks T1 dan T2, maka perbedaan antara parafrase dan TE sbb:

Parafrase
: T1 <=> T2

TE
: T1 => T2
Pemrosesan Bahasa Alami
Variabilitas
Variabilitas
Parafrase
Contoh Kalimat
●
●
Textual Entailment
●
●
14
Kalimat asli:
Komputer mampu membawa orang ke tempat-tempat yang belum
pernah bisa mereka kunjungi sebelumnya, termasuk ke permukaan
planet lain
Kalimat parafrase:
Melalui komputer, orang dapat pergi ke tempat yang belum pernah
mereka kenal
Teks:
Jika Anda membantu yang membutuhkan, Tuhan akan membalas Anda
Hipotesis:
Memberi uang kepada orang miskin memiliki konsekuensi yang baik
Pemrosesan Bahasa Alami
Mengapa Perlu Belajar PBA?

Setiap hari kita menyumbang data ke Internet (post, tweet, blog, email, chats, dll)

Untuk memproses data yang sangat besar diperlukan orang yang paham tentang PBA


Selama data/teks terus tumbuh (big data), selama itu pula PBA diperlukan

Secara umum, data yang diolah ada tiga jenis, yaitu:

15
Oleh karena itu, PBA merupakan bidang yang cukup penting di zaman informasi
sekarang ini (lihat industri IT terkenal seperti Google, Facebook, dan lainnya)

Data terstruktur (relational table)

Data Semi-terstruktur (xml, json)

Data tidak terstruktur (plain text)
Tantangan belajar PBA adalah bagaimana mengubah data yang tidak terstruktur
menjadi data yang (semi) tersturktur sehingga bisa menghasilkan informasi yang
bermanfaat
Pemrosesan Bahasa Alami
Mengapa Perlu Belajar PBA?

Data never sleeps (2020):
https://www.domo.com/learn/datanever-sleeps-8



16
“Populasi internet dunia tumbuh secara
signifikan. Per April 2020, internet
menjangkau 59% dari populasi dunia dan
sekarang mewakili 4,57 miliar orang —
meningkat 6% dari Januari 2019”
Berapa banyak data suara dan teks yang
dihasilkan setiap menitnya?
Apakah data tersebut akan dibiarkan
begitu saja?
Pemrosesan Bahasa Alami
Mengapa Perlu Belajar PBA?
17
Pemrosesan Bahasa Alami
Tahapan PBA
Tokenisasi/Segmentasi
Analisis Leksikal
Analisis Sintaks
Analisis Semantik
Analisis Pragmatik
18
Pemrosesan Bahasa Alami
Metode PBA



19
Simbolik (1950-an s/d awal 1990-an)

Berbasis aturan (heuristik) dan pencarian kamus

Contohnya stemming yang menggunakan aturan pemenggalan kata
Statistik (1990-an s/d 2010-an)

Berbasis machine learning

Training korpus yang besar

Contohnya teknik Decision Tree yang bisa membuat aturan otomatis
Neural Network / Deep Learning (2010-an s/d sekarang)

Word Embedding (word2vec) - semantik dari korpus

Sequence-to-Sequence model (seq2seq)

Model RNN, LSTM, GRU
Pemrosesan Bahasa Alami
APLIKASI PBA
20
Pemrosesan Bahasa Alami
Aplikasi-Aplikasi PBA
21

Mesin Pencari (Search Engine)

Mesin Penerjemah (Machine Translation)

Penyaring Spam (Spam Filtering)

Analisis Sentimen (Sentiment Analysis)

Sistem Tanya Jawab (Question Answering System)

Peringkas Teks (Text Summarization)

Sistem Dialog (Dialogue System – chatbot)

…

Dan masih banyak lainnya
Pemrosesan Bahasa Alami
Mesin Pencari
22
Pemrosesan Bahasa Alami
Mesin Pencari
23
Pemrosesan Bahasa Alami
Mesin Penerjemah
24
Pemrosesan Bahasa Alami
Analisis Sentimen
25
Pemrosesan Bahasa Alami
Sistem Tanya Jawab
IBM Watson (2011) memenangkan hadiah pertama
sebesar $1 juta dalam permainan Jeopardy!
26
Pemrosesan Bahasa Alami
Sistem Dialog (Chatbot)
27
Pemrosesan Bahasa Alami
STATE OF THE ART PBA
28
Pemrosesan Bahasa Alami
Tren Penelitian PBA
29

Survey paper

Original paper

NLP Progres → nlpprogress.com

Papers with Code → paperswithcode.com
Pemrosesan Bahasa Alami
NLP Progres
30
Pemrosesan Bahasa Alami
NLP Progres
31
Pemrosesan Bahasa Alami
Papers with Code
32
Pemrosesan Bahasa Alami
Papers with Code
33
Pemrosesan Bahasa Alami
LATIHAN
34
Pemrosesan Bahasa Alami
Python


Unduh Python (versi 3) dan IDE-nya (Anacoda, Spyder, Pcharm, VS Code) atau bisa
menggunakan colab.google.research.com
Jalankan IDE Python, kemudian ketik kode berikut ini:
1.a = 10
2.b = 20
3.c = a + b
4.print(c)

Hapus kode sebelumnya, ketik kode berikut ini:
1.nim = input(“NIM: ”)
2.nama = input(“Nama: ”)
3.print(“Apa kabar {}, NIM anda adalah {}”.format(nama,
nim))
35
Pemrosesan Bahasa Alami
Python

Hapus kode sebelumnya, ketik kode berikut ini:
1.pjg = int(input(“Panjang: ”))
2.lbr = int(input(“Lebar:”))
3.luas = pjg * lbr
4.print(“Luas adalah {}”.format(luas))
36
Pemrosesan Bahasa Alami
Pustaka NLTK

Hubungkan ke Internet, buka konsol kemudian ketik:
1.pip install nltk

Hapus kode sebelumnya, ketik kode berikut ini:
1.import nltk
2.nltk.download()

Setelah dijalankan muncul kotak dialog mengunduh korpus, metode, dan lainnya

Pilih tab collection → book → [download]

Selanjutnya ketik kode berikut:
1.from nltk.book import * (run sekali, buat sebagai komentar)
2.print(text1)
37
Pemrosesan Bahasa Alami
Pustaka NLTK (Google Colab)

Buka Google Colab: colab.research.google.com

Ketik kode berikut ini:
1.import nltk
2.nltk.download(“book”)
38
Pemrosesan Bahasa Alami
Pencarian Teks

Hapus kode sebelumnya kemudian ketik kode berikut ini:
1.text1.concordance(“monstrous”) - lihat hasilnya
2.text1.similar(“monstrous”)
3.text2.similar(“monstrous”)
4.text2.common_contexts([“monstrous”,“very”])
5.text3.generate()

39
Analisis hasilnya!
Pemrosesan Bahasa Alami
Pencarian Teks




40
text1.similar("monstrous") akan menghasilkan konteks yang sama yaitu dengan pola
word1 _ word2. Salah satu contoh kata yang sama adalah "doleful".
Contohnya, jika kita jalankan perintah text1.concordance("monstrous") maka salah
satu luarannya adalah kalimat "that has survived the flood; most monstrous and
most mountainous ! That Himmal".
Jika kita jalankan perintah text1.concordance("doleful") maka luarannya adalah
kalimat "ite perspectives . There ' s a most doleful and most mocking funeral ! The
sea".
Selanjutnya, perintah text1.common_contexts(["monstrous", "doleful"]) akan
menghasilkan "most_and" → "most monstrous and", "most doleful and".
Pemrosesan Bahasa Alami
Menghitung Kosa Kata

Hapus kode sebelumnya kemudian ketik kode berikut ini:
1.len(text3)
2.sorted(set(text3))
3.len(set(text3))

Lanjutkan dengan kode berikut ini:
1.len(text3) / len(set(text3)) – lexical diversity

Lanjutkan dengan kode berikut ini:
1.text3.count(“smote”)
2.text4.count(“a”)/len(text4)*100 – persentase kata
41
Pemrosesan Bahasa Alami
Laithan Tambahan

Cari korpus/file teks yang berbahasa Indonesia

Buat/cari kode Python berikut:

Hitung berapa banyak jumlah kata dalam korpus

Urutkan kata berdasarkan frekuensi kata (tinggi ke rendah)

Buat pencarian kata dan tampilkan total kata tersebut dalam korpus


42
Contohnya luaran program:

Masukan Kata
: makan

Hasil pencarian : kata “makan” berjumlah 10 di dalam korpus
Selamat mencoba!
Pemrosesan Bahasa Alami
43
Pemrosesan Bahasa Alami
JANGAN MENUNDA PEKERJAAN!
44
Pemrosesan Bahasa Alami
Download