Si tengo una combinación de nombre y dirección de correo electrónico, ¿cómo determinaría si estos datos se generan automáticamente o no mediante el aprendizaje automático?

¡Gracias por el A2A!

Comenzaré con un enfoque general que tomaría, si tuviera que resolver este problema. Estratégicamente, creo que hay dos opciones: solución basada en el cliente (implementada en JavaScript) y solución basada en el servidor (implementada utilizando un lenguaje / marco de su elección según los requisitos).

Al principio, puedes pensar lo que inicialmente pensé:

“Si bien el enfoque basado en el cliente es ciertamente más liviano, tanto en carga como en características, aún puede usar cosas como diccionarios y reglas simples (y tal vez incluso algunos algoritmos ML implementados en bibliotecas JavaScript)”.

Sin embargo, después de una breve investigación, me di cuenta de lo equivocado que estaba. Junto con el auge general en la investigación y práctica de la ciencia de datos , existe un gran interés en el aprendizaje automático (ML) tanto desde la investigación como desde la perspectiva práctica. Los siguientes son solo algunos recursos sobre el uso de JavaScript para ML que encontré interesantes:

– Aprendizaje automático en Javascript: Introducción – Blog de Burak Kanber (ver enlaces al final de la publicación);
– Aprendizaje profundo en su navegador (vea también una entrevista interesante del autor del paquete: Aprendizaje automático de próxima generación – Entrenamiento de modelos de aprendizaje profundo en un navegador: Entrevista de Andrej Karpathy);
– encog / encog-javascript (versión JavaScript del Marco de aprendizaje automático de Encog), lea la introducción a ML con Encog aquí: Aprendizaje automático de JavaScript y redes neuronales con Encog;
– Buscar por palabra clave: “machine% 20learning” (paquetes ML para node.js)

Debido a consideraciones de tiempo, limité mi respuesta a centrarme en JavaScript del lado del cliente para ML (y solo rasqué la superficie), sin embargo, el último enlace en mi lista de recursos presenta paquetes de ML para el nodo del servidor.js, que a su vez , proporciona una oportunidad de puente única para usar la misma base de código (o partes de ella) tanto para el cliente como para el servidor, o, al menos, el mismo lenguaje y marco.

Obviamente, también dejé sin abordar el tema y los recursos para usar lenguajes que no sean JavaScript para aplicaciones ML del lado del servidor. Este tema es demasiado grande para una sola respuesta, de todos modos. Java, C ++, Python, R y otros tienen enormes ecosistemas de ML, pero, si sus intereses de ML inmediatos son tan simples como la tarea que describe en su pregunta, le recomendaría que se adhiera a las herramientas más simples para los requisitos y las (herramientas ) que conoces (tienes experiencia con). Espero que mi respuesta sea útil.

A2A: Francamente, no creo que pueda confiar en ML para tal tarea: aunque puede consultar un diccionario de nombres (existen, para Denmak se dice que hay un libro de nombres de candidatos para baies), algunas personas simplemente eligen nombres de cuentas de correo que no están directamente relacionados con sus nombres reales; por ejemplo, ¿cómo clasificaría lo siguiente: [correo electrónico protegido] (oaie roz: oveja rosa, en rumano; esta fue una identificación real que utilizó uno de mis alumnos). Ok, podría argumentar que tales casos son raros, pero en realidad son bastante frecuentes.

Para proporcionar algunas respuestas parciales a sus preguntas:
“Formas de identificar si un nombre de pila es realmente un nombre o caracteres elegidos al azar”, consulte algunos diccionarios.

“identificar patrones en el correo electrónico, como un prefijo común seguido de números” – expresión regular, sin ML

“identificar patrón entre nombre y dirección de correo electrónico”. – Aunque pregunta. De todos modos, ¿cómo podría beneficiarse de tal mecanismo?

Esto tiene todas las propiedades de la pregunta descrita aquí:
La respuesta de Tanya Zyabkina a ¿Cuál es la parte más frustrante del trabajo de un científico de datos?

En otras palabras, tiene la suposición de que necesita eliminar las entradas incorrectas después de que se hayan ingresado. Tienes que romper esa suposición. Es una manera atrasada y muy ineficiente de hacer las cosas. En cambio, encuentre una forma de hacer experimentos para limpiar los datos por adelantado. Apuesto a que “cuánto es dos más dos, ingrese una respuesta numérica” ​​será muy superior a cualquier cosa que se le ocurra.

Hay 2 partes en el problema 1) si ya hay correos electrónicos sobre cómo eliminarlos de la lista
2) Cómo dejar de recibir más cuentas generadas automáticamente.

Primero, es difícil abordar alguna experiencia pasada. Había resultado en baja probabilidad, luego usamos la búsqueda de Google con Python para obtener datos de Internet para limpiar la lista.