| """ |
| Treino da camada L4 a partir de russell.txt — Base teórica de equivalência |
| ============================================================================ |
| Constrói a base de conceitos russellianos (RussellConceptBase) a partir do |
| arquivo data/russell.txt e salva para uso pela L4. |
| |
| Conceito central (Russell, The Problems of Philosophy, Cap. XII): |
| - Verdade = correspondência entre crença e fato. |
| - Equivalência (para a IA) = grau de correspondência entre a proposição |
| refinada (L1–L3) e os "fatos" representados no banco de conhecimento. |
| - A síntese L4 passa a usar um cálculo fundamentado em conceitos |
| (correspondência crença–fato) e não somente análise estatística. |
| |
| Uso: |
| python train_l4_russell.py |
| python train_l4_russell.py --data data/russell.txt --out l4_russell_concepts.json |
| """ |
|
|
| from __future__ import annotations |
| import argparse |
| import os |
| import sys |
|
|
|
|
| def main() -> None: |
| parser = argparse.ArgumentParser( |
| description="Treina a base de conceitos russellianos da L4 a partir de russell.txt" |
| ) |
| parser.add_argument( |
| "--data", |
| default=None, |
| help="Caminho para russell.txt (default: data/russell.txt)", |
| ) |
| parser.add_argument( |
| "--out", |
| default="l4_russell_concepts.json", |
| help="Arquivo de saída da base de conceitos (default: l4_russell_concepts.json)", |
| ) |
| args = parser.parse_args() |
|
|
| try: |
| from l4_russell_equivalence import ( |
| build_russell_concept_base, |
| save_concept_base, |
| load_russell_text, |
| extract_chapter_xii, |
| ) |
| except ImportError as e: |
| print("Erro ao importar l4_russell_equivalence:", e, file=sys.stderr) |
| sys.exit(1) |
|
|
| base_dir = os.path.dirname(os.path.abspath(__file__)) |
| data_path = args.data or os.path.join(base_dir, "data", "russell.txt") |
|
|
| if not os.path.isfile(data_path): |
| print(f"Arquivo não encontrado: {data_path}", file=sys.stderr) |
| sys.exit(1) |
|
|
| print("Carregando russell.txt para fundamentar L4 em equivalência (correspondência crença–fato).") |
| content = load_russell_text(data_path) |
| print(f" Cap. XII (Truth and Falsehood): {len(extract_chapter_xii(content))} caracteres.") |
|
|
| base = build_russell_concept_base(data_path) |
| print(f" Passagens extraídas: {len(base.key_passages)}") |
| print(f" Termos com peso conceitual: {len(base.term_weights)}") |
|
|
| out_path = args.out if os.path.isabs(args.out) else os.path.join(base_dir, args.out) |
| save_concept_base(base, out_path) |
| print(f"Base de conceitos russelliana salva em: {out_path}") |
| print("L4 pode carregar com: load_concept_base(...) e passar para RussellianSynthesisEngine.") |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|