import wikipedia
import requests
import time
import langdetect
import re
# Wikipedia dilini Türkçe olarak ayarla
wikipedia.set_lang("tr")
output_file = "temiz_turkce_wikipedia_metin.txt"
RANDOM_PAGE_API = "https://tr.wikipedia.org/w/api.php?action=query&list=random&rnnamespace=0&format=json"
def get_random_page_title():
"""Rastgele bir Wikipedia sayfa başlığı alır."""
try:
response = requests.get(RANDOM_PAGE_API)
data = response.json()
return data["query"]["random"][0]["title"]
except Exception as e:
print(f"Hata oluştu: {e}")
return None
def get_wikipedia_content(title):
"""Başlığa sahip Wikipedia sayfasının içeriğini alır."""
try:
return wikipedia.page(title).content
except:
return None
def is_text_turkish(text):
"""Metnin Türkçe olup olmadığını kontrol eder."""
try:
detected_lang = langdetect.detect(text)
return detected_lang == "tr"
except:
return False
def clean_text(text):
"""
Metni temizler:
- Sadece Türkçe harfleri ve boşlukları bırakır.
- İngilizce ve yabancı kelimeleri filtreler.
"""
turkish_alphabet = "abcçdefgğhıijklmnoöprsştuüvyz "
words = text.lower().split() # Kelimeleri küçük harfe çevir ve listeye ayır
clean_words = [
word for word in words
if all(char in turkish_alphabet for char in word) and len(word) > 1 # Yabancı harfleri ve tek harfleri at
]
return " ".join(clean_words)
# 1000 farklı sayfa içeriğini alıp temizleyip dosyaya kaydet
with open(output_file, "a", encoding="utf-8") as file:
count = 0
while count < 10000:
title = get_random_page_title()
if title:
content = get_wikipedia_content(title)
if content and is_text_turkish(content):
cleaned_content = clean_text(content)
if len(cleaned_content.split()) > 100: # Yeterince kelime varsa ekleyelim
file.write(f"=== {title} ===\n")
file.write(cleaned_content + "\n\n")
count += 1
print(f"{count}. sayfa eklendi: {title}")
else:
print(f"{count + 1}. sayfa ({title}) yeterince Türkçe kelime içermiyor, atlandı.")
else:
print(f"{count + 1}. sayfa ({title}) boş veya farklı dilde olduğu için atlandı.")
time.sleep(1) # Wikipedia'yı spamlamamak için bekleme süresi
print("İşlem tamamlandı! Veriler temiz_turkce_wikipedia_metin.txt dosyasına kaydedildi.") Yapay zeka eğitmek için Wikipediaveri seti toplayan kod
0
●102
- 16-03-2025, 00:13:52Bu kod yapay zeka eğitmek için türkçe TXT dosyası arayanlara Wipikedia'dan veri seti toplar.