Skip to content

This content is still in French

The page itself is translated, but its detailed content is not yet. Hardware sheets, guides and catalogues are still shown in French: we would rather give you the original than a rough machine translation. View the French site

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).