Análisis en profundidad del análisis del capítulo de procesamiento del lenguaje natural.

En este artículo profundizamos en el concepto de análisis del discurso y sus temas de investigación en el campo del procesamiento del lenguaje natural (PNL), así como en dos métodos avanzados de segmentación del discurso: modelos estadísticos basados ​​en árboles léxico-sintácticos y neuronales. Modelos basados ​​en BiLSTM-CRF, modelo de red.

Siga a TechLead y comparta conocimientos multidimensionales sobre la IA. El autor tiene más de 10 años de experiencia en arquitectura de servicios de Internet, desarrollo de productos de inteligencia artificial y gestión de equipos. Es un maestro Fudan de Tongji, miembro del Laboratorio de inteligencia robótica de Fudan, arquitecto senior certificado por Alibaba Cloud y profesional de gestión de proyectos. y tiene cientos de millones de ingresos en el desarrollo de productos de IA.

archivo

I. Introducción

El análisis del discurso es un tema de investigación indispensable en el campo del procesamiento del lenguaje natural (PNL). A diferencia del análisis de palabras y oraciones, el análisis del discurso implica estructuras de texto de nivel superior, como párrafos, secciones, capítulos, etc., con el objetivo de capturar las relaciones complejas entre estas estructuras. Estas relaciones generalmente incluyen, entre otros, aspectos como la cohesión, la coherencia y la estructura. No solo son importantes para comprender un solo texto, sino que también desempeñan un papel crucial en textos múltiples, textos cruzados e incluso modos cruzados. análisis. Desde la generación de contenido personalizado para sistemas de recomendación hasta la optimización de la calidad del texto para la traducción automática y la comprensión del contexto para sistemas de diálogo, el análisis del discurso tiene una amplia gama de escenarios de aplicación.

El concepto general de análisis de capítulos.

El concepto central del análisis del discurso es el "análisis pragmático y semántico de alto nivel". Desde esta perspectiva, el texto no es sólo una simple colección de palabras y oraciones, sino una combinación orgánica de información y opiniones. Cada elemento del discurso interactúa con otros elementos para formar una estructura semántica y pragmática más amplia. Por lo tanto, el objetivo del análisis del discurso no es sólo comprender cómo cada unidad (como una oración, un párrafo) constituye un texto unificado y coherente, sino también comprender el significado profundo que transmite el texto en múltiples niveles y dimensiones.

Relaciones entre contenidos

  1. Cohesión, coherencia y estructura del capítulo : estos tres aspectos son las piedras angulares del análisis del capítulo. La cohesión se centra en las conexiones claras entre oraciones o párrafos, como transiciones, causa y efecto, etc.; la coherencia se centra en la fluidez general y la legibilidad del texto; la estructura examina el texto desde una perspectiva macro y explora cómo organizar la información de manera más efectiva. . Estos tres están interrelacionados y se promueven mutuamente, y juntos constituyen un texto de alta calidad.

  2. Segmentación del discurso : antes de sumergirse en la segmentación de expresiones basada en árboles léxico-sintácticos y redes neuronales recurrentes, es crucial comprender estos tres aspectos centrales. Los métodos de segmentación del discurso intentan dividir y comprender el texto a un nivel más detallado, proporcionando una base para tareas posteriores.


2. Conceptos básicos del análisis de capítulos.

¿Qué es un capítulo?

Un capítulo es una unidad de texto compuesta por dos o más oraciones que expresan una o más ideas o información estrechamente relacionadas. A diferencia de una sola oración o palabra, un pasaje incluye estructuras y significados más complejos que a menudo deben transmitirse a través de varias oraciones o incluso varios párrafos.

Ejemplo

Por ejemplo, en un artículo sobre cambio climático, se podría dedicar una sección al aumento de los fenómenos climáticos extremos, desde estadísticas hasta casos de eventos específicos y posibles impactos, formando una discusión completa.

La importancia del análisis de capítulos

