Siete métodos e ideas de optimización para analizar preguntas y responder preguntas
Los siete métodos mencionados aquí se resumen después de leer la literatura. No todos son maduros, estables y comercializados. El propósito es solo presentar ideas como referencia.
Los métodos basados en reglas se utilizan a menudo en ausencia de datos de entrenamiento. Debido a que es significativamente diferente de los métodos basados en estadísticas que aparecen a continuación, se registra como método cero.
Los sistemas de análisis basados en reglas generalmente constan de dos partes: una es la "base de reglas", y las reglas de análisis suelen ser gramática libre de contexto CFG, la otra es la base de datos de sinónimos, que registra algunos sinónimos comunes; en palabras estándar.
Todo el análisis sintáctico es un proceso de reducción gramatical libre de contexto. Primero, se realiza la segmentación automática de palabras y luego las palabras en las preguntas del usuario se reducen a palabras estándar de acuerdo con la base de datos de sinónimos, y luego las preguntas reducidas se comparan con las reglas de análisis en la base de datos de reglas. Una vez que la comparación es exitosa, la pregunta del usuario se restablece exitosamente a la pregunta estándar correspondiente a la regla de análisis.
Por ejemplo, hay dos registros en el diccionario de sinónimos: "Error: sin acceso, sin entrada, sin éxito, error" e "Inicio de sesión: iniciar sesión, iniciar sesión", y hay una regla en la base de reglas: "Error al iniciar sesión en la cuenta: [Cuenta][Iniciar sesión][Error]".
Un usuario preguntó "¿Por qué no puedo iniciar sesión en mi cuenta?". Primero, suponiendo que la segmentación de palabras es correcta, el resultado de la segmentación de palabras es "¿Cómo puedo | cuenta | iniciar sesión | no puedo iniciar sesión | luego reducir la palabra, y el resultado de la reducción de palabras es "¿Por qué? ¿No pude iniciar sesión con mi cuenta?"; luego compare la regla "Falló el inicio de sesión de la cuenta: [Cuenta][Inicio de sesión][Falló]" y descubrió que la comparación fue exitosa. Este problema del usuario se simplificó exitosamente en una pregunta estándar "Falló el inicio de sesión de la cuenta", y proporcionamos la respuesta estándar correspondiente a "Falló el inicio de sesión de la cuenta" en el sistema al usuario para completar el proceso de interacción.
Esto puede resolver el problema hasta cierto punto, pero las deficiencias también son particularmente graves. En primer lugar, la "base de reglas" y la "base de sinónimos" deben construirse manualmente, lo que requiere una inversión enorme y a largo plazo en recursos humanos. Debido a que las expresiones del lenguaje son teóricamente ilimitadas, las reglas y sinónimos que se pueden imaginar son siempre limitados y con el desarrollo del lenguaje o los cambios en los negocios, el mantenimiento de toda la base de reglas y tesauros también requiere una inversión continua en recursos humanos;
En segundo lugar, redactar una base de reglas requiere una amplia experiencia y una calidad del personal extremadamente alta. Dado que las reglas de análisis son bastante abstractas, a un nivel tan alto de abstracción, incluso si el escritor tiene una amplia experiencia (peor aún si no la tiene), los conflictos entre diferentes reglas de análisis son inevitables, es decir, la misma pregunta del usuario. serán Las reglas de análisis de múltiples preguntas estándar se compararon con éxito. En este caso, el problema de la selección/puntuación de preguntas estándar debe resolverse mediante otro sistema.
En otras palabras, podemos pensar en el proceso de encontrar preguntas estándar basadas en las preguntas de los usuarios como un proceso de búsqueda para ingresar una consulta para obtener documentos.
Podemos intentar utilizar el modelo de recuperación utilizado en los buscadores tradicionales para analizar los problemas de los usuarios. "Sobre los conceptos básicos de los motores de búsqueda (1)" menciona que BM25 es actualmente el mejor modelo de recuperación. Usaremos el modelo BM25 como ejemplo para el análisis.
La fórmula de cálculo del modelo BM25 es la siguiente:
La fórmula de cálculo del modelo BM25 combina cuatro factores: factor IDF, frecuencia de palabras del documento, factor de longitud del documento y palabra de consulta. Frecuencia. Se pueden ajustar libremente tres factores (k1, k2, B) para ajustar el peso de cada factor en la combinación.
Donde n representa el número total de documentos, n representa el número de documentos con las palabras correspondientes, f representa la frecuencia de palabras de la palabra correspondiente en el documento, qf representa la frecuencia de palabras de la palabra correspondiente en el declaración de consulta y dl representa la longitud del documento.
Existen tres formas de utilizar el modelo BM25. Utilizando preguntas estándar, preguntas estándar y respuestas estándar, y conjuntos de preguntas de usuario que se han emparejado correctamente con preguntas estándar en el historial como documentos, la similitud con las preguntas de los usuarios se calcula mediante una fórmula y luego se clasifican por similitud, y la pregunta estándar con el La puntuación más alta se toma como resultado del análisis.
No he probado esta idea, pero supongo que aunque este método ahorra mucha mano de obra, su rendimiento en este sistema de control de calidad de campo cerrado no debería ser tan bueno como el método anterior basado en reglas y el Método basado en modelos de recuperación. Funciona mejor en campo abierto.
Además, los métodos basados en modelos de recuperación tradicionales tendrán un defecto inherente, es decir, el modelo de recuperación solo puede manejar palabras superpuestas en consultas y documentos, mientras que los modelos de recuperación tradicionales no pueden manejar la correlación semántica de palabras. El primer método resuelve hasta cierto punto problemas relacionados con la semántica mediante un léxico artificial.
Como se mencionó anteriormente, los métodos basados enteramente en modelos de recuperación no pueden manejar la relevancia semántica de las palabras.
Para resolver este problema hasta cierto punto, podemos utilizar métodos como LDA/SMT para extraer las relaciones sinónimas entre palabras a través del corpus y crear automáticamente sinónimos para cada palabra con un grado de sinónimo superior. que el umbral, una lista de sinónimos de buen tamaño. Durante el proceso de cálculo de sustitución de la fórmula del modelo de recuperación, si se encuentran sinónimos de las palabras clave buscadas en el documento, se pueden multiplicar por un cierto peso según el grado de los sinónimos y luego incluirlos en el cálculo de frecuencia de palabras de las palabras clave. .
"Hablar sobre búsqueda inteligente y sistema operativo conversacional" tiene una introducción a LDA/SMT.
En pocas palabras, LDA puede clasificar razonablemente palabras en diferentes temas ocultos y al calcular la divergencia KL (entropía relativa) del vector de tema θ de los dos artículos, se puede obtener la similitud de los dos artículos. El modelo SMT proviene de Microsoft. Su propósito es introducir el modelo de traducción en el modelo de recuperación tradicional para mejorar la capacidad del modelo de recuperación para procesar pares de palabras relacionadas semánticamente. Baidu también utiliza este modelo para mejorar la calidad de los resultados arrojados por los motores de búsqueda.
Las incrustaciones de palabras representan palabras como representaciones distribuidas, es decir, vectores de palabras en un espacio vectorial de baja dimensión. Para palabras bajo representación distribuida, la distancia del coseno se puede utilizar para calcular la correlación semántica entre palabras. En correspondencia con la representación única, la dimensión del vector de palabras bajo la representación única es la misma que la dimensión del vocabulario, y los vectores de palabras de diferentes palabras son ortogonales. El modelo tradicional de conjunto de palabras (SOW) y el modelo de bolsa de palabras (BOW) utilizan una representación única.
Podemos utilizar métodos de aprendizaje profundo para obtener vectores de palabras representados por distribuciones de palabras. Por ejemplo, al entrenar un modelo de lenguaje probabilístico neuronal común, puede obtener el vector de palabra de la palabra, o puede entrenar un modelo CBOW o Skip-gram consultando el método en word2vec. La introducción de modelos de lenguaje probabilístico neuronal, CBOW y Skip-gram se menciona cuando se habla de búsqueda inteligente y sistema operativo conversacional.
Con la ayuda de Baidu, la idea de utilizar el modelado DNN es la siguiente:
Necesitamos utilizar un conjunto de ejemplos positivos y negativos de pares de preguntas de usuario y preguntas estándar. como corpus de entrenamiento. Con el método anterior, tanto los ejemplos positivos como los negativos se incrustan en palabras y se envían a DNN, y la diferencia semántica entre los ejemplos positivos y negativos se modela utilizando la pérdida de clasificación por pares.
El último método basado en DNN puede resolver el problema de la asociación semántica de palabras hasta cierto punto, pero no maneja adecuadamente las dependencias de corta distancia en oraciones, como la imposibilidad de distinguir "A a B". " y "B a A”.
Según los resultados de la evaluación de Baidu, CNN tiene un mejor desempeño en el manejo de dependencias de corta distancia.
La imagen proviene de ARC-1 en "Convective Neural Network Architecture for Matching Natural Language Sentences" del Dr. Li Hang:
La idea básica de este método es combinar Cada palabra se incrusta para obtener un vector de palabra de longitud fija correspondiente a cada palabra. Representamos la pregunta como una matriz bidimensional, y cada fila representa el vector de palabras correspondiente a la palabra correspondiente en la pregunta. Realice múltiples convoluciones en esta matriz bidimensional (el ancho del núcleo de convolución es el mismo que la dimensión del vector de palabras, y la altura es principalmente 2-5), y finalmente se obtiene un vector de características unidimensional. Usamos CNN para procesar preguntas de los usuarios y preguntas estándar al mismo tiempo, y obtener los vectores de características correspondientes a las preguntas de los usuarios y las preguntas estándar en la biblioteca. Luego, los dos vectores se concatenan y se envían a un perceptrón multicapa, que calcula la coincidencia entre los dos problemas.
Además, se señaló que si los dos vectores de características se empalman directamente y se envían al MLP, la información de límites se perderá, por lo que enviamos el vector de características A, el vector de características B y aTb al MLP al mismo tiempo para calcular el Gasto de similitud.
La estructura de ARC-2 también se deriva del artículo del Dr. Li Hang mencionado anteriormente:
La mejora de ARC-2 sobre ARC-1 es que ARC-2 obtiene ARC-1 similar. Antes de obtener la representación abstracta de alto nivel de los resultados, intentamos dejar que las dos oraciones interactúen en lugar de obtener sus respectivas representaciones abstractas de alto nivel a través de la estructura CNN.
En el modelo ARC-1, un mapa de características es solo un vector de columna, o una matriz unidimensional, y varios vectores de columna se combinan para formar el patrón (bidimensional) en el modelo ARC-1. diagrama esquemático, mientras que en ARC-2, un mapa de características se convierte en una matriz bidimensional, y varias matrices bidimensionales se superponen para formar el patrón (tridimensional) en el diagrama esquemático ARC-2.
Los procesos posteriores de convolución y agrupación son similares a CNN en CV. De manera similar al método anterior, la convolución 1D implica la conexión de dos vectores de palabras, y el método mencionado anteriormente también se puede utilizar para evitar la pérdida de información de límites.
Algunas personas también han sugerido que en la estructura ARC-2, no es la mejor solución utilizar directamente vectores de palabras obtenidos mediante el método tradicional de incrustación de palabras para formar oraciones como entrada. palabras ocultas que han sido procesadas por el estado LSTM.
Podemos usar la estructura LSTM para entrenar un modelo de lenguaje RNN, como se muestra en la siguiente figura (tomando RNN ordinario como ejemplo):
Se puede encontrar en la figura que cuando la salida es "E", el tercer componente oculto en el vector de capa es máximo, mientras que el primer componente es máximo cuando la salida es "L" y el segundo componente es máximo cuando la salida es "O". Podemos utilizar el estado oculto de RNN como vector de palabras de representación distribuida y como entrada de CNN (ARC-2). Después de las pruebas, podemos obtener mejores resultados.
Los resultados de segmentación de palabras altamente creíbles son el requisito previo básico para los pasos posteriores del análisis sintáctico.
En "Conceptos básicos del procesamiento del lenguaje natural (Parte 2)", presenté algunos métodos clásicos de segmentación de palabras, pero todos son resultados de investigación relativamente tempranos. El método CRF se reconoce actualmente como el algoritmo de segmentación de palabras más eficaz.
La idea del método CRF es muy sencilla: considerar el problema de segmentación de palabras como un problema de etiquetado de secuencia y etiquetar la posición de cada palabra en la oración:
El proceso de segmentación de palabras CRF consiste en etiquetar la posición de las palabras y luego formar participios entre las palabras B, E y S. Hay muchas herramientas públicas de segmentación de palabras basadas en CRF en Internet.
Existen al menos cuatro perspectivas que pueden mejorar aún más la calidad del análisis basado en los modelos existentes, que incluyen: normalización de preguntas, estado de usuario, aprendizaje por refuerzo y diálogo de múltiples rondas.
El propósito de la normalización de preguntas es tener una mejor tolerancia a fallas en la entrada del usuario.
Simples, como: normalización china simplificada y tradicional, normalización de ancho completo y medio ancho, procesamiento de puntuación y normalización de mayúsculas y minúsculas. Cosas más complejas, como la corrección de errores tipográficos chinos. La tecnología de corrección automática de errores se utiliza ampliamente y puede desempeñar un papel importante en la mejora de la experiencia del usuario del sistema. Se puede decir que es muy rentable.
Una práctica común para la corrección de errores tipográficos es entrenar un modelo de canal ruidoso.
Podemos extraer características de los estados de los usuarios y utilizarlas como información adicional como entrada a la red neuronal durante el entrenamiento y el análisis.
Los estados del usuario que se pueden considerar incluyen al menos:
En segundo lugar, el aprendizaje por refuerzo se puede utilizar para diseñar un mecanismo de recompensa razonable para que el sistema de análisis pueda actualizar de forma autónoma la estrategia durante el proceso. interacción con el medio ambiente.
En comparación con los métodos de aprendizaje supervisado ordinarios, el aprendizaje por refuerzo tiene dos ventajas obvias: en primer lugar, los datos necesarios para actualizar la estrategia de aprendizaje por refuerzo provienen principalmente de la interacción/muestreo con el entorno, en lugar de costosos datos de etiquetado manual; la otra es que la estrategia generada por el aprendizaje por refuerzo se actualiza de forma iterativa e independiente de acuerdo con el mecanismo de recompensa, y habrá algunas prácticas innovadoras, en lugar de simplemente imitar las prácticas "estándar" proporcionadas por los humanos.
Aunque el análisis de preguntas de control de calidad no tiene el concepto de "estrategia\juego innovador" como los juegos, la optimización del análisis aún puede ayudar a ahorrar muchos costos de marcado manual.
Uno de los temas centrales en la aplicación de métodos de aprendizaje por refuerzo es el diseño de mecanismos de recompensa. En el diseño del mecanismo de recompensa en escenarios de control de calidad, se pueden considerar al menos las siguientes perspectivas:
Múltiples rondas de tecnología de diálogo pueden mejorar aún más la coherencia del diálogo con los usuarios.
Tiendo a dividir el diálogo de múltiples rondas en dos escenarios: dominio cerrado y dominio abierto. Las ideas de implementación para diferentes escenarios deberían ser diferentes.
La característica del diálogo de múltiples rondas en un escenario de dominio cerrado es que el sistema puede resolver un conjunto limitado de problemas, y el propósito del diálogo de múltiples rondas es guiar a los usuarios hacia los problemas que podemos resolver.
La característica del diálogo de múltiples rondas en un escenario de dominio abierto es que los problemas que el sistema necesita resolver son un conjunto infinito. El propósito del diálogo de múltiples rondas es comprender con mayor precisión las necesidades del usuario. sobre el contexto.
Bajo esta ideología rectora, la idea central de un diálogo de múltiples rondas en un dominio cerrado debería ser "llenar el espacio", mientras que la idea central de un diálogo de múltiples rondas en un dominio abierto es "reemplazo de contexto" y "finalización de tema".
"Hablar sobre búsqueda inteligente y sistema operativo conversacional" presenta que Baidu utiliza tecnología de llenado de espacios para realizar NLU y utiliza "reemplazo de contexto" y "completación de temas" para mejorar sus capacidades conversacionales de DuerOS.
Además, la base técnica para llenar espacios, reemplazar contexto y completar temas es la "anotación de secuencia". Los siguientes son dos PPT de Baidu:
Según el PPT de Baidu, el uso de LSTM CRF bidireccional para el etiquetado de secuencias es un método comercialmente viable.
Elegir el momento adecuado para el acceso manual también es una de las formas de mejorar el rendimiento general del sistema de control de calidad. La cuestión central radica en equilibrar la experiencia del usuario y el costo de inversión. Cuanto antes se realice el acceso manual, mejor será la experiencia del usuario, pero mayor será el coste.
El siguiente es un método simple para brindar servicios de Ant Financial: si el sistema proporciona la misma respuesta al usuario tres veces seguidas, se mostrará un botón de entrada manual si el usuario hace preguntas de servicio al cliente; dos veces seguidas (como "Quiero "Manual" "¿Cuál es su número de teléfono de servicio al cliente?"), se mostrará un botón de entrada manual.
Otra parte importante del sistema de preguntas y respuestas es la biblioteca de respuestas.
La optimización de la entrada de respuestas se puede considerar desde al menos tres perspectivas:
La diversidad de formas de respuesta es muy fácil de entender. Por ejemplo, Maxiao Answers admite una variedad de formularios de respuesta que incluyen texto, enlaces, imágenes y videos.
El análisis y la optimización anteriores ya han implicado la personalización (teniendo en cuenta el análisis y la optimización del estado del usuario), y las ideas de análisis anteriores también se pueden aplicar a la entrada de respuestas. Podemos proporcionar diferentes respuestas personalizadas para usuarios con diferentes tiempos de registro, diferentes montos de pago, diferentes vías de acceso, etc.
La respuesta puede parecer abstracta pero fácil de entender. En general, personalmente califico las respuestas del sistema de control de calidad según el "nivel de mapa", el "nivel de navegación" y el "nivel de automóvil privado":
Según la clasificación de escena original del sistema de diálogo hombre-máquina , proporciona "El sistema de control de calidad para respuestas de "calificación automotriz" se puede llamar VPA.
Para la optimización de la biblioteca de respuestas, bajo la premisa de que las respuestas se ingresan completamente (el formulario de respuesta es lo suficientemente rico como para proporcionar respuestas personalizadas para diferentes usuarios), existen al menos dos puntos de optimización: p>
La idea de diseño del mecanismo de recompensa del método de aprendizaje por refuerzo en la optimización del análisis también se puede utilizar para descubrir problemas en la biblioteca de respuestas, porque a menudo es difícil distinguir claramente si los comentarios negativos del usuario están dirigidos a el sistema de análisis o la respuesta misma.
Además de descubrir problemas a partir de los comentarios negativos de los usuarios, para los dos puntos de optimización anteriores, también debemos tener algunos mecanismos preventivos para evitar estos problemas por adelantado.
Por ejemplo, el primer punto "las respuestas estándar en la biblioteca de respuestas son incorrectas", si no es un problema con la calidad del personal de entrada, el problema más probable proviene de la puntualidad de las respuestas. , es decir, hemos proporcionado a los usuarios respuestas caducadas. Para resolver este problema, podemos agregar una etiqueta "temporal" al ingresar la respuesta, lo que indica que la respuesta es muy urgente y debe actualizarse a tiempo.
En cuanto al segundo punto "faltan las respuestas a algunas preguntas en la biblioteca de respuestas", la mayor posibilidad proviene de emergencias y cambios comerciales. Por ejemplo, si el servicio del sistema no funciona, se instala una nueva versión del sistema o se organizan algunas actividades operativas, para estos cambios que pueden causar confusión entre los usuarios, debemos preparar algunas preguntas frecuentes con anticipación e ingresarlas en la respuesta. biblioteca.
Además, cuando ingresamos nuevos tipos de preguntas y sus respuestas estándar, debemos prestar atención a la adaptabilidad de los nuevos tipos de preguntas de entrada al sistema de análisis original para evitar la situación en la que los nuevos tipos de preguntas de entrada son difíciles de analizar por el sistema de análisis.
Los métodos que se pueden adoptar incluyen, por ejemplo, mientras se ingresan nuevas preguntas, ingresar activamente algunas preguntas diferentes como corpus de capacitación inicial (el enfoque del servicio al cliente de NetEase Qiyu Cloud).