Aviso
Debido a que actualmente hay demasiados proyectos en este almacén, es difícil de mantener. Por lo tanto, en el futuro se separarán varias tareas, se establecerán almacenes por separado y se llevarán a cabo muchos experimentos comparativos para facilitar a los usuarios la selección de modelos. Si es necesario, puede saltar al almacén especificado, el enlace es el siguiente:
- Almacén de clasificación de textos
- Almacén de coincidencia semántica
- Almacén de generación de texto
- Otros repositorios están acelerando las actualizaciones...
Tabla de contenido
- chatbot
- 1. Bert_chatbot: similar a UniLM
- 2. seq2seq_luong: el codificador es una red gru de dos capas y el decodificador es una red gru de una capa. Se agrega atención entre el codificador y el decodificador.
- 3. transformador_chatbot: modelo de transformador estándar
- Destilación
- 1. DynaBert: el trabajo de Huawei utiliza principalmente la poda para cortar ciertas estructuras de bert.
- 2. rnn_distill_bert: utilice una capa de red lstm para destilar el modelo bert y solo agregue pérdida de etiqueta suave.
- 3. three_layer_self-attention_to_distill_bert: Probablemente sepas lo que significa mirando el nombre. Simplemente escribe el codificador del transformador de tres capas y luego destila el modelo bert.
- 4. tiny_bert: trabajo de Huawei, el método de destilación de tiny_bert es agregar la pérdida de error cuadrático medio de la capa intermedia además de la pérdida de etiqueta blanda.
- Incrustar
- 1. skipgram-word2vec: use skipgram para obtener vectores de palabras
- 2. bert: capacite a bert directamente, capacítelo desde cero o use este código para volver a capacitarlo
- 3. albert: capacite a albert directamente y capacítelo desde cero. También puede utilizar este código para volver a capacitarse.
- 4. NPLM: enfoque tradicional
- NER
- 1. Bert_CRF_Ner: modelo Bert más campo aleatorio condicional para tareas de etiquetado de secuencia
- 2. Bert_Softmax_Ner: utilice directamente el modelo bert para la anotación de secuencia
- 3. BiLSTM_CRF_Ner: utilice la red lstm bidireccional y crf para tareas de etiquetado de secuencia
- no-mt
- 1. GRU_attention: el codificador y el decodificador son redes gru, con un mecanismo de atención común (suma ponderada directa) agregado en el medio.
- 2. Transformers_NMT: estructura de transformador estándar para traducción automática
- Pretrain_Model
- 1. bert-pretrain: para volver a entrenar el modelo bert, primero realice el preprocesamiento de datos a través de get_train_data.py, incluido el 15% de las palabras para máscara y otras operaciones, y luego entrene.
- 2. wobert-pretrain: el modelo de preentrenamiento de wobert lo proporciona Su Shen. Para volver a entrenar aquí, puede agregar la lista de palabras que creó usted mismo y luego modificar el método de segmentación de palabras de bert.
- Comprensión_lectora
- 1. BERT_MRC: utilice bert para realizar tareas de comprensión de lectura automática. Se espera que aquí se adopte el método de etapa directa.
- 2. BiDAF: modelo de comprensión de lectura automática con mecanismo de flujo de atención bidireccional
- 3. DocQA: modelo tradicional
- 4. Match_LSTM: modelo tradicional, estructura rnn simple.
- 5. QANet: también es un modelo relativamente tradicional, pero este modelo es el primer modelo mrc que abandona la estructura rnn. Este modelo también es el primero en introducir el mecanismo de autoatención en la tarea mrc.
- 6. RNet: modelo tradicional
- 7. Recurrence-hotpot-baseline: por primera vez, se genera el problema de usar la estructura rnn para manejar el razonamiento de múltiples saltos. En el conjunto de datos hotpotqa, además de las predicciones que contienen respuestas, también hay predicciones de hechos de respaldo. y predicciones de párrafos relacionados.
- 8. albert_mrc: utilice el modelo previamente entrenado de albert para realizar tareas de mrc
- 9. electra_bert: utilice el modelo preentrenado de electra para realizar tareas de mrc
- 10. mrc_baseline: si está realizando tareas de mrc, se recomienda leer este código primero. Contiene varios detalles a los que mrc presta atención, como procesamiento de texto largo (ventana deslizante), clasificación de respuestas, entrenamiento adversario, etc.
- 11. roberta_mrc: utilice el modelo previamente entrenado de roberta para realizar tareas de mrc
- 12. transformador + rnn + atención: este proyecto es para comprensión de lectura generativa, usando directamente el método seq2seq. El codificador usa el codificador de transformador, y el decodificador usa la estructura gru, y se agrega una capa de atención ordinaria en el medio. mecanismo.
- 13. transformador_lectura: este proyecto también trata sobre la comprensión lectora generativa, utilizando la estructura transformadora estándar.
- Llenado de ranuras
- 1. JointBert: Implica clasificación de intenciones y clasificación de espacios. Utilice directamente bert para codificar la entrada y utilice vectores "CLS" para la clasificación de intenciones. El vector de codificación final de cada token se utiliza para la clasificación de ranuras.
- Clasificación_texto
- 1. DPCNN: la red convolucional profunda + conexión residual hace que este modelo sea mejor que las estructuras CNN anteriores y su complejidad no es alta.
- 2. FastBert: utiliza un método de autodestilación para acelerar el razonamiento del modelo. Se utiliza principalmente en tareas de clasificación.
- 3. FastText: Propuesto por Facebook, es un modelo eficiente de clasificación de texto.
- 4. XLNet: 1) Aprenda información contextual bidireccional maximizando la probabilidad logarítmica de todos los órdenes de factorización posibles 2) Utilice las características de la autorregresión en sí para superar las deficiencias de BERT; Además, XLNet también incorpora las ideas del actual modelo autorregresivo óptimo Transformer-XL.
- 5. all_layer_out_concat: como puede ver en el nombre, este proyecto codifica el texto a través del modelo de estilo bert, luego extrae el vector cls de cada capa, realiza un cálculo de atención y luego realiza la clasificación.
- 6. bert+bceloss+average_checkpoint: este proyecto cambia la función de pérdida de la tarea de clasificación a BCELoss. Además, agrega el peso promedio (promedio de múltiples puntos de control).
- 7. Capsule_text_classification: GRU+Cápsula para clasificación de texto
- 8. longformer_classification: utilice el modelo longformer previamente entrenado para la clasificación de texto. Para la clasificación de textos largos, puedes probar este modelo.
- 9. multi_label_classify_bert: utilice el modelo bert para la clasificación de etiquetas múltiples. Contiene tres modelos: bert (model.py), las dos últimas capas de agrupación de bert (model2.py) y bert+TextCNN (model3.py).
- 10. roberta_classification: utilice el modelo previamente entrenado de Roberta para la clasificación de texto.
- 11. transformador_xl: utilice transformador_xl directamente para la clasificación de texto. Para la clasificación de texto largo, puede probar este modelo.
- 12. wobert+focal_loss: Su Shen proporciona el modelo de preentrenamiento de wobert y agrega pérdida focal a la tarea de clasificación para resolver el problema del desequilibrio de categorías.
- 13. TextCNN: convoluciona el texto en diferentes escalas y luego lo concatena para clasificarlo.
- 14. BILSTM+Atención: Red LSTM bidireccional más atención ordinaria para clasificación de texto.
- Agrupación de texto
- 1. Agrupación LDA
- 2.DBSCAN
- 3. K significa
- Corrector de texto
- 1. bert_for_correction: es solo un intento simple: volver a entrenar en el corpus correspondiente, ingresar una oración con errores tipográficos y luego clasificar el vector de codificación de cada token.
- Generación_de_texto
- 1. GPT2_SummaryGen: use GPT2 para generar resumen
- 2. GPT2_TitleGen: Generación de títulos de artículos
- 3. Simple-GPT2: modelo GPT2 autoimplementado
- Clasificación_texto
- 1. BM25: Calcule el valor BM25 de la consulta y todos los textos que se ordenarán, y luego ordene según este valor.
- 2. DC_Bert_Ranking: Torres Gemelas + Interacción. Primero, la consulta y el contexto se codifican por separado, y los pesos aquí no se comparten. Luego, la codificación de la consulta y el contexto se mezcla y luego se pasa a través de varias capas de transformador-codificador interactivo.
- 3. DPR_Ranking: el modelo de clasificación de textos de Facebook
- 4. MT_Ranking: use el modelo de estilo bert para codificar, luego use cls para clasificar y ordenar según la puntuación de la muestra positiva
- 5. ReRank: incluida la destilación de modelos
- Similitud_de_texto
- 1. ABCNN: primero realice la incrustación de palabras en las dos oraciones, luego realice la agrupación para obtener los vectores de las dos oraciones, luego calcule la diferencia entre los dos vectores y finalmente realice la convolución en el vector de diferencia en diferentes escalas y luego clasifique.
- 2. BiMPM: este modelo se divide en cuatro partes: incrustación de palabras, codificación de contexto (bilstm), cuatro tipos de coincidencia y capa de agregación.
- 3. Atención descomponible: el núcleo de este artículo es la alineación, es decir, la correspondencia entre palabras en el artículo se utiliza en dos lugares: uno es la parte de atención, que se utiliza para calcular la relación de atención entre dos oraciones. la otra es En la parte de comparación, se comparan las palabras entre las dos oraciones. Cada procesamiento se basa en palabras y, finalmente, se utiliza una red neuronal de avance para hacer predicciones. Es obvio que el modelo mencionado en este artículo no utiliza la relación temporal de las palabras en la oración, sino que enfatiza la correspondencia entre las palabras en las dos oraciones (alineación).
- 4. ESIM: herramienta de coincidencia de textos cortos. Lo mejor de ESIM es su atención entre oraciones, que es soft_align_attention en el código. En este paso, las dos oraciones que se van a comparar interactúan. En estructuras anteriores similares a las redes siamesas, a menudo no había interacción en el medio y solo se encontraba una distancia de coseno u otra distancia en la última capa.
- 5. RE2: El nombre RE2 proviene de la combinación de tres partes importantes de la red: vectores residuales;
- 6. SiaGRU: estructura de torre gemela, use GRU para codificar dos oraciones respectivamente, luego calcule la diferencia entre los dos vectores de codificación de oraciones y finalmente use este vector de diferencia para la clasificación.
- 7. SimCSE: aprendizaje contrastivo, habilidades: diferentes muestras, diferentes abandonos
- 8. BM25: Calcule directamente el valor BM25 de dos textos, representando su grado de similitud.
- 9. TF_IDF: Calcula directamente el valor TF_IDF de dos textos, representando su grado de similitud.
- 10. NEZHA_Coattention: adopta una estructura de torre gemela. Se ingresan dos oraciones en el modelo NEZHA respectivamente, y luego la entrada se diferencia, se empalma con la representación original y luego se envía a una red completamente conectada para su clasificación. Hay otro modelo, es decir, después de obtener la representación de las dos oraciones, implementamos nosotros mismos una capa de transformador-codificador para fusionar la información de representación y finalmente la clasificamos.
- 11. Bert_Whitening: el método propuesto por Su Jianlin no requiere entrenamiento y unifica directamente la salida de bert de cada oración con la base ortonormal estándar.
- aumento_de_datos
- 1. eda: utilice el kit de herramientas nlpcda para aumentar los datos. Tales como: reemplazo de entidad equivalente, reemplazo aleatorio de sinónimos, eliminación aleatoria de caracteres, intercambio de posición, reemplazo de homófonos.
- 2. Traducción inversa-Baidu: utilice Baidu Translate para la traducción inversa del texto.
- 3. Back-translation-google: utilice Google Translate para la traducción inversa de texto.
- relación_extracción
- 1. lstm_cnn_information_extract: lstm+cnn
- 2. relación_clasificación: clasificación de relaciones, bilstm + atención ordinaria
NLP_pytorch_project
chatbot
1. Bert_chatbot: similar a UniLM
- python train.py # código de entrenamiento
- python infernece.py # Inferencia del modelo
2. seq2seq_luong: el codificador es una red gru de dos capas y el decodificador es una red gru de una capa. Se agrega atención entre el codificador y el decodificador.
- python train.py # código de entrenamiento
- python inference.py # Inferencia del modelo
3. transformador_chatbot: modelo de transformador estándar
- python train.py # código de entrenamiento
- python chat.py # Los datos de entrenamiento que se pueden usar para chatear son material de diálogo de Qingyun.
Destilación
1. DynaBert: el trabajo de Huawei utiliza principalmente la poda para cortar ciertas estructuras de bert.
- python train_teacher_model.py # Entrenar modelo de profesor
- python train_tailor_model.py # Podar el modelo del profesor
2. rnn_distill_bert: utilice una capa de red lstm para destilar el modelo bert y solo agregue pérdida de etiqueta suave.
- python train_bert.py # Entrenar al profesor modelo bert
- python train_distill.py # Distillation usa lstm para aprender la salida de bert
3. three_layer_self-attention_to_distill_bert: Probablemente sepas lo que significa mirando el nombre. Simplemente escribe el codificador del transformador de tres capas y luego destila el modelo bert.
- python train_bert.py # Entrenar al profesor modelo bert
- python train_distill.py # Destilación
4. tiny_bert: trabajo de Huawei, el método de destilación de tiny_bert es agregar la pérdida de error cuadrático medio de la capa intermedia además de la pérdida de etiqueta blanda.
- python train.py # Entrenar al profesor modelo bert
- python train_distill_v2.py # Destilación
incrustar
1. skipgram-word2vec: use skipgram para obtener vectores de palabras
- Python 001-skipgram-word2vec.py
2. bert: capacite a bert directamente, capacítelo desde cero o use este código para volver a capacitarlo
3. albert: capacite a albert directamente y capacítelo desde cero. También puede utilizar este código para volver a capacitarse.
4. NPLM: enfoque tradicional
NER
1. Bert_CRF_Ner: modelo Bert más campo aleatorio condicional para tareas de etiquetado de secuencia
- python run_ner_crf.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
2. Bert_Softmax_Ner: utilice directamente el modelo bert para la anotación de secuencia
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
3. BiLSTM_CRF_Ner: utilice la red lstm bidireccional y crf para tareas de etiquetado de secuencia
- python train.py # Entrenamiento del modelo
no-mt
1. GRU_attention: el codificador y el decodificador son redes gru, con un mecanismo de atención común (suma ponderada directa) agregado en el medio.
- python train.py # Entrenamiento del modelo
2. Transformers_NMT: estructura de transformador estándar para traducción automática
- python train.py # Entrenamiento del modelo
Pretrain_Model
1. bert-pretrain: para volver a entrenar el modelo bert, primero realice el preprocesamiento de datos a través de get_train_data.py, incluido el 15% de las palabras para máscara y otras operaciones, y luego entrene.
- python get_train_data.py #Preprocesamiento de datos
- python run_pretrain.py # Reentrenamiento
2. wobert-pretrain: el modelo de preentrenamiento de wobert lo proporciona Su Shen. Para volver a entrenar aquí, puede agregar la lista de palabras que creó usted mismo y luego modificar el método de segmentación de palabras de bert.
- python Process_pretrain_data.py #Preprocesamiento de datos
- python run_pretrain.py # Reentrenamiento
Comprensión_lectora
1. BERT_MRC: utilice bert para realizar tareas de comprensión de lectura automática. Se espera que aquí se adopte el método de etapa directa.
- python train.py # Entrenamiento del modelo
2. BiDAF: modelo de comprensión de lectura automática con mecanismo de flujo de atención bidireccional
- python data_process.py # Primero preprocesa los datos
- python train_bidaf.py # Entrenamiento del modelo
3. DocQA: modelo tradicional
- python data_process.py # Primero preprocesa los datos
- python train_DocQA.py # Entrenamiento del modelo
4. Match_LSTM: modelo tradicional, estructura rnn simple.
- python data_process.py # Primero preprocesa los datos
- python train_Match_Lstm.py # Entrenamiento del modelo
5. QANet: también es un modelo relativamente tradicional, pero este modelo es el primer modelo mrc que abandona la estructura rnn. Este modelo también es el primero en introducir el mecanismo de autoatención en la tarea mrc.
- python data_process.py #Preprocesamiento de datos
- python train.py # Entrenamiento del modelo
6. RNet: modelo tradicional
- python data_process.py #Preprocesamiento de datos
- python train_RNet.py # Entrenamiento del modelo
7. Recurrence-hotpot-baseline: por primera vez, se genera el problema de usar la estructura rnn para manejar el razonamiento de múltiples saltos. En el conjunto de datos hotpotqa, además de las predicciones que contienen respuestas, también hay predicciones de hechos de respaldo. y predicciones de párrafos relacionados.
- python data_process.py #Preprocesamiento de datos
- python train.py # Entrenamiento del modelo
8. albert_mrc: utilice el modelo previamente entrenado de albert para realizar tareas de mrc
- python train_update.py # Modelo de entrenamiento
- python inference.py #Inferencia sobre un solo dato
- python inference_all.py #Inferencia para todos los datos
9. electra_bert: utilice el modelo preentrenado de electra para realizar tareas de mrc
- python run_cail.py #Modelo de entrenamiento
- python evalua.py # Evaluación del modelo
10. mrc_baseline: si está realizando tareas de mrc, se recomienda leer este código primero. Contiene varios detalles a los que mrc presta atención, como procesamiento de texto largo (ventana deslizante), clasificación de respuestas, entrenamiento adversario, etc.
- python train.py #modelo de tren
11. roberta_mrc: utilice el modelo previamente entrenado de roberta para realizar tareas de mrc
- python train.py #modelo de tren
12. transformador + rnn + atención: este proyecto es para comprensión de lectura generativa, usando directamente el método seq2seq. El codificador usa el codificador de transformador, y el decodificador usa la estructura gru, y se agrega una capa de atención ordinaria en el medio. mecanismo.
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
13. transformador_lectura: este proyecto también trata sobre la comprensión lectora generativa, utilizando la estructura transformadora estándar.
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
Llenado de ranuras
1. JointBert: Implica clasificación de intenciones y clasificación de espacios. Utilice directamente bert para codificar la entrada y utilice vectores "CLS" para la clasificación de intenciones. El vector de codificación final de cada token se utiliza para la clasificación de ranuras.
- python train.py # Entrenamiento del modelo
Clasificación_texto
1. DPCNN: la red convolucional profunda + conexión residual hace que este modelo sea mejor que las estructuras CNN anteriores y su complejidad no es alta.
- python get_data_to_examples.py # Preprocesar datos
- python example_to_features.py # Convertir los ejemplos correspondientes en características
- python train.py # Entrenamiento del modelo
2. FastBert: utiliza un método de autodestilación para acelerar el razonamiento del modelo. Se utiliza principalmente en tareas de clasificación.
- sh train_stage0.sh # Entrenar al profesor modelo bert
- sh train_stage1.sh # autodestilación
- sh infer_sigle.sh # Muestra única de inferencia adaptativa
3. FastText: Propuesto por Facebook, es un modelo eficiente de clasificación de texto.
- python step1_get_data_to_examples.py # Obtener datos
- python step2_examples_to_features.py # Convertir datos de texto en secuencia de identificación
- python train.py # Entrenamiento del modelo
4. XLNet: 1) Aprenda información contextual bidireccional maximizando la probabilidad logarítmica de todos los órdenes de factorización posibles 2) Utilice las características de la autorregresión en sí para superar las deficiencias de BERT; Además, XLNet también incorpora las ideas del actual modelo autorregresivo óptimo Transformer-XL.
- python train.py # Entrenamiento del modelo
5. all_layer_out_concat: como puede ver en el nombre, este proyecto codifica el texto a través del modelo de estilo bert, luego extrae el vector cls de cada capa, realiza un cálculo de atención y luego realiza la clasificación.
- python train.py # Entrenamiento del modelo
- Python inference.py # Inferencia del modelo
6. bert+bceloss+average_checkpoint: este proyecto cambia la función de pérdida de la tarea de clasificación a BCELoss. Además, agrega el promedio de peso (promedio de múltiples puntos de control).
- python run_classify.py # Entrenamiento del modelo
- python run_average_checkpoints.py # Promedio de peso
7. Capsule_text_classification: GRU+Cápsula para clasificación de texto
- python train.py # Entrenamiento del modelo
8. longformer_classification: utilice el modelo longformer previamente entrenado para la clasificación de texto. Para la clasificación de textos largos, puedes probar este modelo.
- python train.py # Entrenamiento del modelo
9. multi_label_classify_bert: utilice el modelo bert para la clasificación de etiquetas múltiples. Contiene tres modelos: bert (model.py), las dos últimas capas de agrupación de bert (model2.py) y bert+TextCNN (model3.py).
- python train.py # Entrenamiento del modelo
- python inference.py # Predicción del modelo
10. roberta_classification: utilice el modelo previamente entrenado de Roberta para la clasificación de texto.
- python train.py # Entrenamiento del modelo
11. transformador_xl: utilice transformador_xl directamente para la clasificación de texto. Para la clasificación de texto largo, puede probar este modelo.
- python train.py # Entrenamiento del modelo
12. wobert+focal_loss: Su Shen proporciona el modelo de preentrenamiento de wobert y agrega pérdida focal a la tarea de clasificación para resolver el problema del desequilibrio de categorías.
- python run_classify.py # Entrenamiento del modelo
13. TextCNN: convoluciona el texto en diferentes escalas y luego lo concatena para clasificarlo.
- python 001-TextCNN.py # Entrenamiento del modelo
14. BILSTM+Atención: red LSTM bidireccional más atención ordinaria para clasificación de texto.
- python 002-BILSTM+Attention.py # Entrenamiento del modelo
Agrupación de texto
1. Agrupación LDA
- python train_LDA_cluster.py # Agrupación
2.DBSCAN
- python train_dbscan_cluster.py # Agrupación
3. K significa
- python train_kmeans_cluster.py # Agrupación
Corrector de texto
1. bert_for_correction: es solo un intento simple: volver a entrenar en el corpus correspondiente, ingresar una oración con errores tipográficos y luego clasificar el vector de codificación de cada token.
- python run_pretrain_bert.py #Reentrenamiento
- bert_corrector.py # Corrección de errores
Generación_de_texto
1. GPT2_SummaryGen: use GPT2 para generar resumen
- python train.py # Entrenamiento del modelo
- python inferface.py # Inferencia del modelo
2. GPT2_TitleGen: Generación de títulos de artículos
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
3. Simple-GPT2: modelo GPT2 autoimplementado
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
Clasificación_texto
1. BM25: Calcule el valor BM25 de la consulta y todos los textos que se ordenarán, y luego ordene según este valor.
2. DC_Bert_Ranking: Torres Gemelas + Interacción. Primero, la consulta y el contexto se codifican por separado, y los pesos aquí no se comparten. Luego, la codificación de la consulta y el contexto se mezcla y luego se pasa a través de varias capas de transformador-codificador interactivo.
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
3. DPR_Ranking: el modelo de clasificación de textos de Facebook
- python train.py # Entrenamiento del modelo
4. MT_Ranking: use el modelo de estilo bert para codificar, luego use cls para clasificar y ordenar según la puntuación de la muestra positiva
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
5. ReRank: incluida la destilación de modelos
- python train.py # Entrenamiento del modelo
- python train_distill.py # Destilación del modelo
Similitud_de_texto
1. ABCNN: primero realice la incrustación de palabras en las dos oraciones, luego realice la agrupación para obtener los vectores de las dos oraciones, luego calcule la diferencia entre los dos vectores y finalmente realice la convolución en el vector de diferencia en diferentes escalas y luego clasifique.
- python train.py # Entrenamiento del modelo
2. BiMPM: este modelo se divide en cuatro partes: incrustación de palabras, codificación de contexto (bilstm), cuatro tipos de coincidencia y capa de agregación.
- python train.py # Entrenamiento del modelo
3. Atención descomponible: el núcleo de este artículo es la alineación, es decir, la correspondencia entre palabras en el artículo se utiliza en dos lugares: uno es la parte de atención, que se utiliza para calcular la relación de atención entre dos oraciones. la otra es En la parte de comparación, se comparan las palabras entre las dos oraciones. Cada procesamiento se basa en palabras y, finalmente, se utiliza una red neuronal de avance para hacer predicciones. Es obvio que el modelo mencionado en este artículo no utiliza la relación temporal de las palabras en la oración, sino que enfatiza la correspondencia entre las palabras en las dos oraciones (alineación).
- python train.py # Entrenamiento del modelo
4. ESIM: herramienta de coincidencia de textos cortos. Lo mejor de ESIM es su atención entre oraciones, que es soft_align_attention en el código. En este paso, las dos oraciones que se van a comparar interactúan. En estructuras anteriores similares a las redes siamesas, a menudo no había interacción en el medio y solo se encontraba una distancia de coseno u otra distancia en la última capa.
- python train.py # Entrenamiento del modelo
5. RE2: El nombre RE2 proviene de la combinación de tres partes importantes de la red: vectores residuales;
- python train.py # Entrenamiento del modelo
6. SiaGRU: estructura de torre gemela, use GRU para codificar dos oraciones respectivamente, luego calcule la diferencia entre los dos vectores de codificación de oraciones y finalmente use este vector de diferencia para la clasificación.
- python train.py # Entrenamiento del modelo
7. SimCSE: aprendizaje contrastivo, habilidades: diferentes muestras, diferentes abandonos
- python train.py # Entrenamiento del modelo
8. BM25: Calcule directamente el valor BM25 de dos textos, representando su grado de similitud.
9. TF_IDF: Calcula directamente el valor TF_IDF de dos textos, representando su grado de similitud.
10. NEZHA_Coattention: adopta una estructura de torre gemela. Se ingresan dos oraciones en el modelo NEZHA respectivamente, y luego la entrada se diferencia, se empalma con la representación original y luego se envía a una red completamente conectada para su clasificación. Hay otro modelo, es decir, después de obtener la representación de las dos oraciones, implementamos nosotros mismos una capa de transformador-codificador para fusionar la información de representación y finalmente la clasificamos.
11. Bert_Whitening: el método propuesto por Su Jianlin no requiere entrenamiento y unifica directamente la salida de bert de cada oración con la base ortonormal estándar.
- python run_bert_whitening.py # Verifique directamente el conjunto de datos y calcule el coeficiente de Spearman
aumento_de_datos
1. eda: utilice el kit de herramientas nlpcda para aumentar los datos. Tales como: reemplazo de entidad equivalente, reemplazo aleatorio de sinónimos, eliminación aleatoria de caracteres, intercambio de posición, reemplazo de homófonos.
2. Traducción inversa-Baidu: utilice Baidu Translate para la traducción inversa del texto.
- Python 002-run_contrslate_data_aug.py
3. Back-translation-google: utilice Google Translate para la traducción inversa de texto.
- Python 003-google_trans_data_aug.py
relación_extracción
1. lstm_cnn_information_extract: lstm+cnn
- python train.py # Entrenamiento del modelo
- python inference.py # Inferencia del modelo
2. relación_clasificación: clasificación de relaciones, bilstm + atención ordinaria
- python data_helper.py #Preprocesamiento de datos
- python train.py # Entrenamiento del modelo
Historia de las estrellas