Ana içeriğe atla

BIM 432 - Doğal Dil İşleme

Mühendislik ve Doğa Bilimleri Fakültesi · Yazılım Mühendisliği (%30 İngilizce) · Lisans

AKTS: 5 T+U+L: 2+0+1 Bölüm Seçmeli
Koordinatör: Dr. Öğr. Üyesi Gökçe KARAHAN ADALI

Dersin Amacı

Bu dersin amacı Doğal Dil İşleme (DDİ) alanındaki temel kavramları ve teknikleri öğretmek, metin verisiyle çalışma becerilerini geliştirmek ve çeşitli DDİ uygulamalarını Python ve ilgili kütüphanelerle gerçekleştirmelerini sağlamaktır. Ayrıca, öğrencilerin dil modelleri, duygu analizi, metin özetleme, makine çevirisi ve chatbot geliştirme gibi konularda pratik yaparak, gerçek dünyadaki DDİ problemlerine yönelik çözümler üretebilmelerini hedeflemektedir.

Ders İçeriği

NLP'nin tanımı, kullanım alanları ve dilin yapısı (morfoloji, sözdizimi, anlambilim) anlatılacaktır. Python ve popüler NLP kütüphanelerinin (NLTK, spaCy, Hugging Face) temel kullanımı gösterilecektir. Metin verisinin tokenization, stopwords çıkarma, lemmatization ve stemming yöntemleriyle nasıl işleneceği öğretilir. Öğrenciler, Python ile metin ön işleme adımlarını uygulamalıdır. Bag of Words (BoW) ve TF-IDF yöntemleri ile metinleri sayısal verilere dönüştürme öğretilir. Word2Vec, GloVe ve FastText ile kelimeler arasındaki ilişkiler keşfedilir.Duygu analizi için lojistik regresyon ve Naive Bayes sınıflandırıcıları kullanılır. RNN, LSTM, GRU ve Transformer mimarileri tanıtılır. BERT, GPT, T5 gibi dil modellerinin temelleri ve Hugging Face ile kullanımları anlatılır. Türkçe NLP zorlukları ve Zemberek kütüphanesi kullanılarak Türkçe metinler üzerinde ön işleme işlemleri yapılır. Öğrenciler Türkçe metinler üzerinde uygulama yapar. İsim varlık tanıma (NER) ve kelime anlam çözümleme (WSD) yöntemleri öğretilir. spaCy ile NER modeli geliştirilerek, metinlerdeki varlıklar tanınır. Makine çevirisi yöntemleri (kural tabanlı, istatistiksel, nöral) ve Transformer tabanlı modeller öğretilir. MarianMT ile İngilizce-Türkçe çeviri uygulaması yapılır. Abstractive ve extractive özetleme yöntemleri ve TextRank algoritması anlatılır. Öğrenciler Türkçe haber metinleri üzerinde özetleme yapar. Kural tabanlı ve öğrenme tabanlı chatbotlar tanıtılır. Rasa ve DialoGPT kullanarak üniversite bilgilendirme chatbotu geliştirilir. Bilgi çıkarımı ve Transformer tabanlı soru-cevap sistemleri öğretilir. BERT ile soru-cevap uygulamaları yapılır. Büyük dil modelleri (GPT-4, LLaMA) ve NLP’deki etik sorunlar (yanlılık, yanlış bilgi) tartışılır. GPT-4 API kullanılarak metin üretimi yapılır. NLP projelerinde karşılaşılan zorluklar ve model değerlendirme metrikleri (Perplexity, BLEU, ROUGE, F1-score) öğretilir. Öğrenciler, projeler üzerinde model optimizasyonu yapar.Öğrenciler projelerini sunarak öğrendiklerini sergiler.

Zorunlu Kaynaklar

1-Jackson, P., & Moulinier, I. (2002). Natural language processing for online applications. Philadelphia: John Benjamins.

2- Hagiwara, M. (2021). Real-World Natural Language Processing: Practical applications with deep learning. Simon and Schuster.

3- Patel, A. A., & Arasanipalai, A. U. (2021). Applied Natural Language Processing in the Enterprise, O'Reilly Media, Inc..

