| extract_triples_spacy_es |
function |
py |
datascience |
1.0.0 |
impure |
def extract_triples_spacy_es(text: str, nlp: Any) -> dict |
Extraccion OpenIE schema-less en castellano via reglas de dependencia spaCy. Detecta patrones sujeto-verbo-objeto con el lemma del verbo como relacion (sin vocabulario fijo). Tambien extrae entidades NER (PER, ORG, LOC, MISC). |
| spacy |
| openie |
| nlp |
| spanish |
| triples |
| dependency |
| ner |
| schema-less |
| datascience |
| python |
| mit |
| pendiente-usar |
|
| spacy_es_load_model_py_datascience |
|
|
|
false |
error_go_core |
|
| name |
desc |
| text |
Texto en castellano a analizar. Funciona mejor con oraciones completas. Admite multiples oraciones en el mismo texto. |
|
| name |
desc |
| nlp |
Instancia spaCy Language cargada con spacy_es_load_model. Debe incluir dependencias + POS + NER (es_core_news_md o lg). |
|
|
Dict con 'text' (input), 'triples' (lista de {subject, relation, object, verb_form, object_dep, prep}), 'entities' (lista de {text, label}) y 'elapsed_s'. La relacion es el lemma del verbo, opcionalmente sufijado con preposicion (_en, _con) o modo pasivo ([pass]). |
true |
| oracion simple produce tripleta con sujeto verbo objeto |
| carlos torres preside bbva produce tripleta president |
| amancio ortega fundo inditex en 1985 produce tripletas con fundar_en |
| texto sin verbos produce tripletas vacias |
| entities NER detecta PER ORG LOC |
|
python/functions/datascience/tests/test_extract_triples_spacy_es.py |
python/functions/datascience/extract_triples_spacy_es.py |
LICENSE: spaCy es MIT. Modelo es_core_news_md es CC BY-SA 4.0.
Uso comercial permitido con atribucion.
Validado en notebook 09 del analisis gliner_glirel_tuning.
Complementa a extract_graph_gliner2: GLiNER2 usa vocabulario fijo de relaciones
pero mayor precision; spaCy OpenIE usa lemmas verbales (sin vocabulario fijo)
pero requiere post-filtrado manual.
impure: invoca inferencia del modelo (side effect computacional).
El nlp se inyecta externamente para permitir cache y reutilizacion.
Relaciones compuestas: 'fundar_en' (fundar + preposicion 'en'),
'ser_nombrado[pass]' (pasiva), 'trabajar_con' (trabajar + 'con').
|