際際滷

際際滷Share a Scribd company logo
Natural Language
Processing (NLP)
Introduction
Nella Zabrina
NLP Engineer @ Prosa.ai
Outline
1
2
3
What is NLP?
NLP Tasks
Challenges in NLP
4
5
6
Text Processing in
NLP
NLP Toolkit
Question & Answer
2
What is NLP?
NLP?
Machine Translation
Machine translation menerjemahkan teks dari suatu bahasa ke
bahasa lain secara otomatis.
4
NLP?
Keyword Suggestion
Keyword suggestion menyarankan kata
tambahan pada query ketika pencarian.
5
NLP?
News Classi鍖cation
 News classi鍖cation
mengelompokkan artikel
berdasarkan topik tertentu.
 Mengelompokkan berdasarkan
judul dan/atau konten berita.
 Pembaca berita mudah memilih
topik yang diminati.
6
NLP?
Email Classi鍖cation
 Email classi鍖cation mengelompokkan
email ke dalam kategori.
 Pembaca mudah membuka email
dengan kategori yang dibutuhkan.
7
NLP?
Spam Detection
 Spam detection mendeteksi
email spam.
 Email spam: email yang
mengganggu pengguna.
8
NLP?
Rude Word Sensor
 Rude Word Sensor mem鍖lter kata
kasar yang mengganggu pengguna lain.
9
NLP?
Sentiment Analysis
 Sentiment Analysis untuk
mendeteksi sentimen.
 Untuk memonitor opini &
menangkap respon masyarakat
terhadap produk.
10
SENTIMENT NETRAL
Buat yang ingin mendapatkan bantuan kuota internet gratis, silahkan baca blog
post berikut, yaa https://t.co/p7PG1KC6aZ #KuotaGratissmartfren
#SmartfrenCommunity #KuotaNonstop #AntiPutusNyambung Terus
SENTIMENT POSITIF & NEGATIF
Alhamdulillah paket bantuan kuota sudah datang. Tapii, agak aneeh. Kok masa
aktifnya nol hari ini? Jadi harus beli pulsa dulu baru bisa dipake doong, terus
pulsanya abis di akhir bulan gegera o鍖side pake kuota
NLP?
Chatbot
 Chatbot untuk berdialog
antar pengguna dan chat
agent
 NLP pada Chatbot untuk
memahami maksud dialog
dan memberikan respon
11
Chatbot Prosa.ai
NLP?
Autocomplete, Autocorrect, & Spell Checker
Autocorrect Grammar
Autocomplete
Spell Checker
 Autocomplete, autocorrect, &
spell checker sebagai asisten
pengguna saat menulis.
 Memberikan rekomendasi tulisan
yang dapat ditulis oleh pengguna.
12
NLP?
Speech to Text (STT) & Text to Speech (TTS)
Speech to Text Text to Speech
Speech to Text
 STT/Automatic Speech Recognition &
TTS mengkonversi bahasa alami dari
satu bentuk ke bentuk lainnya.
 Tantangan TTS: intonasi, pemenggalan
kata, emosi, dsb
 Tantangan STT: noise, aksen/logat,
suara lebih dari 1 orang, dsb
13
NLP?
Question Answering
 Question Answering
memprediksi jawaban
atas pertanyaan dari
teks.
Sumber: Building a Question-Answering System from Scratch
14
Natural Language Processing
(NLP) is a tract of Arti鍖cial
Intelligence and Linguistics,
devoted to make computers
understand the statements
or words written in human
languages.
- Khurana, Diksha, dkk (2017)[2]
Natural Language Processing
(NLP) as an area of research
and application that explores
how computers can be used
to understand and
manipulate natural
language text or speech to
do useful things.
- Joseph, R. Sethunya, dkk (2016)[1]
sumber: [1] paper 1 & [2] paper 2
2010s
- MT menggunakan NMT
- Amazon Alexa, Siri
2000s
- Google Translate
(statistic-based/SMT)
1990s
- Dragon: software ASR
- Statistical NLP
1980s
- Boneka Julie
- Jabberwacky
1970s
- Riset Speech
Understanding (DARPA)
1960s
- IBM Shoebox
- Eliza
Brief History of NLP
16
1950s
- Teori dasar: automata
- 1st Computer Based TTS
Teori AutomataIBM Shoebox
ELIZA
Julie Doll
Dragon Dictate
Google Translate
Amazon Alexa
NLP Tasks
NLP Task Classi鍖cation
Natural Language Understanding (NLU)
Natural Language Generation (NLG)
18
NLP Task Classi鍖cation (cont.)
sumber: Natural Language Processing: State of The
Art, Current Trends and Challenges 19
NLP Task Classi鍖cation (cont.)
 Natural Language Understanding:
 Phonology: suara
 Morphology: pembentukan kata
 Syntax: struktur kalimat
 Semantic dan pragmatic: arti
 Natural Language Generation untuk menghasilkan natural
language text (frasa, kalimat dan paragraf)
20
Natural Language Understanding (NLU):
Application
21
Syntax Analysis
 menganalisa dan dekomposisi struktur kalimat.
 Contoh syntax analysis task:
a. Tokenizer, Lemmatizer, Stemmer
Tokenizer: memecah kalimat menjadi token/kata
Lemmatizer: menentukan kata dasar dengan mencari lemma word
Stemmer: menentukan kata dasar dengan membuang imbuhan
22
Syntax Analysis (cont.)
a. Tokenizer, Lemmatizer, Stemmer (cont.)
Contoh kalimat:
Dia terkena kutukan karena durhaka pada orang tua.
23
- Tokenizer
Output: [dia, terkena, kutukan, karena, durhaka, pada, orang, tua]
- Lemmatizer
Output: [dia, kena, kutuk, karena, durhaka, pada, orang, tua]
- Stemmer
Output: [dia, kena, kutu, karena, durhaka, pada, orang, tua]
Syntax Analysis (cont.)
b. Part of Speech Tagger (POS Tagger)
 pengkategorian tiap kata ke dalam POS tag
 Salah satu POS: Penn Treebank POS.
Tag Description
NN Noun, singular or
mass
VB Verb, base form
VBD Verb, past tense
RB Adverb
JJ Adjective
Beberapa Contoh Tag
pada Penn Treebank POS
24
Syntax Analysis (cont.)
b. Part of Speech Tagger (POS Tagger) (cont.)
POS Tag untuk:
 mencari kata dasar pada lemmatizer
 mengekstrak tag yang tidak penting (eg. tag conjunction dibuang).
