Tutorial: Obtención de opiniones de expresiónTutorial: Get sentiment of utterance

En este tutorial va a crear una aplicación que muestra cómo determinar opiniones positivas, negativas y neutrales de expresiones.In this tutorial, create an app that demonstrates how to determine positive, negative, and neutral sentiment from utterances. Las opiniones se determinan a partir de la expresión completa.Sentiment is determined from the entire utterance.

En este tutorial, aprenderá a:In this tutorial, you learn how to:

  • Creación de una nueva aplicaciónCreate a new app
  • Agregar análisis de opiniones como configuración de publicaciónAdd sentiment analysis as publish setting
  • Entrenamiento de la aplicaciónTrain app
  • Publicación de aplicaciónPublish app
  • Obtener las opiniones de expresión del punto de conexiónGet sentiment of utterance from endpoint

Para este artículo, puede usar la cuenta de LUIS gratuita para crear la aplicación de LUIS.For this article, you can use the free LUIS account in order to author your LUIS application.

Análisis de sentimiento es una opción de publicaciónSentiment analysis is a publish setting

Las expresiones siguientes muestran ejemplos de opiniones:The following utterances show examples of sentiment:

OpiniónSentiment ScoreScore ExpresiónUtterance
positivapositive 0,910.91 John W. Smith hizo un gran trabajo en la presentación en París.John W. Smith did a great job on the presentation in Paris.
positivapositive 0,840.84 Los ingenieros de Seattle realizaron un excelente trabajo en el discurso de ventas de Parker.The Seattle engineers did fabulous work on the Parker sales pitch.

El análisis de opiniones es una configuración de publicación que se aplica a cada expresión.Sentiment analysis is a publish setting that applies to every utterance. No es necesario buscar las palabras que indican la opinión en la expresión y marcarlas.You do not have to find the words indicating sentiment in the utterance and mark them.

Dado que es una configuración de publicación, no lo ve en las páginas de entidades o intenciones.Because it is a publish setting, you do not see it on the intents or entities pages. Puede verlo en el panel de prueba interactiva o cuando se prueba en la dirección URL del punto de conexión.You can see it in the interactive test pane or when testing at the endpoint URL.

Creación de una nueva aplicaciónCreate a new app

  1. Inicie sesión en el portal de LUIS con la dirección URL https://www.luis.ai.Sign in to the LUIS portal with the URL of https://www.luis.ai.

  2. Seleccione Create new app (Crear nueva aplicación).Select Create new app.

    Captura de pantalla de la página My Apps (Mis aplicaciones) de Language Understanding (LUIS)Screenshot of Language Understanding (LUIS) My Apps page

  3. En el cuadro de diálogo emergente, escriba el nombre HumanResources y mantenga la referencia cultural predeterminada, English (Inglés).In the pop-up dialog, enter the name HumanResources and keep the default culture, English. Deje en blanco la descripción.Leave the description empty.

    Creación de una nueva aplicación LUIS de HumanResources

  4. Seleccione Listo.Select Done.

Incorporación de la entidad precompilada PersonNameAdd PersonName prebuilt entity

  1. Seleccione Compilar en el menú de navegación.Select Build from the navigation menu.

  2. Seleccione Entities (Entidades) en el menú de navegación izquierdo.Select Entities from the left navigation menu.

  3. Seleccione el botón Add prebuilt entity (Agregar entidad creada previamente).Select Add prebuilt entity button.

  4. Seleccione la siguiente entidad de la lista de entidades precompiladas y luego seleccione Done (Listo):Select the following entity from the list of prebuilt entities then select Done:

Creación de una intención para determinar los comentarios de los empleadosCreate an intent to determine employee feedback

