Clasificación de textos de noticias de competencia de PNL de Tianchi (1) -Comprensión de preguntas de competencia


Serie de artículos
Clasificación de textos de noticias de competencia de Tianchi PNL (1) comprensión de preguntas


1. Comprensión de las preguntas de la competencia.

1.1 Objetivos de aprendizaje

A través de la primera etapa de aprendizaje de pnl, la serie anterior de enlaces https://blog.csdn.net/bosszhao20190517/article/details/106911793 , dominé los métodos y principios básicos de pnl, esta vez seguí a Datawhale para participar en el Tianchi competencia—— Clasificación de texto de noticias de competencia de PNL introductoria de base cero, enlace de registro https://tianchi.aliyun.com/competition/entrance/531810/introduction?spm=5176.12281949.1003.1.493e24487BQPMy , ingrese al mundo del procesamiento del lenguaje natural y aprende en la competición y superate.

1.2 Datos de la pregunta

Las preguntas del concurso utilizan datos de noticias como los datos de las preguntas del concurso, y el conjunto de datos es visible y descargable después del registro. Los datos de la pregunta del concurso son texto de noticias y se anonimizan según el nivel del personaje. Integre y divida 14 categorías de clasificación de candidatos: finanzas, lotería, bienes raíces, acciones, muebles para el hogar, educación, tecnología, sociedad, moda, actualidad, deportes, constelaciones, juegos, datos de texto de entretenimiento.
Los datos de la pregunta constan de las siguientes partes: muestras de 20w en el conjunto de entrenamiento, muestras de 5w en el conjunto de prueba A y muestras de 5w en el conjunto de prueba B. Para evitar que los jugadores etiqueten manualmente el conjunto de prueba, anonimizamos el texto de los datos del juego de acuerdo con el nivel del personaje.

1.3 Etiqueta de datos

Los datos de entrenamiento procesados ​​de las preguntas de la competencia son los siguientes:

etiqueta texto
6 57 44 66 56 2 3 3 37 5 41 9 57 44 47 45 33 13 63 58 31 17 47 0 1 1 69 26 60 62 15 21 12 49 18 38 20 50 23 57 44 45 33 25 28 47 22 52 35 30 14 24 69 54 7 48 19 11 51 16 43 26 34 53 27 64 8 4 42 36 46 65 69 29 39 15 37 57 44 45 33 69 54 7 25 40 35 30 66 56 47 55 69 61 10 60 42 36 46 65 37 5 41 32 67 6 59 47 0 1 1 68

La relación correspondiente de las etiquetas en el conjunto de datos es la siguiente: {'Tecnología': 0, 'Acciones': 1, 'Deportes': 2, 'Entretenimiento': 3, 'Asuntos actuales': 4, 'Sociedad': 5, 'Educación': 6, 'Finanzas': 7, 'Muebles para el hogar': 8, 'Juego': 9, 'Propiedad': 10, 'Moda': 11, 'Lotería': 12, 'Constelación': 13 }

La fuente de los datos de las preguntas del concurso son las noticias en Internet, que se recopilan y procesan de forma anónima. Por lo tanto, los concursantes pueden realizar análisis de datos por sí mismos y pueden aprovechar al máximo sus fortalezas para completar varios proyectos de características, sin restringir el uso de datos y modelos externos.
La columna de datos se divide por \ t, y el código para leer los datos en Pandas es el siguiente

train_df = pd.read_csv('../input/train_set.csv', sep='\t')

1.4 Criterios de evaluación

El estándar de evaluación es el valor promedio de la categoría f1_score. Los resultados presentados por los jugadores se comparan con las categorías del conjunto de prueba real. Cuanto mayor sea el resultado, mejor.

Fórmula de cálculo: F 1 = 2 ∗ (precisión ∗ recuperación) (precisión + recuperación) Fórmula de cálculo: F1 = 2 * \ frac {(precisión ∗ recuperación)} {(precisión + recuperación)} Contador de cálculo pública fórmula : F. . 1=2( p r e c i s i o n+r e c a l l )( P r e c i s i o n * r e c un l l )

El cálculo de f1_score se puede realizar a través de sklearn:

from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
f1_score(y_true, y_pred, average='macro')

1.5 Leer datos

Utilice la biblioteca de Pandas para completar la operación de lectura de datos y analizar los datos del concurso.

1.6 Análisis de pensamiento

Análisis de la idea de la pregunta: La esencia de la pregunta es un problema de clasificación de texto, que debe clasificarse según los caracteres de cada oración. Sin embargo, los datos proporcionados en la pregunta son anonimizados y operaciones como la segmentación de palabras chinas no se pueden utilizar directamente. Ésta es la dificultad de la pregunta.

Por tanto, la dificultad de esta competición radica en la necesidad de modelar caracteres anónimos para completar el proceso de clasificación del texto. Dado que los datos de texto son datos no estructurados típicos, pueden involucrar dos partes: extracción de características y modelo de clasificación.

  • Idea 1: clasificador de aprendizaje automático TF-IDF +

Utilice TF-IDF directamente para extraer características del texto y utilice el clasificador para clasificar. En la elección del clasificador, puede utilizar SVM, LR o XGBoost.

  • Idea 2: FastText

FastText es un vector de palabras de nivel de entrada. Con la herramienta FastText proporcionada por Facebook, puede construir rápidamente un clasificador.

  • Idea 3: clasificador de aprendizaje profundo WordVec +

WordVec es un vector de palabras avanzado y la clasificación se completa construyendo una clasificación de aprendizaje profundo. La estructura de red de la clasificación de aprendizaje profundo puede elegir TextCNN, TextRNN o BiLSTM.

  • Idea 4: vector de palabra Bert

Bert es un vector de palabras altamente emparejado con poderosas capacidades de modelado y aprendizaje.

Supongo que te gusta

Origin blog.csdn.net/bosszhao20190517/article/details/107495216
Recomendado
Clasificación