Descubre una nueva herramienta semántica para resolver los problemas más complejos de categorización de texto.
Webinar MeaningCloud, 18 de junio de 2019.
Más información y contenidos del webinar https://www.meaningcloud.com/es/blog/grabacion-webinar-resuelve-problemas-complejos-categorizacion-texto
MeaningCloud https://www.meaningcloud.com
2. MEANINGCLOUD - 2019
2
Ponente
Cómo vamos a funcionar
• Enviar preguntas de texto a través del chat
• “Levanta la mano” para hablar y abriremos tu micro
• Publicaremos enlace a webinar grabado y contenidos como tutoriales en blog
Antes de empezar
Antonio Matarranz
CMO
3. 3
MEANINGCLOUD – 2019
¿Por qué este webinar?
En el mundo real hay problemas
muy complejos de
categorización de texto
Un nuevo enfoque basado en el
análisis semántico los puede
solucionar
4. MEANINGCLOUD - 2019
4
Agenda
• Desarrollando modelos de categorización en el mundo
real
• Categorización basada en aprendizaje automático puro
• API de Categorización Profunda. Modelos predefinidos y
packs verticales
• La nueva Herramienta de Personalización de
Categorización Profunda. Lenguaje de reglas semánticas
• Caso real: desarrollo de un modelo de categorización
• Categorización Profunda – Clasificación de Texto.
¿Cuándo usar una u otra?
• Proceso ágil de desarrollo de modelos. Combinación
con aprendizaje automático
• Conclusiones y preguntas
5. MEANINGCLOUD - 2019
5
Categorización de texto en un mundo perfecto
Categorización basada
en Aprendizaje
Automático
Modelo
Texto de
entrada
Categorías
Entrenamiento del
Modelo
Textos de
entrenamiento
1. Usar aprendizaje automático
para entrenar un Modelo a partir
de corpus anotados
1) Recopilar corpus de textos
anotados
2) Representar cada texto
mediante vector de
características que modela
estructura y semántica
3) Entrenar un clasificador usando
un algoritmo de aprendizaje
supervisado adecuado (SVM,
Naïve Bayes, kNN, Deep
Learning…)
2. Categorizar texto de entrada
usando el Modelo
1. Entrenamiento
2. Ejecución
Humanos
etiquetando textos
6. 6
MEANINGCLOUD – 2019
Ventajas (y limitaciones) del aprendizaje automático
• Construir modelos es sencillo y rápido (si
se dispone de conjunto de entrenamiento
adecuado)
• Fácil adaptación a nuevos dominios
• Necesario disponer de conjunto de
entrenamiento suficiente
• Modelo de “caja negra” donde incorporar
nuevo conocimiento es difícil/imposible
• Alta “inercia”
• No justifica los resultados de la
categorización
7. MEANINGCLOUD - 2019
7
¿Os resulta familiar?
“Esta es nuestra
nueva taxonomía,
pero todavía se
puede mejorar.”
“¿Texto de
entrenamiento?
No tenemos
textos
etiquetados.”
“Es importante
diferenciar Madrid
(ciudad) de
Madrid (equipo de
fútbol), de Madrid
(apellido).”
“Para mañana hay
que cambiar los
nombres de todos
nuestros planes y
promociones.”
8. MEANINGCLOUD - 2019
8
El mundo real es muy difícil
PROBLEMAS
COMPLEJOS
Las categorías no están
definidas o están
evolucionando
No disponemos de corpus
de entrenamiento
adecuados
Se requiere una gran
precisión para
discriminar entre reglas
El contexto en general
es muy dinámico
ENORMES COSTES
DE DESARROLLO,
EXPLOTACIÓN Y
EVOLUCIÓN
9. MEANINGCLOUD - 2019
9
Necesitamos una manera diferente de hacer las cosas
Analítica
de Texto
Ágil
Generación
Rápida de
Modelos
Conocimiento
del Dominio
Incorporado
Configuración
y Refinamiento
Potentes
Aseguramiento
de la Calidad
Un proceso inherentemente
iterativo e incremental de
mejora continua
12. MEANINGCLOUD - 2019
12
La base de nuestra solución:
API de Categorización Profunda
Nuestra API para problemas complejos de categorización
Basada en el significado del texto
➢ Utiliza el análisis morfosintáctico y semántico profundo que realiza MeaningCloud
Categorización
Profunda
Modelo
Texto de
entrada
Categorías
13. MEANINGCLOUD - 2019
13
Modelos predefinidos de Categorización Profunda
Packs Verticales
IAB 2.0
Contenido web
Voz del
Cliente (*)
Feedback de
clientes
Voz del
Empleado (*)
Feedback de
empleados
Análisis de
Intención (*)
Fase en viaje
del cliente
(*) Incluido en Pack Vertical MeaningCloud
14. MEANINGCLOUD - 2019
14
Ahora totalmente personalizable
Categorización
Profunda
Modelo
Texto de
entrada
Categorías
Herramienta de
Personalización
Conocimiento
del dominio
(+ texto de
entrenamiento)
Herramienta de Personalización
15. MEANINGCLOUD - 2019
15
Una categorización basada en el significado del texto
Usar reglas (generalmente) definidas por humanos basadas en pattern matching
avanzado
1. Dividir el texto en palabras
2. Normalización (stemming/lematización, conversión mayúsculas/minúsculas, etc.)
3. Análisis morfosintáctico y semántico
4. Comprobar y aplicar reglas para detectar categorías
16. MEANINGCLOUD - 2019
16
Es una empresa difícil…
Me voy a comprar un iPhone
Me he comprado un iPhone
Nunca me compraré un iPhone
¿Washington?, ¿Qué Washington?
17. MEANINGCLOUD - 2019
17
Lenguaje de reglas semánticas
Modularidad
y
Reutilización
Operadores
y
Expresiones
Uso de
Información
Semántica
Abstracción
<Reglas> ->
#Categoría
18. MEANINGCLOUD - 2019
18
Características del lenguaje de reglas semánticas (1)
• Expresiones literales, regulares y frases (multipalabra)
• Operadores lógicos (AND, OR, AND NOT) y operador de proximidad
(NEAR)
• Lematización y función gramatical vs. formas exactas
L@produce vs. produces
[new L@product|L@service@N|L@process@N|L@value@N]~4 ->
#Management>Innovation
• Macros para agrupar palabras/expresiones semánticas y reutilizarlas en
diferentes reglas
MACRO {pet} = dog|cat|rabbit|turtle
19. MEANINGCLOUD - 2019
19
Características del lenguaje de reglas semánticas (2)
• Uso de entidades y conceptos detectados y sus tipos semánticos
S@Top>Organization>Company>FinancialCompany>BankingCompany
@instance AND NOT Bank_of_America ->
#BankAmericaCompetitors
S@Top>LivingThing>Animal::{pet}-> #NonPetAnimal
• Información geográfica
{travel} AND G@America>Canada -> #Travel>Canada
• Uso de categorías en las reglas (si el texto se clasifica o no en una
categoría puede usarse en las reglas)
#SpeedAgility AND #Channel>App -> #SpeedAgilityWithApp
• Robustez ante errores ortográficos (Bank of Amerca)
21. MEANINGCLOUD - 2019
21
Clasificación de tickets en el contact center
➢ Solicitud de información
➢ Precios y condiciones
➢ Bugs – Sitio web
➢ Bugs – APIs
➢ Bugs – Integraciones
Contact center de MeaningCloud
23. MEANINGCLOUD - 2019
23
Proceso
1. Escribir reglas a partir de un
conocimiento básico de las
categorías
2. Utilizar funciones avanzadas para
multiplicar cobertura y precisión
3. Aplicar desarrollo iterativo e
incremental para refinar y adaptar
a escenarios dinámicos
24. MEANINGCLOUD - 2019
24
Un caso sencillo
Categoría: Bug Report – Web
• Regla: Validation email
I didn’t receive the validation mail
I’m still waiting for the confirmation email
I’m waiting on confirmation that you have received my e-mail
receive|wait AND "validation|confirmation e-?mail|mail"
Lema: “I didn’t receive”, “I’m waiting”…
Expresión multipalabra literal: “validation mail”, “confirmation email”…
Expresión regular: ”mail”, “email”, “e-mail”
25. 25
MEANINGCLOUD – 2019
Incorporando información semántica (1)
Categoría: Bug Report – APIs
• Regla: API error
Categoría: Bug Report - Integrations
• Regla: Integration error
I‘m having issues with the sentiment API
I am trying to install the VoE plugin but keep receiving the below error
<Mención de MeaningCloud API>AND error|bug|issue|problem
<Mención de MeaningCloud Integration>AND error|bug|issue|problem
26. MEANINGCLOUD - 2019
26
Incorporando información semántica (2)
Creación de un diccionario a medida
• Entidades y conceptos, con su
información semántica
• Usarlos en las reglas
Topics Extraction
Text Classification
Sentiment Analysis
Deep Categorization
Summarization
…
API
Top
Product
Integration
Excel add-in
GATE plug-in
Google Sheets add-on
RapidMiner extension
Zapier app
…
27. MEANINGCLOUD - 2019
27
Incorporando información semántica (3)
S@Top>Product>API AND error|bug|issue|problem
S@Top>Product>Integration AND error|bug|issue|problem
Cualquier mención de un producto de tipo API
Cualquier mención de un producto de tipo Integración
28. MEANINGCLOUD - 2019
28
Modularidad y reutilización aplicando macros
Ej.: error|bug|issue|problema aparece en múltiples contextos y reglas
{error} = error|issue|problem|bug
{agent} = representative|agent|someone|engineer
S@Top>Product>API AND {error}
S@Top>Product>Integration AND {error}
Reutilización modular
29. MEANINGCLOUD - 2019
29
Utilizando categorías dentro de las reglas
• Conflictos entre categorías
• Reglas que dependen de que se cumplan categorías
Hi, I’ve received an error message when using
the sentiment analysis tool for Excel that says
“you don’t have access to this sm/model yet”
Bug Report – APIs
o
Bug Report - Integrations
#BR-INT AND #BR-API -> #BR-API
Si se dan las dos categorías, excluir Bug Report – APIs
31. 31
MEANINGCLOUD – 2019
Ventajas (y limitaciones) de las reglas semánticas
• Modelo de “caja blanca”, donde
incorporar nuevo conocimiento es fácil
• Baja “inercia”
• Los errores son fáciles de corregir
• La exactitud puede ser tan alta como se
desee
• No requiere corpus de entrenamiento
etiquetado
• Justifica el resultado de la categorización
• El desarrollo de modelos exige esfuerzo
(pero menos que etiquetar manualmente
un conjunto de entrenamiento)
• Adaptar a nuevos dominios resulta
relativamente caro
33. 33
MEANINGCLOUD – 2019
Comparación de APIs: Categorización Profunda –
Clasificación de Texto. ¿Cuándo usar una u otra?
API Clasificación de Texto
(Aprendizaje automático +
Reglas básicas)
• Categorías bien definidas y fijas
• Modelos muy grandes
• Se dispone de textos de entrenamiento
• Escenario relativamente estático
API Categorización Profunda
(Reglas semánticas)
• Categorías mal definidas o en evolución
• Modelos no muy grandes
• No se dispone de textos de
entrenamiento
• Se requiere una gran precisión para
discriminar entre categorías
• Escenario dinámico
• Se necesita justificar categorías
34. MEANINGCLOUD - 2019
34
Proceso ágil de desarrollo de modelos. Combinación con
aprendizaje automático – Opción 1
Categorización
mediante Aprendizaje
Automático (ML)
Categorización
Profunda
Modelo de
Reglas
Modelo ML
Texto de
entrada
Categorías
intermedias
Categorías
Entrenamiento de
modelo
Editor de
Modelos
Textos de
entrenamiento
Editor de reglas
Motor de categorización
automática
Motor de entrenamiento de
clasificador
Motor de clasificación
Desarrollo rápido de modelos y alta
precisión desde el principio
Transparencia, refinamiento y adaptación
35. MEANINGCLOUD - 2019
35
Proceso ágil de desarrollo de modelos. Combinación con
aprendizaje automático – Opción 2
Categorización
Profunda
Modelo de
Reglas
Texto de
entrada
Categorías
Editor de
Modelos
Motor de Expansión
de Reglas
Motor de Generación
de Modelos
Texto de
entrenamiento
Consola de QA
Motor de categorización automática
Herramienta de aseguramiento de la calidad
Editor de reglas
Generación de reglas a partir de datos de
entrenamiento
Mejora de reglas a partir de datos de entrenamiento, ej., Word Embeddings
Métricas de
calidad
Desarrollo rápido
del modelo de
reglas
Ayuda al
refinamiento
iterativo
36. MEANINGCLOUD - 2019
36
Caso de cliente: categorización de llamadas a contact center
de telco
• Categorización automática de los resúmenes de llamadas registrados por los operadores para extraer el motivo
(causa raíz) de la llamada
• Objetivo: aumentar satisfacción y reducir llamadas al contact center
• Retos:
– Modelo complejo de alta dimensionalidad
▪ 3 niveles: área funcional + motivo + submotivo/producto
▪ 56 categorías en nivel 1, 1.615 categorías en total
– Elevado solapamiento semántico
– Textos con capitalización incorrecta y abundantes erratas
– Categorías modulares, necesidad de reutilización de definiciones
– Necesidad de evolución en el tiempo
– 10 jornadas
• Solución:
– Empleo abundante de macros y categorías “virtuales”
– Reglas complejas
– Expansión de reglas usando Word Embeddings para descubrir sinónimos y términos relacionados
– Modelo final con 800 macros y 2.395 reglas
– Cobertura del 80% de los textos
– Precisión final: 78% en nivel 1, 75% exact-match
37. MEANINGCLOUD - 2019
37
Caso de cliente: categorización de mensajes de correo
electrónico en banca
• Categorización automática de mensajes de correo electrónico en el contact center
• Objetivo: enrutamiento automático al área encargada
• Retos:
– Modelo con 3 dimensiones ortogonales (motivo + producto/servicio + satisfacción), 39
categorías en total
– 3 idiomas diferentes
– Mucho solapamiento semántico
– Escenario multilabel (varias etiquetas permitidas)
– 4 semanas
• Solución
– Un modelo por idioma
– Uso de diccionarios de productos/servicios
– Empleo abundante de macros
– Reglas con pesos para cálculo de relevancia
– Modelo con 590 – 733 reglas, en función de idioma
– Precisión final: 70% motivo, 75% producto/servicio, 93% satisfacción
38. 38
MEANINGCLOUD – 2019
En conclusión
Los problemas complejos de
categorización de texto OCURREN
Dale una oportunidad a nuestro
proceso ágil de desarrollo
40. MEANINGCLOUD - 2019
40
Permaneced atentos a nuestros emails y blog
Pronto publicaremos la grabación del webinar y los
contenidos en forma de tutorial
41. 41
MEANINGCLOUD - 2019 www.meaningcloud.com
Automating the extraction of Meaning from any information source.
+1 (646) 403-31043537 36th Street
New York, NY 11106
amatarranz@meaningcloud.com
¡Gracias por vuestra atención!