¿Cuál puede ser un buen problema de investigación computacional para trabajar con el conjunto de datos de Wikipedia?

Creo que el análisis semántico explícito (ESA) es una aplicación extremadamente interesante de los datos de Wikipedia. En resumen, la ESA es un intento de superar el siguiente problema: ¿Cómo ayudamos a las computadoras a imitar la forma en que los humanos pueden relacionar palabras y conceptos entre sí? Por ejemplo, sabemos que las palabras ‘gato’ y ‘perro’ están algo relacionadas (ambas son mamíferos, mascotas típicas, lindas, peludas, etc.), pero es difícil para las computadoras imitar esto.

El enfoque de ESA es representar palabras en términos de conceptos . No hay una sola forma de definir tales conceptos, pero queremos que sean mantenidos por humanos, que tengan un gran depósito de conceptos disponibles, etc., por lo que Wikipedia es una opción popular. La idea, entonces, es representar una palabra como un vector de conceptos (artículos de Wikipedia) con cada componente indicando la fuerza relacional entre la palabra y el concepto. Como ejemplo simplificado / tonto, imagine que solo tenemos 3 artículos Wiki; ‘mascotas’, ‘animales peludos’ y ‘lobo’. Hagamos un vector semántico para cada una de las palabras ‘gato’ y ‘perro’. Los gatos están muy relacionados con el concepto ‘mascota’, también con el concepto de animales peludos, pero no mucho con los lobos, así que digamos gato = (0.7, 0.7, 0.014). Del mismo modo perro = (0.5, 0.5, 0.77). Entonces podemos obtener una medida de su similitud calculando el producto interno entre los dos. En este tonto ejemplo, se me ocurrieron algunos números aleatorios para la relación entre palabras y conceptos / artículos; en realidad, usualmente usamos tf – idf.

Hay un excelente artículo que describe cómo implementar esta llamada Recuperación de información basada en conceptos mediante análisis semántico explícito.

Hay un montón de aplicaciones geniales para esto: implementé ESA desde cero para mi tesis de maestría (que requiere bastante trabajo si eres nuevo en programación) y una cosa que hice fue convertir la publicación de Google sobre Deep Dreams en un vector semántico y vea cómo la relación entre eso y los tweets que mencionan a Google cambiaron con el tiempo en torno al comunicado de prensa.

También lo utilicé para mejorar el rendimiento de los algoritmos de clasificación de texto mediante el uso de vectores semánticos (junto con técnicas de reducción de dimensionalidad), en lugar de palabras sin formato, junto con las técnicas de clasificación existentes.