API PLN NIL

Documentación de la API de Procesamiento de Lenguaje Natural para TFGs del grupo NIL (Natural Interaction Based on Language).

El servicio está desplegado en https://holstein.fdi.ucm.es/nlp-api, y utiliza JSON como formato tanto de entrada como de salida. Contacto: Antonio F. G. Sevilla afgs@ucm.es.


Servicios disponibles

Análisis morfológico de palabra

Este servicio analiza una palabra y devuelve los resultados de los análisis lingüísticos solicitados. Por defecto, efectúa el análisis morfológico.

Petición
URL
/analisis/{palabra}[?analisis1&analisis2&...]
Método
GET
palabra
La palabra a analizar.
Análisis disponibles
morfologico
Devuelve características morfológicas de la palabra, como la parte de la oración, género, número...
sinonimos
Devuelve posibles sinónimos de la palabra.
synsets
Devuelve una lista de synsets de wordnet para la palabra, es decir, distintas acepciones.
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/analisis/manzana
{
    "morfologico": {
        "genero": "femenino",
        "lema": "manzana",
        "numero": "singular",
        "palabra": "manzana",
        "parte": "nombre"
    }
}		
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/analisis/comeríamos?morfologico
{
    "morfologico": {
        "lema": "comer",
        "numero": "plural",
        "palabra": "comeríamos",
        "parte": "verbo",
        "persona": "1"
    }
}		
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/analisis/coche?sinonimos
{
    "sinonimos": [
        "auto",
        "automóvil",
        "carro",
        "coche",
        "máquina",
        "turismo",
        "vehículo",
        "automotor",
        "coche",
        "vagón",
        "coche",
        "vagón",
        "vagón_de_pasajeros"
    ]
}		
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/analisis/banco?synsets&morfologico
{
    "morfologico": {
        "genero": "masculino",
        "lema": "banco",
        "numero": "singular",
        "palabra": "banco",
        "parte": "nombre"
    },
    "synsets": [
        "bank.n.09",
        "bench.n.01",
        "school.n.07",
        "depository_financial_institution.n.01",
        "bank.n.03",
        "bar.n.08",
        "sandbank.n.01",
        "bank.n.05"
    ]
}		

Análisis gramatical del texto

Este servicio devuelve distintos posibles análisis de un texto enviado por JSON. Los análisis a devolver se enumeran en la URL como "query parameters", y en la respuesta se incluyen sólo los solicitados.

