AI-For-Beginners/translations/tr/lessons/5-NLP
localizeflow[bot] 33ce0e5757 chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
..
13-TextRep chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
14-Embeddings chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
15-LanguageModeling chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
16-RNN chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
17-GenerativeNetworks chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
18-Transformers chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
19-NER chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
20-LangModels chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00

README.md

Doğal Dil İşleme

NLP görevlerinin bir çizimi

Bu bölümde, Doğal Dil İşleme (NLP) ile ilgili görevleri çözmek için Sinir Ağlarını kullanmaya odaklanacağız. Bilgisayarların çözmesini istediğimiz birçok NLP problemi bulunmaktadır:

  • Metin sınıflandırma, metin dizileriyle ilgili tipik bir sınıflandırma problemidir. Örnekler arasında e-posta mesajlarını spam veya spam değil olarak sınıflandırmak ya da makaleleri spor, iş, politika gibi kategorilere ayırmak yer alır. Ayrıca, sohbet botları geliştirirken, genellikle bir kullanıcının ne söylemek istediğini anlamamız gerekir -- bu durumda niyet sınıflandırması ile ilgileniyoruz. Niyet sınıflandırmasında genellikle birçok kategoriyle uğraşmamız gerekir.
  • Duygu analizi, bir cümlenin anlamının ne kadar olumlu/olumsuz olduğunu belirten bir sayı (duygu) atamamız gereken tipik bir regresyon problemidir. Duygu analizinin daha gelişmiş bir versiyonu olan özellik tabanlı duygu analizi (ABSA), duygu durumunu tüm cümleye değil, farklı bölümlerine (özelliklere) atar, örneğin: Bu restoranda mutfağı beğendim, ama atmosfer berbattı.
  • Adlandırılmış Varlık Tanıma (NER), metinden belirli varlıkları çıkarmakla ilgilidir. Örneğin, Yarın Paris'e uçmam gerekiyor cümlesinde yarın kelimesinin TARİH'e, Paris kelimesinin ise KONUM'a atıfta bulunduğunu anlamamız gerekebilir.
  • Anahtar kelime çıkarımı, NER'e benzer, ancak belirli varlık türleri için önceden eğitim yapmadan, cümlenin anlamı için önemli olan kelimeleri otomatik olarak çıkarmamız gerekir.
  • Metin kümeleme, benzer cümleleri bir araya getirmek istediğimizde faydalı olabilir, örneğin teknik destek konuşmalarında benzer talepleri gruplamak.
  • Soru yanıtlama, bir modelin belirli bir soruya yanıt verebilme yeteneğini ifade eder. Model, bir metin parçası ve bir soruyu giriş olarak alır ve sorunun cevabının metinde bulunduğu yeri sağlaması (veya bazen cevap metnini oluşturması) gerekir.
  • Metin oluşturma, bir modelin yeni metin oluşturma yeteneğidir. Bu, bir metin ipucu temelinde bir sonraki harf/kelimeyi tahmin eden bir sınıflandırma görevi olarak düşünülebilir. GPT-3 gibi gelişmiş metin oluşturma modelleri, ipucu programlama veya ipucu mühendisliği adı verilen bir teknik kullanarak sınıflandırma gibi diğer NLP görevlerini çözebilir.
  • Metin özetleme, bir bilgisayarın uzun bir metni "okuyup" birkaç cümleyle özetlemesini istediğimiz bir tekniktir.
  • Makine çevirisi, bir dildeki metni anlamayı ve başka bir dilde metin oluşturmayı birleştiren bir görev olarak görülebilir.

Başlangıçta, çoğu NLP görevi dilbilgisi gibi geleneksel yöntemlerle çözülüyordu. Örneğin, makine çevirisinde, başlangıç cümlesi bir sözdizimi ağacına dönüştürmek için ayrıştırıcılar kullanılıyor, ardından cümlenin anlamını temsil etmek için daha yüksek seviyeli anlamsal yapılar çıkarılıyor ve bu anlam ve hedef dilin dilbilgisine dayanarak sonuç oluşturuluyordu. Günümüzde, birçok NLP görevi sinir ağları kullanılarak daha etkili bir şekilde çözülmektedir.