25
Syntax Analysis (cont.)
b. Part of Speech Tagger (POS Tagger) (cont.)
Contoh kalimat:
Adik membeli permen banyak sekali.
Hasil POS Tag:
{Adik  NN, membeli  VB, permen  NN, banyak  JJ}
26
Syntax Analysis (cont.)
c. Constituent Parser & Dependency Parser
 Constituent Parser
untuk menampilkan struktur sintaksis kalimat.
 Dependency Parser
untuk menampilkan hubungan ketergantungan antar kata.
27
28
Sumber: Parsing - NLP 2016 - Michael Elhadad
Syntax Analysis (cont.)
c. Constituent Parser & Dependency Parser (cont.)
Kegunaan:
 Constituent Parser
 memahami grammar dari kalimat
 Mengekstrak frasa pada kalimat
 Dependency Parser
 Ekstraksi kata negasi
 membantu implementasi Question & Answering
 memahami kalimat free word order languages eg. Latin
29
Text Classi鍖cation
 Untuk meng-assign teks ke kategori tertentu.
 Teks sudah dilabeli
 Output kelas.
 Contoh task:
 News Classi鍖cation: Sport, Health, Finance, Politics, Technology
 Hate Speech Detection: Yes, No
 Plagiarism Detection: Yes, No
 Hoax News Detection: Yes, No
 Sentiment Classi鍖cation: Positive, Negative, Neutral
30
Topic Detection
 Untuk mendeteksi topik pada teks
 Contoh topic detection task:
a. Keyword detection
Untuk mendapatkan kata kunci penting
Contoh keyword detection:
Tahun lalu adalah tahun yang mengesankan untukku
karena aku diajak berlibur setiap ada liburan panjang.
Keyword yang didapat:
Tahun lalu, liburan, mengesankan
31
Topic Detection (cont.)
a. Keyword detection (cont.)
sumber: Contoh Teks Berita Singkat
Keyword yang didapat:
Kabut asap,
Palangkaraya, pekat,
kebakaran lahan
gambut, sesak nafas,
jarak pandangan
terbatas
Contoh lain: pencarian keyword pada berita.
32
Topic Detection (cont.)
b. Topic Modelling
 Untuk mendeteksi topik dari sekumpulan teks.
 teks belum dilabeli.
 Salah satu teknik untuk menyelesaikan task ini adalah Latent Dirichlet
Allocation (LDA).
33
Information Extraction
 Untuk mengekstrak informasi dari teks.
 Contoh Information Extraction task:
a. Transformasi informasi yang tidak terstruktur (teks) menjadi
terstruktur
Informasi penting dari teks diekstrak menjadi format terstruktur
(eg. tabel atau json)
34
Information Extraction (cont.)
a. Transformasi informasi yang tidak terstruktur (teks) menjadi terstruktur (cont.)
Contoh informasi
tidak terstruktur:
... ... ... ....
.... ... ... ...
sumber: Pemerintah indonesia
himbau masyarakat berhati
Contoh hasil transformasi menjadi
informasi terstruktur:
35
Information Extraction (cont.)
b. Named Entity Recognizer (NER)
 Untuk mengkategorikan entitas bernama.
 Untuk mendeteksi nama orang, nama tempat, dsb
 Contoh NER:
sumber: Gambar NER
36
Information Extraction (cont.)
b. Named Entity Recognizer (NER) (cont.)
 Contoh pengaplikasian NER:
 Question & Answering
- mencari jawaban relevan.
- Contoh: pertanyaan Kapan? jawabannya NE waktu.
 News Classi鍖cation
- mencari topik paling relevan untuk berita.
- Contoh: NE Lionel Messi pada teks, probabilitas topik paling
tinggi adalah Sports.
37
Information Extraction (cont.)
 Apa yang terjadi (What) ? Banjir
 Siapa yang terlibat (Who)? Warga dan
Siswa Sekolah
 Dimana peristiwa terjadi (Where)?
Rangkasbitung, Lebak Banten
 Kapan terjadi (When)? Sabtu sore
 Kenapa peristiwa tersebut terjadi (Why)?
Karena hujan deras selama 3 hari
 Bagaimana peristiwa terjadi (How)?
hujan deras 3 hari membuat banjir tinggi
sehingga siswa harus menerjang banjir.
sumber: Contoh Teks Berita Singkat
c. Ekstraksi Teks Berita 5W1H
38
Information Extraction (cont.)
d. Quotation Extraction
Mendapatkan informasi kutipan dan penulis/pembicara kutipan.
Contoh kalimat:
Nelson Mandela berkata It always seems impossible until it's done.
Hasil yang didapatkan:
Penulis/pembicara: Nelson Mandela
Kutipan: It always seems impossible until it's done.
39
Natural Language Generation (NLG):
Application
40
Word Normalization
 Normalisasi kalimat tidak standar menjadi standar.
 Bentuk tidak standar seperti:
 kata yang disingkat: km kamu, aq  aku, s7  setuju
 kata tidak baku yang sering dianggap baku: jaman  zaman
 slang word: gokil  gila, bokap  ayah
 Contoh word normalization:
udah mkn blm?  sudah makan belum?
41
Summarization
 Untuk meringkas teks.
 Bentuk summarization:
 1 dokumen menjadi teks ringkas
 Multi dokumen menjadi 1 teks.
1 dokumen menjadi 1 teks Multi dokumen menjadi 1 teks
42
Summarization (cont.)
2 jenis summarization:
a. Ekstraktif
Disusun dari kalimat paling informatif pada teks.
b. Abstraktif
Disusun sesuai semantik dari teks.
Lebih sulit diterapkan dibandingkan ekstraktif.
43
Text Generator
 Membentuk teks berdasarkan input (eg. kata/kalimat singkat).
 Contoh artikel AI generator artikel: https://notrealnews.net/.
 Contoh Teks Generator:
 Mengenerate artikel dari data prakiraan cuaca
 Menggunakan http://ai-writer.com/.
 Input:
Jakarta, Forecast, Light Rain, 23 November 2020
44
Text Generator (cont.)
 Result:
45
Paraphrase
 Untuk mengubah teks menjadi teks lain dengan gaya penulisan berbeda
dengan arti yang sama.
 Contoh parafrase:
 Tulisan formal  informal
 Gaya penulisan perempuan  gaya penulisan laki-laki
 Tulisan ilmiah  tulisan dengan kalimat simpel (simpli鍖kasi kata)
46
Paraphrase (cont.)
 Contoh paraphrase menggunakan http://ai-writer.com/.
 Kalimat dari Wikipedia yang akan diparaphrase:

 Hasil paraphrase:
47
NLU and NLG: Application
48
Machine Translation
 Untuk menerjemahkan teks ke bahasa lain
 Cara membangun Machine Translation:
