Colección de citas famosas - Slogan de motivación - Conocimientos sobre el procesamiento del lenguaje natural (PNL) que AI PM debe conocer

Conocimientos sobre el procesamiento del lenguaje natural (PNL) que AI PM debe conocer

La PNL es un subcampo de la inteligencia artificial. Como gerentes de productos de IA, al menos debemos saber qué es la PNL y qué puede hacer, para que podamos adquirir un pensamiento de resolución de problemas y encontrarnos con problemas y métodos. . A continuación, presentaré brevemente la PNL desde tres aspectos: "Qué es la PNL, qué puede hacer y los problemas encontrados actualmente".

1. ¿Qué es la PNL?

La PNL se llama procesamiento del lenguaje natural. En pocas palabras, es una disciplina que permite a las computadoras comprender, analizar y generar el lenguaje natural. El proceso de investigación general es: desarrollar un lenguaje que pueda expresarse. Modelo de capacidad lingüística - Proponer varios métodos para mejorar continuamente las capacidades de los modelos lingüísticos - Diseñar varios sistemas de aplicación basados ​​en modelos lingüísticos - Mejorar continuamente los modelos lingüísticos.

Actualmente la PNL tiene dos formas de entender el lenguaje natural:

1. Comprensión del lenguaje natural basada en reglas, es decir, diseñar un programa formulando una serie de reglas y luego aprobándolas. este programa para resolver problemas de lenguaje natural. La entrada es la regla y la salida es el programa;

2. Comprender el lenguaje natural basado en el aprendizaje automático estadístico, es decir, utilizar una gran cantidad de datos para entrenar un modelo a través de algoritmos de aprendizaje automático y luego Utilice 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, presentaremos brevemente las tareas o aplicaciones comunes de la PNL.

2. Qué puede hacer la PNL:

1. Segmentación de palabras

El chino se puede dividir en varios niveles: caracteres, palabras, frases, oraciones, párrafos y documentos. significado, muchas veces Un significado no se puede expresar a través de una palabra. Al menos una palabra puede expresar mejor un significado. Por lo tanto, en general, la "palabra" se usa como unidad básica y las combinaciones de "palabras" se usan para representar "frases". oraciones, párrafos, documentos ", en cuanto a si la entrada a la computadora es una frase, oración, párrafo o documento, depende del escenario específico. Dado que las palabras chinas no están separadas por espacios como en inglés, la computadora no puede distinguir qué palabras están en un texto, por lo que es necesaria la segmentación de palabras. Actualmente existen dos métodos comúnmente utilizados para la segmentación de palabras:

(1) Basado en reglas: heurístico (heurístico), tabla de palabras clave

(2) Basado en métodos estadísticos/de aprendizaje automático: HMM (modelo oculto de Markov), CRF (campo aleatorio condicional)

