¿Qué algoritmos debo saber para poder resolver la pregunta de Aprendizaje automático / Ciencia de datos de CodeSprint 5 en HackerRank?

Una versión más avanzada de este desafío está sucediendo en este momento, después de lo cual lanzaremos un editorial para esto.

Hay una cosa que me gustaría destacar aquí. Uno de los inconvenientes de una glamourización hollywoodiense del espacio de datos ha sido la suposición de que todos los desafíos en este campo necesariamente tienen enfoques elegantes, inteligentes, algorítmicos y seguros y se trata de encontrar el “algoritmo correcto” en el aha momento.

Hay un amortiguador o anti-climax del que me gustaría advertir de antemano.
He trabajado bastante con muchos datos, y sí, el espacio tiene una gran cantidad de simulación y alcance creativo para algoritmos, estadísticas, técnicas de aprendizaje automático, pero son solo una parte de él. Limpiar datos, nominar datos, regexing hasta que los ojos se enrojecen, canonizar ciertos tipos de palabras y textos, preparar diccionarios completos y listas de los recursos disponibles; todo esto, aunque poco atractivo, son componentes vitales para trabajar con datos. Trabajé en una conocida startup de datos durante un par de años, y una de las claves de su producto (conjuntos de datos) fueron cientos de expresiones regulares escritas meticulosamente.

Volviendo al desafío: en gran medida, los diccionarios y los observadores ayudarán en este desafío. Aparte de eso, expresiones regulares que tienen en cuenta las palabras y frases comunes que ocurren antes y después de una de las entidades nombradas. Aparte de eso, existen técnicas basadas en datos para concluir lo que representa la Entidad Nombrada (persona o lugar) dependiendo de las palabras circundantes, pero eso se dejará para el editorial.

El Concurso de datos reales de enero (termina pronto) tiene una versión más avanzada de este desafío con nombres mucho más oscuros con los que los espectadores no podrán ayudar mucho. ¡No estoy seguro si tuviste la oportunidad de probarlo!

No tuve una buena puntuación en este problema. Aún así, vi pocas soluciones y enfoques principales.

La mayoría de las buenas soluciones eligieron una lista de lugares y personas de Internet y buscaron información dada en esas listas. Mejores listas, mejores puntajes.

Otro enfoque era obtener una lista de verbos y adjetivos. Solo las personas tomarán medidas. Usando este enfoque podemos saber si la palabra dada es una persona o un lugar.

Una vez que obtenga sus datos, el resto es una mejor búsqueda.