Skip to content

Detección de entidades especiales


Versión del Modelo

Nombre del modeloVersiónTarea
neuraan-custom-ner-0.1v0.1Detección de entidades especiales

Descripción

La detección de entidades especiales es una tarea de procesamiento de lenguaje natural que permite detectar palabras y entidades clave para el contexto del chatbot o voicebot, pero que no son parte del español estándar o reconocidos como una entidad nombrada tradicional. Este servicio extrae las entidades de acuerdo a los ejemplos de entidades proporcionados en la base de conocimientos. A menudo las entidades sirven para detectar información relevante en el contexto del chatbot.

AtributoTipoRequeridoDescripción
textTextTrueSentencia para extraer las entidades
entitiesObjectFalseObjeto cuyas claves son el nombre de las entidades y sus valores son arreglos de textos con ejemplos de como los usuarios se refieren a la entidad nombrada
thresholdFloatFalseNivel que indica que tan parecida debe ser la entidad a los ejemplos proporcionados. 0 indica nada parecida, 1 indica coincidencia exacta. Por default está establecido a 0.8

Request example

json
{
      "text": "Quiero estudiar en la Universidad de Yucatán o en la Modelo",
      "entities": {"UADY_CANONICAL": ["Universidad Autónoma de Yucatán", "UADY"], "MODELO_CANONICAL": ["modelo", "universidad modelo", "la modelo"]},
      "threshold": 0.65
  }

Si las entidades no son propocionada, se tomarán las entidades de la base de conocmientos configurada para el proyecto.

Request example

json
{
    "name": "neuraan-intent-classification-0.1",
    "version": "v0.1",
    "input": {"sentence": "Cual es su horario"}
}

Salida

El servicio devuelve las probabilidades de cada una de las categorías proporcionadas en la base de conocimientos.

AtributoTipoDescripción
recievedObjectObjeto recibido para realizar la inferencia
inputTextCódigo del dioma de entrada
outputTextCódigo del idioma de salida
knowledge_base-originTextOrigen de la base de conocimientos (request o database)
resultObjectResultado de la inferencia
result.detectedArrayArreglo de las entidades detectadas en el texto.
result.detected[i][0]TextNombre canónico (llave de los ejemplos) de la entidad nombrada de la entidad i
result.detected[i][1]FloatScore con el que se detectó la entdad i
result.detected[i][2]TextEjemplo de la base de conocimiento al que más se parece la entidad i
result.detected[i][3]TextTexto en el ejemplo que coincide con el ejemplo proporcionado de la entidad i
result.indexesArrayArreglo de índices de las entidades detectadas
result.indexes[i][0]TextNombre canónico de la enitad i
result.indexes[i][1]IntPosición donde empieza la entidad i en el texto
result.indexes[i][2]IntPosición donde termina la entidad i en el texto
result.indexes[i][3]IntNúmero de extracción de la entidad i (en que orden se derectan en el texto)

Output example

json
{
      "recieved": {
          "text": "Quiero estudiar en la Universidad de Yucatán o en la Modelo",
          "entities": {
              "UADY_CANONICAL": ["Universidad Autónoma de Yucatán", "UADY"],
              "MODELO_CANONICAL": ["modelo","universidad modelo","la modelo"]
          },
          "threshold": 0.65,
          "knowledge_base_origin": "request"
      },
      "result": {
          "detected": [
              ["UADY_CANONICAL",0.6551724137931034,"Universidad Autónoma de Yucatán","universidad_de_yucatan_o_en_la_"],
              ["MODELO_CANONICAL",0.7142857142857143,"la modelo","la_a_mode"]
          ],
          "indexes": [
              ["UADY_CANONICAL",22,51,1],
              ["MODELO_CANONICAL",19,26,2]
          ]
      }
  }
Ejemplo de salida desde la base de datos
json
{
      "recieved": {
          "sentence": "Que es lo que haces",
          "knowledge_base": {
              "Saludo": [
                  "¡Hola!",
                  "¿Cómo estas?",
                  "¿Cómo te va?",
                  "¿Qué onda?",
                  "Buenos días",
                  "Que tal"
              ],
              "Despedida": [
                  "¡Que tengas un buen día!",
                  "Chao",
                  "Bye!",
                  "Hasta pronto",
                  "Me despido",
                  "Nos vemos",
                  "Adiós",
                  "Hasta luego"
              ],
              "Si": [
                  "Sí",
                  "Correcto",
                  "Afirmativo",
                  "Afirma",
                  "Sip",
                  "También",
                  "si así es",
                  "ok"
              ],
              "No": [
                  "No",
                  "Nel",
                  "Ni al caso",
                  "Nada que ver",
                  "Nop",
                  "Tampoco"
              ],
              "Sin Sentido": [
                  "y",
                  "y la",
                  "de la",
                  "en el",
                  "las",
                  "es un",
                  "y para un",
                  "y de un"
              ],
              "Información": [
                  "como funcionas",
                  "ayuda",
                  "que haces"
              ],
              "Agradecimiento": [
                  "muchas gracias",
                  "que amable",
                  "gracias",
                  "Muchísimas gracias"
              ]
          },
          "input": "es",
          "output": "es",
          "knowledge_base_origin": "database"
      },
      "result": {
          "sentence": "Que es lo que haces",
          "categories": {
              "Saludo": 0.05631150305271149,
              "Despedida": 2.1519914272567317e-18,
              "Si": 1.2807382931967481e-10,
              "No": 1.1764227295214515e-20,
              "Sin Sentido": 0.029037540778517723,
              "Información": 0.6833909153938293,
              "Agradecimiento": 1.215563836653305e-13
          }
      }
  }

Neuraan Licensed