Petición
URL
/analisis?[analisis1&analisis2&...]
Método
POST
Body
Un objeto JSON con la propiedad texto
texto
El texto a analizar.
Análisis disponibles
oraciones
Lista de oraciones del texto (sentence splitting).
entidades
Entidades nominales detectadas (named entities).
sintagmas
Sintagmas nominales (noun chunks).
Se pueden solicitar también todos los análisis para las palabras, en cuyo caso se realizarán para cada una de ellas.
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/analisis?oraciones&entidades
Body
{
    "texto": "El presidente del gobierno visitó el estadio de fútbol. Tim Cook sucedió a Steve Jobs como CEO de Apple."
}
{
    "entidades": [
        "Tim Cook",
        "Steve Jobs",
        "Apple"
    ],
    "oraciones": [
        "El presidente del gobierno visitó el estadio de fútbol.",
        "Tim Cook sucedió a Steve Jobs como CEO de Apple."
    ]
}		
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/analisis?sintagmas&morfologico
Body
{
    "texto": "El presidente del gobierno visitó el estadio de fútbol. Tim Cook sucedió a Steve Jobs como CEO de Apple."
}
{
    "morfologico": [
        {
            "genero": "masculino",
            "lema": "El",
            "numero": "singular",
            "palabra": "El",
            "parte": "DET"
        },
        {
            "genero": "masculino",
            "lema": "presidente",
            "numero": "singular",
            "palabra": "presidente",
            "parte": "nombre"
        },
        {
            "genero": "masculino",
            "lema": "del",
            "numero": "singular",
            "palabra": "del",
            "parte": "ADP"
        },
        {
            "genero": "masculino",
            "lema": "gobernar",
            "numero": "singular",
            "palabra": "gobierno",
            "parte": "nombre"
        },
        {
            "lema": "visitar",
            "numero": "singular",
            "palabra": "visitó",
            "parte": "verbo",
            "persona": "3"
        },
        {
            "genero": "masculino",
            "lema": "el",
            "numero": "singular",
            "palabra": "el",
            "parte": "DET"
        },
        {
            "genero": "masculino",
            "lema": "estadio",
            "numero": "singular",
            "palabra": "estadio",
            "parte": "nombre"
        },
        {
            "lema": "de",
            "palabra": "de",
            "parte": "ADP"
        },
        {
            "genero": "masculino",
            "lema": "fútbol",
            "numero": "singular",
            "palabra": "fútbol",
            "parte": "nombre"
        },
        {
            "lema": ".",
            "palabra": ".",
            "parte": "PUNCT"
        },
        {
            "lema": "Tim",
            "palabra": "Tim",
            "parte": "nombre propio"
        },
        {
            "lema": "Cook",
            "palabra": "Cook",
            "parte": "nombre propio"
        },
        {
            "lema": "suceder",
            "numero": "singular",
            "palabra": "sucedió",
            "parte": "verbo",
            "persona": "3"
        },
        {
            "lema": "a",
            "palabra": "a",
            "parte": "ADP"
        },
        {
            "lema": "Steve",
            "palabra": "Steve",
            "parte": "nombre propio"
        },
        {
            "lema": "Jobs",
            "palabra": "Jobs",
            "parte": "nombre propio"
        },
        {
            "lema": "comer",
            "palabra": "como",
            "parte": "SCONJ"
        },
        {
            "lema": "CEO",
            "palabra": "CEO",
            "parte": "nombre propio"
        },
        {
            "lema": "de",
            "palabra": "de",
            "parte": "ADP"
        },
        {
            "lema": "Apple",
            "palabra": "Apple",
            "parte": "nombre propio"
        },
        {
            "lema": ".",
            "palabra": ".",
            "parte": "PUNCT"
        }
    ],
    "sintagmas": [
        "El presidente",
        "gobierno",
        "el estadio",
        "fútbol",
        "Tim Cook",
        "Steve Jobs",
        "CEO de Apple"
    ]
}		

Synsets de wordnet

Este servicio devuelve distintas informaciones sobre synsets de wordnet: una lista de lemas que pertenecen al synset, y otros synsets que son hiperónimos o hipónimos del solicitado.

Petición
URL
/synset/{synset_id}
Método
GET
synset_id
El nombre/id del synset a analizar.
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/synset/dog.n.01
{
    "hiperonimos": [
        "canine.n.02",
        "domestic_animal.n.01"
    ],
    "hiponimos": [
        "basenji.n.01",
        "corgi.n.01",
        "cur.n.01",
        "dalmatian.n.02",
        "great_pyrenees.n.01",
        "griffon.n.02",
        "hunting_dog.n.01",
        "lapdog.n.01",
        "leonberg.n.01",
        "mexican_hairless.n.01",
        "newfoundland.n.01",
        "pooch.n.01",
        "poodle.n.01",
        "pug.n.01",
        "puppy.n.01",
        "spitz.n.01",
        "toy_dog.n.01",
        "working_dog.n.01"
    ],
    "lemas": [
        "can",
        "perro"
    ]
}		
Ejemplo
URL
https://holstein.fdi.ucm.es/nlp-api/synset/bank.n.01
{
    "hiperonimos": [
        "slope.n.01"
    ],
    "hiponimos": [
        "riverbank.n.01",
        "waterside.n.01"
    ],
    "lemas": [
        "margen",
        "orilla",
        "vera"
    ]
}