Ce référentiel contient du code et des ressources pour exécuter un moteur de recherche sémantique et en texte intégral pour les livres. Il utilise des intérêts de texte et soutient les métadonnées du livre de récolte de diverses sources, en utilisant des normes internationales comme Marc21 et ONIX 3.
L'application exploite le multilingue-E5-Small pour générer des incorporations de texte et PostgreSQL avec PGVector comme magasin vectoriel. Cela offre des capacités de recherche sémantique multilingues.
Suivez ces étapes pour configurer et exécuter l'application:
Exécutez la commande suivante dans le répertoire du projet:
docker compose upCela démarrera la base de données PostgreSQL avec PGVector activé.
Sélectionnez et configurez la passerelle et le service-URI appropriés pour la récolte des métadonnées en modifiant application.yaml . Options disponibles:
La première exécution peut prendre un certain temps car elle téléchargera les modèles d'intégration nécessaires. Une fois les modèles en place, l'application sera prête à l'emploi.
./gradlew bootRun Visitez http://localhost:8080 dans le navigateur et regardez les résultats à mesure que la récolte des métadonnées progresse. Pour la recherche sémantique, entrez une requête de recherche ou laissez-la vide pour un choix aléatoire (le premier coup de recherche sera le choix aléatoire et le reste sera des livres sémantiquement similaires). Pour la recherche en texte intégral, entrez une requête de recherche.
La passerelle résume les détails des services externes et transforme les métadonnées des services externes en un modèle commun. L'application prend en charge trois passerelles: OAI-PMH (Marc21), Bokbasen (ONIX) et Bibbi. Les mappeurs personnalisés peuvent être implémentés selon les besoins et activés en configurant les valeurs appropriées dans application.yaml .
La passerelle OAI-PMH récolte les métadonnées en utilisant le protocole d'initiative Open Archives pour la récolte des métadonnées (OAI-PMH). Il prend en charge la récupération des données bibliographiques au format Marc21.
Documentation supplémentaire pour Oai-PMH de BiblioteksentRalen (https://www.bibsent.no/):
La passerelle Bokbasen utilise le format ONIX pour les métadonnées, couramment utilisées dans l'industrie de l'édition. Ceci est particulièrement utile pour la récolte des données de fournisseurs de livres à grande échelle.
Documentation supplémentaire pour Onix de Bokbasen (https://www.bokbasen.no/):
La passerelle Bibbi est utilisée pour l'intégration avec le service de métadonnées Bibbi. La passerelle utilise un format basé sur schema.org.
Documentation supplémentaire pour Bibbi de BiblioteksentRalen (https://www.bibsent.no/):
Instructions pour extraire un ensemble de données pour affiner un modèle basé sur BERT pour la classification multi-éventail des critiques de livres: https://github.com/torleifg/book-reviews-genre-classification
psql -h localhost -p 5433 -U username -d postgresExtrairez l'exemple d'ensemble de données à l'aide du genre et du formulaire comme étiquettes.
copy (
select
concat(metadata ->>'title', '. ', metadata ->>'description') as text,
metadata ->>'genreAndForm' as labels
from
book
where
metadata->>'description' is not null
and metadata->>'description' <> ''
and length(metadata->>'description') > 200
and metadata->>'genreAndForm' is not null
and metadata->>'genreAndForm' <> '[]'
) to '~/dataset.csv' with csv header delimiter ';';