Agregue una nueva intención para capturar los comentarios de los miembros de la empresa.Add a new intent to capture employee feedback from members of the company.

  1. Seleccione Intents (Intenciones) en el panel izquierdo.Select Intents from the left panel.

  2. Haga clic en Create new intent (Crear intención).Select Create new intent.

  3. Escriba el nombre de la intención nueva EmployeeFeedback.Name the new intent name EmployeeFeedback.

    Cuadro de diálogo Create new intent (Crear nueva intención) con EmployeeFeedback como nombre

  4. Agregue varias expresiones que indiquen que un empleado está haciendo algo bien o un área que necesita mejorar:Add several utterances that indicate an employee doing something well or an area that needs improvement:

    Grabaciones de vozUtterances
    John Smith realizó un buen trabajo al darle la bienvenida a una compañera de trabajo después del permiso de maternidad.John Smith did a nice job of welcoming back a co-worker from maternity leave
    Jill Jones realizó un gran trabajo al consolar a un compañero de trabajo en momentos de dolor.Jill Jones did a great job of comforting a co-worker in her time of grief.
    Bob Barnes no tenía todas las facturas necesarias para los trámites.Bob Barnes didn't have all the required invoices for the paperwork.
    Todd Thomas entregó los formularios necesarios con un mes de retraso y sin firmas.Todd Thomas turned in the required forms a month late with no signatures
    Katherine Kelly no asistió a la importante reunión de marketing fuera de las instalaciones.Katherine Kelly didn't make it to the important marketing off-site meeting.
    Denise Dillard se perdió la reunión para las revisiones de junio.Denise Dillard missed the meeting for June reviews.
    Mark Mathews fue la estrella de las ventas en Harvard.Mark Mathews rocked the sales pitch at Harvard
    Walter Williams realizó un gran trabajo en la presentación en Stanford.Walter Williams did a great job on the presentation at Stanford

    Seleccione View options (Ver opciones) y Show entity values (Mostrar valores de entidad) para ver los nombres.Select the View options, select Show entity values to see the names.

    Captura de pantalla de la aplicación de LUIS con expresiones de ejemplo en la intención EmployeeFeedbackScreenshot of LUIS app with example utterances in EmployeeFeedback intent

Incorporación de expresiones de ejemplo a la intención NoneAdd example utterances to the None intent

La aplicación cliente debe saber si una expresión no es significativa o adecuada para la aplicación.The client application needs to know if an utterance is not meaningful or appropriate for the application. La intención None se agrega a cada aplicación como parte del proceso de creación para determinar si la aplicación cliente no puede responder a una expresión.The None intent is added to each application as part of the creation process to determine if an utterance can't be answered by the client application.

Si LUIS devuelve la intención None para una expresión, la aplicación cliente puede preguntar al usuario si quiere finalizar la conversación o dar más instrucciones para continuarla.If LUIS returns the None intent for an utterance, your client application can ask if the user wants to end the conversation or give more directions for continuing the conversation.

Precaución

No deje la intención None vacía.Do not leave the None intent empty.

  1. Seleccione Intents (Intenciones) en el panel izquierdo.Select Intents from the left panel.

  2. Seleccione la intención None.Select the None intent. Agregue tres expresiones que el usuario podría solicitar pero que no son pertinentes para la aplicación de recursos humanos:Add three utterances that your user might enter but are not relevant to your Human Resources app:

    Expresiones de ejemploExample utterances
    Barking dogs are annoying (Los perros que ladran son molestos)Barking dogs are annoying
    Order a pizza for me (Pídanme una pizza)Order a pizza for me
    Penguins in the ocean (Pingüinos en el océano)Penguins in the ocean

Entrenamiento de la aplicación para probar los cambios en la intenciónTrain the app so the changes to the intent can be tested

  1. En la parte superior derecha del sitio web de LUIS, haga clic en el botón Entrenar.In the top right side of the LUIS website, select the Train button.

    Botón Train (Entrenar)

  2. El entrenamiento se completa cuando ve la barra de estado verde en la parte superior del sitio web que confirma que se ha realizado correctamente.Training is complete when you see the green status bar at the top of the website confirming success.

    Barra de estado que indica que el entrenamiento se realizó

Configuración de la aplicación para que incluya el análisis de opinionesConfigure app to include sentiment analysis

  1. Seleccione Manage (Administrar) en la navegación superior derecha y luego seleccione Publish settings (Publicar configuración) en el menú izquierdo.Select Manage in the top right navigation, then select Publish settings from the left menu.

  2. Seleccione Use sentiment analysis to determine if a user's utterance is positive, negative, or neutral (Usar análisis de opiniones para determinar si la expresión de un usuario es positiva, negativa o neutral).Select Use sentiment analysis to determine if a user's utterance is positive, negative, or neutral. para habilitar esta configuración.to enable this setting.

    Activación del Análisis de sentimiento como configuración de publicación

Publicación de la aplicación para que se pueda consultar al modelo entrenado desde el punto de conexiónPublish the app so the trained model is queryable from the endpoint

