Hay un enfoque más simple que no utiliza el aprendizaje automático.
Defina un k-gramo como k unidades consecutivas del programa (por ejemplo, k declaraciones en un programa C ++). Ahora trocee cada uno de estos k-gramas y, de entre todos los k-gramos de un programa, seleccione un subconjunto fijo y llame a esto la huella digital del archivo. Las huellas digitales de todos los archivos enviados se pueden comparar para determinar la copia parcial. Funciona correctamente solo si el subconjunto de hashes utilizados como huella digital se elige con cuidado.
No necesita implementar esto, ya que hay un servicio web gratuito que ya lo hace. Solo tiene que enviar todos los archivos y detectará y mostrará cualquier plagio. Esta detección de plagio está alojada por Stanford. Si desea implementar el algoritmo usted mismo, eche un vistazo al documento vinculado en esa página.
- ¿Dónde está el mejor lugar para encontrar startups emergentes de aprendizaje automático y PNL?
- ¿Qué saben los profesionales del aprendizaje automático y los científicos de datos de la industria sobre el análisis, la probabilidad basada en la teoría de la medida y el álgebra lineal numérica?
- ¿Cuál es la diferencia entre embolsado y bootstrapping en ML / estadísticas?
- ¿Cuál es la intuición detrás de llamar variables ortogonales como independientes? Proporcione una respuesta en el contexto del aprendizaje automático.
- ¿Cuáles son los temas candentes / nuevos en el aprendizaje estadístico?