(Nota: no presentaré el principio y el proceso de implementación del método en detalle aquí. Si está interesado, puede obtener más información al respecto 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 utilizable. También hay muchas bibliotecas de terceros que podemos usar, como jieba, por lo general. En aplicaciones reales utilizaremos el método "diccionario personalizado jieba" para la segmentación de palabras.

2. Codificación de palabras

Ahora divida el texto "Me gustas" en tres palabras: "Yo", "me gusta" y "tú" mediante la segmentación de palabras. Estas tres palabras Las palabras sirven como entrada para la computadora y la computadora no las puede entender, por lo que convertimos estas palabras de una manera que la computadora pueda entender, es decir, codificación de palabras. Hoy en día, es común representar palabras como vectores de palabras. El espacio de entrada y representación del aprendizaje automático. Actualmente existen dos espacios de representación:

(1) Representación discreta:

A. Representación one-hot

Supongamos que nuestro corpus es:

Me gustas, ¿sientes algo por mí?

Diccionario {"yo": 1, "me gusta": 2, "tú": 3, "derecho": 4, "tener": 5, "sentimiento": 6, "es": 7}. Un *** tiene siete dimensiones.

Entonces usa One-hot para expresar:

¿"I"?: [1, 0, 0, 0, 0, 0, 0]

" Como ": [0, 1, 0, 0, 0, 0, 0]

·········

"?" ?: [0, 0 , 0 , 0, 0, 0, 1]

Es decir, una palabra está representada por una dimensión

B. bolsa de palabras: es decir, los vectores de todas las palabras son agregado directamente como un vector de documento.

Entonces "me gustas" se expresa como: "[1, 1, 1, 0, 0, 0, 0]".

C. Bi-gram y N-gram (modelo de lenguaje): Teniendo en cuenta el orden de las palabras, se utilizan 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" (palabra o combinación de palabras, etc.) es una dimensión.

(2) Representación distribuida: word2vec, que representa un vector matricial real. La idea detrás de esto es que "una palabra puede representarse por las palabras cercanas".

Los espacios de representación discretos o distribuidos tienen sus propias ventajas y desventajas. Los lectores interesados ​​pueden consultar la información por su cuenta para obtener más información, que no se detallará aquí. Hay un problema aquí. Cuando el corpus es más grande, contiene más palabras y la dimensión del vector de palabras es mayor. De esta manera, la cantidad de espacio de almacenamiento y cálculo aumentará exponencialmente cuando los ingenieros trabajen con vectores de palabras. Por lo general, la reducción de dimensionalidad 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 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é necesita 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; En la actualidad, existen dos soluciones para el resumen automático: la primera es extractiva, que encuentra algunas oraciones clave del texto original para formar un resumen, la otra es abstracta, donde la computadora primero comprende el contenido del texto original y luego lo expresa; tu propio significado. La tecnología de resumen automático es actualmente la más utilizada en el campo de las noticias. En la era de la 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. 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. Reconocimiento de entidades

El reconocimiento de entidades se refiere a identificar categorías específicas de entidades en un texto, como nombres de personas, nombres de lugares, valores numéricos, 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 en "¿Cuántos años tiene Stephen Chow" es "Stephen Chow" (una entidad estrella) y la relación es "edad?" El sistema de búsqueda puede saber eso. el usuario pregunta sobre la edad de una determinada estrella y luego combina los datos "¿Stephen Chow? ¿Fecha de nacimiento? 22 de junio de 1962" y la fecha actual para calcular la edad de Stephen Chow y, en su lugar, muestra el resultado directamente al usuario. de mostrar un enlace a la respuesta del candidato.

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. Te daré una breve introducción cuando tenga tiempo. el futuro.

3. Las dificultades actuales de la PNL

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. Un mismo significado se puede expresar de muchas maneras y es difícil comprender el lenguaje natural basado en reglas o aprender las características inherentes de los datos mediante el aprendizaje automático.

2. Errores tipográficos

Al procesar texto, encontraremos una gran cantidad de errores tipográficos. Cómo hacer que la computadora comprenda el verdadero significado de estos errores tipográficos también es una dificultad importante en PNL <. /p>

3. Nuevas palabras

Estamos en una era de rápido desarrollo de Internet. Cada día se genera una gran cantidad de palabras nuevas en línea. ¿Cómo podemos descubrir rápidamente estas nuevas palabras? dejar que las computadoras las entiendan también es una dificultad de PNL

4. Todavía existen deficiencias en el uso de vectores de palabras para representar palabras

Como se mencionó anteriormente, usamos vectores de palabras para permitir que las computadoras comprendan palabras, pero Los vectores de palabras representan el espacio, es discreto, no continuo. Por ejemplo, representa algunas palabras positivas: bueno, muy bueno, genial, asombroso, etc. En el espacio vectorial de palabras de "bueno" a "muy bueno", no se puede encontrar. algunas palabras, desde "Bueno" hasta "muy bueno", por lo que es discreto y discontinuo. El mayor problema con la discontinuidad es que no es diferenciable. Si no es diferenciable, es muy fácil para las computadoras. la cantidad de cálculo aumentará. Por supuesto, también existen algunos algoritmos que calculan vectores de palabras y realizan aproximaciones continuas, pero esto definitivamente va acompañado de pérdida de información. En resumen, los vectores de palabras no son la mejor manera de representar palabras. Se necesita un mejor lenguaje matemático para representar palabras. Por supuesto, puede ser que nuestro lenguaje natural humano en sí sea discontinuo o que los humanos no puedan crear un lenguaje natural "continuo". .

Resumen: a través del contenido anterior, ya tenemos una idea aproximada de "qué es la PNL, qué puede hacer y los problemas actuales". Como gerentes 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 una especie de capacidad de conexión para conectar las necesidades con los ingenieros. conectar el problema con la solución. Aunque las tecnologías de inteligencia artificial como la PNL tienen muchas deficiencias, debemos ajustar nuestra mentalidad. La aplicación de la inteligencia artificial acaba de comenzar y seguramente será imperfecta. era de la inteligencia.

nt-sizf@?2W?