rule based (RBMT), statistical (SMT), dan neural network (NMT).
 Contoh Machine Translation:
49
Machine Translation (cont.)
50
sumber: Vauquois Triangle
NLU NLG
Vauquois Triangle
Conversational Agent
 Conversational Agent (CA)/Dialogue System
untuk bercakap-cakap antar manusia dan agen
 Contoh: Siri, Cortana, Amazon Alexa
51
Siri
Sumber: Introduction - Siri -
Human Interface Guidelines
Amazon Speaker with Alexa
Sumber: Amazon Amazon Echo
Dot 3rd Gen Anthracite Black -
Smart Speaker Alexa
Conversational Agent (cont.)
Representasi
menerima
sinyal suara
menyampaikan
informasi
memproses
informasi
menyampaikan
informasi
mengutarakan dalam
sinyal suara
sinyal
suara
rangkaian
kata
rangkaian
kata
sinyal
suara
Informasi
Pemrosesan
bahasa
Automatic Speech
Recognition (ASR)
Natural Language
Understanding (NLU)
Natural Language
Generation (NLG)
Speech Synthesis
(TTS)
Dialogue Management
(DM)
Komponen Dialog
Sistem
52
Conversational Agent (cont.)
Komponen Conversational Agent:
 Automatic Speech Recognition/STT: mengkonversi sinyal suara menjadi
teks (rangkaian kata)
 NLU: memahami informasi dari rangkaian kata yang dikatakan speaker
 Dialogue Management: memproses informasi
 NLG: merangkai kata agar agent dapat menyampaikan informasi ke
speaker
 TTS: rangkaian kata (teks) dikonversi menjadi sinyal suara untuk diucapkan
oleh agent
53
Challenges in NLP
- Ambigu (at all levels)
 Lexical (words meaning)
Kemarin dia datang memberi tahu.
 Syntactic
Cahyo mengejar anak itu dengan mobil sedan.
 Semantic
John berlibur dengan istrinya, begitu juga Sam.
Challenges in NLP
55
Challenges in NLP
- Ambigu (at all levels)
 Pragmatic
 Jam berapa sekarang?
artinya bisa 2:
- menanyakan jam (arti sebenarnya)
- menyindir/marah karena orang lain terlambat
 Pak, saya izin untuk kebelakang.
artinya bisa 2:
- ke bagian belakang (arti sebenarnya)
- kamar mandi/toilet
56
Challenges in NLP
- Ambigu
 Multiword expression
Jalan: Tempat lalu lintas orang (kendaraan dsb)
Tikus: hewan pengerat; hama berbulu berekor panjang
Jalan tikus: jalan tembus/jalannya tikus
57
Challenges in NLP
- Bahasa yang berkembang
 Kata baru pada KBBI:
daring, luring, gawai, swafoto, warganet, tetikus,
pramusiwi, pratayang, komedi tunggal, dst
 Slang words
Mantul, baper, mager, galau, woles
 Multi-language
- Oh my God, dia cantik banget
- Nanti nek misale Pak Roni udah nyampe, kamu
kabari aku ya
58
Challenges in NLP
- Bahasa yang kompleks
 Containing hidden variables
contoh: Human knowledge
Pagi == setelah matahari terbit dan sebelum jam 12 siang
 Jumlah kata banyak sekali (seems in鍖nite)
- Banyak kata, arti, dan konteks
- Mungkin ada kata yang tidak pernah ditemui
59
Text Processing in NLP
Why Text Needs to be Processed?
61
semakin panjang teks, kata semakin banyak.
semakin banyak kata yang diproses, proses semakin berat dan lama.
Why Text Needs to be Processed?
 Zipf Law:
jumlah kata berbanding terbalik dengan ranking kemunculan kata.
 Dari n-top words, ternyata mayoritas kata insigni鍖kan
62sumber: Top hundred words zipf law
63
Basic Text Cleaning Pipeline
Raw Text Tokenization
Text Cleaning
POS Tag
Stopwords
Lemmatization/S
temming
Cleaned
Text
Text Cleaning Pipeline
1. Tokenizer
 Memecah kalimat menjadi token/kata
 Sentence Segmentation: Pemenggalan per kalimat
2. Text Cleaning
 Jarang mendapatkan data bersih  perlu dibersihkan
 Cara membersihkan:
menghapus tag HTML, tanda baca, whitespaces, URL, dsb.
 Tujuan: pemrosesan lebih cepat
64
Text Cleaning Pipeline
3. POS Tag
 Pelabelan tiap kata ke dalam POS tag
 Untuk Lemmatization atau membuang tag insigni鍖kan
4. Stopwords
 Stopwords: token dengan arti insigni鍖kan
 Contoh: konjungsi, partikel, determiner.
 Tujuan:
- pemrosesan lebih cepat
- kata insigni鍖kan tidak mengganggu pengambilan informasi
65
Text Cleaning Pipeline
4. Stopwords (cont.)
 Kata insigni鍖kan tidak mengganggu pengambilan informasi maksudnya:
 Merujuk ke gambar Zipf Law
66
 top n kata banyak berisikan stopword
 Jika tidak dibuang, keyword penting
tenggelam
karena ranking atas diduduki oleh
stopword yang insigni鍖kan artinya.
sumber: Top hundred words zipf law
Text Cleaning Pipeline
5. Lemmatization/Stemming
 Mengubah in鍖ected word menjadi bentuk dasar
 Tujuan: representasi kata in鍖ected dan kata dasar tidak dianggap
berbeda
67
After Cleaning Text
 Salah satu cara penyelesaian task dengan machine learning.
 Machine learning hanya menerima tipe numerik
 Teks perlu diubah menjadi tipe numerik
68
Converting Text to Vector
Konversi teks ke vektor: (paling sederhana)
 Bag of Words
- Tiap kata disimpan dalam kantong berbeda
- Nilai yang disimpan dalam kantong: frekuensi kemunculan kata
69
Converting Text to Vector
 Bag of Words (cont.)
Contoh kalimat:
 Review 1: This movie is very scary and long
 Review 2: This movie is not scary and is slow
70
Vektor yang terbentuk:
 Vector Review 1: [1 1 1 1 1 1 1 0 0 0 0]
 Vector Review 2: [1 1 2 0 0 1 1 0 1 0 0]
sumber: BoW Model and TF-IDF For
Creating Feature From Text
Converting Text to Vector
 Bag of Words (cont.)
- Mudah diimplementasi dan dipahami
- Drawback BOW:
 Kalimat baru  vocab bertambah  vektor memanjang
 Hasil sparse matrix yang high computation cost
 Tidak menyimpan informasi grammar/urutan kata