El análisis del discurso es una parte muy importante del procesamiento del lenguaje natural porque puede ayudar a las máquinas a comprender mejor la complejidad y la naturaleza multicapa del lenguaje humano. El análisis del discurso puede capturar información del texto desde una perspectiva macro y proporcionar una comprensión más completa que el análisis sintáctico y semántico.

Ejemplo

Tomando como ejemplo la generación de resúmenes de noticias, comenzando solo desde el nivel de la oración, es posible que solo podamos obtener información superficial. Pero si podemos realizar un análisis del capítulo, no sólo podremos captar los puntos principales del artículo, sino también comprender cómo los distintos puntos están ordenados lógicamente y se apoyan entre sí.

Aplicación del análisis del discurso en PNL.

El análisis del discurso se utiliza ampliamente en múltiples escenarios de aplicación de la PNL. Los siguientes son varios escenarios de aplicación típicos:

  1. Recuperación de información : a través del análisis del discurso, la intención de consulta del usuario se puede comprender con mayor precisión, lo que arroja resultados de búsqueda más relevantes.
  2. Traducción automática : el análisis a nivel de capítulo puede ayudar al sistema de traducción automática a captar con mayor precisión el contexto del texto original y mejorar la naturalidad y precisión de la traducción.
  3. Resumen del texto : además de capturar las ideas principales del artículo, el análisis del capítulo también puede capturar la relación lógica entre las ideas y generar un resumen más refinado y de alta calidad.

Ejemplo

  1. En la recuperación de información, si un usuario consulta "impactos del cambio climático", el análisis solo a nivel de palabra u oración puede arrojar una amplia gama de artículos sobre "clima" e "impactos". Sin embargo, a través del análisis de capítulos, podemos encontrar con mayor precisión capítulos o artículos específicos que analizan el "impacto del cambio climático".

  2. En la traducción automática, por ejemplo, una oración larga se compone de varias oraciones cortas, y estas oraciones cortas tienen relaciones complejas como causa, efecto y transición. El análisis del discurso puede ayudar a las máquinas a capturar estas relaciones con mayor precisión, generando así traducciones más naturales.

  3. En el resumen de texto, a través del análisis de capítulos, el sistema puede identificar los puntos principales del artículo y cómo estos puntos están conectados a través de evidencia y argumentos, generando así un resumen completo y preciso.

3. Cohesión de capítulos

Un concepto importante en el análisis del discurso es el de cohesión. La cohesión implica cómo los diversos componentes lingüísticos de un texto se relacionan entre sí para formar una estructura de información general coherente.

cohesión semántica

La cohesión es principalmente una relación semántica que hace que los distintos componentes de un texto estén estrechamente conectados semánticamente. Esto suele lograrse de dos formas principales: cohesión léxica y cohesión gramatical.

cohesión léxica

La cohesión léxica implica principalmente el uso de dispositivos léxicos específicos, como la reiteración y la colocación.

Reiteración

El recuento suele establecer la cohesión de los capítulos mediante la repetición de palabras o el uso de sinónimos, sinónimos, antónimos, hipónimos, etc.

ejemplo:

El sol es fuente de vida, ya sean humanos, animales o plantas, son inseparables de la irradiación del sol. Por eso la luz del sol es muy importante.

En este ejemplo, "sol" y "sol" establecen una relación de reformulación y aumentan la cohesión del capítulo.

Colocación

Las relaciones de colocación suelen ser combinaciones habituales entre palabras, que no se limitan a una frase, sino que también pueden abarcar frases o párrafos.

ejemplo:

Cogió su teléfono y comenzó a navegar por las redes sociales. Poco después, descubrió un tweet interesante.

Aquí, "teléfono móvil" forma una relación de colocación con "redes sociales" y "tweets", lo que mejora la coherencia del texto.

cohesión gramatical

La cohesión gramatical incluye principalmente referencia, sustitución, elipsis y conjunción.

Referencia

Anaforismo significa que una palabra o frase tiene una relación referencial clara con las palabras o frases anteriores o siguientes.

