En la primera parte de la tarde he estado instalando MYSQL, pero mañana tengo una entrevista en la que piden un Data Scientist que sepa de sistemas pregunta-respuesta, así que voy a continuar con el artículo que empecé el otro día.
Dificultades de este tipo de sistemas:
- traducir las preguntas hechas en lenguaje natural a SPARQL
- elegir los datasets adecuados (donde podamos encontrar respuestas!).
- encontrar los URIs correctos. Por ejemplo, la clase dbo:Film no tiene otras variantes como «movie» o similares. Esto nos obligará a conocer o tener que hacer una búsqueda de los URIs adecuados.
- Problemas con cuantificadores como «el más» (most), «la menos» (less)… Este tipo de estructuras se corresponden con «aggregation operations» de SPARQL (como filtrar, ordenar, limitar…)
- Casos de ambigüedad. Distintos RDF pueden tender distintos tipos de recursos.
- Multilenguaje. La mayoría de los datasets están en inglés.
- Accuracy: Respuestas erróneas en este tipo de sistemas son, normalmente, peores resusltados que no tener una respuesta. El sistema tendría que detectar casos en los que no tuviéramos respuesta posible en el dataset. Además podríamos encontrar inconsistencias entre distintos datasets.
- Deberían dar una respuesta en tiempo real.
- Mezcla de datos estructurados y no estructurados. Por ejemplo: ¿Dónde murió el primer hombre que fue al espacio? En este caso, tenemos que saber, por un lado, quién es el primer hombre que fue al espacio y, una vez que lo conocemos, ir al RDF y ver dónde murió.
Existen clasificaciones de los tipos de preguntas que un usuario puede hacer a este tipo de sistemas: preguntas de sí/no, preguntas de definiciones, preguntas de listas, etc.
Los recursos de datos que se pueden usar para llegar a la respuesta que busca el usuario son de distintos tipos:
- Datos estructurados: bases de datos relacionales, linked data…
- Datos semi-estructurados: documentos XML
- Datos no estructurados: textos
Estos sistemas, por tanto, pueden ser híbridos (si consultan distintos tipos de datos) o solo basar sus respuestas en un único tipo de datos. Además, podrán consultar solo un data set, un conjunto de ellos o todos los que estén disponibles.
Por último, podrá ser un sistema de pregunta-respuesta para un dominio o un sistema general.