Ir al contenido

Este contenido sigue en francés

La página está traducida, pero su contenido detallado todavía no. Las fichas, las guías y los catálogos se muestran en francés: preferimos darte el original antes que una traducción automática aproximada. Ver el sitio en francés

Découper le corpus

Le découpage détermine la qualité de tout le reste. Trop court, le passage perd son contexte ; trop long, il noie l'information utile. Entre 500 et 1 000 caractères avec un recouvrement de 15 %, on se trompe rarement.

python
# decouper.py
from pathlib import Path

TAILLE, RECOUVREMENT = 800, 120

def passages(texte):
    debut = 0
    while debut < len(texte):
        yield texte[debut:debut + TAILLE]
        debut += TAILLE - RECOUVREMENT

docs = []
for f in Path("corpus").rglob("*.txt"):
    contenu = f.read_text(encoding="utf-8", errors="ignore")
    for i, p in enumerate(passages(contenu)):
        docs.append({"source": f.name, "n": i, "texte": p})

print(f"{len(docs)} passages")

Pour des PDF, convertissez-les d'abord : pdftotext -layout doc.pdf doc.txt (paquet poppler-utils).