ölmedim geri döndüm kaldığımız yerden devam
Süper Üye
Bu kodlama örneği, girilen bir cümledeki yazım hatalarını bulup düzeltmek için kullanılan basit bir doğal dil işleme (NLP) örneğidir.
Bu Python kodu, kullanıcı tarafından girilen bir cümledeki yazım hatalarını bulmak için hazırlanmıştır.
Kod, öncelikle bir sözlük (dictionary) tanımlar ve bu sözlükte en yaygın yazım hatalarını ve doğru yazımlarını saklar. Sonrasında, kullanıcı tarafından girilen cümleyi küçük harflere dönüştürür ve noktalama işaretlerini temizler.
Ardından, cümleyi boşluklara göre parçalara ayırır ve her kelime için sözlüğü kontrol eder. Eğer kelime sözlükte varsa, doğru yazımı ile değiştirir ve düzeltilmiş cümleyi oluşturur. Eğer kelime sözlükte yoksa, kelimeyi değiştirmeden düzeltilmiş cümleyi oluşturmaya devam eder.
Son olarak, düzeltilmiş cümleyi kullanıcıya gösterir. Bu kod, yazım hatalarını otomatik olarak düzeltmeyi amaçlamaktadır ancak doğru yazım hatalarını tamamen kapsamayabilir.
Aşağıdaki gibi bir Python kodu ile belirtilen dizindeki tüm .txt dosyalarını açarak her bir dosyadaki yazım hatalarını düzeltebilir ve dosyaları tekrar kaydedebilirsiniz:
Python:
import os
import string
import re
import enchant
# Yazım hatalarını düzeltmek için kullanacağımız "enchant" kütüphanesi için Türkçe sözlüğü yükleyelim
d = enchant.Dict("tr_TR")
# Yazım hatalarını düzeltmek için kullanacağımız fonksiyonu tanımlayalım
def duzelt(dosya):
with open(dosya, "r", encoding="utf-8") as f:
text = f.read()
# Tüm özel karakterleri temizleyelim
text = re.sub('[%s]' % re.escape(string.punctuation), '', text)
# Kelimeleri ayıralım ve hatalarını düzeltelim
words = text.split()
corrected_words = [d.suggest(word)[0] if len(d.suggest(word)) > 0 else word for word in words]
# Düzelttiğimiz kelimeleri tekrar bir araya getirelim
corrected_text = " ".join(corrected_words)
# Düzelttiğimiz metni dosyaya tekrar kaydedelim
with open(dosya, "w", encoding="utf-8") as f:
f.write(corrected_text)
# Belirtilen dizindeki tüm .txt dosyalarını bulalım ve düzeltme işlemi yapalım
dizin = "/path/to/folder"
for dosya in os.listdir(dizin):
if dosya.endswith(".txt"):
dosya_yolu = os.path.join(dizin, dosya)
duzelt(dosya_yolu)
Bu kod, belirtilen dizindeki tüm .txt dosyalarını açar ve her bir dosyadaki yazım hatalarını "enchant" kütüphanesi yardımıyla düzeltir. Ardından, düzelttiği metni tekrar dosyaya kaydeder. Dosyaların tamamını tek tek açıp kaydettiği için, büyük boyutlu dosyalar için işlem süresi biraz uzun olabilir.