Corona Papers: un moteur de recherche pour explorer Covid-19
- J’ai finalement décidé, et pour le plaisir surtout, de représenter les articles dans une carte 2D interactive pour fournir une interprétation visuelle des clusters et de leur séparabilité. Pour ce faire, j’ai appliqué une réduction de dimensionnalité tSNE sur les composants PCA. Rien d’extraordinaire.
Pour apporter plus d’interactivité à l’expérience de recherche, j’ai décidé d’intégrer la visualisation tSNE dans les résultats de la recherche (disponible uniquement sur la vue Bureau).
Sur chaque page de résultats, les points sur le graphique (à gauche) représentent les mêmes résultats de recherche (à droite): cela donne une idée de la façon dont les résultats sont liés les uns aux autres dans un espace sémantique.
3 – Recommandation d’articles similaires
Une fois que vous avez cliqué sur un document donné, Corona Papers vous présente des informations détaillées à ce sujet, telles que le titre, le résumé, le contenu complet, l’URL du document d’origine, etc.
En outre, il propose une sélection d’articles similaires que l’utilisateur peut lire et mettre en signet.
Ces articles sont basés sur une mesure de similitude calculée sur les intégrations CovidBert.
Voici deux exemples:
4 – Une pile de technologies web modernes 📲
Corona Papers est construit à l’aide des technologies Web modernes
Back-end
À la base, il utilise Elasticsearch pour effectuer des requêtes de texte intégral, une agrégation et un tri complexes. Par exemple, lorsque vous saisissez une liste de mots clés, Elasticsearch les compare d’abord aux titres, au résumé et, éventuellement, aux noms des auteurs.
Voici un exemple de requête:
Et voici un deuxième qui correspond au nom d’un auteur:
Le prochain composant important du backend est une API Flask: elle fait l’interface entre ElasticSearch et le front-end.
L’extrémité avant
L’interface frontale est construite à l’aide de Material-UI, une excellente interface React bibliothèque avec une variété de composants bien conçus et robustes.
Il a été utilisé pour concevoir les différentes pages, et plus particulièrement la page de recherche avec son panneau repliable de filtres de recherche:
- date de publication
- maison d’édition (c’est-à-dire la source)
- nom du journal
- articles évalués par des pairs
- h-index du journal
- les sujets
Parce que l’accessibilité est importante, je visais à faire des papiers Corona un outil réactif que les chercheurs peuvent utiliser sur différents appareils. L’utilisation de Material-UI nous a aidés à concevoir une interface propre et simple.
Cloud et DevOps
J’ai déployé Corona Papers sur AWS en utilisant docker-compose.