ejemplo:

Xiao Ming es un buen estudiante. Siempre es el primero en llegar a la escuela y el último en salir.

Aquí, "él" se refiere claramente a "Xiao Ming", formando una relación de anáfora.

Sustitución

Sustituir es sustituir otra palabra o frase por otra palabra o frase que aparece en el texto anterior.

ejemplo:

A algunas personas les gustan las manzanas, otras prefieren las naranjas.

Aquí, "más inclinado a" reemplaza a "me gusta" para formar una relación de sustitución.

Elipsis

La elipsis consiste en eliminar un elemento innecesario en una oración para hacer la expresión más concisa.

ejemplo:

Él quiere comer chocolate, pero yo no (quiero comer).

Aquí se omite "quiero comer", pero el significado sigue siendo claro.

Conexión

Las conexiones establecen relaciones lógicas mediante el uso de conectivos específicos y se pueden dividir en tres categorías: elaboración, extensión y mejora.

Ejemplo elaborado:

Ella es amable, por ejemplo, siempre dispuesta a ayudar a los demás.

Ejemplo extendido:

Es un estudiante diligente. Sin embargo, siempre tuvo dificultades con las matemáticas.

Ejemplo mejorado:

Además de ser un excelente programador, también es una persona amante de la música.

En estos ejemplos, por ejemplo, sin embargo, y excepto todos sirven como conjunciones, agregando relaciones lógicas entre oraciones y párrafos.

A través de los diversos métodos de conexión anteriores, el capítulo puede formar un todo rigurosamente estructurado y semánticamente coherente, transmitiendo así información e ideas de manera más efectiva.

4. Coherencia de los capítulos

El análisis del discurso es un campo complejo y profundo, que involucra múltiples niveles de semántica, gramática, retórica y cognición. Esta complejidad es particularmente evidente cuando se trata de coherencia.

Coherencia y Coherente

Coherencia significa que los capítulos forman un todo semántica, funcional y psicológicamente, y giran en torno a un mismo tema o intención. Coherente es un indicador de la calidad de un capítulo.

Ejemplo:

Considere las dos oraciones siguientes:

  1. Zhang San participó en el maratón.
  2. Completó toda la distancia de 42,195 kilómetros.

Estas dos frases forman un capítulo coherente porque ambas giran en torno al tema "Zhang San participa en el maratón".

Coherencia local

La coherencia local implica la conexión semántica entre proposiciones sucesivas en un pasaje. Esto suele requerir la consideración de factores léxicos, sintácticos y semánticos.

Ejemplo:

Considere la siguiente secuencia de oraciones:

  1. A Xiao Ming le gustan las matemáticas.
  2. A menudo participa en concursos de matemáticas.

Estas dos frases son coherentes a nivel local porque tanto "Xiao Ming" como "Mathematics Competition" tienen conexiones semánticas directas con "Mathematics".

Coherencia global

La coherencia general presta más atención a la conexión entre todas las proposiciones del capítulo y el tema del capítulo, lo cual es especialmente importante en artículos o ponencias extensos.

Ejemplo:

Considere las siguientes oraciones:

  1. Xiaohong fue a la biblioteca.
  2. Tomó prestados varios libros sobre física cuántica.
  3. Su objetivo es convertirse en física.

Estas frases giran en torno al tema "Los intereses y objetivos de Xiaohong en física" y demuestran una coherencia general.

Modelos cognitivos y coherencia.

La estructura semántica de un capítulo está restringida por las reglas cognitivas universales de las personas, como de lo general a lo específico, de todo a parte.

Ejemplo:

Considere las siguientes oraciones:

  1. Beijing es la capital de China.
  2. La Ciudad Prohibida es una importante atracción turística de Beijing.
  3. La Puerta Meridiana de la Ciudad Prohibida es el lugar más popular entre los turistas.

Esta serie de oraciones se ajusta al modelo cognitivo del todo a la parte, describiendo primero Beijing, luego la Ciudad Prohibida específica y finalmente la Puerta Meridiana más específica.