Para recibir una predicción de LUIS en un bot de chat u otra aplicación cliente, tiene que publicar la aplicación en el punto de conexión.In order to receive a LUIS prediction in a chat bot or other client application, you need to publish the app to the endpoint.

  1. Seleccione Publish (Publicar) en el panel de navegación superior derecho.Select Publish in the top right navigation.

    Botón de publicación en el punto de conexión de LUIS del menú superior derecho

  2. Seleccione el espacio Production (Producción) y haga clic en el botón Publish (Publicar).Select the Production slot and the Publish button.

    Publicación en el punto de conexión de LUIS

  3. La publicación se completa cuando ve la barra de estado verde en la parte superior del sitio web que confirma que se ha realizado correctamente.Publishing is complete when you see the green status bar at the top of the website confirming success.

    Publicación en el punto de conexión de LUIS

  4. Seleccione el vínculo endpoints (puntos de conexión) en la barra de estado verde para ir a la página Keys and endpoints (Claves y puntos de conexión).Select the endpoints link in the green status bar to go to the Keys and endpoints page. Las direcciones URL de los puntos de conexión se muestran en la parte inferior.The endpoint URLs are listed at the bottom.

Obtención de la opinión de una expresión desde el punto de conexiónGet the sentiment of an utterance from the endpoint

  1. En la sección Manage (Administrar) del menú superior derecho, en la página Keys and endpoints (Claves y puntos de conexión) del menú de la izquierda, seleccione la URL del punto de conexión al final de la página.In the Manage section (top right menu), on the Keys and endpoints page (left menu), select the endpoint URL at the bottom of the page. Esta acción abre otra pestaña del explorador con la dirección URL del punto de conexión en la barra de direcciones.This action opens another browser tab with the endpoint URL in the address bar.

    La dirección URL del punto de conexión es similar a https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.The endpoint URL looks like https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.

  2. Vaya al final de la dirección URL y escriba la siguiente expresión:Go to the end of the URL in the address and enter the following utterance:

    Jill Jones work with the media team on the public portal was amazing

    El último parámetro de la cadena de consulta es q, la expresión query.The last querystring parameter is q, the utterance query. Esta expresión no es la misma que cualquiera de las expresiones etiquetadas, por lo que es una buena prueba y debería devolver la intención EmployeeFeedback con el análisis de sentimiento extraído.This utterance is not the same as any of the labeled utterances so it is a good test and should return the EmployeeFeedback intent with the sentiment analysis extracted.

    {
      "query": "Jill Jones work with the media team on the public portal was amazing",
      "topScoringIntent": {
        "intent": "EmployeeFeedback",
        "score": 0.9616192
      },
      "intents": [
        {
          "intent": "EmployeeFeedback",
          "score": 0.9616192
        },
        {
          "intent": "None",
          "score": 0.09347677
        }
      ],
      "entities": [
        {
          "entity": "jill jones",
          "type": "builtin.personName",
          "startIndex": 0,
          "endIndex": 9
        }
      ],
      "sentimentAnalysis": {
        "label": "positive",
        "score": 0.8694164
      }
    }
    

    El análisis de sentimiento es positivo con una puntuación de 86 %.The sentimentAnalysis is positive with a score of 86%.

    Pruebe otra expresión, para lo que debe quitar el valor de q en la barra de direcciones del explorador: William Jones did a terrible job presenting his ideas. La puntuación de opiniones indica que si se devuelve una puntuación baja, la opinión es negativa0.18597582.Try another utterance by removing the value for q in the address bar of the browser: William Jones did a terrible job presenting his ideas. The sentiment score indicates a negative sentiment by returning a low score 0.18597582.

Limpieza de recursosClean up resources

Cuando ya no sea necesaria, elimine la aplicación de LUIS.When no longer needed, delete the LUIS app. Para hacerlo, seleccione My apps (Mis aplicaciones) en el menú superior izquierdo.To do so, select My apps from the top left menu. Seleccione los puntos suspensivos (...) a la derecha del nombre de la aplicación en la lista de aplicaciones y, después, seleccione Delete (Eliminar).Select the ellipsis (...) to the right of the app name in the app list, select Delete. En el cuadro de diálogo emergente Delete app? (¿Eliminar aplicación?), haga clic en Ok (Aceptar).On the pop-up dialog Delete app?, select Ok.

Pasos siguientesNext steps

Este tutorial agrega el análisis de opiniones como una configuración de publicación para extraer los valores de las opiniones de la expresión en su conjunto.This tutorial adds sentiment analysis as a publish setting to extract sentiment values from the utterance as a whole.