Re38:读论文 NeurJudge: un marco neuronal consciente de las circunstancias para la predicción de juicios legales

Los dioses son silenciosos-directorio personal de publicaciones del blog CSDN

Este artículo es el documento SIGIR de 2021, dirección de descarga oficial: https://dl.acm.org/doi/10.1145/3404835.3462826
dirección oficial de GitHub: yuelinan/NeurJudge: El código de “NeurJudge: un marco neuronal consciente de las circunstancias para el juicio legal Predicción "(SIGIR2021))

Este documento también se centra en la tarea LJP.
Este documento se centra en las circunstancias del delito en el texto de descripción de hechos (diferentes partes del texto de descripción de hechos) y propone un modelo de marco de predicción de juicio legal consciente de las circunstancias (es decir, NeurJudge).
Utilice los resultados de las subtareas intermedias para dividir el texto de descripción de hechos en diferentes circunstancias para predecir otras subtareas. (Delito → Ley → Sentencia)
Resuelva el problema de confundir leyes y delitos: Amplíe NeurJudge a NeurJudge+: utilice la incrustación de etiquetas para integrar la información semántica de las etiquetas (leyes y delitos) en el texto de descripción de hechos. (Este enfoque obviamente se refiere a LADAN)

Diagrama de circunstancias
El texto de descripción de hechos se puede dividir en ADC (circunstancias de condena) y SEC (circunstancias de sentencia)
SEC se puede dividir en SSC (circunstancias de sentencia estatutarias) y DSC (circunstancias de sentencia discrecionales)
Para la introducción específica del contenido correspondiente en el documento , consulte esta publicación de blog Contenidos de la primera sección

1. Circunstancias y orden de las subtareas

inserte la descripción de la imagen aquí
ADC→veredictos (crimen y derecho)
SEC (SSC+DSC)→sentencia

inserte la descripción de la imagen aquí

2. NeurJudge

2.1 Definición del problema

inserte la descripción de la imagen aquí

2.2 Modelo

inserte la descripción de la imagen aquí

2.3 NeurJudge

Segmente el texto de descripción del hecho con delitos como ADC y SEC
Use ADC para predecir la ley Use el artículo
para identificar SSC y DSC de SEC para predecir la sentencia

Usar el texto completo para predecir el delito → predecir ADC y SEC → usar ADC para predecir la ley → predecir SSC y DSC → predecir la sentencia

  1. Codificador de Documentos: Caracteriza el texto descriptivo de hechos/leyes/delitos. GRU o BERT, solo se proporciona la implementación de la versión GRU en el código
    1. GRU: use word2vec preentrenado como inicialización de representación de palabras
      inserte la descripción de la imagen aquí
    2. BERT
  2. Separación de hechos: primero seleccione el ADC y luego seleccione el SEC compuesto por SSC y DSC
    1. Separación de Hechos Conscientes de las Circunstancias del Delito (CCFS)
    2. ADC es similar a la definición de delito, y SSC es similar a la ley.
    3. Separando ADC y SEC con cargos
      1. La representación de palabras obtenida en el texto de descripción del hecho H d \mathbf{H}^dHd上 agrupación media por dimensión
        inserte la descripción de la imagen aquí
      2. Use MLP para predecir el crimen en esta representación
        inserte la descripción de la imagen aquí
        inserte la descripción de la imagen aquí
      3. Utilice la representación de palabras y la representación del delito obtenidas del texto de descripción de hechos para separar el texto de descripción de hechos. No he leído la referencia 1 aquí . El método es Vector Rejection
        y Document Encoder para obtener H c ^ \mathbf{H}^{\ sombrero{c} }HC^H d \mathbf{H}^dHdCalcule
        la relevancia entre las dos palabras (calcule la similitud con el producto escalar)
        inserte la descripción de la imagen aquí
        para todo el texto de descripción de hechos(softmaxuna versión suavizadamax, utilizada para extraer las palabras más relevantes de la representación del delito y el texto de descripción de hechos (versión suavizada)):
        inserte la descripción de la imagen aquí( Los dos pasos anteriores se usan como operaciones de atención en el código)
        Use los hechos para describir el rechazo del vector en esta atención y calcule las partes similares y diferentes (ADC/SEC)(ADC se proyecta directamente al pasado. SEC es para reste la proyección , de acuerdo con la regla del triángulo, esta es la parte perpendicular al lado opuesto)
        inserte la descripción de la imagen aquí
        Parael error de análisis de KaTeX: final inesperado de la entrada en un argumento macro, esperado '}' en la posición 5: \hat\̲m̲a̲t̲h̲b̲f̲{H}^ {d^+}agrupación de valores promedio para obtener el vector ADC finalf + \mathbf{f}^+F+
        Es intuitivo y fácil de pensar, ya que lo que se va a calcular es la relación de correlación/irrelevancia entre el hecho y la etiqueta, ¿por qué no usar directamente la representación del hecho para realizar el rechazo del vector en la representación de la etiqueta, la sensación es proyectar la etiqueta de representación al espacio de representación de hechos, por lo que se agrega un anillo de atención para extraer el contenido que es más relevante para la etiqueta de representación en la representación de hechos como enlace de proyección? Aunque creo que la verdadera razón es que el trabajo anterior1hizo esto, así que continué haciéndolo. Hay una operación de proyección vectorial similar en GDO, pero obviamente las etiquetas vecinas en GDO pertenecen al mismo espacio de representación, por lo que no hay necesidad de proyección.
    4. Usando ADC para predecir la ley por MLPinserte la descripción de la imagen aquí
    5. Cargas similares, obtenga H a ^ \mathbf{H}^{\hat{a}}Ha^ , para dividir el error de análisis KaTeX del vector SEC: final inesperado de la entrada en un argumento de macro, '}' esperado en la posición 5: \hat\̲m̲a̲t̲h̲b̲f̲{H}^{d^-} en el vector SSC y el vector DSC,respectivamenteDo agrupación promedio para obtener SSC y DSC
      inserte la descripción de la imagen aquí
  3. Use SSC y DSC (concat up) para predecir la oración:inserte la descripción de la imagen aquí
  4. Función de pérdida de entropía cruzada ponderada: inserte la descripción de la imagen aquí
    Honestamente, en realidad está agregando tres funciones de pérdida 1: 1: 1