Önerilen Kaynaklar

1- Indurkhya, N., & Damerau, F. J. (2010). Handbook of natural language processing. Chapman and Hall/CRC.

2- Manning, C., & Schutze, H. (1999). Foundations of statistical natural language processing. MIT press.

Açıklamalar

  1. Kısa sınav ve/veya ödev haftanın konuları ile ilgili olacaktır. 1 ödev/kısa sınav verilecektir.
  2. Uygulama kısmı için öğrencilerden dersin içeriğine uygun proje geliştirmesi ve geliştirilen projelerin öğrenciler tarafından 14. ve 15. haftalarda ders saatinde sunum olarak yapmaları beklenmektedir.

Kurallar

  1. Yoklama: Yönetmeliklere göre bir öğrenci toplam ders saatinin % 30’na devam etmemesi halinde dersten devamsızlık alır (DZ) ve başarısız olur.
  2. Akademik dürüstlük: İntihal, kopyalama gibi gayri ahlaki durumlarda İZÜ’nÜn ilgili yönetmeliği gereği disiplin soruşturması açılıp gerekli cezai müeyyidelere tabii olursunuz.

Dersin Öğrenme Çıktıları

  1. Doğal Dil İşleme alanının temel kavramlarını ve metin işleme süreçlerini açıklar.
  2. Metin verileri üzerinde ön işleme tekniklerini (tokenization, normalization, stemming, lemmatization) uygular.
  3. Metin sınıflandırma ve duygu analizi gibi DDİ problemleri için uygun makine öğrenmesi ve derin öğrenme yöntemlerini geliştirir.
  4. DDİ modellerinin performansını accuracy, precision, recall ve F1-score gibi metriklerle değerlendirir ve yorumlar.
  5. Gerçek dünya metin verileri üzerinde bir NLP projesi geliştirir, sonuçları analiz eder ve teknik olarak raporlar.
  6. Doğal dil işleme ve makine öğrenmesi sistemlerinde etik, gizlilik ve toplumsal etkileri dikkate alarak mühendislik çözümleri geliştirir.

Temel Alan Dağılımı

(46) Matematik ve İstatistik%30 (48) Bilgisayar%40 (52) Mühendislik%30

Öğretim Yöntem ve Teknikleri

AnlatımSoru-CevapAlıştırma ve UygulamaGösterip YaptırmaDeney / Laboratuvar / Atölye / Alan UygulamasıBireysel ÇalışmaProblem ÇözmeProje Temelli Öğrenme (Saha çalışması dâhil)

Ölçme ve Değerlendirme

ÖdevPerformans Görevi (Uygulama / Laboratuvar / Atölye / Arazi Çalışması / Seminer / Sunum / Bitirme Çalışması / Tez)Proje / TasarımSınav (Yazılı Sınav / Test: Doğru-Yanlış Testi, Çoktan Seçmeli Testi, Kısa Cevaplı Test, Eşleştirmeli Test)

AKTS / İş Yükü

EtkinlikSayıSüre (saat)Toplam İş Yükü
Ders Süresi (Sınav Haftası Dahil)16348
Sınıf Dışı Ders Çalışma Süresi000
Ara Sınav000
Kısa Sınav122
Ödev166
Uygulama11010
Final122

Ders Akışı

HaftaKonuÖn Hazırlık
1Doğal Dil İşlemeye GirişDers notları
2Dilbilimin esasları ve dil modelleriHafta 1
3Gramer ve Dil ModelleriHafta 2
4Biçimbilimsel AnalizHafta 3
5Sözdizimsel analizHafta 4
6Doğal dil işlemede olasılık ve istatistiksel dil modellemeHafta 6
7Dokümanlardan bilgi çıkarımıHafta 6
8Vize-
9Bilgi alma ve bilgi çıkarımı prosedürleriHafta 7
10Doğal dil işleme için makine öğrenmesiHafta 9
11Metin önişlemeHafta 10
12Metin sınıflandırmaHafta 11
13N-gram tabanlı analiz, ZipF kanunuHafta 12
14Proje sunumlarıHafta 1 - 13
15Proje sunumlarıHafta 1 - 13
16Final sınavıHafta 1-14