Ir para o conteúdo

Este conteúdo ainda está em francês

A página está traduzida, mas o conteúdo detalhado ainda não. As fichas, os guias e os catálogos continuam em francês: preferimos mostrar-lhe o original a uma tradução automática aproximada. Ver o site em 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).