2.4 NeurJudge+

Se agregaron gráficos de similitud de etiquetas para delitos y artículos legales para implementar operaciones GDO (similar a LADAN 2 , pero el componente similar de LADAN está entrenado con matriz de peso, y el componente similar de NeurJudge es proyección vectorial)

Graph Construct Layer
cree que la estructura de árbol de HMN ignora la relación entre subetiquetas bajo diferentes etiquetas principales, por lo que expande el árbol en un gráfico (cargo/artículo de manera similar al gráfico 3 )
inserte la descripción de la imagen aquí

Obtenga el vector de características de la etiqueta a través de Document Encoder → agrupación promedio

Incrustación de etiquetas basada en gráficos (GLE)

  1. Operación de descomposición de gráficos (GDO)
    inserte la descripción de la imagen aquí
  2. Atención Label-to-Fact (L2F) (probablemente significa que la representación del delito obtenida por GRU y el código de características de cargos especiales no están escritos en el código, lo que está escrito en el código es la representación del delito después de GDO para hacer una atención a la descripción del hecho, obtenga 2 atenciones)
    Después de concatenar 2 atenciones, obtenga la representación de hecho consciente de la etiqueta de cargo y la representación del artículo legal correspondiente
    inserte la descripción de la imagen aquí
  3. Combine estos dos vectores en NeurJudge para hacer predicciones:
    inserte la descripción de la imagen aquí

3. Experimenta

3.1 Conjunto de datos

inserte la descripción de la imagen aquí

análisis de los datos
inserte la descripción de la imagen aquí

3.2 Resultados del experimento principal

inserte la descripción de la imagen aquí

3.3 Estudio de ablación

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

3.4 Estudio de caso

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

4. Reproducción de código

Lo reproduje directamente en los datos que preprocesé con LADAN. El proceso de preprocesamiento de datos se complementará en las notas de LADAN más adelante.
El formato de archivo de datos sin procesar utilizado en el proyecto original debe ser similar a los datos sin procesar. En cuanto al método de procesamiento mencionado en su artículo, no parece estar reflejado en el código, no sé cómo manejarlo.
El código no proporciona el modelo word2vec del autor y el gráfico en el conjunto de datos CAIL-big, puede preguntarle al autor.
Mis principales modificaciones son la secuencia del código, la carga de datos y el código de carga del modelo word2vec (no se proporciona el código de este autor, si realmente no puede escribirlo, puede preguntarle al autor), todo sigue siendo similar al código original