Teoría y métodos

Existen muchos métodos para estudiar la coherencia del discurso, incluida la teoría de la relevancia, la teoría de la estructura retórica, la teoría de los esquemas y la investigación basada en la estrategia del discurso (Estrategia del Discurso).

Teoría de la relevancia

A nivel micro, la teoría de la relevancia proporciona un marco para comprender cómo se relaciona entre sí la información de un texto.

Teoría de la estructura retórica

Esta teoría intenta comprender la coherencia textual analizando las relaciones retóricas entre diferentes elementos de un texto.

Teoría de esquemas

La teoría de esquemas se utiliza principalmente para explicar cómo los lectores utilizan conocimientos previos para comprender nueva información, proporcionando así una base cognitiva para la coherencia del discurso.

Investigación basada en la estrategia del discurso

Esta dirección estudia principalmente cómo un texto mejora su coherencia a través de diferentes estrategias discursivas, como oraciones temáticas y oraciones de transición.


5. Estructura del capítulo

Un capítulo no es simplemente un conjunto de oraciones organizadas juntas, sino una estructura cuidadosamente diseñada para transmitir un mensaje específico o lograr un propósito específico.

Estructura lineal versus estructura jerárquica

En primer lugar, los capítulos tienen dos formas básicas: estructura lineal y estructura jerárquica. La estructura lineal es cuando las oraciones están dispuestas en algún orden lógico o cronológico. Por ejemplo:

"Me levanté esta mañana, me lavé los dientes, me lavé la cara y desayuné. Luego caminé hasta la parada del autobús y tomé el autobús a la escuela".

En este ejemplo, las oraciones están ordenadas en el orden cronológico de los eventos, formando una estructura lineal.

La estructura jerárquica significa que las oraciones y los párrafos se combinan para formar unidades de información de nivel superior. Tomando como ejemplo un artículo académico, este suele incluir una introducción, un cuerpo y una conclusión, que a su vez se componen de múltiples párrafos, formando una estructura jerárquica.

Superestructura del capítulo

La superestructura del capítulo es una estructura de alto nivel que se utiliza para describir cómo está organizado un capítulo. Por ejemplo, en artículos académicos, una superestructura común incluye "Introducción-Métodos-Resultados-Discusión (IMRD)". Esta estructura sólo se refiere a la forma en que está organizado el contenido, no al contenido en sí.

Teoría de la estructura retórica (RST)

RST es una teoría utilizada para analizar la estructura del discurso, que define las relaciones retóricas entre diferentes unidades de texto (Text Span). Existen principalmente dos tipos:

  • Núcleo: La parte más importante del capítulo, por ejemplo: “Fumar es perjudicial para la salud”.
  • Satélite: una sección utilizada para explicar o respaldar el mensaje central, por ejemplo: "Según la Organización Mundial de la Salud, 8 millones de personas mueren cada año por enfermedades causadas por fumar".

Patrón textual

Los patrones del discurso se forman durante un largo período de tiempo y normalmente tienen un trasfondo cultural para organizar el texto. Por ejemplo, en la cultura occidental, el modelo "Problema-Solución" es muy común.

Ejemplo: aplicación de patrones de discurso en la información periodística

Considere el siguiente informe de noticias:

[1] “Una nueva investigación encuentra que cuanto más tiempo usan los adolescentes las redes sociales, mayores son sus probabilidades de desarrollar síntomas depresivos”. (Núcleo)

[2] “Este hallazgo se basa en un estudio de seguimiento de un año de duración de 1.000 adolescentes.” (Auxiliar)

Este informe utiliza el modelo "problema-solución". [1] plantea un problema (uso de redes sociales y depresión entre adolescentes), mientras que [2] da una solución al problema (evidencia basada en investigaciones).

Al comprender estas diferentes estructuras y patrones, los autores pueden organizar su texto de manera más efectiva y los lectores pueden comprender y recibir información más fácilmente. Es por eso que la estructura de capítulos es un aspecto integral de la escritura y la lectura.


