Método de clasificación de texto
Los métodos de aprendizaje estadístico requieren un lote de documentos que han sido clasificados con precisión por humanos como materiales de aprendizaje (llamados conjuntos de entrenamiento). Es más barato para los humanos clasificar un lote de documentos que resumir reglas precisas a partir de estos documentos. . muchos). La computadora extrae estos documentos en busca de reglas que puedan clasificarse de manera efectiva. Este proceso se llama vívidamente entrenamiento y el conjunto de reglas resumidas generalmente se llama clasificador. Después del entrenamiento, estos clasificadores se utilizan cuando necesitan clasificar documentos que la computadora nunca ha visto. Estos conjuntos de entrenamiento incluyen datos de prueba de clasificación de textos de Sogou, corpus de clasificación de textos en chino, corpus de textos que incluyen arte, literatura y otras categorías, conjuntos de datos de textos en inglés que se pueden usar para agrupación, datos de textos de clasificación de NetEase, tc-corpus-train (conjunto de entrenamiento de corpus , adecuado para la formación en clasificación de textos) y el conjunto de formación de clasificación de páginas web chinas de 2002 CCT 2002-v 1. 643863636
Hoy en día, los métodos de aprendizaje estadístico se han convertido en la corriente principal absoluta en el campo de la clasificación de textos. La razón principal es que muchas de estas tecnologías tienen una base teórica sólida (por el contrario, los factores subjetivos de los expertos se encuentran principalmente en los métodos de ingeniería del conocimiento), tienen criterios de evaluación claros y tienen un buen desempeño real. Algoritmo de clasificación estadística
Solo después de que los datos de la muestra se hayan convertido con éxito en una representación vectorial, la computadora puede comenzar el proceso real de "aprendizaje". Los algoritmos de clasificación comúnmente utilizados incluyen:
Árbol de decisión, Rocchio, Naive Bayes, red neuronal, máquina de vectores de soporte, ajuste de mínimos cuadrados lineales, kNN, algoritmo genético, entropía máxima, conjunto de instancias generalizado, etc. Aquí, hablemos de algunos de los algoritmos más representativos.
Algoritmo de Rocchio
El algoritmo de Rocchio debe considerarse como la primera y más intuitiva solución cuando la gente piensa en la clasificación de texto. La idea básica es tomar un promedio de los documentos de muestra en una categoría (por ejemplo, tomar un promedio del número de veces que aparece la palabra "baloncesto" en todos los documentos "deportes" y luego tomar un promedio de "árbitros", y hacerlo en secuencia), puede obtener un nuevo vector, claramente llamado "centroide", y el centroide se convierte en la representación vectorial más representativa de esta categoría. Cuando hay un nuevo documento que necesita ser juzgado, podemos determinar si el nuevo documento pertenece a esta categoría comparando su similitud con el centroide (teoría de puntos estereotipados, juzgando la distancia entre los dos). El algoritmo de Rocchio ligeramente mejorado considera no solo los documentos que pertenecen a la categoría (llamados muestras positivas), sino también los datos de los documentos que no pertenecen a la categoría (llamados muestras negativas), y el centroide calculado es lo más cercano posible a la muestra positiva y lo más lejos posible Muestra negativa. El algoritmo de Rocchio parte de dos suposiciones fatales que hacen que su rendimiento sea sorprendentemente pobre. En primer lugar, se supone que los documentos de una categoría solo se agrupan alrededor de un centroide, lo que a menudo no es el caso (tales datos se denominan inseparabilidad lineal; en segundo lugar, se supone que los datos de entrenamiento son absolutamente correctos porque no tienen ninguna medida cuantitativa); mecanismo de si la muestra contiene ruido, por lo que no es resistente a datos erróneos.
Sin embargo, el clasificador generado por Rocchio es intuitivo, fácil de entender para los humanos y el algoritmo es simple, por lo que todavía tiene cierto valor de uso. En la investigación científica, a menudo se utiliza como sistema de referencia para comparar los pros y los contras de diferentes algoritmos.
Algoritmo Naive Bayes
El algoritmo bayesiano se centra en la probabilidad de que un documento pertenezca a una determinada categoría. La probabilidad de que un documento pertenezca a una determinada categoría es igual a la expresión combinada de la probabilidad de que cada palabra del documento pertenezca a esa categoría. La probabilidad de que cada palabra pertenezca a esta categoría se puede estimar aproximadamente por la cantidad de veces que aparece esta palabra en los documentos de capacitación de esta categoría (información de frecuencia de palabras), lo que hace factible todo el proceso de cálculo. Cuando se utiliza el algoritmo Naive Bayes, la tarea principal de la fase de entrenamiento es estimar estos valores.
El algoritmo Naive Bayes tiene más de una fórmula.
Primero, calcula la probabilidad a priori de los elementos de cada muestra.
En segundo lugar, es necesario calcular la probabilidad de una muestra para cada categoría, y se utilizará la categoría con mayor probabilidad. Por lo tanto
donde p(d | ci)= p(w 1 | ci)p(w2 | ci)…p(wi | ci)p(w 1 | ci)…p(WM | ci) (Fórmula 1).
P(w|C)=El número de veces que el elemento W aparece en muestras clasificadas como C/El número total de elementos en la muestra después de la clasificación de datos (Fórmula 2).
Entre ellos, el algoritmo Naive Bayes tiene dos grandes defectos.
En primer lugar, la razón por la que P(d| Ci) se puede expandir a la forma de (Fórmula 1) es que las palabras de un artículo son independientes entre sí y la aparición de una palabra es completamente independiente de otra palabra (puede saberlo recordando el concepto de variables independientes en la teoría de la probabilidad), pero esto obviamente es incorrecto. Incluso aquellos de nosotros que no somos lingüistas sabemos que entre las palabras existe un llamado "*" obvio.
En segundo lugar, cuando se utiliza la frecuencia de una determinada palabra en un determinado tipo de documentos de entrenamiento para estimar P(wi|Ci), es más preciso sólo cuando el número de muestras de entrenamiento es grande (considerando la moneda problema de lanzamiento, se necesita una gran cantidad de observaciones para sacar básicamente la conclusión de que las probabilidades de ambos lados representan la mitad. Si el número de observaciones es muy pequeño, es probable que obtenga la respuesta incorrecta), y el requisito es grande. El número de muestras no sólo implica mayores requisitos para el trabajo de clasificación manual previo (aumentando así los costes).
Pero los técnicos con un poco de sentido común entenderán que la parte que requiere más tiempo de la minería de datos es la clasificación de datos. En la etapa de clasificación de datos, se puede generar un diccionario basado en el vocabulario, se puede eliminar el vocabulario redundante y sin sentido y se pueden calcular las palabras y frases importantes por separado.
Esto puede evitar algunos problemas del ingenuo algoritmo de Bayes. De hecho, el verdadero problema radica en la forma en que el algoritmo calcula la entropía de la información.
En muchos casos, el algoritmo Naive Bayes puede lograr muy buenos resultados de reconocimiento mediante la optimización por parte de profesionales. En la actualidad, las dos empresas multinacionales de software más conocidas todavía utilizan el algoritmo Naive Bayes como algoritmo de herramienta para el procesamiento del lenguaje natural en algunos software.
Algoritmo KNN
Algoritmo vecino más cercano (kNN): dado un nuevo documento, calcula la similitud entre el vector de características del nuevo documento y el vector de cada documento en el conjunto de documentos de entrenamiento. Y obtenga Los k documentos más cercanos y similares al nuevo documento se utilizan para determinar la categoría del nuevo documento en función de las categorías de estos k documentos (tenga en cuenta que esto también significa que el algoritmo kNN no tiene un "entrenamiento" real fase en absoluto). Este método de juicio supera bien el defecto de que el algoritmo de Rocchio no puede manejar problemas lineales inseparables y también es muy adecuado para los requisitos de que los estándares de clasificación pueden cambiar en cualquier momento (siempre que se eliminen los documentos de capacitación antiguos y se agreguen nuevos documentos de capacitación). , los estándares de clasificación cambiarán).
La única desventaja fatal de kNN es que al juzgar la categoría de un nuevo documento, es necesario compararlo con todos los documentos de capacitación existentes. Este costo computacional no es asequible para todos los sistemas (en comparación con un sistema de clasificación de textos que estoy a punto de construir, que tiene decenas de miles de categorías. Incluso si solo hay 20 muestras de entrenamiento para cada categoría, para determinar la categoría de un nuevo documento, ¡se necesitarán 20 miles de comparaciones de vectores! Algunos métodos mejorados basados en kNN, como los conjuntos de instancias generalizados, están intentando resolver este problema.
KNN tiene otra desventaja. Cuando las muestras están desequilibradas, por ejemplo, el tamaño de la muestra de una clase es grande y el tamaño de la muestra de otras clases es pequeño, esto puede causar que cuando se ingresa una nueva muestra, las muestras de la clase de gran capacidad representen la mayoría. entre los K vecinos de la muestra. SVM (Support Vector Machine) fue propuesto por primera vez por Cortés y Vapnik en 1995. Tiene muchas ventajas únicas para resolver el reconocimiento de patrones de muestras pequeñas, no lineales y de alta dimensión, y puede extenderse a otros problemas de aprendizaje automático, como el ajuste de funciones.
El método de la máquina de vectores de soporte se basa en la teoría de la dimensión VC de la teoría del aprendizaje estadístico y el principio de riesgo estructural mínimo. Busca el mejor compromiso entre la complejidad del modelo (es decir, la precisión de muestras de entrenamiento específicas) y la capacidad de aprendizaje (es decir, la capacidad de identificar muestras arbitrarias sin cometer errores) basándose en información de muestra limitada para obtener la mejor capacidad de generalización. (o capacidades promocionales).
El método SVM tiene una sólida base teórica. La esencia del entrenamiento SVM es resolver un problema de planificación cuádruple (un problema de optimización con una función objetivo cuadrática y restricciones lineales) y obtener una solución óptima global, que no tiene comparación con otras técnicas de aprendizaje estadístico.
El clasificador SVM tiene un buen efecto en la clasificación de texto y es uno de los mejores clasificadores. Al mismo tiempo, la función kernel se utiliza para convertir el espacio muestral original en un espacio de alta dimensión, lo que puede resolver el problema de inseparabilidad lineal de la muestra original. Su desventaja es que la selección de funciones del kernel carece de orientación y es difícil seleccionar la mejor función del kernel para problemas específicos. Además, la velocidad de entrenamiento de SVM se ve muy afectada por el tamaño del conjunto de entrenamiento y el costo computacional; relativamente alto. En vista de la velocidad de entrenamiento de SVM, los investigadores han propuesto muchos métodos de mejora, incluido el método de fragmentación, el algoritmo de Osuna, el algoritmo SMO y el SVM interactivo. Las ventajas del clasificador SVM son buena versatilidad, alta precisión de clasificación y velocidad de clasificación rápida. La velocidad de clasificación no tiene nada que ver con la cantidad de muestras de entrenamiento. Es ligeramente mejor que los métodos kNN y Bayes ingenuo en términos de precisión y recuperación. tasa.