En el código, se da directamente el código de NeurJudge+. Si quieres separar la parte de la imagen y hacer NeurJudge, puedes hacerlo, pero no me importa.

model.py: contiene el modelo NeurJudge (otros archivos de código se sienten muy fáciles de entender, puede leer mis otros blogs para aumentar el conocimiento. Lo agregaré aquí cuando tenga tiempo)

  1. incrustación de vector de palabra
  2. Use self.encoder_charge(GRU) para caracterizar el texto de la ley y el delito (el texto de la ley es el texto original, y el texto del delito es la "definición" del delito 4 ) , y tome la combinación promedio de la salida en todas las palabras como la representación final de cada muestra
  3. self.graph_decomposition_operation()El método realiza operaciones GDO de 2 capas sobre el crimen y la ley para obtener una nueva representación.
    inserte la descripción de la imagen aquí
    Es recorrer dos veces, cada vez recorrer todas las etiquetas, y recorrer todos los vecinos de cada etiqueta, O ( N 3 ) O (N^3)O ( norte3 )Lo anterior debería estar allí, pero la imagen es bastante pequeña, por lo que aún puede funcionar. g
    Calcule la multiplicación por elementos ( ) entrela etiqueta y el vector entre cada vecino*y luego sume (torch.sum(x,-1)), que es el producto escalar.
    El dividendo se suma1e-10, debería ser para evitar la situación de todos los 0 (el elemento del vector es un número negativo, no lo sé).
  4. self.encoder()(GRU) que representa el texto del caso
  5. Atención L2F: versión del crimen
    inserte la descripción de la imagen aquí
    Transmita la representación legal (una a través de GRU y otra a través de GDO) a cada lote de casos new_charge_repeat = new_charge.unsqueeze(0).repeat(d_hidden.size(0),1,1), y luego use Code_Wise_Attentionla representación de texto de caso para implementar el mecanismo de atención para obtener dos representaciones
    (Todavía tengo El problema es que W α W_ \alfaWa¿Por qué falta?
    Concatena los dos y usa MLP para predecir los registros del crimen.
  6. Para obtener el delito predicho, use fact_separation(): Rechazo de vector
    para incrustar el vector de palabra del delito predicho, y utilícelo para realizar la representación del texto del caso Mask_Attention
    (igual, la parte de conversión lineal desaparece misteriosamente...)
    inserte la descripción de la imagen aquí
    En comparación con la fórmula en el código, el problema de la máscara se considera principalmente Crear una máscara de 2 capas (una antes de softmax, una antes de ×V)
    y luego calcular g, que es similar al método de escritura de la parte GDO
    Regresar Caracterización ADC y SEC
  7. Atención L2F versión legal
  8. Concatenar la representación del texto del caso, la representación obtenida por la ley de atención L2F y la representación ADC, aprobar GRU, agrupar, aprobar MLP y predecir la ley
  9. Luego use una de las tiras de uso para caracterizar el SEC fact_separation(), ligeramente, para obtener SSC y DSC
  10. Concatenar la representación de texto de caso, SSC y DSC, aprobar GRU, agrupar, aprobar MLP y predecir la oración

  1. Aprendizaje de similitud de oraciones por descomposición y composición léxica ↩︎ ↩︎

  2. Consulte mi publicación de blog anterior: Re27: Lea el documento LADAN Distinguir artículos legales confusos para la predicción de sentencias legales ↩︎

  3. El umbral de similitud dado en el código LADAN es que la similitud de coseno representada por TFIDF es mayor que 0.3, lo cual no se da en NeurJudge.El autor dijo que la similitud de coseno representada por word2vec es 0.5. Yo mismo uso la similitud del coseno de la agrupación promedio representada por word2vec. El umbral para artículos legales es 0.95 y el umbral para delitos es 0.85 ↩︎

  4. En el proyecto original de NeurJudge, se dan la definición, el sujeto, los
    inserte la descripción de la imagen aquí
    aspectos subjetivos, el objeto y los aspectos objetivos del delito. da El código definido se usa para la representación de texto, por lo que solo uso la definición cuando escribo el código para dibujar. ↩︎

Supongo que te gusta

Origin blog.csdn.net/PolarisRisingWar/article/details/128243315
Recomendado
Clasificación