Método interpretinterpret Method

El método interpret toma una cadena de consulta de lenguaje natural y devuelve interpretaciones con formato de la intención del usuario, en función de los datos de gramática e índice.The interpret method takes a natural language query string and returns formatted interpretations of user intent based on the grammar and index data. Para proporcionar una experiencia de búsqueda interactiva, se puede llamar a este método con cada carácter especificado por el usuario con el parámetro complete establecido en 1 para habilitar las sugerencias de finalización automática.To provide an interactive search experience, this method may be called as each character is entered by the user with the complete parameter set to 1 to enable auto-complete suggestions.

SolicitudRequest

http://<host>/interpret?query=<query>[&<options>]

NOMBREName ValorValue DESCRIPCIÓNDescription
queryquery Cadena de textoText string Consulta especificada por el usuario.Query entered by user. Si complete se establece en 1, la consulta se interpretará como un prefijo para generar sugerencias de finalización automática para la consulta.If complete is set to 1, query will be interpreted as a prefix for generating query auto-completion suggestions.
completecomplete 0 (valor predeterminado) o 10 (default) or 1 1 significa que se generan sugerencias de finalización automática en función de los datos de gramática e índice.1 means that auto-completion suggestions are generated based on the grammar and index data.
countcount Número (valor predeterminado= 10)Number (default=10) Número máximo de interpretaciones de retorno.Maximum number of interpretations to return.
Offsetoffset Número (valor predeterminado= 0)Number (default=0) Índice de la primera interpretación que se debe devolver.Index of the first interpretation to return. Por ejemplo, count=2&offset=0 devuelve interpretaciones 0 y 1.For example, count=2&offset=0 returns interpretations 0 and 1. count=2&offset=2 devuelve interpretaciones 2 y 3.count=2&offset=2 returns interpretations 2 and 3.
timeouttimeout Número (valor predeterminado=1000)Number (default=1000) Tiempo de expiración en milisegundos.Timeout in milliseconds. Solo se devuelven las interpretaciones encontradas antes de que haya transcurrido el tiempo de expiración.Only interpretations found before the timeout has elapsed are returned.

Mediante los parámetros count y offset, puede obtenerse un gran número de resultados incrementalmente en varias solicitudes.Using the count and offset parameters, a large number of results may be obtained incrementally over multiple requests.

Respuesta (JSON)Response (JSON)

JSONPathJSONPath DESCRIPCIÓNDescription
$.query$.query El parámetro query de la solicitud.query parameter from the request.
$.interpretations$.interpretations Matriz de 0 o más maneras de que la consulta de entrada coincida con la gramática.Array of 0 or more ways to match the input query against the grammar.
$.interpretations[*].logprob$.interpretations[*].logprob Probabilidad relativa de registro de la interpretación (<= 0).Relative log probability of the interpretation (<= 0). Los valores más altos son más probables.Higher values are more likely.
$.interpretations[*].parse$.interpretations[*].parse Cadena XML que muestra cómo se interpreta cada parte de la consulta.XML string that shows how each part of the query was interpreted.
$.interpretations[*].rules$.interpretations[*].rules Matriz de 1 o más reglas definidas en la gramática invocadas durante la interpretación.Array of 1 or more rules defined in the grammar invoked during interpretation.
$.interpretations[*].rules[*].name$.interpretations[*].rules[*].name Nombre de la regla.Name of the rule.
$.interpretations[*].rules[*].output$.interpretations[*].rules[*].output Salida semántica de la regla.Semantic output of the rule.
$.interpretations[*].rules[*].output.type$.interpretations[*].rules[*].output.type Tipo de datos de la salida semántica.Data type of the semantic output.
$.interpretations[*].rules[*].output.value$.interpretations[*].rules[*].output.value Valor de la salida semántica.Value of the semantic output.
$.aborted$.aborted True si la solicitud ha agotado el tiempo de espera.True if the request timed out.

XML de análisisParse XML

El XML de análisis anota la consulta (completada) con información acerca de cómo coincide con las reglas de gramática y atributos en el índice.The parse XML annotates the (completed) query with information about how it matches against the rules in the grammar and attributes in the index. A continuación, se muestra un ejemplo del dominio de publicaciones académicas:Below is an example from the academic publications domain:

<rule name="#GetPapers">
  papers by 
  <attr name="academic#Author.Name" canonical="heungyeung shum">harry shum</attr>
  <rule name="#GetPaperYear">
    written in
    <attr name="academic#Year">2000</attr>
  </rule>
</rule>

El elemento <rule> delimita el intervalo de la consulta que coincide con la regla especificada por su atributo name.The <rule> element delimits the range in the query matching the rule specified by its name attribute. Se pueden anidar cuando el análisis implica referencias de regla en la gramática.It may be nested when the parse involves rule references in the grammar.

El elemento <attr> delimita el intervalo de la consulta que coincide con el atributo de índice especificado por su atributo name.The <attr> element delimits the range in the query matching the index attribute specified by its name attribute. Cuando la coincidencia implica un sinónimo en la consulta de entrada, el atributo canonical contendrá el valor canónico que coincida con el sinónimo del índice.When the match involves a synonym in the input query, the canonical attribute will contain the canonical value matching the synonym from the index.

EjemploExample

En el ejemplo de publicaciones académicas, la siguiente solicitud devuelve hasta 2 sugerencias de finalización automática para la consulta de prefijo "papers by jaime":In the academic publications example, the following request returns up to 2 auto-completion suggestions for the prefix query "papers by jaime":

http://<host>/interpret?query=papers by jaime&complete=1&count=2

La respuesta contiene las dos primeras ("count=2") interpretaciones más probables que completan la consulta parcial "papers by jaime": "papers by jaime teevan" y "papers by jaime green".The response contains the top two ("count=2") most likely interpretations that complete the partial query "papers by jaime": "papers by jaime teevan" and "papers by jaime green". El servicio generó finalizaciones de consulta en lugar de considerar solo coincidencias exactas para el autor "jaime", porque la solicitud especificaba "complete=1".The service generated query completions instead of considering only exact matches for the author "jaime" because the request specified "complete=1". Observe que el valor canónico "j l green" coincide con el sinónimo "jamie green", tal como se indica en el análisis.Note that the canonical value "j l green" matched via the synonym "jamie green", as indicated in the parse.

{
  "query": "papers by jaime",
  "interpretations": [
    {
      "logprob": -5.615,
      "parse": "<rule name=\"#GetPapers\">papers by <attr name=\"academic#Author.Name\">jaime teevan</attr></rule>",
      "rules": [
        {
          "name": "#GetPapers",
          "output": {
            "type": "query",
            "value": "Composite(Author.Name=='jaime teevan')"
          }
        }
      ]
    },
    {
      "logprob": -5.849,
      "parse": "<rule name=\"#GetPapers\">papers by <attr name=\"academic#Author.Name\" canonical=\"j l green\">jaime green</attr></rule>",
      "rules": [
        {
          "name": "#GetPapers",
          "output": {
            "type": "query",
            "value": "Composite(Author.Name=='j l green')"
          }
        }
      ]
    }
  ]
}

Cuando el tipo de salida semántica es "query", como en este ejemplo, se pueden recuperar los objetos coincidentes pasando output.value a la API evaluate a través del parámetro expr.When the type of semantic output is "query", as in this example, the matching objects can be retrieved by passing output.value to the evaluate API via the expr parameter.

http://<host>/evaluate?expr=Composite(AA.AuN=='jaime teevan')