Es realmente difícil distinguir los bots de las personas. Realmente no puedo hacerlo yo mismo. Pero por otro lado, se me ocurrió una buena
bicicleta ... un método para distinguir en VK "personas interesantes" de "no muy interesantes". En términos de comunicación de red, por supuesto, y no en la vida.
Si alguien llama a tus amigos, pero a primera vista no puedes entender que se trata de una persona normal o quién sabe, este método puede proporcionar información útil sobre el usuario. Es poco probable que lo use para identificar grupos objetivo relevantes, porque
VK ha puesto un límite a la capacidad de descargar el contenido de los muros de los usuarios , y es lento para dañar. Es decir es posible, pero es necesario refinar, optimizar y esquivar en gran medida para evitar las restricciones.
Idea principal
La idea principal es que los bots, las personalidades aburridas (en términos de red), todo tipo de coleccionistas masivos de amigos-suscriptores realmente no se preocupan de con quién son amigos, aunque pueden "escribir" muchas publicaciones significativas en sus muros. Pero las personalidades aburridas no leen especialmente su cinta, y los bots no la necesitan en absoluto. Además, esto no es necesario para los coleccionistas masivos de suscriptores y estrellas.
Pero para las personas que tienen al menos algunos intereses comunicativos con respecto a VK, es muy importante con quién son amigos. Y, por supuesto, no podrán reunir 6,000 tipos en sus amigos que solo compartirán reposts, fotos de mujeres desnudas y publicidad de
barriles de
drenaje con un descuento en un almacén en Novy Urengoy.Y sobre esta base, puede intentar elaborar un criterio para identificar a las personas interesadas en el contenido de su feed. Estas personas muestran las características de una persona real. Una persona que, como mínimo, realiza un acto comunicativo unilateral significativo. Hoy en día, esto no es tan pequeño.
Dos criterios vinieron a mi mente de inmediato:
- El diccionario promedio de los amigos de una persona para N últimas publicaciones.
- El porcentaje de publicaciones sin textos de amigos de la persona que se está revisando.
Y sobre la base de algo como esto, ya puede intentar construir algún tipo de modelo que distinga a las personas interesantes de las no muy interesantes.
¿Y cómo terminé comprobando esto?
Elegí 50 amigos al azar y 50 seguidores al azar que cumplían algunos criterios que cortarían las falsificaciones, los niños o las personas muy obvias que no lo usaban todo. Escriba que el usuario no debe ser desactivado y al mismo tiempo debe tener más de 50 amigos existentes.
Miré a través de todas estas personas e identifiqué cuál de ellas es un "bot" y cuál no. Naturalmente, la mayoría de los amigos eran reales, y la mayoría de los suscriptores se ofrecieron a comprar algo (pero había algunas personas reales allí).
Además, tomé las primeras 100 publicaciones de cada uno de los amigos de la persona que estaba siendo revisada, si había tantas en el muro. Para cada persona, consideré dos factores:
- El tamaño promedio del diccionario de amigos de una persona para sus primeras 100 publicaciones. Es decir 50 amigos, cada uno con aproximadamente 100 publicaciones. Para cada amigo, todas las palabras de 100 publicaciones se agrupan, se sellan y se considera el número de palabras únicas de un amigo. Además, se considera el promedio de los 50 amigos. De este valor, se tomó la raíz: SQRT (Dic).
- Si un amigo tiene más de 60 de 100 publicaciones sin palabras, se marca como "perdido". El porcentaje de personas "perdidas" en amigos es el segundo factor: el porcentaje.
Otro factor apareció por casualidad. Este es el logaritmo de Idy en VK log10 (ID)
En esto, entrené a todos en
regresión logística , y obtuve esto:
log (OR) = 9.92-1.537 * log10 (ID) + 0.067 * SQRT (Dic) -0.023 * Porcentaje
Para la parte de prueba de la muestra, obtuvimos un clasificador muy bueno con AUC = 0.93. Aquí está tal
curva ROC :
Curva ROC del clasificador que determina el contenido de la página de una persona
Algunas preguntas surgen por la importancia de VC ID para clasificar el contenido de una persona, pero parece que, por desgracia, funciona de esa manera. Cuanto más lejos esté la ID de 1, más probable es que solo se trate de un bot creado para anunciar micropréstamos. Sin ID, el clasificador también funciona, pero peor. AUC = 0,78. Esto no es bueno directo, pero tampoco es inútil directo.
En cualquier caso, la decisión final sobre la utilidad del personaje depende de quien toma las decisiones.
Cheque adicional
Tomé a todos sus 5,000 suscriptores de uno de mis camaradas, donde, naturalmente, se envió el 95% de la escoria publicitaria y la regresión se ejecutó sin capacitación adicional. Con un corte del 20%, los resultados salieron como
TP = 78%, FP = 11% . Es decir, en general, en una persona arbitraria, esto también funciona más o menos menos.
¿Pueden hacer bots que pasen esta prueba?
Sí, es bastante fácil generar un bot con algunas publicaciones con un significado pseudo rodeado de amigos, pero hasta ahora nadie lo necesita. Bueno, es difícil molestarse con contenido diferente, porque si todos los bots generan lo mismo, esto también es fácil de reconocer.
¿Es posible hacer una aplicación que verifique a las personas por ID?
Probablemente sea posible, pero lo estoy desglosando para hacer hola VK. Si alguien quiere, que lo haga. Parece que se describe el método, su idea es simple.
¿Es demasiado común?
Suficiente Pero de repente, alguien será útil como base para su desarrollo. Este método puede ser fácilmente complicado, por ejemplo, al considerar no solo la longitud de los diccionarios, sino también el contenido. Aquí ya puede usar toda la potencia de
PNL y entrenar en contenido. Todavía puede tomar clasificadores más complejos: árboles, redes neuronales, etc. Todo esto puede ser complicado, pero es importante que incluso los simples den algo interesante.