Analizar el texto para evaluar la satisfacción con el hotel

Este tutorial te ayuda a analizar texto mediante el uso de nodos especializados en el manejo de texto. Por ejemplo, puede realizar un análisis de opiniones.

En este tutorial, el gerente de un hotel quiere analizar las reseñas del hotel para saber qué opinan los clientes. Los comentarios expresan opiniones sobre el personal del hotel, comodidad, limpieza, precio, y otras áreas de interés.

Figura 1. Gráfico de opiniones positivas
Gráfico de opiniones positivas. Muestra términos y frases como, por ejemplo, la ubicación, el presupuesto y las comodidades del hotel. Estos términos varían en función de su importancia. Ellos organizaron el término central más importante que está en el centro y es el más grande.
Figura 2. Gráfico de opiniones negativas
Gráfico de opiniones negativas. Muestra términos y frases como, por ejemplo, la ubicación, el presupuesto y las comodidades del hotel. Estos términos varían en función de su importancia. Ellos organizaron el término central más importante que está en el centro y es el más grande.

Vista previa del tutorial

Ver vídeo Mira este vídeo para ver un avance de los pasos de este tutorial. Puede haber ligeras diferencias en la interfaz de usuario que se muestra en el vídeo. El vídeo está pensado como complemento del tutorial escrito. Este vídeo ofrece un método visual para aprender los conceptos y tareas que se describen en esta documentación.

Prueba el tutorial

En este tutorial, completarás las siguientes tareas:

Flujo del modelador de muestras y conjunto de datos

Este tutorial utiliza el flujo «Hotel Satisfaction» del proyecto de ejemplo. El flujo utiliza nodos de Text Analytics para analizar revisiones ficticias sobre el hotel. El archivo de datos utilizado es hotelSatisfaction.csv. La siguiente imagen muestra el flujo del modelador de muestra.

Flujo completado
La siguiente imagen muestra el conjunto de datos de muestra.
Conjunto de datos de muestra

Tarea 1: Abrir el proyecto de ejemplo

El proyecto de ejemplo contiene varios conjuntos de datos y flujos de modelador de ejemplo. Si aún no tiene el proyecto de ejemplo, consulte el tema Tutoriales para crear el proyecto de ejemplo. A continuación, siga estos pasos para abrir el proyecto de ejemplo:

  1. En el menú watsonxMenú de navegaciónNavegación, seleccione Proyectos > Todos los proyectos.
  2. Haga clic en el proyecto « SPSS Modeler ».
  3. Haga clic en la pestaña Activos para ver los conjuntos de datos y los flujos del modelador.

Icono de punto de control Comprueba tu progreso

La siguiente imagen muestra la pestaña Activos del proyecto. Ahora ya está listo para trabajar con el flujo del modelador de muestras asociado a este tutorial.

texto alt

Volver al inicio

Tarea 2: Examinar el nodo de activos de datos

Hotel Satisfaction incluye varios nodos. Siga estos pasos para examinar el nodo Activo de datos:

  1. En la pestaña Activos, abra el flujo del modelador Hotel Satisfaction y espere a que se cargue el lienzo.
  2. Haga doble clic en el nodo « hotelSatisfaction.csv ». Este nodo es un nodo de activos de datos que apunta al archivo hotelSatisfaction.csv del proyecto.
  3. Revise las propiedades del formato de archivo.
  4. Opcional: Haga clic en Vista previa de datos para ver el conjunto de datos completo.

Icono de punto de control Comprueba tu progreso

La siguiente imagen muestra el nodo Data Asset. Ahora ya está listo para examinar el nodo Text Mining.

Nodo Filtrar

Volver al inicio

Tarea 3: Examinar el nodo Text Mining