71
NLP Toolkit
NLTK Toolkit
73
NLTK untuk Pemrosesan NLP
seperti Tokenization dan
Sentiment Analysis
Spacy untuk Pemrosesan NLP
seperti syntactic parser, NER,
dan Displacy visualization
Gensim untuk pemrosesan
NLP seperti word2vec
Stanford NLP untuk Pemrosesan
NLP seperti Named Entity
Extraction bahasa Ibrani, Arab, dll
Allen NLP untuk memudahkan
pembangunan model NLP
Flair untuk pemrosesan NLP seperti
pretrained model
NLTK Toolkit
74
Datasaur.ai untuk labeling
data
Sastrawi untuk stemming
Bahasa Indonesia
Prosa.ai menyediakan
berbagai macam API
pemrosesan NLP Bahasa
Indonesia
Prosa.ai API
 API gratis 1.000 call per bulan.
 Dapat diakses di console.prosa.ai
 Banyak API tersedia, ada API khusus NLP & vision.
 API Prosa.ai NLP:
 Syntactic Analyzer
 Word Normalizer
 Named Entities Extractor
 Hate Speech Detector
 dsb
75
Prosa.ai API
 Secret key didapatkan ketika
membuat akun untuk
pemanggilan API.
udah mkn blm?  sudah makan belum?
76
77

More Related Content

Similar to Week 1 Natural Language Processing Introduction (17)

Rpp pak nursal 1
Rpp pak nursal 1Rpp pak nursal 1
Rpp pak nursal 1
mujahidah khilafah (Shintia Minandar)
RENCANA PELAKSANAAN PELAYANAN BIDANG KARIR
RENCANA PELAKSANAAN PELAYANAN BIDANG KARIRRENCANA PELAKSANAAN PELAYANAN BIDANG KARIR
RENCANA PELAKSANAAN PELAYANAN BIDANG KARIR
dihastinee
Rpp pak gendut2
Rpp pak gendut2Rpp pak gendut2
Rpp pak gendut2
dihastinee
Teknik Analisis Data Kualitatif Penelitian
Teknik Analisis Data Kualitatif PenelitianTeknik Analisis Data Kualitatif Penelitian
Teknik Analisis Data Kualitatif Penelitian
wongdeso16
Pemrograman non prosedural 1
Pemrograman non prosedural 1Pemrograman non prosedural 1
Pemrograman non prosedural 1
leni fitriani
Karya ilmiah remaja (part 2) new 2
Karya ilmiah remaja (part 2)   new 2Karya ilmiah remaja (part 2)   new 2
Karya ilmiah remaja (part 2) new 2
ATaufiqul Hafizh
Panduan untuk Memulai Karir di Data Science
Panduan untuk Memulai Karir di Data SciencePanduan untuk Memulai Karir di Data Science
Panduan untuk Memulai Karir di Data Science
Bayu Aldi Yansyah
P4 - Introduction to Machine Learning id.pdf
P4 - Introduction to Machine Learning id.pdfP4 - Introduction to Machine Learning id.pdf
P4 - Introduction to Machine Learning id.pdf
MuhammadRuslanMaulan
1- Intro Natural Language Processing.pptx
1- Intro Natural Language Processing.pptx1- Intro Natural Language Processing.pptx
1- Intro Natural Language Processing.pptx
MuhammadDjusrilAlmaa
Text Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptxText Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptx
SitiKhomsah7
ChatGPT-Nizar.pdf
ChatGPT-Nizar.pdfChatGPT-Nizar.pdf
ChatGPT-Nizar.pdf
AchmadNizarHidayanto
Write training licture for new future in the other be succeshusni-menulis-buk...
Write training licture for new future in the other be succeshusni-menulis-buk...Write training licture for new future in the other be succeshusni-menulis-buk...
Write training licture for new future in the other be succeshusni-menulis-buk...
AbdulMajidToyyibi
Seminar design pattern
Seminar design patternSeminar design pattern
Seminar design pattern
Gunadarma University
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
Nico Nandika
Teknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatifTeknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatif
Aun Falestien Faletehan
Diskusi seputar beasiswa dan studi ke luar negeri
Diskusi seputar beasiswa dan studi ke luar negeriDiskusi seputar beasiswa dan studi ke luar negeri
Diskusi seputar beasiswa dan studi ke luar negeri
Annisa Sarah
Tips Membuat Skripsi
Tips Membuat SkripsiTips Membuat Skripsi
Tips Membuat Skripsi
rizkoargibudiaji
RENCANA PELAKSANAAN PELAYANAN BIDANG KARIR
RENCANA PELAKSANAAN PELAYANAN BIDANG KARIRRENCANA PELAKSANAAN PELAYANAN BIDANG KARIR
RENCANA PELAKSANAAN PELAYANAN BIDANG KARIR
dihastinee
Rpp pak gendut2
Rpp pak gendut2Rpp pak gendut2
Rpp pak gendut2
dihastinee
Teknik Analisis Data Kualitatif Penelitian
Teknik Analisis Data Kualitatif PenelitianTeknik Analisis Data Kualitatif Penelitian
Teknik Analisis Data Kualitatif Penelitian
wongdeso16
Pemrograman non prosedural 1
Pemrograman non prosedural 1Pemrograman non prosedural 1
Pemrograman non prosedural 1
leni fitriani
Karya ilmiah remaja (part 2) new 2
Karya ilmiah remaja (part 2)   new 2Karya ilmiah remaja (part 2)   new 2
Karya ilmiah remaja (part 2) new 2
ATaufiqul Hafizh
Panduan untuk Memulai Karir di Data Science
Panduan untuk Memulai Karir di Data SciencePanduan untuk Memulai Karir di Data Science
Panduan untuk Memulai Karir di Data Science
Bayu Aldi Yansyah
P4 - Introduction to Machine Learning id.pdf
P4 - Introduction to Machine Learning id.pdfP4 - Introduction to Machine Learning id.pdf
P4 - Introduction to Machine Learning id.pdf
MuhammadRuslanMaulan
1- Intro Natural Language Processing.pptx
1- Intro Natural Language Processing.pptx1- Intro Natural Language Processing.pptx
1- Intro Natural Language Processing.pptx
MuhammadDjusrilAlmaa
Text Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptxText Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptx
SitiKhomsah7
Write training licture for new future in the other be succeshusni-menulis-buk...
Write training licture for new future in the other be succeshusni-menulis-buk...Write training licture for new future in the other be succeshusni-menulis-buk...
Write training licture for new future in the other be succeshusni-menulis-buk...
AbdulMajidToyyibi
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
Nico Nandika
Teknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatifTeknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatif
Aun Falestien Faletehan
Diskusi seputar beasiswa dan studi ke luar negeri
Diskusi seputar beasiswa dan studi ke luar negeriDiskusi seputar beasiswa dan studi ke luar negeri
Diskusi seputar beasiswa dan studi ke luar negeri
Annisa Sarah