6. Segmentación estadística del discurso basada en árboles léxicos y sintácticos

archivo
La segmentación del discurso es una tarea clave en el procesamiento del lenguaje natural, cuyo objetivo es identificar las unidades discursivas básicas (Unidades Elementales del Discurso, EDU) en un discurso. Esta es la base para el posterior análisis avanzado del discurso.

Teoría de la segmentación del discurso y de la estructura retórica

Según la Teoría de la Estructura Retórica (RST), la relación retórica de un capítulo se define entre dos o más EDU. El principal objetivo de la segmentación del discurso es identificar estas EDU.

ejemplo

Considere las siguientes oraciones:

"Las manzanas son deliciosas, pero caras".

Aquí, "Las manzanas son deliciosas" y "Pero son caras" pueden considerarse dos EDU diferentes.

Descripción general del algoritmo SynDS

El algoritmo SynDS se basa en un árbol sintáctico léxico para estimar si una palabra debe servir como límite de EDU. Utiliza reglas de mapeo de Lexical Head para extraer más funciones.

estimación de máxima verosimilitud

Dada una oración (s = w_1, w_2,…, w_n) y su árbol de sintaxis (t), el algoritmo utiliza la estimación de máxima verosimilitud para conocer la probabilidad de que cada palabra (w_i) sea un límite (P(b_i | w_i)), donde (b_i \en {0, 1}). 0 significa sin límites, 1 significa límite.

mapeo centrado en el vocabulario

Para cada palabra (w), el algoritmo anota el nodo principal más alto de su hermano derecho y utiliza esta información para decidir si la palabra actual debe ser una palabra límite.

Implementación de PyTorch

El siguiente fragmento de código de PyTorch muestra la implementación básica de este algoritmo.

import torch
import torch.nn as nn
import torch.optim as optim

# 假设我们已经得到了句法树和词汇向量
# feature_dim 是特征维度
class SynDS(nn.Module):
    def __init__(self, feature_dim):
        super(SynDS, self).__init__()
        self.fc = nn.Linear(feature_dim, 2)  # 二分类:0表示非边界,1表示边界

    def forward(self, x):
        return self.fc(x)

# 初始化
feature_dim = 128
model = SynDS(feature_dim)
optimizer = optim.Adam(model.parameters(), lr=0.001)
criterion = nn.CrossEntropyLoss()

# 假设 x_train 是输入特征,y_train 是标签(0或1)
# x_train 的形状为 (batch_size, feature_dim)
# y_train 的形状为 (batch_size)
x_train = torch.rand((32, feature_dim))
y_train = torch.randint(0, 2, (32,))

# 训练模型
optimizer.zero_grad()
outputs = model(x_train)
loss = criterion(outputs, y_train)
loss.backward()
optimizer.step()

# 输出预测
with torch.no_grad():
    test_input = torch.rand((1, feature_dim))
    test_output = model(test_input)
    prediction = torch.argmax(test_output, dim=1)
    print("预测边界为:", prediction.item())

entrada y salida

  • Entrada: feature_dimvector de palabra con dimensión de característica.
  • Salida: resultado de la predicción, 0 o 1, que indica si es el límite de la EDU.

Procesando

  1. Las probabilidades se calculan utilizando la estimación de máxima verosimilitud.
  2. Entrene con función de pérdida de entropía cruzada.
  3. Utilice el optimizador para actualizaciones de peso.

7. Segmentación del discurso basada en redes neuronales recurrentes.

archivo
La segmentación del discurso es el proceso de identificar las Unidades Elementales del Discurso (UDE) en un texto, sentando las bases para su posterior análisis. En este capítulo, nos centraremos en la implementación de la segmentación de expresiones utilizando memoria bidireccional a largo plazo (BiLSTM) y campos aleatorios condicionales (CRF).

De la anotación de secuencias a la segmentación del discurso

