Contribuer à schema.org - Retour d’expérience : extension ELI pour les lois / Thomas Francart
Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart
-
Upload
thomas-francart -
Category
Technology
-
view
896 -
download
7
description
Transcript of Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart
![Page 1: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/1.jpg)
08/04/23
Enrichissement des moteurs de recherche à partir de connaissances métier
Mondeca [email protected]
![Page 2: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/2.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
A l’intersection entre les problématiques
Amélioration de la recherche
grâce au référentiel métier
Univers duDocument
Structuration sémantique du
contenu
Indexation intelligente du contenu sur sa
structure
Univers dela recherche
Univers de la connaissance
![Page 3: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/3.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Cas LERUDI
Univers duDocument
Univers de la connaissance
Outil de gestion de contenu
WCM
AFSITM
SDK
Univers dela recherche
![Page 4: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/4.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
De quelles connaissances parle-t-on ?
• Des référentiels métiers internes :– Thesaurus (multilingues)
– Dictionnaires
– Bases d’entités nommées
– Règles de classifications
– Alignements de thesaurus
– …
• Toujours de la donnée structurée
• Des données disponibles sur le Linked Open Data :– Exemple : thesaurus du GEMET, sous-ensemble d’entités
de DBPedia, etc.
![Page 5: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/5.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Où peut-on intervenir ?
• à 2 endroits :– Au moment de l’indexation du contenu
• enrichissement de l’index– Au moment de la recherche de l’utilisateur
• Aide à la formulation de la requête
• Les enrichissement les plus efficaces sont faits au moment de l’indexation– Mais cela demande de réindexer les documents si les
connaissances métier évoluent
![Page 6: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/6.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Le moteur de recherche
• Lucene SolR :– Open-source
– Recherche plein texte avancée
– Recherche à facettes
– Highlight
– Spellcheck
– « More Like This »
– Integration UIMA
– … feature list : http://lucene.apache.org/solr/features.html
• Les principes présentés ici peuvent être appliqués avec d’autres moteurs de recherche (commerciaux)
![Page 7: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/7.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
SolR explorer : une interface de test
• SolR retourne un flux XML à une requête http– http://localhost:8080/
solr/select/q=lac&start=0&length=10
• SolR explorer :– Une interface web de
visualisation / navigation / test du flux XML de retour
– Ce n’est pas un rendu pour l’utilisateur final !
– https://issues.apache.org/jira/browse/SOLR-1163
![Page 8: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/8.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Le jeu de données
• Catalogue structuré d’un portail touristique– Hôtels
– Restaurants
– Activités
– Contacts
– …
• Chaque ressource est associée à un site web
![Page 9: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/9.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Point de départ : une indexation simple des sites web – sans enrichissement
![Page 10: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/10.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 11: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/11.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
1 : enrichissement avec des synonymes
• Pourquoi ?– Augmenter le rappel, étendre la requête sur des termes
similaires
• Comment ?– En donnant au moteur une liste de mots équivalents entre
eux
– Configuration SolR :<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<!-- in this example, we will only use synonyms at index time -->
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<!-- ... -->
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<!-- <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> -->
<!-- ... -->
</analyzer>
</fieldType>
![Page 12: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/12.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Format du fichier de synonymes
• Une ligne par synonymes équivalents• Option 1 : termes équivalents entre eux
– Si l’un des termes est trouvé, tous les termes équivalents seront insérés dans l’index
• Option 2 : se ramener à un terme contrôlé– Si l’un des termes est trouvé, le terme contrôlé sera inséré dans l’index
déreglementation,libéralisation,dérégulationcroisière,croisière de plaisance,croisière maritimespectacle,attraction,showvacances familiales,tourisme familialpêche,pêche à la ligne,permis de pêche,article de pêche,pêche au gros,pêche touristiqueoffice de tourisme,otsi,office municipal de tourisme,syndicat d'initiative
libéralisation,dérégulation => déréglementationcroisière de plaisance,croisière maritime => croisièreattraction,show => spectacletourisme familial => vacances familialespêche à la ligne,permis de pêche,article de pêche,pêche au gros,pêche touristique => pêcheotsi,office municipal de tourisme,syndicat d'initiative => office de tourisme
![Page 13: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/13.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Génération d’un fichier de synonymes
• Génération du fichier « synonyms.txt » à partir d’un fichier SKOS– Utilisation du thesaurus de l’Organisation Mondiale du Tourisme
(OMT)<skos:Concept rdf:about="http://thes.world-tourism.org#VACANCES"> <skos:altLabel xml:lang="en">long stays</skos:altLabel> <skos:altLabel xml:lang="fr">marché des vacances</skos:altLabel> <skos:altLabel xml:lang="fr">genre de vacances</skos:altLabel> <skos:altLabel xml:lang="fr">long séjour</skos:altLabel> <skos:altLabel xml:lang="en">holiday markets</skos:altLabel> <skos:altLabel xml:lang="en">vacations</skos:altLabel> <skos:altLabel xml:lang="es">mercado de vacaciones</skos:altLabel> <skos:altLabel xml:lang="fr">activité de vacances</skos:altLabel> <skos:altLabel xml:lang="fr">type de vacances</skos:altLabel> <skos:altLabel xml:lang="en">holiday tourism</skos:altLabel> <skos:altLabel xml:lang="fr">congés payés</skos:altLabel> <skos:altLabel xml:lang="es">estancia larga</skos:altLabel> <skos:altLabel xml:lang="fr">06.09</skos:altLabel> <skos:broader rdf:resource="http://thes.world-tourism.org#FLUX_TOURISTIQUE" /> <skos:inScheme rdf:resource="http://thes.world-tourism.org#_06_FLUX_TOURISTIQUE" /> <!-- … --> <skos:narrower rdf:resource="http://thes.world-tourism.org#VACANCES_D'HIVER" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#VACANCES_D'ETE" /> <skos:prefLabel xml:lang="en">HOLIDAYS</skos:prefLabel> <skos:prefLabel xml:lang="fr">VACANCES</skos:prefLabel> <skos:prefLabel xml:lang="es">VACACIONES</skos:prefLabel> </skos:Concept>
…
Activités nautiques
HOLIDAYS,VACANCES,long stays,marché des vacances,genre de vacances,long séjour,holiday markets,vacations,activité de vacances,type de vacances,holiday tourism,congés payés,06.09
KOREA DPR,COREE RDP,20.03.05.03
TOURISM IN NATIONAL ECONOMIES,TOURISME DANS L'ECONOMIE NATIONALE,04.04.04,place du tourisme dans l'économie
…
![Page 14: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/14.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Résultat
![Page 15: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/15.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Au moment de l’indexation ou de la recherche ?
• En général, il est préférable d’appliquer les synonymes à l’indexation– Un synonyme avec plusieurs mots (« activité nautique »)
est tokenisé au moment de la query et ne sera pas reconnu correctement• Même avec des quotes ?
– Impact sur les algorithmes de scoring du moteur (IDF)– Les requêtes prefix (« acti* ») ou fuzzy (« ~activité ») ne
sont pas analysées au moment de la query et ne seront pas étendues aux synonymes
• Mais :– L’index sera d’autant plus gros– Si les synonymes changent, il faudra réindexer
![Page 16: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/16.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Étendre ou ne pas étendre ?
• Une solution possible pour limiter la taille de l’index :– Ne pas étendre sur une liste de synonymes
– Mais se ramener à une valeur controlée
– Qui pourrait être une URI de concept
• Avantages :– La taille de l’index ne grossit pas– Pas d’influence sur les algorithmes de score
• Mais il faut analyser au moment de l’indexation ET de la recherche• Ne règle pas la question des synonymes composés de plusieurs mots
spectacle,attraction,showpêche,pêche à la ligne,permis de pêche,article de pêche,pêche au gros,pêche touristiqueoffice de tourisme,otsi,office municipal de tourisme,syndicat d'initiative
attraction,show => spectaclepêche à la ligne,permis de pêche,article de pêche,pêche au gros,pêche touristique => pêcheotsi,office municipal de tourisme,syndicat d'initiative => office de tourisme
attraction,show,spectacle => http://thes.world-tourism.org#SPECTACLEpêche, pêche à la ligne,permis de pêche,article de pêche,pêche au gros,pêche touristique => http://thes.world-tourism.org#PECHEoffice de tourisme, otsi,office municipal de tourisme,syndicat d'initiative => http://thes.world-tourism.org#OFFICE_DE_TOURISME
![Page 17: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/17.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Des approches mixtes
• Garder deux listes de synonymes :– Une utilisée à l’indexation– Une utilisée à la recherche
• Lorsque de nouveaux synonymes apparaissent :– Les ajouter dans la liste de synonymes pour la recherche
• Ils sont pris en compte tout de suite, sans avoir besoin de réindexer
• Ne règle pas la question des synonymes composés de plusieurs mots
– Les ajouter aussi dans la liste de synonymes pour l’indexation• Ils seront pris en compte lors de la prochaine indexation
• Lors de la prochaine réindexation :– Vider la liste de synonymes utilisée à la recherche
• Autre approche mixte :– Traiter tous les synonymes d’un seul mot à la recherche– Traiter tous les synonymes composés de plusieurs mots lors de
l’indexation
![Page 18: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/18.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 19: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/19.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
2 : enrichissement avec des traductions
• Pourquoi– Rendre le moteur de recherche multilingue / pouvoir rechercher sur un contenu qui n’est pas
dans ma langue d’interrogation
• Même principe qu’avec des synonymes– On déclare les traductions comme des synonymes équivalents
• Exemple– Utilisation du thesaurus GEMET du développement durable
– Téléchargeable en SKOS à http://www.eionet.europa.eu/gemet
…achat,purchase,compramosaïque,mosaic,mosaicostation de montagne,mountain resort,centro turístico de montaña…
<rdf:Description rdf:about="concept/10910"> <skos:prefLabel xml:lang="fr">station de montagne</skos:prefLabel> <skos:prefLabel xml:lang="en">mountain resort</skos:prefLabel> <skos:prefLabel xml:lang="es">centro turistico de montana</skos:prefLabel> </rdf:Description>
<fieldType name="text" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" /> <filter class="solr.SynonymFilterFactory" synonyms="gemet.txt" ignoreCase="true" expand="true" /> </analyzer> <!-- … --></fieldType>
![Page 20: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/20.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Résultat
![Page 21: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/21.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
!?
• Pourquoi une recherche sur « mosaic » matche poterie et vitrail ?
• Pourtant, dans GEMET, on a seulement :
• Oui, mais dans OMT, on a aussi :
– (on peut se demander si « poterie » ou « mosaique » ne devraient pas être des termes spécifiques de « ARTISANAT » dans le thesaurus de l’OMT ? C’est ainsi…)
• Puisqu’on utilise les 2 dictionnaires de synonymes, on a à l’indexation :– Poterie mosaïque mosaic
• On tire parti des synonymes de l’OMT et des traductions du GEMET– Attention aux interactions non souhaitées !
…achat,purchase,compramosaïque,mosaic,mosaicostation de montagne,mountain resort,centro turístico de montaña…
ARTISANAT,vitrail,orfèvrerie,mécanique,dentelle,plomberie,tapisserie,ébénisterie,mosaïque,modélisme,tissage,porcelaine,crafts,artisanat d'art,menuiserie,cristallerie,joaillerie,émaux,peinture sur soie,poterie
![Page 22: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/22.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 23: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/23.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
3 : enrichissement avec les termes spécifiques
• Pourquoi ?– Augmenter le rappel. Permet de rechercher sur des notions
génériques
• Les thesaurus GEMET et OMT définissent une hiérarchie de termes– Loisirs > loisirs de plein air > randonnée > randonnées
cycliste– Loisirs > sorties > spectacle > cirque
• Une recherche sur « sorties » devrait ramener les documents contenant « spectacle » ou « cirque »– Une recherche sur « Loisirs » devrait ramener les
documents contenant « randonnée » ou « spectacle »– Etc.
![Page 24: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/24.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
• Comment ?– On va là aussi se servir
du mécanisme de synonymes
– On va appliquer cette traduction à l’indexation, il faut donc traduire du terme spécifique vers tous ses termes génériques
• Si on traduisait à la recherche, on traduirait du générique vers le spécifique
• Si « peinture » est dans le texte, on doit insérer dans l’index « loisirs culturels » et « loisirs » qui sont ses termes génériques
Génération du fichier de termes spécifiques
<skos:Concept rdf:about="http://thes.world-tourism.org#LOISIRS"> <skos:narrower rdf:resource="http://thes.world-tourism.org#LOISIRS_DE_PLEIN_AIR" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#SORTIE" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#LOISIRS_D'INTERIEUR" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#OISIVETE" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#LOISIRS_CULTURELS" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#JEU" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#ARTISANAT" /> <skos:prefLabel xml:lang="fr">LOISIRS</skos:prefLabel> </skos:Concept><skos:Concept rdf:about="http://thes.world-tourism.org#LOISIRS_CULTURELS"> <skos:altLabel xml:lang="fr">loisirs artistiques</skos:altLabel> <skos:broader rdf:resource="http://thes.world-tourism.org#LOISIRS" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#PEINTURE" /> <skos:prefLabel xml:lang="fr">LOISIRS CULTURELS</skos:prefLabel> </skos:Concept><skos:Concept rdf:about="http://thes.world-tourism.org#PEINTURE"> <skos:altLabel xml:lang="fr">09.03.07</skos:altLabel> <skos:broader rdf:resource="http://thes.world-tourism.org#LOISIRS_CULTURELS" /> <skos:prefLabel xml:lang="fr">PEINTURE</skos:prefLabel> </skos:Concept>
RESEAU => TRAFIC,TRANSPORTPEINTURE => LOISIRS CULTURELS,LOISIRSFETE => MANIFESTATION CULTURELLE,MANIFESTATION TOURISTIQUETRANSPORT FLUVIAL => MODE DE TRANSPORT,TRANSPORT
![Page 25: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/25.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Résultat
![Page 26: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/26.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 27: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/27.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
4 : correction orthographique
• Pourquoi ?– Proposer à l’utilisateur un terme approchant de celui recherché
• « retsaurant » « Did you mean ‘restaurant’ ? »• Comment ? 2 façons de faire du spellchecking :
– En utilisant l’index comme un dictionnaire• Les propositions de correction matchent forcément des
résultats dans l’index– Donc presque 100% de chance de ramener des résultats, sauf si
les termes corrigés sont combinés avec d’autres termes dans la requête
• Mais tout le vocabulaire métier n’est pas forcément proposé à la correction– S’il n’est pas présent dans le contenu indexé
– En s’appuyant sur une liste de termes contrôlés• Les propositions ne ramèneront pas forcément de résultats
– Puisqu’il n’y a pas de garantie qu’un document contienne ce terme
• Mais tout le vocabulaire métier sera proposé pour contrôler
![Page 28: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/28.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Spellchecking à base d’une liste contrôlée
• Configuration SolR : solrconfig.xml<config><searchComponent name="spellcheck" class="solr.SpellCheckComponent"> <str name="queryAnalyzerFieldType">textSpell</str> <lst name="spellchecker"> <str name="name">default</str> <str name="field">name</str> <str name="spellcheckIndexDir">./spellchecker</str> </lst> <lst name="spellchecker"> <str name="classname">solr.FileBasedSpellChecker</str> <str name="name">file</str> <str name="sourceLocation">spellcheck.txt</str> <str name="characterEncoding">UTF-8</str> <str name="accuracy">0.8</str> <str name="spellcheckIndexDir">./spellcheckerFile</str> </lst></searchComponent>
<requestHandler name="standard" class="solr.SearchHandler" default="true"> <lst name="defaults"> <str name="echoParams">explicit</str> <str name="spellcheck.onlyMorePopular">false</str> <str name="spellcheck.extendedResults">false</str> <str name="spellcheck.count">1</str> </lst> <arr name="last-components"> <str>spellcheck</str> </arr></requestHandler></config>
![Page 29: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/29.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Génération du fichier spellcheck.txt
• Génération du fichier spellcheck.txt à partir du fichier SKOS de l’OMT
<skos:Concept rdf:about="http://thes.world-tourism.org#VACANCES"> <skos:altLabel xml:lang="en">long stays</skos:altLabel> <skos:altLabel xml:lang="fr">marché des vacances</skos:altLabel> <skos:altLabel xml:lang="fr">genre de vacances</skos:altLabel> <skos:altLabel xml:lang="fr">long séjour</skos:altLabel> <skos:altLabel xml:lang="en">holiday markets</skos:altLabel> <skos:altLabel xml:lang="en">vacations</skos:altLabel> <skos:altLabel xml:lang="es">mercado de vacaciones</skos:altLabel> <skos:altLabel xml:lang="fr">activité de vacances</skos:altLabel> <skos:altLabel xml:lang="fr">type de vacances</skos:altLabel> <skos:altLabel xml:lang="en">holiday tourism</skos:altLabel> <skos:altLabel xml:lang="fr">congés payés</skos:altLabel> <skos:altLabel xml:lang="es">estancia larga</skos:altLabel> <skos:altLabel xml:lang="fr">06.09</skos:altLabel> <skos:broader rdf:resource="http://thes.world-tourism.org#FLUX_TOURISTIQUE" /> <skos:inScheme rdf:resource="http://thes.world-tourism.org#_06_FLUX_TOURISTIQUE" /> <!-- … --> <skos:narrower rdf:resource="http://thes.world-tourism.org#VACANCES_D'HIVER" /> <skos:narrower rdf:resource="http://thes.world-tourism.org#VACANCES_D'ETE" /> <skos:prefLabel xml:lang="en">HOLIDAYS</skos:prefLabel> <skos:prefLabel xml:lang="fr">VACANCES</skos:prefLabel> <skos:prefLabel xml:lang="es">VACACIONES</skos:prefLabel> </skos:Concept>
ORGANISMO DE CREDITO14.11.02Activités nautiquesHOLIDAYSVACANCESVACACIONESmarché des vacancesgenre de vacanceslong séjouractivité de vacancestype de vacancescongés payés06.09KOREA DPR…
![Page 30: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/30.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Résultat
![Page 31: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/31.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 32: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/32.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
5 : structurer sémantiquement le contenu
• « Smarter content = smarter index »• Il faut s’intéresser à la structuration sémantique
du contenu afin d’améliorer la recherche– Associer des métadonnées au contenu– Qui prennent leurs valeurs dans des référentiels non-ambigus
(identification avec des URIs)
• L’association de métadonnées structurées au contenu permet la navigation par facettes
• Cette problématique est un univers en soi et ne sera pas détaillée ici– Utilisation d’outils de text-mining et/ou de middlewares
d’intégration comme le CA-Manager de Mondeca• SolR dispose de capacité d’intégration UIMA dans sa chaine
d’indexation pour intégrer des outils de text-mining– Structuration manuelle dans le cas du catalogue touristique
![Page 33: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/33.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Catalogue structuré en RDF
![Page 34: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/34.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Configuration du schema d’indexation
• 1 champ d’index pour chaque metadonnée– Dans conf/schema.xml
<field name="Mot_Cle_103696" multiValued="true" type="string" indexed="true" stored="true" /> <field name="animaux_acceptes" multiValued="false" type="string" indexed="true" stored="true" /> <field name="bassin_touristique_at" multiValued="true" type="string" indexed="true" stored="true" /> <field name="bordereau_Tourinfrance_103952" multiValued="true" type="string" indexed="true" stored="true" /> <field name="commune_at" multiValued="true" type="string" indexed="true" stored="true" /> <field name="zone_geographique_at" multiValued="true" type="string" indexed="true" stored="true" /> <field name="paiement_accepte" multiValued="true" type="string" indexed="true" stored="true" /> <field name="label_at" multiValued="true" type="string" indexed="true" stored="true" /> <field name="langue_parlee" multiValued="true" type="string" indexed="true" stored="true" /> <field name="type_h" multiValued="true" type="string" indexed="true" stored="true" /> <field name="classement" multiValued="true" type="string" indexed="true" stored="true" /> <field name="tarif_nuit_mini" multiValued="true" type="string" indexed="true" stored="true" />
![Page 35: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/35.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Résultat : facettes
![Page 36: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/36.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 37: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/37.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
7 : classification dynamique du contenu
• Pourquoi ?– Le classement des
entrées du catalogue n’est pas celui que l’on veut présenter à l’utilisateur final• Vision « objective » vs.
Vision « subjective »– On veut pouvoir
présenter un classement différent du même catalogue :• À des audiences
différentes• Sur des medias
différents– On veut présenter le
même catalogue suivant plusieurs axes
– Favoriser la réutilisation du contenu
•Un hébergement ?
• Simple• Classique• Raffiné
![Page 38: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/38.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
ITM-rules : création des règles
![Page 39: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/39.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Définition de règles : format
• Les nouvelles hiérarchies de classement sont définies en SKOS
• A chaque entrée SKOS sont associées des règles de classification en SPARQL – générées à partir de l’écran
<skos:Concept rdf:about="itm:n#_migration_taxo_106544"> <skos:prefLabel xml:lang="fr">Raffiné</skos:prefLabel> <skos:definition>
PREFIX r: <itm:n#>PREFIX q: http://www.nievre-tourisme.com/onto#CONSTRUCT { ?SEARCHED_TOPIC <http://purl.org/dc/terms/subject>
r:_migration_taxo_106544 .}WHERE { ?SEARCHED_TOPIC a q:Hebergement . ?SEARCHED_TOPIC q:classement
q:class_CAT4 . } </skos:definition> <skos:definition>
PREFIX j: <itm:n#>PREFIX i: http://www.nievre-tourisme.com/onto#CONSTRUCT { ?SEARCHED_TOPIC <http://purl.org/dc/terms/subject>
j:_migration_taxo_106544 .}WHERE { ?SEARCHED_TOPIC a i:Hebergement . ?SEARCHED_TOPIC i:classement
i:class_4EP . } </skos:definition> </skos:Concept>
![Page 40: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/40.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Content-classifier : Execution des règles
08/04/23
Taxonomy (Classification Rules)
SKOS + SPARQL
Classification engine
RD
F C
on
ten
t M
eta
da
ta
…
Cla
ssifi
catio
n M
eta
da
ta
…
• Based on RDF triplestore• Loads terminology and metadata• Infer on terminology
• OWL & SKOS inference• Custom rules
• Apply SPARQL classification rules• optionnaly, simplifies RDF structure
?x is a <Hotel> and price(?x) < 50
?x is a <Camping> and size(?x) > 300
…
TerminologySKOS + RDF
Content classified with additionnal
dcterms:subject and dc:subject properties
![Page 41: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/41.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Le catalogue classifié avec des métadonnées supplémentaires
![Page 42: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/42.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Champs d’index supplémentaires pour les nouvelles classifications
<field name="taxo_confort" multiValued="true" type="string" indexed="true" stored="true" />
<field name="taxo_generale" multiValued="true" type="string" indexed="true" stored="true" />
• Nouveaux champs d’index pour les nouvelles métadonnéesDans conf/schema.xml
![Page 43: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/43.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Classification dynamique : Résultat
![Page 44: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/44.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 45: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/45.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
8 : utilisation d’alignements de référentiels
OMT
• Pourquoi ?– Si le contenu est annoté sur un thesaurus A, et que l’utilisateur cherche
avec un thesaurus B ?– Permet d’interroger des corpus annoté sur un thesaurus différent de
celui de la recherche
GEMET
Alignement des thesaurus
![Page 46: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/46.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
ITM-align : Création des alignements
![Page 47: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/47.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Format des alignements
<map> <Cell rdf:about="150046"> <entity1> <edoal:Class rdf:about="http://eurlex-directory-codes.europa.eu/0350" /> </entity1> <entity2> <edoal:Class rdf:about="http://eurovoc.europa.eu/2897" /> </entity2> <relation>fr.inrialpes.exmo.align.impl.rel.EquivRelation</relation> <measure rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.0</measure> </Cell></map><map> <Cell rdf:about="152849"> <entity1> <edoal:Class rdf:about="http://eurlex-directory-codes.europa.eu/0350" /> </entity1> <entity2> <edoal:Class rdf:about="http://eurovoc.europa.eu/2479" /> </entity2> <relation>fr.inrialpes.exmo.align.impl.rel.EquivRelation</relation> <measure rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.0</measure> </Cell></map>
Concepts alignés
Type de la relation Score
Format « EDOAL » de l’INRIA : http://alignapi.gforge.inria.fr/edoal.html
![Page 48: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/48.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Utilisation des alignements
• Au moment de l’indexation
• On traduit les annotations des documents d’origine en utilisant l’alignement– Du Thesaurus A vers le thesaurus B
• On enrichit l’index avec les concepts du thesaurus B– L’index contient donc l’annotation sur le thesaurus A et sur le
thesaurus B
• On peut ensuite rechercher sur le corpus en utilisant les concepts du thesaurus B
• L’alignement est interprété par du code spécifique dans la chaine d’indexation, il n’y a pas de config spécifique côté SolR– Si ce n’est un champ d’index dédié pour recevoir le résultat de la
traduction
![Page 49: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/49.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Alignements des référentiels : résultat
Facette sur l’annotation du thesaurus de
départ
Facette sur les concepts traduits par l’alignement
![Page 50: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/50.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation
![Page 51: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/51.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Désambiguïsation
• Pourquoi ?– Ramener les termes de recherche d’un utilisateur à une
entité contrôlée• « loisirs » http://thes.world-tourism.org#LOISIRS
• Désambiguïser une entité au moment de la recherche n’a de sens que si cette entité a été désambiguïsée au moment de l’indexation– Soit le document était explicitement catégorisé sur une
entité (par son URI)– Soit l’entité a été extraite par du text-mining
• La désambiguïsation d’une entité du référentiel par le moteur ne peut se faire que si le référentiel a été lui-même indexé par le moteur
![Page 52: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/52.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Désambiguïsation : principe
1. Utilisation du référentiel à l’indexation
2. Indexation du référentiel
http://www.z.fr/e1 doc1
http://www.z.fr/e1 doc2
venus http://www.z.fr/e1
cupidon http://www.z.fr/e2
3. Désambiguïsation du terme vers une
entité contrôlée
4. Recherche sur l’identifiant de l’entité
contrôlée
![Page 53: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/53.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Désambiguïsation : Résultat
![Page 54: Enrichissement des moteurs de recherche à partir de connaissances métier thomas francart](https://reader037.fdocument.pub/reader037/viewer/2022102813/5465220baf7959167a8b7402/html5/thumbnails/54.jpg)
Thomas Francart - Enrichissement des moteurs de recherche à partir de connaissances métier
Plan
1 - Synonymes
2 - Traductions
3 - Termes spécifiques
4 - Corrections orthographiques
5 - Facettes
6 - Classification dynamique
7 - Alignements de vocabulaires
8 - Désambiguïsation