La minería de textos es un proceso iterativo que identifica conceptos y patrones relevantes en los datos de texto. Cuando ejecuta el nodo Text Mining, el motor de extracción lee los datos de texto, identifica los conceptos relevantes y asigna un tipo a cada uno. A continuación, puede revisar los resultados de la extracción utilizando el Text Analytics Workbench para ajustar el proceso de extracción. Puede volver a ejecutar el nodo Text Mining para obtener nuevos resultados y, a continuación, evaluar los nuevos resultados. Observe el nodo Tipo entre el nodo Activo de datos y el nodo Minería de texto. El nodo Tipo es necesario para identificar correctamente los campos del conjunto de datos. Siga estos pasos para examinar el nodo Text mining :

  1. Haga doble clic en el nodo Comentarios (minería de texto) para ver sus propiedades.
  2. Configure estas propiedades en la sección Campos :
    1. En el campo Texto, seleccione Comentarios.
    2. Para el campo ID, selecciona id.
      Nota: Solo es obligatorio rellenar el campo Texto.
      Figura 3. Propiedades del nodo Minería de textos
      Propiedades de creación del nodo Text Mining. Muestra algunos ajustes de campo en la ventana, como el campo Texto y el campo ID.
  3. En la sección Modelo, observe que el paquete de análisis de texto seleccionado es Satisfacción con el hotel (inglés)/Tema + Opinión.

    Un paquete de análisis de texto (TAP) es un conjunto predefinido de bibliotecas y recursos lingüísticos y no lingüísticos avanzados, que se agrupan con uno o más conjuntos de categorías predefinidas. Si ningún paquete de análisis de texto es relevante para su aplicación, puede seleccionar una plantilla de recursos en su lugar. Una plantilla de recursos es un conjunto predefinido de bibliotecas y recursos lingüísticos y no lingüísticos avanzados que se han ajustado para un dominio o uso concreto.

  4. En la sección Modelos de compilación, configure estas propiedades:
    1. Comprueba que el campo Modos de compilación esté configurado en Compilar de forma interactiva (nugget del modelo de categoría). Más tarde, cuando ejecute el nodo, esta opción iniciará Text Analytics Workbench, una interfaz interactiva en la que podrá explorar y ajustar los resultados de la extracción.
    2. Comprueba que el campo «Iniciar sesión por» esté configurado en «Extracción de conceptos y enlaces de texto ». La opción «Extraer conceptos» extrae solo conceptos, mientras que la extracción TLA genera tanto conceptos como enlaces de texto que son conexiones entre temas (como servicio, personal y comida) y opiniones.
  5. Expanda la sección Experto y compruebe que la opción Aceptar ortografía para una longitud mínima de caracteres de palabra está seleccionada con un límite ortográfico de 5. Esta opción aplica una técnica de agrupación difusa que ayuda a agrupar bajo un concepto las palabras que suelen contener algún error ortográfico o que tienen una ortografía parecida. El algoritmo de agrupación difusa elimina temporalmente las consonantes dobles o triples y todas las vocales (excepto la primera) de las palabras extraídas. A continuación, los compara para ver si son iguales. Por ejemplo, location y locattoin están agrupados.

    Figura 4. Propiedades expertas del nodo Text Mining.
    Propiedades expertas del nodo Text Mining. Muestra la configuración de propiedades del nodo Text Mining. Algunos de los principales grupos de ajustes son Ajustes, Modelos de compilación y Experto. En el grupo Experto hay casillas de verificación para configurar opciones como Aceptar ortografía con un límite mínimo de caracteres raíz, Extraer términos unitarios, Extraer entidades no lingüísticas, Algoritmo de mayúsculas, Agrupar nombres de personas parciales y completos cuando sea posible y Usar derivación al agrupar sustantivos compuestos.
  6. Pulse en Guardar.
  7. Pase el cursor sobre el nodo Comentarios (minería de texto) y haga clic en el icono Icono de ejecuciónEjecutar.
  8. En el panel Resultados y modelos, haga clic en los resultados con el nombre Comentarios para abrir el Workbench de análisis de texto.

Icono de punto de control Comprueba tu progreso

La siguiente imagen muestra el banco de trabajo de análisis de texto. Ahora ya está listo para ajustar los resultados.

Banco de trabajo de análisis de texto

Volver al inicio

Tarea 4: Ajustar los resultados en el banco de trabajo de análisis de texto.

El banco de trabajo de análisis de texto contiene los resultados de la extracción y el modelo de categorías incluido en el paquete de análisis de texto. Es un banco de trabajo interactivo en el que se pueden explorar y ajustar los resultados extraídos, crear y perfeccionar categorías, y crear fragmentos de modelos de categorías. Siga estos pasos para ajustar los resultados en Text Analytics Workbench:

Conceptos

  1. Haga clic en la pestaña Conceptos.

    Durante el proceso de extracción, se analizan los datos del texto para identificar palabras sueltas interesantes o relevantes, como airport o location, y frases como airport pick-up. Estas palabras y frases se conocen colectivamente con el nombre de términos. Utilizando los recursos lingüísticos, se extraen los términos relevantes y se agrupan los términos similares bajo un término principal denominado concepto.

    De esta manera, un concepto puede representar varios términos subyacentes. Depende de cómo se utilice el término en tu texto y del conjunto de recursos lingüísticos que estés utilizando.

  2. Haga clic en el icono Filtro. Icono de filtro
  3. También puede utilizar un filtro para seleccionar un subconjunto de conceptos. La siguiente imagen muestra las diferentes opciones:

    Figura 5. Entorno de trabajo de análisis de texto: opciones de filtro
    Entorno de trabajo de análisis de texto: opciones de filtro

    Si desea eliminar los filtros y mostrar todos los conceptos, haga clic en Borrar filtro.

    Haga clic en Cancelar para cerrar el panel Filtro.

Enlaces de texto

  1. Haga clic en la pestaña Enlaces de texto.

    El análisis de enlaces de texto (TLA) es una tecnología de comparación de patrones que compara las reglas TLA con los conceptos y relaciones extraídos que se encuentran en el texto. En la pestaña Enlaces de texto, puede crear y explorar los patrones TLA que se encuentran en sus datos de texto.

  2. Seleccione un patrón de tipo (por ejemplo, <Servicios> + <Positivo> para ver una vista previa del texto en el documento. Si el texto de la vista previa del documento aparece truncado, haga clic en el icono Ver Ver icono del documento completo documento completo para mostrar el texto completo.
    Entorno de trabajo de análisis de texto: pestaña Enlaces de texto. Muestra los patrones de tipo en la pestaña Enlace de texto. A un lado se encuentra el panel Vista previa, que contiene una tabla con tres columnas. Las tres columnas son Entrada, Vista previa del documento y Ruta de categoría.

Categorías

  1. Haga clic en la pestaña Categorías.

    Puedes crear y gestionar tus categorías. Una vez extraídos los conceptos y tipos de los datos de texto, puede comenzar a crear categorías automáticamente utilizando técnicas como la inclusión de conceptos, la red semántica (solo en inglés) o manualmente.

    Dado que este ejemplo de flujo utiliza una plantilla de paquete de análisis de texto, el modelo de categoría ya está rellenado.

  2. Haga clic en «Calificar todo» para calificar los documentos o registros. Cada vez que se crea o actualiza una categoría, se puede ver si algún texto coincide con un descriptor de una categoría específica. Si se encuentra una coincidencia, el documento o registro se asigna a esa categoría. El resultado es que la mayoría, si no todos, los documentos o registros se asignan a categorías basadas en los descriptores de las categorías.
  3. Expanda una categoría, por ejemplo, Servicios del hotel > Limpieza > Neg > No se ha limpiado.
  4. Vea los documentos en la pestaña Vista previa y la pestaña Descriptores para ver los datos de origen.

Icono de punto de control Comprueba tu progreso

La siguiente imagen muestra la vista previa del documento para la categoría Limpieza. Ahora ya está listo para construir el modelo.

Nodo Rellenar

Volver al inicio

Tarea 5: Construir el modelo

Una vez que haya terminado de ajustar el proceso de extracción, puede generar un modelo de categorías a partir de las personalizaciones y las categorías que ha creado. Siga estos pasos para crear e implementar el modelo:

  1. Haga clic en Generar un modelo para generar un modelo de categoría.
    Imagen que muestra el botón para generar un modelo
  2. Haga clic en Crear para confirmar que desea generar un modelo de categoría.
  3. Cuando veas «¡Éxito!», Mensaje: Haga clic en Volver al flujo.
  4. Haga clic en Guardar y salir para guardar los cambios y el nodo Text Mining en el flujo.
    El fragmento del modelo de categoría generado se muestra en el lienzo de flujo.
    Figura 6. Nugget del modelo de categoría generado
    Nugget del modelo de categoría generado. Muestra un flujo con un nodo de minería de texto y un fragmento de modelo de categoría.
  5. Observe los dos nodos del modelo de satisfacción en el flujo de ejemplo. Ahora que Text Analytics Workbench ha validado y generado un modelo de categorías, puede implementarlo en su flujo y puntuar el mismo conjunto de datos o puntuar datos nuevos. Cada modelo utiliza un modo diferente para la puntuación.
    Figura 7. Flujo de ejemplo con dos modos de puntuación
    Flujo de ejemplo con dos modos de puntuación
  6. Haga doble clic en el primer nodo del modelo de satisfacción.
    1. Expanda la sección Configuración para ver que este nodo utiliza el modo de puntuación Categorías como campos. Con este modo de puntuación, hay tantos registros de salida como había en la entrada.
    2. Haga clic en Vista previa de datos. Ahora puede ver que cada registro contiene un nuevo campo para cada categoría seleccionada en la pestaña Modelo. Para cada campo, especifique un valor de marca para true y false, como por ejemplo True/False o 1/0. En este flujo, los valores se establecen en 1 y 0 para agregar resultados y contabilizar el número de respuestas positivas, negativas, mixtas (tanto positivas como negativas) o sin puntuación (sin opinión).

      Figura 8. Resultados del modelo: categorías como campos (1).
      Resultados del modelo: categorías como campos. Es una tabla con las columnas ID, Comentarios, Género, Motivo, Negativo, Positivo, Contrario y Sentimiento. Las entradas de la columna ID son números. Las entradas de la columna Comentarios muestran frases cortas extraídas del texto. Por ejemplo, una entrada dice «muy tranquilo, pero muy caro». Las entradas de la columna «Motivo» indican si el viaje fue por negocios o por placer. Neg y Pos muestran un recuento de sentimientos negativos y positivos para cada frase corta. El sentimiento muestra si la reseña fue positiva (solo números en la columna Pos), negativa (solo números en la columna Neg) o mixta (números en las columnas Neg y Pos).
    3. Cierre la ventana de vista previa.
    4. Haga clic en Cancelar.
  7. Haga doble clic en el segundo nodo Modelo de satisfacción.
    1. Expanda la sección Configuración para ver que este nodo utiliza las Categorías como modo de puntuación de registros. Se crea un nuevo registro para cada category, document par. Generalmente, hay más registros en la salida que los que había en la entrada.
    2. Haga clic en Vista previa de datos. Se puede observar que, junto con los campos de entrada, también se añaden nuevos campos a los datos dependiendo del tipo de modelo.

      Figura 9. Resultados del modelo: categorías como registros (2).
      Resultados del modelo: categorías como registros. Es una tabla con las columnas ID, Comentarios, Género, Motivo, Categoría y Sentimiento. Las entradas de la columna ID son números. Las entradas de la columna Comentarios muestran frases cortas extraídas del texto. Por ejemplo, una entrada dice «muy tranquilo, pero muy caro». Las entradas de la columna «Motivo» indican si el viaje fue por negocios o por placer. Neg y Pos muestran un recuento de sentimientos negativos y positivos para cada frase corta. El sentimiento muestra si la reseña fue positiva (solo números en la columna Pos), negativa (solo números en la columna Neg) o mixta (números en las columnas Neg y Pos).
    3. Cierre la ventana de vista previa.
    4. Haga clic en Cancelar.

Icono de punto de control Comprueba tu progreso

La siguiente imagen muestra el modelo de satisfacción con una vista previa del documento. Ahora ya está listo para visualizar los comentarios.

Nodo modelo

Volver al inicio

Tarea 6: Visualizar los comentarios

Puede obtener información rápida sobre lo que los huéspedes aprecian del hotel visualizando los comentarios. Siga estos pasos para crear un gráfico de nube de palabras:

  1. Selecciona los comentarios positivos:
    1. En la paleta, expanda la sección Operaciones de grabación.
    2. Arrastra el nodo Seleccionar al lienzo.
    3. Conecta el supernodo Derive Sentiment al nodo Select.
    4. Haga doble clic en el nodo Seleccionar para ver sus propiedades.
    5. Para el Modo, seleccione Incluir.
    6. Para la condición, escriba Sentiment = "Pos".
    7. Pulse en Guardar.
  2. Añadir un gráfico:
    1. En la paleta, expanda la sección Gráficos.
    2. Arrastra el nodo Gráficos al lienzo.
    3. Conecta el nodo Select al nodo Charts.
  3. Crea un gráfico de nube de palabras:
    1. Haga doble clic en el nodo Gráficos para ver sus propiedades.
    2. Haga clic en Iniciar el generador de gráficos.
    3. Para visualizar las columnas, seleccione Comentarios.
    4. Muestra la lista de todos los tipos de gráficos y selecciona Nube de palabras.

      Figura 10. Todos los tipos de gráficos
      Todos los tipos de gráficos
  4. Cuando hayas terminado, haz clic en Volver al flujo.

Icono de punto de control Comprueba tu progreso

La siguiente imagen muestra un gráfico de nube de palabras. Ahora está listo para examinar el nodo Análisis de enlaces de texto.

Gráfico de nube de palabras

Volver al inicio

Tarea 7: Examinar el nodo Análisis de enlaces de texto

En ocasiones, es posible que no sea necesario crear un modelo de categoría para puntuar. El nodo Análisis de enlaces de texto añade una tecnología de coincidencia de patrones a la extracción de conceptos del análisis de texto. El nodo Análisis de enlaces de texto identifica las relaciones entre los conceptos de los datos de texto basándose en patrones conocidos. Estas relaciones pueden describir la sensación de un cliente respecto a un producto, las empresas que están haciendo negocios juntas o hasta las relaciones entre genes o agentes farmacéuticos. Siga estos pasos para examinar el nodo Análisis de enlaces de texto :
Nodo Análisis de enlaces de texto
  1. Haga doble clic en el nodo Análisis de enlace de texto para ver sus propiedades.
  2. Configure estas propiedades en la sección Campos :
    1. En el campo Texto, seleccione Comentarios.
    2. Para el campo ID, selecciona id.
      Nota: Solo es obligatorio rellenar el campo Texto.

      Figura 11. Propiedades del nodo Análisis de enlaces de texto FIELD.
      Propiedades del nodo Análisis de enlaces de texto FIELD. Muestra ajustes de campo como el campo ID, el campo Texto, el campo Idioma, el Tipo de documento, la Unidad textual y los ajustes del modo Párrafo.
  3. En la sección Copiar recursos de, observe que la plantilla de recursos seleccionada es Satisfacción con el hotel (inglés).

    Una plantilla de recursos es un conjunto predefinido de bibliotecas y recursos lingüísticos y no lingüísticos avanzados que se han ajustado para un dominio o uso concreto.

  4. Expanda la sección Experto y compruebe que la opción Aceptar ortografía para una longitud mínima de caracteres de palabra está seleccionada con un límite ortográfico de 5.

    Figura 12. Nodo Análisis de enlaces de texto Propiedades avanzadas.
    Nodo Análisis de enlaces de texto Propiedades avanzadas. Muestra casillas de verificación para configuraciones tales como Aceptar ortografía con un límite mínimo de caracteres raíz, Extraer términos unitarios, Extraer entidades no lingüísticas, Algoritmo de mayúsculas, Agrupar nombres de personas parciales y completos cuando sea posible y Usar derivación al agrupar sustantivos compuestos.
  5. Pulse en Guardar.
  6. Pase el cursor sobre el nodo de salida Raw TLA y haga clic en el icono Icono de ejecuciónEjecutar.
  7. En el panel Resultados y modelos, haga clic en los resultados con el nombre Resultado TLA sin procesar para ver los resultados.

    Figura 13. Salida TLA sin procesar.
    Salida TLA sin procesar. Es una tabla con columnas como « Concept1 », « Type1 », « Concept2 », « Type2 », «ID» y «Matched text». Las entradas para las columnas conceptuales son palabras como «habitación» o «aparcamiento». Las entradas para las columnas de tipo son palabras como Presupuesto o Servicios. Las filas muestran cómo un concepto está relacionado con un tipo u otros conceptos. Cada fila también muestra cómo aparecen estas palabras en el texto.

    Figura 14. Recuento de opiniones en un nodo TLA.
    Recuento de opiniones en un nodo TLA. Es una tabla con las columnas ID, Comentarios, Pos_Count_Sum y Neg_Count_Sum. Las entradas de la columna ID son números para cada fila. Las entradas de la columna Comentarios muestran frases cortas extraídas del texto. Por ejemplo, una entrada dice: «Habitaciones cómodas, desayuno excepcional y buen servicio». Las entradas de las columnas Pos_Count_Sum y Neg_Count_Sum muestran números que cuentan el número de sentimientos positivos o negativos para cada frase corta. Por ejemplo, en la frase anterior, se contabilizaron tres sentimientos positivos.

Icono de punto de control Comprueba tu progreso

La siguiente imagen muestra el flujo completado.

Flujo completado

Volver al inicio

Resumen

Este flujo de satisfacción hotelera le mostró cómo un gerente de hotel podría analizar las reseñas del hotel para ver las opiniones expresadas por los clientes sobre el personal del hotel, la comodidad, la limpieza, el precio y otras áreas de interés. Este flujo ilustra dos formas de analizar datos de texto, utilizando un nodo de minería de texto o un nodo de análisis de enlaces de texto.

Próximos pasos

Ahora ya estás listo para probar otros SPSS® Modeler tutoriales.