CRM114 (nombre completo: "El Discriminador CRM114") es un programa basado en un enfoque estadístico para clasificar datos , y se utiliza especialmente para filtrar correo no deseado (spam) .
El nombre proviene del discriminador CRM-114 de la película Dr. Strangelove de Stanley Kubrick : un equipo de radio diseñado para filtrar mensajes que carecen de un prefijo de código específico.
Mientras que otros han realizado un filtrado de spam bayesiano estadístico basado en la frecuencia de ocurrencia de una sola palabra en el correo electrónico, CRM114 logra una mayor tasa de reconocimiento de spam mediante la creación de resultados basados en frases de hasta cinco palabras de longitud. Estas frases se utilizan para formar un campo aleatorio de Markov que representa los textos entrantes. Con este reconocimiento contextual adicional, es uno de los filtros de spam más precisos disponibles. Las pruebas iniciales en 2002 realizadas por el autor Bill Yerazunis [1] dieron una precisión del 99,87%; [2] Holden [3] y TREC 2005 y 2006 [4] [5] dieron resultados superiores al 99%, con una variación significativa según el corpus en particular.
El clasificador de CRM114 también se puede cambiar para utilizar el algoritmo Winnow de Littlestone, la correlación carácter por carácter , una variante de la clasificación KNN ( algoritmo de los K vecinos más cercanos ) llamada Hyperspace, un clasificador entrópico de bits que utiliza la codificación de entropía para determinar la similitud, un SVM , por compresibilidad mutua calculada por un algoritmo LZ77 modificado y otros clasificadores más experimentales. Las características reales coincidentes se basan en una generalización de los skip-grams .
Los algoritmos CRM114 son multilingües (compatibles con codificaciones UTF-8 ) y no admiten valores nulos. Se ha demostrado que un conjunto de clasificadores CRM114 con votación detecta documentos confidenciales y no confidenciales escritos en japonés con una tasa de detección superior al 99,9 % y una tasa de falsas alarmas del 5,3 %. [6]
CRM114 es un buen ejemplo de software de reconocimiento de patrones que demuestra cómo se puede lograr el aprendizaje automático con un algoritmo razonablemente simple. El código fuente en C del programa está disponible bajo la licencia GPL .
En un nivel más profundo, CRM114 es también un lenguaje de comparación de patrones de cadenas, similar a grep o incluso a Perl ; aunque es Turing completo , está altamente ajustado para la comparación de texto, e incluso una definición simple (recursiva) del factorial ocupa casi diez líneas. Parte de esto se debe a que la sintaxis del lenguaje crm114 no es posicional , sino declinal . Como lenguaje de programación, se puede utilizar para muchas otras aplicaciones además de detectar spam. CRM114 utiliza el motor de expresiones regulares de coincidencia aproximada TRE , por lo que es posible escribir programas que no dependen de la coincidencia de cadenas absolutamente idénticas para funcionar correctamente.
CRM114 se ha aplicado al filtrado de correo electrónico en el cliente KMail [7] [8] y en varias otras aplicaciones, incluida la detección de bots en Twitter y Yahoo, [9] [10] así como el filtro de primer nivel en el sistema de detección de defectos de vehículos del Departamento de Transporte de EE. UU. [11] También se ha utilizado como método predictivo para clasificar módulos de software propensos a fallas. [12]
{{cite web}}
: CS1 maint: archived copy as title (link)