Birçok klasik NLP yöntemi, Natural Language Processing Toolkit (NLTK) Python kütüphanesinde uygulanmıştır. Farklı NLP görevlerinin NLTK kullanılarak nasıl çözülebileceğini kapsayan harika bir NLTK Kitabı çevrimiçi olarak mevcuttur.

Kursumuzda, çoğunlukla NLP için Sinir Ağlarını kullanmaya odaklanacağız ve gerektiğinde NLTK kullanacağız.

Tablo verileri ve görüntülerle çalışmak için sinir ağlarını kullanmayı zaten öğrendik. Bu veri türleri ile metin arasındaki temel fark, metnin değişken uzunlukta bir dizi olmasıdır, oysa görüntülerde giriş boyutu önceden bilinir. Konvolüsyonel ağlar giriş verilerinden desenler çıkarabilirken, metindeki desenler daha karmaşıktır. Örneğin, olumsuzluk, özneyle birçok kelime arasında ayrılabilir (örneğin: Portakalları sevmiyorum ile O büyük renkli lezzetli portakalları sevmiyorum), ve bu yine de tek bir desen olarak yorumlanmalıdır. Bu nedenle, dili işlemek için tekrarlayan ağlar ve dönüştürücüler gibi yeni sinir ağı türlerini tanıtmamız gerekir.

Kütüphaneleri Yükleme

Bu kursu yerel bir Python kurulumunda çalıştırıyorsanız, NLP için gerekli tüm kütüphaneleri aşağıdaki komutlarla yüklemeniz gerekebilir:

PyTorch için

pip install -r requirements-torch.txt

TensorFlow için

pip install -r requirements-tf.txt

TensorFlow ile NLP'yi Microsoft Learn üzerinde deneyebilirsiniz.

GPU Uyarısı

Bu bölümde, bazı örneklerde oldukça büyük modelleri eğiteceğiz.

  • GPU Destekli Bilgisayar Kullanın: Büyük modellerle çalışırken bekleme sürelerini azaltmak için not defterlerinizi GPU destekli bir bilgisayarda çalıştırmanız önerilir.
  • GPU Bellek Sınırlamaları: GPU'da çalışmak, özellikle büyük modelleri eğitirken GPU belleğinizin tükenmesine neden olabilir.
  • GPU Bellek Tüketimi: Eğitim sırasında tüketilen GPU belleği, minibatch boyutu gibi çeşitli faktörlere bağlıdır.
  • Minibatch Boyutunu Azaltın: GPU bellek sorunlarıyla karşılaşırsanız, kodunuzdaki minibatch boyutunu azaltmayı düşünebilirsiniz.
  • TensorFlow GPU Bellek Serbest Bırakma: TensorFlow'un eski sürümleri, bir Python çekirdeğinde birden fazla model eğitildiğinde GPU belleğini doğru şekilde serbest bırakmayabilir. GPU bellek kullanımını etkili bir şekilde yönetmek için TensorFlow'u yalnızca gerektiğinde GPU belleği tahsis edecek şekilde yapılandırabilirsiniz.
  • Kod Ekleme: TensorFlow'un GPU belleği tahsisini yalnızca gerektiğinde büyütmesini sağlamak için not defterlerinize aşağıdaki kodu ekleyin:
physical_devices = tf.config.list_physical_devices('GPU') 
if len(physical_devices)>0:
    tf.config.experimental.set_memory_growth(physical_devices[0], True) 

Klasik ML perspektifinden NLP öğrenmekle ilgileniyorsanız, bu dersler dizisini ziyaret edin.

Bu Bölümde

Bu bölümde şunları öğreneceğiz:

Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.