Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Natural Language Processing

Introduction to Natural Language Processing

Pengenalan pemrosesan bahasa alami dan tugas-tugas yang termasuk ke dalamnya

Ali Akbar S.

August 27, 2019
Tweet

More Decks by Ali Akbar S.

Other Decks in Education

Transcript

  1. Apa Itu NLP? Salah satu ilmu multidisiplin yang berfokus pada

    interaksi manusia dan komputer melalui bahasa alami manusia. Beberapa hal yang dibahas di dalamnya antara lain: • Part-of-Speech (POS) tagging • Parsing • Stemming • Machine translation • Named entity recognition (NER) • Question answering • Sentiment analysis • Automatic summarisation • Speech recognition • Text-to-speech 3 of 38
  2. Kategori Tugas-tugas NLP • Syntax ◦ Part-of-Speech (POS) tagging ◦

    Parsing ◦ Stemming • Semantics ◦ Machine translation ◦ Named entity recognition (NER) ◦ Question answering ◦ Sentiment analysis • Discourse ◦ Automatic summarisation • Speech ◦ Speech recognition ◦ Text-to-speech 4 of 38
  3. Computational Linguistics • NLP juga dikenal dengan nama computational linguistics,

    karena mencoba merepresentasikan makna dari kata, frasa, kalimat, dan dokumen melalui distribusinya 15 of 38
  4. Computational Linguistics • NLP juga dikenal dengan nama computational linguistics,

    karena mencoba merepresentasikan makna dari kata, frasa, kalimat, dan dokumen melalui distribusinya • Distribusi tersebut direpresentasikan dalam vektor konteks 15 of 38
  5. Computational Linguistics • NLP juga dikenal dengan nama computational linguistics,

    karena mencoba merepresentasikan makna dari kata, frasa, kalimat, dan dokumen melalui distribusinya • Distribusi tersebut direpresentasikan dalam vektor konteks • “Dalam suatu dokumen, kata apa saja yang muncul bersamaan?” 15 of 38
  6. Computational Linguistics • NLP juga dikenal dengan nama computational linguistics,

    karena mencoba merepresentasikan makna dari kata, frasa, kalimat, dan dokumen melalui distribusinya • Distribusi tersebut direpresentasikan dalam vektor konteks • “Dalam suatu dokumen, kata apa saja yang muncul bersamaan?” • Begitu pula di level semantik → Bag-of-Words (BoW) model 15 of 38
  7. Computational Linguistics • NLP juga dikenal dengan nama computational linguistics,

    karena mencoba merepresentasikan makna dari kata, frasa, kalimat, dan dokumen melalui distribusinya • Distribusi tersebut direpresentasikan dalam vektor konteks • “Dalam suatu dokumen, kata apa saja yang muncul bersamaan?” • Begitu pula di level semantik → Bag-of-Words (BoW) model • Bahkan, bisa sampai ke level karakter! 15 of 38
  8. Bag-of-Words Dalam representasi ini, urutan atau letak dari kata tersebut

    tidak relevan D1 “send us your password” D2 “send us your review” D3 “review your password” D4 “review us” D5 “send your password” D6 “send us your account” 16 of 38
  9. Binary Bag-of-Words Dalam representasi ini, urutan atau letak dari kata

    tersebut tidak relevan dokumen account password review send us your D1 0 1 0 1 1 1 D2 0 0 1 1 1 1 D3 0 1 1 0 0 1 D4 0 0 1 0 1 0 D5 0 1 0 1 0 1 D6 1 0 0 1 1 1 17 of 38
  10. Isu • Matriksnya jarang • Tidak ada informasi urutan •

    Ada kata-kata yang sangat sering muncul 19 of 38
  11. TF-IDF wt,d = (1 + log(tft,d )) log( N dft

    ) • tft,d ... frekuensi kata t dalam dokumen d, N ... jumlah dokumen, dft ... jumlah dokumen yang mempunyai kata t • Kata yang sering muncul mungkin tidak penting, e.g. kata hubung • Kata yang langka akan bernilai lebih – lihat posisi dft! 20 of 38
  12. Menemukan Dokumen yang Mirip • Euclidean distance adalah metode pengukuran

    jarak yang umum • Untuk dokumen, jumlah kemunculan kata mungkin tidak begitu penting • Yang penting adalah keberadaan katanya → cosine similarity cos(x, y) = x · y x · y 21 of 38
  13. Memaknai Kata • Dengan ide yang serupa dan beberapa tambahan

    algoritma lainnya, e.g. Latent Semantic Analysis (LSA), kita bisa menggunakan kakas ini untuk tes seperti TOEFL 22 of 38
  14. Memaknai Kata • Dengan ide yang serupa dan beberapa tambahan

    algoritma lainnya, e.g. Latent Semantic Analysis (LSA), kita bisa menggunakan kakas ini untuk tes seperti TOEFL • LSA berhasil menjawab 64.4% soal 22 of 38
  15. Memaknai Kata • Dengan ide yang serupa dan beberapa tambahan

    algoritma lainnya, e.g. Latent Semantic Analysis (LSA), kita bisa menggunakan kakas ini untuk tes seperti TOEFL • LSA berhasil menjawab 64.4% soal • Pengguna bahasa Inggris non-natif rata-rata berhasil menjawab 64.5% soal 22 of 38
  16. Memaknai Kata • Dengan ide yang serupa dan beberapa tambahan

    algoritma lainnya, e.g. Latent Semantic Analysis (LSA), kita bisa menggunakan kakas ini untuk tes seperti TOEFL • LSA berhasil menjawab 64.4% soal • Pengguna bahasa Inggris non-natif rata-rata berhasil menjawab 64.5% soal • Cukup untuk masuk banyak universitas di US! 22 of 38
  17. Beberapa Tantangan • Homograf, kata yang tulisannya sama tetapi maknanya

    berbeda, e.g. “beruang” • Token yang tidak dikenali, e.g. salah tik (typo), neologisme, slang 23 of 38
  18. Beberapa Tantangan • Homograf, kata yang tulisannya sama tetapi maknanya

    berbeda, e.g. “beruang” • Token yang tidak dikenali, e.g. salah tik (typo), neologisme, slang • Kata dapat berubah makna dalam frasa, e.g. “mahasiswa” itu netral, tetapi “harga mahasiswa” itu positif 23 of 38
  19. Natural Language Toolkit “NLTK is a leading platform for building

    Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning...” 25 of 38
  20. Corpora & Models Beberapa korpus dan model yang terkenal dari

    NLTK: • Project Gutenberg Selections • Penn Treebank • SentiWordNet • Stopwords Corpus • Porter Stemmer 27 of 38
  21. Alternatif untuk NLTK Beberapa alternatif untuk tugas-tugas spesifik: • spaCy:

    Industrial-Strength Natural Language Processing in Python • gensim: topic modelling for humans 29 of 38
  22. Bahan Bacaan 1. Bird, S., Edward L. & Klein, E.

    (2009). Natural Language Processing with Python. O’Reilly Media Inc. 2. Jurafsky, D. & Martin, J. H. (2018). Speech and Language Processing (Vol. 3). Pearson. 3. Manning, C., Raghavan, P., & Sch¨ utze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. 33 of 38
  23. Kuliah 1. Stanford CS124: From Languages to Information 2. University

    of Edinburgh: Text Technologies for Data Science 3. Stanford CS276: Information Retrieval and Web Search (advanced) 4. Stanford CS224n: Natural Language Processing with Deep Learning (advanced) 34 of 38
  24. Grup NLP • Stanford NLP: Chris Manning, Dan Jurafsky, Percy

    Liang • EdinburghNLP: Sharon Goldwater, Mirella Lapata, Ivan Titov, Mark Steedman, Shay Cohen, Walid Magdy, etc. • UniMelb CIS School: Tim Baldwin, Trevor Cohn, Karin Verspoor • UWNLP: Noah Smith, Luke Zettlemoyer • QCRI • Chris Dyer (DeepMind), Sebastian Ruder (DeepMind), Hal Daum´ e III (UMaryland), Graham Neubig (CMU), Kyunghyun Cho (NYU), Phil Blunsom (Oxford), Richard Socher (Salesforce), Isabelle Augenstein (Copenhagen) 35 of 38
  25. Peneliti Indonesia di NLP • ITB: Ayu Purwarianti, Masayu Leylia

    Khodra, Dessi Puji Lestari (speech) • UI: Mirna Adriani, Rahmad Mahendra • UGM: Yunita Sari • Adhiguna Kuncoro (DeepMind), Dani Yogatama (DeepMind), Ruli Manurung (Google Japan), Clara Vania (Edinburgh), Genta Indra Winata (HKUST), Kemal Kurniawan (UniMelb), Yudi Wibisono (UPI) 36 of 38
  26. Referensi NLTK Project (2 Januari 2017) Natural Language Toolkit http://www.nltk.org/

    Richard Socher (diakses 15 Mei 2017) CS224d: Deep Learning for Natural Language Processing http://cs224d.stanford.edu/ 37 of 38