More from SARCCOM (20)

Week 3 Deep Learning And POS Tagging Hands-On
Week 3 Deep Learning And POS Tagging Hands-OnWeek 3 Deep Learning And POS Tagging Hands-On
Week 3 Deep Learning And POS Tagging Hands-On
SARCCOM
Week 2 Sentiment Analysis Using Machine Learning
Week 2 Sentiment Analysis Using Machine Learning Week 2 Sentiment Analysis Using Machine Learning
Week 2 Sentiment Analysis Using Machine Learning
SARCCOM
The Secret of Most Wanted Geek
The Secret of Most Wanted GeekThe Secret of Most Wanted Geek
The Secret of Most Wanted Geek
SARCCOM
Fundamental of Machine Learning
Fundamental of Machine LearningFundamental of Machine Learning
Fundamental of Machine Learning
SARCCOM
Data Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data EcosystemData Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data Ecosystem
SARCCOM
Startup Engineering Culture
Startup Engineering CultureStartup Engineering Culture
Startup Engineering Culture
SARCCOM
Menggapai Paripurna Rekayasa
Menggapai Paripurna RekayasaMenggapai Paripurna Rekayasa
Menggapai Paripurna Rekayasa
SARCCOM
Requirement Gathering Jump Start
Requirement Gathering Jump StartRequirement Gathering Jump Start
Requirement Gathering Jump Start
SARCCOM
Legacy code - Taming The Beast
Legacy code  - Taming The BeastLegacy code  - Taming The Beast
Legacy code - Taming The Beast
SARCCOM
The Role of IT Architect in Enterprise Company (Garuda Indonesia)
The Role of IT Architect in Enterprise Company (Garuda Indonesia)The Role of IT Architect in Enterprise Company (Garuda Indonesia)
The Role of IT Architect in Enterprise Company (Garuda Indonesia)
SARCCOM
The Role of IT Architect in Startup Company
The Role of IT Architect in Startup CompanyThe Role of IT Architect in Startup Company
The Role of IT Architect in Startup Company
SARCCOM
Blibli Web Application Security Policy Enforcement Point
Blibli Web Application Security Policy Enforcement Point Blibli Web Application Security Policy Enforcement Point
Blibli Web Application Security Policy Enforcement Point
SARCCOM
Implement OpenSAMM on blibli.com
Implement OpenSAMM on blibli.comImplement OpenSAMM on blibli.com
Implement OpenSAMM on blibli.com
SARCCOM
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
SARCCOM
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
SARCCOM
Software Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skillSoftware Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skill
SARCCOM
Telco Business & Technology
Telco Business & TechnologyTelco Business & Technology
Telco Business & Technology
SARCCOM
Best Practice In Software Development
Best Practice In Software DevelopmentBest Practice In Software Development
Best Practice In Software Development
SARCCOM
The Evolution of Software for a Startup
The Evolution of Software for a Startup The Evolution of Software for a Startup
The Evolution of Software for a Startup
SARCCOM
Is your code SOLID enough?
 Is your code SOLID enough? Is your code SOLID enough?
Is your code SOLID enough?
SARCCOM
Week 3 Deep Learning And POS Tagging Hands-On
Week 3 Deep Learning And POS Tagging Hands-OnWeek 3 Deep Learning And POS Tagging Hands-On
Week 3 Deep Learning And POS Tagging Hands-On
SARCCOM
Week 2 Sentiment Analysis Using Machine Learning
Week 2 Sentiment Analysis Using Machine Learning Week 2 Sentiment Analysis Using Machine Learning
Week 2 Sentiment Analysis Using Machine Learning
SARCCOM
The Secret of Most Wanted Geek
The Secret of Most Wanted GeekThe Secret of Most Wanted Geek
The Secret of Most Wanted Geek
SARCCOM
Fundamental of Machine Learning
Fundamental of Machine LearningFundamental of Machine Learning
Fundamental of Machine Learning
SARCCOM
Data Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data EcosystemData Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data Ecosystem
SARCCOM
Startup Engineering Culture
Startup Engineering CultureStartup Engineering Culture
Startup Engineering Culture
SARCCOM
Menggapai Paripurna Rekayasa
Menggapai Paripurna RekayasaMenggapai Paripurna Rekayasa
Menggapai Paripurna Rekayasa
SARCCOM
Requirement Gathering Jump Start
Requirement Gathering Jump StartRequirement Gathering Jump Start
Requirement Gathering Jump Start
SARCCOM
Legacy code - Taming The Beast
Legacy code  - Taming The BeastLegacy code  - Taming The Beast
Legacy code - Taming The Beast
SARCCOM
The Role of IT Architect in Enterprise Company (Garuda Indonesia)
The Role of IT Architect in Enterprise Company (Garuda Indonesia)The Role of IT Architect in Enterprise Company (Garuda Indonesia)
The Role of IT Architect in Enterprise Company (Garuda Indonesia)
SARCCOM
The Role of IT Architect in Startup Company
The Role of IT Architect in Startup CompanyThe Role of IT Architect in Startup Company
The Role of IT Architect in Startup Company
SARCCOM
Blibli Web Application Security Policy Enforcement Point
Blibli Web Application Security Policy Enforcement Point Blibli Web Application Security Policy Enforcement Point
Blibli Web Application Security Policy Enforcement Point
SARCCOM
Implement OpenSAMM on blibli.com
Implement OpenSAMM on blibli.comImplement OpenSAMM on blibli.com
Implement OpenSAMM on blibli.com
SARCCOM
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
SARCCOM
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
SARCCOM
Software Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skillSoftware Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skill
SARCCOM
Telco Business & Technology
Telco Business & TechnologyTelco Business & Technology
Telco Business & Technology
SARCCOM
Best Practice In Software Development
Best Practice In Software DevelopmentBest Practice In Software Development
Best Practice In Software Development
SARCCOM
The Evolution of Software for a Startup
The Evolution of Software for a Startup The Evolution of Software for a Startup
The Evolution of Software for a Startup
SARCCOM
Is your code SOLID enough?
 Is your code SOLID enough? Is your code SOLID enough?
Is your code SOLID enough?
SARCCOM

