Farklı Veri Kaynaklarını Embedding Sürecine Hazırlamak
08.06.2025 10:49
LLM tabanlı RAG sistemlerinde, yalnızca metin dosyaları değil; PDF, Word, HTML gibi çeşitli belgeler de embedding sürecine dahil edilir. Bu yazıda, bu farklı veri kaynaklarını nasıl ön işleme tabi tutarak tekdüze ve optimize bir formatta embedding’e hazırlayabileceğimizi ele alacağız.
1. Dosya Türleri ve Kullanım Amaçları
- PDF: Resmî belgeler, yönetmelikler, raporlar
- HTML: Web tabanlı mevzuatlar, yönetmelik portalları
- Word (DOCX): İç yazışmalar, kullanıcı rehberleri, sözleşmeler
2. PDF Dosyalarının İşlenmesi
PDF belgelerinden anlamlı metin çıkarımı için PyMuPDF (fitz)
veya pdfplumber
gibi kütüphaneler kullanılır.
import fitz # PyMuPDF
def extract_pdf_text(file_path):
doc = fitz.open(file_path)
return "\n".join([page.get_text() for page in doc])
3. HTML Sayfalarının İşlenmesi
HTML formatında gelen mevzuatlar genellikle etiket yığınıdır. BeautifulSoup
ile temiz ve anlamlı içerik elde edilir.
from bs4 import BeautifulSoup
def extract_html_text(html_str):
soup = BeautifulSoup(html_str, "html.parser")
return soup.get_text(separator="\n")
4. Word (DOCX) Belgelerinin İşlenmesi
python-docx
kütüphanesi ile DOCX belgelerindeki paragraflar kolaylıkla ayrıştırılabilir.
from docx import Document
def extract_docx_text(path):
doc = Document(path)
return "\n".join([p.text for p in doc.paragraphs])
5. Unicode Temizliği ve Normalize Edilmesi
Tüm belgelerden elde edilen metinler normalize edilmeli, gereksiz boşluk, özel karakter ve unicode hataları temizlenmelidir.
import unicodedata, re
def clean_text(text):
text = unicodedata.normalize("NFKC", text)
text = re.sub(r"\s+", " ", text)
return text.strip()
6. Ortak Pipeline ve Metadata Oluşturma
Her belge işlendikten sonra aşağıdaki gibi chunk
+ metadata
yapısına dönüştürülmelidir:
{
"text": "Madde 5 - Elektrik kesintisiyle ilgili hükümler...",
"source": "Elektrik Piyasası Yönetmeliği.pdf",
"kategori": "Şebeke İşletimi",
"format": "PDF",
"yil": 2023
}
Sonuç
Farklı formatlardaki belgeleri etkili bir şekilde işlemek, RAG sisteminizin kalitesini doğrudan etkiler. Özellikle mevzuat gibi kaynaklarda belge tipine özel ön işleme adımları; verimliliği artırır, hataları azaltır ve modelin anlama kapasitesini güçlendirir.
🔗 Devamı Gelecek
Bir sonraki yazımızda, bu yapılandırılmış veri setlerinin otomatik olarak izlenmesi, yeni gelen belgelerin anında embedding'e dahil edilmesi ve sürekli güncel kalabilen bir sistemin nasıl inşa edileceğini inceleyeceğiz.