SlideShare a Scribd company logo
1 of 77
Download to read offline
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 Classification
● News classification
mengelompokkan artikel
berdasarkan topik tertentu.
● Mengelompokkan berdasarkan
judul dan/atau konten berita.
● Pembaca berita mudah memilih
topik yang diminati.
6
NLP?
Email Classification
● Email classification 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 memfilter 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 offside 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 Artificial
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 Classification
Natural Language Understanding (NLU)
Natural Language Generation (NLG)
18
NLP Task Classification (cont.)
sumber: Natural Language Processing: State of The
Art, Current Trends and Challenges 19
NLP Task Classification (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 Classification
● Untuk meng-assign teks ke kategori tertentu.
● Teks sudah dilabeli
● Output kelas.
● Contoh task:
○ News Classification: Sport, Health, Finance, Politics, Technology
○ Hate Speech Detection: Yes, No
○ Plagiarism Detection: Yes, No
○ Hoax News Detection: Yes, No
○ Sentiment Classification: 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 Classification
- 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 (simplifikasi 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 (word’s 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 infinite)
- 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 insignifikan
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 insignifikan
4. Stopwords
● Stopwords: token dengan arti insignifikan
● Contoh: konjungsi, partikel, determiner.
● Tujuan:
- pemrosesan lebih cepat
- kata insignifikan tidak mengganggu pengambilan informasi
65
Text Cleaning Pipeline
4. Stopwords (cont.)
● Kata insignifikan 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 insignifikan artinya.
sumber: Top hundred words zipf law
Text Cleaning Pipeline
5. Lemmatization/Stemming
● Mengubah inflected word menjadi bentuk dasar
● Tujuan: representasi kata inflected 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

Pemrograman non prosedural 1
Pemrograman non prosedural 1Pemrograman non prosedural 1
Pemrograman non prosedural 1leni 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 2ATaufiqul 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 ScienceBayu 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.pdfMuhammadRuslanMaulan
 
Text Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptxText Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptxSitiKhomsah7
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligenceNico Nandika
 
Teknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatifTeknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatifAun 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 negeriAnnisa Sarah
 

Similar to Week 1 Natural Language Processing Introduction (11)

Pemrograman non prosedural 1
Pemrograman non prosedural 1Pemrograman non prosedural 1
Pemrograman non prosedural 1
 
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
 
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
 
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
 
Text Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptxText Preprocessing pemrosesan bahasa alami.pptx
Text Preprocessing pemrosesan bahasa alami.pptx
 
ChatGPT-Nizar.pdf
ChatGPT-Nizar.pdfChatGPT-Nizar.pdf
ChatGPT-Nizar.pdf
 
Seminar design pattern
Seminar design patternSeminar design pattern
Seminar design pattern
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Teknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatifTeknik pengumpulan data penelitian kualitatif
Teknik pengumpulan data penelitian kualitatif
 
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
 
Tips Membuat Skripsi
Tips Membuat SkripsiTips Membuat Skripsi
Tips Membuat Skripsi
 

More from 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-OnSARCCOM
 
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 GeekSARCCOM
 
Fundamental of Machine Learning
Fundamental of Machine LearningFundamental of Machine Learning
Fundamental of Machine LearningSARCCOM
 
Data Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data EcosystemData Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data EcosystemSARCCOM
 
Startup Engineering Culture
Startup Engineering CultureStartup Engineering Culture
Startup Engineering CultureSARCCOM
 
Menggapai Paripurna Rekayasa
Menggapai Paripurna RekayasaMenggapai Paripurna Rekayasa
Menggapai Paripurna RekayasaSARCCOM
 
Requirement Gathering Jump Start
Requirement Gathering Jump StartRequirement Gathering Jump Start
Requirement Gathering Jump StartSARCCOM
 
Legacy code - Taming The Beast
Legacy code  - Taming The BeastLegacy code  - Taming The Beast
Legacy code - Taming The BeastSARCCOM
 
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 CompanySARCCOM
 
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.comSARCCOM
 
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 CultureSARCCOM
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture IntroductionSARCCOM
 
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 skillSARCCOM
 
Telco Business & Technology
Telco Business & TechnologyTelco Business & Technology
Telco Business & TechnologySARCCOM
 
Best Practice In Software Development
Best Practice In Software DevelopmentBest Practice In Software Development
Best Practice In Software DevelopmentSARCCOM
 
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
 

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
 
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
 
The Secret of Most Wanted Geek
The Secret of Most Wanted GeekThe Secret of Most Wanted Geek
The Secret of Most Wanted Geek
 
Fundamental of Machine Learning
Fundamental of Machine LearningFundamental of Machine Learning
Fundamental of Machine Learning
 
Data Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data EcosystemData Warehousing Tools on Data Ecosystem
Data Warehousing Tools on Data Ecosystem
 
Startup Engineering Culture
Startup Engineering CultureStartup Engineering Culture
Startup Engineering Culture
 
Menggapai Paripurna Rekayasa
Menggapai Paripurna RekayasaMenggapai Paripurna Rekayasa
Menggapai Paripurna Rekayasa
 
Requirement Gathering Jump Start
Requirement Gathering Jump StartRequirement Gathering Jump Start
Requirement Gathering Jump Start
 
Legacy code - Taming The Beast
Legacy code  - Taming The BeastLegacy code  - Taming The Beast
Legacy code - Taming The Beast
 
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)
 
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
 
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
 
Implement OpenSAMM on blibli.com
Implement OpenSAMM on blibli.comImplement OpenSAMM on blibli.com
Implement OpenSAMM on blibli.com
 
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
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
 
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
 
Telco Business & Technology
Telco Business & TechnologyTelco Business & Technology
Telco Business & Technology
 
Best Practice In Software Development
Best Practice In Software DevelopmentBest Practice In Software Development
Best Practice In Software Development
 
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
 
Is your code SOLID enough?
 Is your code SOLID enough? Is your code SOLID enough?
Is your code SOLID enough?
 

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 Classification ● News classification mengelompokkan artikel berdasarkan topik tertentu. ● Mengelompokkan berdasarkan judul dan/atau konten berita. ● Pembaca berita mudah memilih topik yang diminati. 6
  • 7. NLP? Email Classification ● Email classification 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 memfilter 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 offside 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 Artificial 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 Classification Natural Language Understanding (NLU) Natural Language Generation (NLG) 18
  • 19. NLP Task Classification (cont.) sumber: Natural Language Processing: State of The Art, Current Trends and Challenges 19
  • 20. NLP Task Classification (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 Classification ● Untuk meng-assign teks ke kategori tertentu. ● Teks sudah dilabeli ● Output kelas. ● Contoh task: ○ News Classification: Sport, Health, Finance, Politics, Technology ○ Hate Speech Detection: Yes, No ○ Plagiarism Detection: Yes, No ○ Hoax News Detection: Yes, No ○ Sentiment Classification: 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 Classification - 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 (simplifikasi 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 (word’s 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 infinite) - 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 insignifikan 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 insignifikan 4. Stopwords ● Stopwords: token dengan arti insignifikan ● Contoh: konjungsi, partikel, determiner. ● Tujuan: - pemrosesan lebih cepat - kata insignifikan tidak mengganggu pengambilan informasi 65
  • 66. Text Cleaning Pipeline 4. Stopwords (cont.) ● Kata insignifikan 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 insignifikan artinya. sumber: Top hundred words zipf law
  • 67. Text Cleaning Pipeline 5. Lemmatization/Stemming ● Mengubah inflected word menjadi bentuk dasar ● Tujuan: representasi kata inflected 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