En los modelos basados ​​en RNN, la tarea de segmentación de expresiones se puede reformular como un problema de etiquetado de secuencia. Para cada palabra de entrada (x_t), el modelo genera una etiqueta (y_t) que indica si la palabra es el límite inicial de una EDU.

Definición de etiquetas de salida

  • (y_t = 1) significa que (x_t) es el límite inicial de EDU.
  • (y_t = 0) significa que (x_t) no es el límite inicial de la EDU.

Modelo BiLSTM-CRF

BiLSTM-CRF combina la capacidad de BiLSTM para capturar dependencias de larga distancia en oraciones y la capacidad de CRF para capturar la relación entre etiquetas de salida.

Capa BiLSTM

BiLSTM puede leer oraciones en ambas direcciones, por lo que puede capturar información contextual.

capa CRF

Los campos aleatorios condicionales (CRF) son modelos gráficos probabilísticos para la anotación de secuencias, cuyo objetivo es encontrar la mejor secuencia de salida posible (Y) dada una secuencia de entrada (X).

Implementación de PyTorch

El siguiente es un código de ejemplo para usar PyTorch para implementar el modelo BiLSTM-CRF para la segmentación del discurso:

import torch
import torch.nn as nn
from torchcrf import CRF

class BiLSTM_CRF(nn.Module):
    def __init__(self, vocab_size, embedding_dim, hidden_dim):
        super(BiLSTM_CRF, self).__init__()
        self.embedding = nn.Embedding(vocab_size, embedding_dim)
        self.lstm = nn.LSTM(embedding_dim, hidden_dim // 2, num_layers=1, bidirectional=True)
        self.hidden2tag = nn.Linear(hidden_dim, 2)  # 2表示两个标签:0和1
        self.crf = CRF(2)

    def forward(self, x):
        embeds = self.embedding(x)
        lstm_out, _ = self.lstm(embeds.view(len(x), 1, -1))
        lstm_feats = self.hidden2tag(lstm_out.view(len(x), -1))
        return lstm_feats

# 参数设置
vocab_size = 5000
embedding_dim = 300
hidden_dim = 256

# 初始化模型
model = BiLSTM_CRF(vocab_size, embedding_dim, hidden_dim)
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, weight_decay=1e-4)

# 模拟输入数据
sentence = torch.tensor([1, 2, 3, 4], dtype=torch.long)
tags = torch.tensor([1, 0, 1, 0], dtype=torch.long)

# 前向传播
lstm_feats = model(sentence)

# 计算损失和梯度
loss_value = -model.crf(lstm_feats, tags)
loss_value.backward()
optimizer.step()

# 解码:得到预测标签序列
with torch.no_grad():
    prediction = model.crf.decode(lstm_feats)
print("预测标签序列:", prediction)

entrada y salida

  • Entrada: Secuencia de índices enteros de palabras, longitud (T).
  • Salida: una secuencia de etiquetas, también de longitud (T), donde cada elemento es 0 o 1.

Procesando

  1. La capa de incrustación de palabras convierte índices enteros en vectores de dimensiones fijas.
  2. La capa BiLSTM captura la información contextual de la secuencia de entrada.
  3. La capa lineal convierte la salida de BiLSTM en características adecuadas para CRF.
  4. La capa CRF realiza etiquetado de secuencia y genera si cada palabra es el comienzo de una EDU.

Siga a TechLead y comparta conocimientos multidimensionales sobre la IA. El autor tiene más de 10 años de experiencia en arquitectura de servicios de Internet, desarrollo de productos de inteligencia artificial y gestión de equipos. Es un maestro Fudan de Tongji, miembro del Laboratorio de inteligencia robótica de Fudan, arquitecto senior certificado por Alibaba Cloud y profesional de gestión de proyectos. y tiene cientos de millones de ingresos en el desarrollo de productos de IA.

Supongo que te gusta

Origin blog.csdn.net/magicyangjay111/article/details/132782462
Recomendado
Clasificación