Lo que AI PM debe saber sobre el procesamiento del lenguaje natural (PNL).
1. ¿Qué es la PNL?
La PNL, llamada procesamiento del lenguaje natural en chino, es una disciplina que permite a los ordenadores comprender, analizar y generar el lenguaje natural. El proceso general de investigación es: desarrollar un modelo que pueda expresar las capacidades del lenguaje - proponer varios métodos para mejorar continuamente las capacidades del modelo de lenguaje - diseñar varios sistemas de aplicación basados en el modelo de lenguaje - mejorar continuamente el modelo de lenguaje.
La PNL tiene dos formas de entender el lenguaje natural:
1. La comprensión del lenguaje natural basada en reglas consiste en diseñar un programa formulando una serie de reglas y luego utilizar este programa para Resolver preguntas en lenguaje natural. La entrada es la regla y la salida es el programa;
2. Comprensión del lenguaje natural basada en el aprendizaje automático estadístico, es decir, el uso de un algoritmo de aprendizaje automático para entrenar un modelo con una gran cantidad de datos, y Luego use este modelo para resolver problemas de lenguaje natural. La entrada son los datos y los resultados deseados, y la salida es el modelo.
A continuación, una breve introducción a las tareas o aplicaciones habituales de la PNL.
2. Qué se puede hacer. ¿La PNL?
1. Segmentación de palabras
El chino se puede dividir en palabras, frases, oraciones, párrafos y documentos. Si desea expresar un significado, a menudo es imposible expresarlo mediante una palabra. Al menos una palabra puede expresar mejor el significado. Por tanto, en términos generales, las palabras son las unidades básicas para expresar "frases, oraciones, párrafos y documentos". En cuanto a la computadora, debido a que el chino no usa espacios para separar palabras como el inglés, la computadora no puede distinguir qué palabras están en un texto, por lo que necesita dividir las palabras. Actualmente, existen dos métodos de segmentación de palabras comúnmente utilizados:
(1) Basado en reglas: heurísticas, tablas de palabras clave
(2) Métodos estadísticos/de aprendizaje automático: HMM (marido oculto de Marko) modelo) y CRF (campo aleatorio condicional)
(Nota: el principio y el proceso de implementación del método no se presentarán en detalle aquí. Si está interesado, puede buscar en Baidu).
La tecnología actual de segmentación de palabras es muy madura y la precisión de la segmentación de palabras ha alcanzado un nivel que se puede utilizar. También hay muchas bibliotecas de terceros que podemos usar, como jieba, por lo que en aplicaciones prácticas generalmente usamos el método "jieba + diccionario personalizado" para la segmentación de palabras.
2. Codificación de palabras
Ahora el texto de "Me gustas" se divide en tres palabras: yo, me gustas, tú. En este momento, la computadora no puede entender estas tres palabras ingresadas por la computadora, por lo que convertimos estas tres palabras en una forma que la computadora pueda entender, que es la codificación de palabras. Hoy en día, las palabras generalmente se representan como vectores de palabras, que se utilizan como espacio de entrada y representación del aprendizaje automático. Actualmente hay dos espacios de representación:
(1) Representación discreta:
Representación única
Supongamos que nuestro corpus es:
<. p>Me gustas. ¿Tienes sentimientos por mí?Diccionario {"I": 1, "Me gusta": 2, "Tú": 3, "Derecho": 4, "Tú": 5, "Sentimiento": 6, "Soy": 7 }. A** tiene siete dimensiones.
Entonces One-hot significa:
¿"Yo"? :[1, 0, 0, 0, 0, 0, 0]
"Me gusta":[0, 1, 0, 0, 0]
"De verdad": [ 0, 0, 0, 0, 0, 0, 1]
Es decir, una palabra está representada en una dimensión.
b. Bolsa de palabras: es decir, agregar directamente los vectores de todas las palabras como un vector de documento.
Entonces "Me gustas" significa: "[1, 1, 1, 0, 0]".
C. Big-gram y N-gram (modelo de lenguaje): considerando el orden de las palabras, use combinaciones de palabras para representar un vector de palabras.
La idea detrás de estos tres métodos es que diferentes palabras representan diferentes dimensiones, es decir, una "unidad" (una palabra o una combinación de palabras, etc.) es una dimensión.
(2) Representación distribuida: word2vec, que representa un * * * vector de matriz actual.
La idea detrás de esto es "una palabra puede representarse mediante palabras cercanas".
Los espacios de representación discretos o distribuidos tienen sus propias ventajas y desventajas. Los lectores interesados pueden comprobar la información ellos mismos, por lo que no entraré en detalles aquí. Hay un problema aquí. Cuanto más grande es el corpus, más palabras contiene y mayor es la dimensión del vector de palabras, por lo que la cantidad de almacenamiento y cálculo en el espacio aumentará exponencialmente. Por lo tanto, cuando los ingenieros procesan vectores de palabras, generalmente reducen la dimensionalidad, lo que significa que se perderá parte de la información, lo que afectará el efecto final. Por lo tanto, como gerente de producto, al realizar un seguimiento del desarrollo del proyecto, también debe comprender la racionalidad de la reducción de dimensionalidad por parte de los ingenieros.
3. Resumen automático
El resumen automático se refiere a resumir automáticamente el texto clave o el conocimiento del texto original. ¿Por qué necesitas un resumen automático? Hay dos razones principales: (1) Sobrecarga de información, necesitamos extraer el texto más útil y valioso de una gran cantidad de texto (2) El costo del resumen manual es muy alto; Actualmente existen dos métodos para resolver el resumen automático: el primero es el resumen, que implica encontrar algunas oraciones clave del texto original para formar un resumen, el otro es el resumen, donde la computadora primero comprende el contenido del texto original y luego lo expresa; con su propio significado. En la actualidad, la tecnología de resumen automático se utiliza más ampliamente en el campo de las noticias. En una era de sobrecarga de información, esta tecnología se utiliza para ayudar a los usuarios a comprender las noticias más valiosas en el menor tiempo posible. Además, cómo extraer conocimiento estructurado de datos no estructurados también será una dirección importante para los robots de preguntas y respuestas.
4. Identificación de entidades
La identificación de entidades se refiere a la identificación de categorías específicas de entidades en el texto, como nombres, ubicaciones, valores, nombres propios, etc. Se usa ampliamente en recuperación de información, respuesta automática a preguntas, gráficos de conocimiento y otros campos. El propósito del reconocimiento de entidades es decirle a la computadora que esta palabra pertenece a un determinado tipo de entidad, lo que ayuda a identificar la intención del usuario. Por ejemplo, gráfico de conocimiento de Baidu:
La entidad identificada por "Cuántos años tiene Stephen Chow" es "Stephen Chow" (entidad estrella) y la relación es "edad". El sistema de búsqueda puede saber que el usuario está preguntando sobre la edad de una determinada estrella, luego combinar los datos "¿Stephen Chow? ¿Fecha de nacimiento? 22 de junio de 1962" con la fecha actual y mostrar los resultados directamente al usuario en lugar de mostrando enlaces a las respuestas de los candidatos.
Además, las tareas comunes de PNL incluyen: identificación de temas, traducción automática, clasificación de texto, generación de texto, análisis de sentimientos, extracción de palabras clave, similitud de texto, etc. Más adelante les daré una breve introducción.
Tres. La dificultad es. PNL actual
1. El lenguaje no está estandarizado y tiene una gran flexibilidad.
El lenguaje natural no está estandarizado. Aunque se pueden encontrar algunas reglas básicas, el lenguaje natural es demasiado flexible y un mismo significado puede expresarse de muchas maneras. Es difícil comprender el lenguaje natural basado en reglas y también es difícil aprender las características intrínsecas de los datos a través del aprendizaje automático.
2. Errores tipográficos
A la hora de procesar el texto nos encontraremos con una gran cantidad de erratas. Cómo hacer que la computadora comprenda el verdadero significado de estos errores tipográficos también es una dificultad importante en la PNL.
3. Nuevas palabras
Estamos en una era de rápido desarrollo de Internet y cada día se produce una gran cantidad de palabras nuevas en Internet. Cómo encontrar rápidamente estas nuevas palabras y dejar que la computadora las entienda también es una dificultad en PNL.
4. Todavía existen deficiencias en el uso de vectores de palabras para representar palabras.
Arriba dijimos que la computadora puede entender palabras a través de vectores de palabras, pero el espacio representado por los vectores de palabras es discreto, no continuo, como algunas palabras positivas: muy bien, muy bien, genial, genial y más. . En el espacio vectorial de palabras de "bueno" a "muy bueno", no se pueden encontrar algunas palabras de "bueno" a "muy bueno", por lo que, por supuesto, existen algunos algoritmos que calculan vectores de palabras y realizan aproximaciones continuas, pero esto Ciertamente hay una pérdida de información. En resumen, los vectores de palabras no son la mejor manera de expresar palabras y se necesita un mejor lenguaje matemático para expresar palabras. Por supuesto, también es posible que nuestro propio lenguaje natural sea discontinuo o que los humanos no podamos crear un lenguaje natural "continuo".
Resumen: A través de lo anterior, tenemos una comprensión general de "qué es la PNL, qué puede hacer y los problemas existentes". Como gerente de productos de inteligencia artificial, comprender la tecnología PNL puede mejorar nuestra propia comprensión técnica, lo cual es muy útil para comprender las necesidades de la industria y promover el desarrollo de proyectos. De hecho, esto puede brindarnos la capacidad de conectar necesidades e ingenieros, y conectar problemas y soluciones. Aunque existen muchas deficiencias en las tecnologías de inteligencia artificial como la PNL, debemos ajustar nuestra mentalidad.
La aplicación de la inteligencia artificial acaba de comenzar y seguramente será imperfecta. No seas un crítico, sé un promotor de la era de la inteligencia artificial.
nt-sizf@? 2W