--- name: spacy_es_load_model kind: function lang: py domain: datascience version: "1.0.0" purity: impure signature: "def spacy_es_load_model(model_name: str = 'es_core_news_md') -> Any" description: "Carga (y cachea) un modelo spaCy en castellano. Provee POS, dependencias y NER (PER, ORG, LOC, MISC). Usado por extract_triples_spacy_es para OpenIE schema-less. LICENSE: spaCy MIT + es_core_news_md CC BY-SA 4.0." tags: [spacy, nlp, spanish, ner, dependency-parsing, openie, model, datascience, python, mit, cc-by-sa] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [spacy] params: - name: model_name desc: "Nombre del modelo spaCy instalado. Default: es_core_news_md (equilibrio precision/tamanio). Alternativas: es_core_news_sm (menor, menos preciso), es_core_news_lg (mayor, mas preciso)." output: "Instancia spaCy Language cacheada por model_name. Provee nlp(text) -> Doc con tokens, POS, deps y ents." tested: true tests: - "cache devuelve la misma instancia" - "OSError si el modelo no esta instalado" test_file_path: "python/functions/datascience/tests/test_spacy_es_load_model.py" file_path: "python/functions/datascience/spacy_es_load_model.py" notes: | LICENSE: spaCy es MIT. El modelo es_core_news_md usa pesos entrenados sobre el corpus CoNLL-2002 (CC BY-SA 4.0). Uso comercial permitido con atribucion. Instalar el modelo antes de usar: python -m spacy download es_core_news_md impure: carga modelo desde disco la primera vez, mantiene estado en _MODEL_CACHE. Tamanio: es_core_news_md ~43 MB. Primera carga ~1-3s en CPU. --- ## Ejemplo ```python from datascience.spacy_es_load_model import spacy_es_load_model nlp = spacy_es_load_model() doc = nlp("Carlos Torres preside BBVA en Bilbao.") for ent in doc.ents: print(ent.text, ent.label_) # Carlos Torres PER # BBVA ORG # Bilbao LOC ``` ## Instalacion ```bash # En el venv del registry: python/.venv/bin/python3 -m spacy download es_core_news_md # O via uv: cd python && uv run python -m spacy download es_core_news_md ```