Ana içeriğe atla

Mühendislik ve Doğa Bilimleri Fakültesi · Bilgisayar Mühendisliği · Lisans

AKTS: 5 T+U+L: 2+0+1 Bölüm Seçmeli
Koordinatör: Dr. Öğr. Üyesi Şengül BAYRAK

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-CevapTartışmaAlıştırma ve UygulamaGrup ÇalışmasıBeyin FırtınasıDeney / Laboratuvar / Atölye / Alan UygulamasıBireysel ÇalışmaProblem Çözme

Ö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ınav122
Kısa Sınav000
Ödev177
Uygulama11010
Final122

Ders Akışı

HaftaKonuÖn Hazırlık
1Doğal Dil İşlemeye Giriş ve Temel KavramlarDers notları
2Metin Ön İşlemeDers notlari
3Sayısal Temsiller - TF- IDF ve Word EmbeddingsDers notları
4Duygu Analizi ve Metin SınıflandırmaDers notları
5Dil Modelleri ve Transformers'a GirişDers notları
6Türkçe Doğal Dil İşlemeDers notları
7Named Entity Recognition (NER) ve Kelime Anlam Çözümleme (WSD)Ders notları
8VizeVize
9Makine Çevirisi ve Dil ModellemesiDers notları
10Otomatik Metin ÖzetlemeDers notları
11Chatbot ve Konuşma SistemleriDers notları
12Bilgi Çıkarımı ve Soru-Cevap SistemleriDers notları
13Büyük Dil Modelleri (LLM) ve Etik Konularders notları
14Proje sunumları-
15Proje sunumları-
16FinalFinal