Week 1 Natural Language Processing Introduction

  • 2. Outline 1 2 3 What is NLP? NLP Tasks Challenges in NLP 4 5 6 Text Processing in NLP NLP Toolkit Question & Answer 2
  • 4. NLP? Machine Translation Machine translation menerjemahkan teks dari suatu bahasa ke bahasa lain secara otomatis. 4
  • 5. NLP? Keyword Suggestion Keyword suggestion menyarankan kata tambahan pada query ketika pencarian. 5
  • 6. NLP? News Classi鍖cation News classi鍖cation mengelompokkan artikel berdasarkan topik tertentu. Mengelompokkan berdasarkan judul dan/atau konten berita. Pembaca berita mudah memilih topik yang diminati. 6
  • 7. NLP? Email Classi鍖cation Email classi鍖cation mengelompokkan email ke dalam kategori. Pembaca mudah membuka email dengan kategori yang dibutuhkan. 7
  • 8. NLP? Spam Detection Spam detection mendeteksi email spam. Email spam: email yang mengganggu pengguna. 8
  • 9. NLP? Rude Word Sensor Rude Word Sensor mem鍖lter kata kasar yang mengganggu pengguna lain. 9
  • 10. NLP? Sentiment Analysis Sentiment Analysis untuk mendeteksi sentimen. Untuk memonitor opini & menangkap respon masyarakat terhadap produk. 10 SENTIMENT NETRAL Buat yang ingin mendapatkan bantuan kuota internet gratis, silahkan baca blog post berikut, yaa https://t.co/p7PG1KC6aZ #KuotaGratissmartfren #SmartfrenCommunity #KuotaNonstop #AntiPutusNyambung Terus SENTIMENT POSITIF & NEGATIF Alhamdulillah paket bantuan kuota sudah datang. Tapii, agak aneeh. Kok masa aktifnya nol hari ini? Jadi harus beli pulsa dulu baru bisa dipake doong, terus pulsanya abis di akhir bulan gegera o鍖side pake kuota
  • 11. NLP? Chatbot Chatbot untuk berdialog antar pengguna dan chat agent NLP pada Chatbot untuk memahami maksud dialog dan memberikan respon 11 Chatbot Prosa.ai
  • 12. NLP? Autocomplete, Autocorrect, & Spell Checker Autocorrect Grammar Autocomplete Spell Checker Autocomplete, autocorrect, & spell checker sebagai asisten pengguna saat menulis. Memberikan rekomendasi tulisan yang dapat ditulis oleh pengguna. 12
  • 13. NLP? Speech to Text (STT) & Text to Speech (TTS) Speech to Text Text to Speech Speech to Text STT/Automatic Speech Recognition & TTS mengkonversi bahasa alami dari satu bentuk ke bentuk lainnya. Tantangan TTS: intonasi, pemenggalan kata, emosi, dsb Tantangan STT: noise, aksen/logat, suara lebih dari 1 orang, dsb 13
  • 14. NLP? Question Answering Question Answering memprediksi jawaban atas pertanyaan dari teks. Sumber: Building a Question-Answering System from Scratch 14
  • 15. Natural Language Processing (NLP) is a tract of Arti鍖cial Intelligence and Linguistics, devoted to make computers understand the statements or words written in human languages. - Khurana, Diksha, dkk (2017)[2] Natural Language Processing (NLP) as an area of research and application that explores how computers can be used to understand and manipulate natural language text or speech to do useful things. - Joseph, R. Sethunya, dkk (2016)[1] sumber: [1] paper 1 & [2] paper 2
  • 16. 2010s - MT menggunakan NMT - Amazon Alexa, Siri 2000s - Google Translate (statistic-based/SMT) 1990s - Dragon: software ASR - Statistical NLP 1980s - Boneka Julie - Jabberwacky 1970s - Riset Speech Understanding (DARPA) 1960s - IBM Shoebox - Eliza Brief History of NLP 16 1950s - Teori dasar: automata - 1st Computer Based TTS Teori AutomataIBM Shoebox ELIZA Julie Doll Dragon Dictate Google Translate Amazon Alexa
  • 18. NLP Task Classi鍖cation Natural Language Understanding (NLU) Natural Language Generation (NLG) 18
  • 19. NLP Task Classi鍖cation (cont.) sumber: Natural Language Processing: State of The Art, Current Trends and Challenges 19
  • 20. NLP Task Classi鍖cation (cont.) Natural Language Understanding: Phonology: suara Morphology: pembentukan kata Syntax: struktur kalimat Semantic dan pragmatic: arti Natural Language Generation untuk menghasilkan natural language text (frasa, kalimat dan paragraf) 20
  • 21. Natural Language Understanding (NLU): Application 21
  • 22. Syntax Analysis menganalisa dan dekomposisi struktur kalimat. Contoh syntax analysis task: a. Tokenizer, Lemmatizer, Stemmer Tokenizer: memecah kalimat menjadi token/kata Lemmatizer: menentukan kata dasar dengan mencari lemma word Stemmer: menentukan kata dasar dengan membuang imbuhan 22
  • 23. Syntax Analysis (cont.) a. Tokenizer, Lemmatizer, Stemmer (cont.) Contoh kalimat: Dia terkena kutukan karena durhaka pada orang tua. 23 - Tokenizer Output: [dia, terkena, kutukan, karena, durhaka, pada, orang, tua] - Lemmatizer Output: [dia, kena, kutuk, karena, durhaka, pada, orang, tua] - Stemmer Output: [dia, kena, kutu, karena, durhaka, pada, orang, tua]
  • 24. Syntax Analysis (cont.) b. Part of Speech Tagger (POS Tagger) pengkategorian tiap kata ke dalam POS tag Salah satu POS: Penn Treebank POS. Tag Description NN Noun, singular or mass VB Verb, base form VBD Verb, past tense RB Adverb JJ Adjective Beberapa Contoh Tag pada Penn Treebank POS 24
  • 25. Syntax Analysis (cont.) b. Part of Speech Tagger (POS Tagger) (cont.) POS Tag untuk: mencari kata dasar pada lemmatizer mengekstrak tag yang tidak penting (eg. tag conjunction dibuang). 25
  • 26. Syntax Analysis (cont.) b. Part of Speech Tagger (POS Tagger) (cont.) Contoh kalimat: Adik membeli permen banyak sekali. Hasil POS Tag: {Adik NN, membeli VB, permen NN, banyak JJ} 26
  • 27. Syntax Analysis (cont.) c. Constituent Parser & Dependency Parser Constituent Parser untuk menampilkan struktur sintaksis kalimat. Dependency Parser untuk menampilkan hubungan ketergantungan antar kata. 27
  • 28. 28 Sumber: Parsing - NLP 2016 - Michael Elhadad
  • 29. Syntax Analysis (cont.) c. Constituent Parser & Dependency Parser (cont.) Kegunaan: Constituent Parser memahami grammar dari kalimat Mengekstrak frasa pada kalimat Dependency Parser Ekstraksi kata negasi membantu implementasi Question & Answering memahami kalimat free word order languages eg. Latin 29
  • 30. Text Classi鍖cation Untuk meng-assign teks ke kategori tertentu. Teks sudah dilabeli Output kelas. Contoh task: News Classi鍖cation: Sport, Health, Finance, Politics, Technology Hate Speech Detection: Yes, No Plagiarism Detection: Yes, No Hoax News Detection: Yes, No Sentiment Classi鍖cation: Positive, Negative, Neutral 30
  • 31. Topic Detection Untuk mendeteksi topik pada teks Contoh topic detection task: a. Keyword detection Untuk mendapatkan kata kunci penting Contoh keyword detection: Tahun lalu adalah tahun yang mengesankan untukku karena aku diajak berlibur setiap ada liburan panjang. Keyword yang didapat: Tahun lalu, liburan, mengesankan 31
  • 32. Topic Detection (cont.) a. Keyword detection (cont.) sumber: Contoh Teks Berita Singkat Keyword yang didapat: Kabut asap, Palangkaraya, pekat, kebakaran lahan gambut, sesak nafas, jarak pandangan terbatas Contoh lain: pencarian keyword pada berita. 32
  • 33. Topic Detection (cont.) b. Topic Modelling Untuk mendeteksi topik dari sekumpulan teks. teks belum dilabeli. Salah satu teknik untuk menyelesaikan task ini adalah Latent Dirichlet Allocation (LDA). 33
  • 34. Information Extraction Untuk mengekstrak informasi dari teks. Contoh Information Extraction task: a. Transformasi informasi yang tidak terstruktur (teks) menjadi terstruktur Informasi penting dari teks diekstrak menjadi format terstruktur (eg. tabel atau json) 34
  • 35. Information Extraction (cont.) a. Transformasi informasi yang tidak terstruktur (teks) menjadi terstruktur (cont.) Contoh informasi tidak terstruktur: ... ... ... .... .... ... ... ... sumber: Pemerintah indonesia himbau masyarakat berhati Contoh hasil transformasi menjadi informasi terstruktur: 35
  • 36. Information Extraction (cont.) b. Named Entity Recognizer (NER) Untuk mengkategorikan entitas bernama. Untuk mendeteksi nama orang, nama tempat, dsb Contoh NER: sumber: Gambar NER 36
  • 37. Information Extraction (cont.) b. Named Entity Recognizer (NER) (cont.) Contoh pengaplikasian NER: Question & Answering - mencari jawaban relevan. - Contoh: pertanyaan Kapan? jawabannya NE waktu. News Classi鍖cation - mencari topik paling relevan untuk berita. - Contoh: NE Lionel Messi pada teks, probabilitas topik paling tinggi adalah Sports. 37
  • 38. Information Extraction (cont.) Apa yang terjadi (What) ? Banjir Siapa yang terlibat (Who)? Warga dan Siswa Sekolah Dimana peristiwa terjadi (Where)? Rangkasbitung, Lebak Banten Kapan terjadi (When)? Sabtu sore Kenapa peristiwa tersebut terjadi (Why)? Karena hujan deras selama 3 hari Bagaimana peristiwa terjadi (How)? hujan deras 3 hari membuat banjir tinggi sehingga siswa harus menerjang banjir. sumber: Contoh Teks Berita Singkat c. Ekstraksi Teks Berita 5W1H 38
  • 39. Information Extraction (cont.) d. Quotation Extraction Mendapatkan informasi kutipan dan penulis/pembicara kutipan. Contoh kalimat: Nelson Mandela berkata It always seems impossible until it's done. Hasil yang didapatkan: Penulis/pembicara: Nelson Mandela Kutipan: It always seems impossible until it's done. 39
  • 40. Natural Language Generation (NLG): Application 40
  • 41. Word Normalization Normalisasi kalimat tidak standar menjadi standar. Bentuk tidak standar seperti: kata yang disingkat: km kamu, aq aku, s7 setuju kata tidak baku yang sering dianggap baku: jaman zaman slang word: gokil gila, bokap ayah Contoh word normalization: udah mkn blm? sudah makan belum? 41
  • 42. Summarization Untuk meringkas teks. Bentuk summarization: 1 dokumen menjadi teks ringkas Multi dokumen menjadi 1 teks. 1 dokumen menjadi 1 teks Multi dokumen menjadi 1 teks 42
  • 43. Summarization (cont.) 2 jenis summarization: a. Ekstraktif Disusun dari kalimat paling informatif pada teks. b. Abstraktif Disusun sesuai semantik dari teks. Lebih sulit diterapkan dibandingkan ekstraktif. 43
  • 44. Text Generator Membentuk teks berdasarkan input (eg. kata/kalimat singkat). Contoh artikel AI generator artikel: https://notrealnews.net/. Contoh Teks Generator: Mengenerate artikel dari data prakiraan cuaca Menggunakan http://ai-writer.com/. Input: Jakarta, Forecast, Light Rain, 23 November 2020 44
  • 46. Paraphrase Untuk mengubah teks menjadi teks lain dengan gaya penulisan berbeda dengan arti yang sama. Contoh parafrase: Tulisan formal informal Gaya penulisan perempuan gaya penulisan laki-laki Tulisan ilmiah tulisan dengan kalimat simpel (simpli鍖kasi kata) 46
  • 47. Paraphrase (cont.) Contoh paraphrase menggunakan http://ai-writer.com/. Kalimat dari Wikipedia yang akan diparaphrase: Hasil paraphrase: 47
  • 48. NLU and NLG: Application 48
  • 49. Machine Translation Untuk menerjemahkan teks ke bahasa lain Cara membangun Machine Translation: rule based (RBMT), statistical (SMT), dan neural network (NMT). Contoh Machine Translation: 49
  • 50. Machine Translation (cont.) 50 sumber: Vauquois Triangle NLU NLG Vauquois Triangle
  • 51. Conversational Agent Conversational Agent (CA)/Dialogue System untuk bercakap-cakap antar manusia dan agen Contoh: Siri, Cortana, Amazon Alexa 51 Siri Sumber: Introduction - Siri - Human Interface Guidelines Amazon Speaker with Alexa Sumber: Amazon Amazon Echo Dot 3rd Gen Anthracite Black - Smart Speaker Alexa
  • 52. Conversational Agent (cont.) Representasi menerima sinyal suara menyampaikan informasi memproses informasi menyampaikan informasi mengutarakan dalam sinyal suara sinyal suara rangkaian kata rangkaian kata sinyal suara Informasi Pemrosesan bahasa Automatic Speech Recognition (ASR) Natural Language Understanding (NLU) Natural Language Generation (NLG) Speech Synthesis (TTS) Dialogue Management (DM) Komponen Dialog Sistem 52
  • 53. Conversational Agent (cont.) Komponen Conversational Agent: Automatic Speech Recognition/STT: mengkonversi sinyal suara menjadi teks (rangkaian kata) NLU: memahami informasi dari rangkaian kata yang dikatakan speaker Dialogue Management: memproses informasi NLG: merangkai kata agar agent dapat menyampaikan informasi ke speaker TTS: rangkaian kata (teks) dikonversi menjadi sinyal suara untuk diucapkan oleh agent 53
  • 55. - Ambigu (at all levels) Lexical (words meaning) Kemarin dia datang memberi tahu. Syntactic Cahyo mengejar anak itu dengan mobil sedan. Semantic John berlibur dengan istrinya, begitu juga Sam. Challenges in NLP 55
  • 56. Challenges in NLP - Ambigu (at all levels) Pragmatic Jam berapa sekarang? artinya bisa 2: - menanyakan jam (arti sebenarnya) - menyindir/marah karena orang lain terlambat Pak, saya izin untuk kebelakang. artinya bisa 2: - ke bagian belakang (arti sebenarnya) - kamar mandi/toilet 56
  • 57. Challenges in NLP - Ambigu Multiword expression Jalan: Tempat lalu lintas orang (kendaraan dsb) Tikus: hewan pengerat; hama berbulu berekor panjang Jalan tikus: jalan tembus/jalannya tikus 57
  • 58. Challenges in NLP - Bahasa yang berkembang Kata baru pada KBBI: daring, luring, gawai, swafoto, warganet, tetikus, pramusiwi, pratayang, komedi tunggal, dst Slang words Mantul, baper, mager, galau, woles Multi-language - Oh my God, dia cantik banget - Nanti nek misale Pak Roni udah nyampe, kamu kabari aku ya 58
  • 59. Challenges in NLP - Bahasa yang kompleks Containing hidden variables contoh: Human knowledge Pagi == setelah matahari terbit dan sebelum jam 12 siang Jumlah kata banyak sekali (seems in鍖nite) - Banyak kata, arti, dan konteks - Mungkin ada kata yang tidak pernah ditemui 59
  • 61. Why Text Needs to be Processed? 61 semakin panjang teks, kata semakin banyak. semakin banyak kata yang diproses, proses semakin berat dan lama.
  • 62. Why Text Needs to be Processed? Zipf Law: jumlah kata berbanding terbalik dengan ranking kemunculan kata. Dari n-top words, ternyata mayoritas kata insigni鍖kan 62sumber: Top hundred words zipf law
  • 63. 63 Basic Text Cleaning Pipeline Raw Text Tokenization Text Cleaning POS Tag Stopwords Lemmatization/S temming Cleaned Text
  • 64. Text Cleaning Pipeline 1. Tokenizer Memecah kalimat menjadi token/kata Sentence Segmentation: Pemenggalan per kalimat 2. Text Cleaning Jarang mendapatkan data bersih perlu dibersihkan Cara membersihkan: menghapus tag HTML, tanda baca, whitespaces, URL, dsb. Tujuan: pemrosesan lebih cepat 64
  • 65. Text Cleaning Pipeline 3. POS Tag Pelabelan tiap kata ke dalam POS tag Untuk Lemmatization atau membuang tag insigni鍖kan 4. Stopwords Stopwords: token dengan arti insigni鍖kan Contoh: konjungsi, partikel, determiner. Tujuan: - pemrosesan lebih cepat - kata insigni鍖kan tidak mengganggu pengambilan informasi 65
  • 66. Text Cleaning Pipeline 4. Stopwords (cont.) Kata insigni鍖kan tidak mengganggu pengambilan informasi maksudnya: Merujuk ke gambar Zipf Law 66 top n kata banyak berisikan stopword Jika tidak dibuang, keyword penting tenggelam karena ranking atas diduduki oleh stopword yang insigni鍖kan artinya. sumber: Top hundred words zipf law
  • 67. Text Cleaning Pipeline 5. Lemmatization/Stemming Mengubah in鍖ected word menjadi bentuk dasar Tujuan: representasi kata in鍖ected dan kata dasar tidak dianggap berbeda 67
  • 68. After Cleaning Text Salah satu cara penyelesaian task dengan machine learning. Machine learning hanya menerima tipe numerik Teks perlu diubah menjadi tipe numerik 68
  • 69. Converting Text to Vector Konversi teks ke vektor: (paling sederhana) Bag of Words - Tiap kata disimpan dalam kantong berbeda - Nilai yang disimpan dalam kantong: frekuensi kemunculan kata 69
  • 70. Converting Text to Vector Bag of Words (cont.) Contoh kalimat: Review 1: This movie is very scary and long Review 2: This movie is not scary and is slow 70 Vektor yang terbentuk: Vector Review 1: [1 1 1 1 1 1 1 0 0 0 0] Vector Review 2: [1 1 2 0 0 1 1 0 1 0 0] sumber: BoW Model and TF-IDF For Creating Feature From Text
  • 71. Converting Text to Vector Bag of Words (cont.) - Mudah diimplementasi dan dipahami - Drawback BOW: Kalimat baru vocab bertambah vektor memanjang Hasil sparse matrix yang high computation cost Tidak menyimpan informasi grammar/urutan kata 71
  • 73. NLTK Toolkit 73 NLTK untuk Pemrosesan NLP seperti Tokenization dan Sentiment Analysis Spacy untuk Pemrosesan NLP seperti syntactic parser, NER, dan Displacy visualization Gensim untuk pemrosesan NLP seperti word2vec Stanford NLP untuk Pemrosesan NLP seperti Named Entity Extraction bahasa Ibrani, Arab, dll Allen NLP untuk memudahkan pembangunan model NLP Flair untuk pemrosesan NLP seperti pretrained model
  • 74. NLTK Toolkit 74 Datasaur.ai untuk labeling data Sastrawi untuk stemming Bahasa Indonesia Prosa.ai menyediakan berbagai macam API pemrosesan NLP Bahasa Indonesia
  • 75. Prosa.ai API API gratis 1.000 call per bulan. Dapat diakses di console.prosa.ai Banyak API tersedia, ada API khusus NLP & vision. API Prosa.ai NLP: Syntactic Analyzer Word Normalizer Named Entities Extractor Hate Speech Detector dsb 75
  • 76. Prosa.ai API Secret key didapatkan ketika membuat akun untuk pemanggilan API. udah mkn blm? sudah makan belum? 76
  • 77. 77