La recherche a toujours été un élément central dans tous projets d'intranet SharePoint! En effet, n'avez-vous jamais entendu:"On ne trouve rien dans ce portail!"...Et bien saviez-vous qu'avec quelques configurations et un peu de développement, vous pouviez bénéficier des outils d'intelligence artificielle pour améliorer la pertinence de vos résultats? Dans cette session, nous verrons ainsi comment tirer profit de la suite Microsoft Cognitive Services avec la recherche SharePoint pour faciliter la vie de vos utilisateurs au quotidien.
5. Comment améliorer la pertinence des résultats de
recherche dans une solution Office 365?
La problématique (basée sur un
projet réel)
6. de toute solution Office
365/SharePoint
Quelques faits concernant la recherche…
Le moteur de recherche de la plateforme Office 365 s’appelle pour le
moment…SharePoint!
N’inclus pas certains services comme Yammer ou Microsoft Stream.
(Quasiment) impossible de prendre un autre index fédéré du à la sécurisation des résultats.
Nécessité d’utiliser le langage KQL (i.e. langage de recherche SharePoint).
Le moteur de recherche peut tout trouver! Il suffit simplement de le configurer correctement…
Logs de recherche (très) approximatifs voire inexistants (dans le cas d’un appel via l’API).
99% des recherches sont de type « plein texte »
« Tagging » n’est pas synonyme de « Ranking ».
Peu de possibilités pour afficher des résulats de recherche avec l’expérience moderne de
SharePoint.
Alternative « Bing for Business » pas encore prête.
7. Afficher des résultats de
recherche, les possibilités…
Web Part « Contenu mis en évidence »
Difficile de configuration, nécessite une
connaissance de la recherche SharePoint par les
supers utilisateurs.
Fonctionnement incompris par la plupart des
utilisateurs, notamment les filtres!?!
Pas de contrôle sur la requête.
Pas de suggestions de recherche.
Pas de possibilité d’adapter l’affichage aux
besoins.
8. Afficher des résultats de
recherche, les possibilités…
Expérience de recherche moderne
Tout ou rien, aucune configuration possible!
9. Afficher des résultats de
recherche, les possibilités…
Exemples de Web part « PnP »
Web Part open source « react-search-refiners »
• Boîte de recherche avec suggestions
• Résultats de recherche avec panneau de filtres
• Filtres, requête configurable, origine de
résultats, etc.
• Possibilité d’éditer l’interface à la
manière des anciens modèles
d’affichages SharePoint.
10. pertinence des résultats dans
SharePoint?
Prémisse de base pas d’accès à l’index de recherche SharePoint,
l’optimisation de recherche ne peut alors se faire qu’au niveau de la requête
Ne rien faire Utilisation des poids et des algorithmes par défaut et recherche plein texte.
Mettre en avant les documents taggués dans le résultats de recherche:
• Utilisation du « XRANK » Pas possible en expérience moderne
• Configuration des poids des propriétés gérées dans le schéma de recherche.
Utiliser des règles de requêtes pour changer la requête dynamiquement sur la base de mots clés
reconnus, modèles de phrases, etc.
Interpréter les intentions des utilisateurs, extraire les mots clés importants et formuler une requête
optimisée au moteur de recherche en KQL. (cette session)
« je cherche des informations sur la politique de vacances de l’entreprise »
Étendre la recherche à d’autres canaux que de simples Web Parts via un bot (session à 16h45)
11. pertinence des résultats dans
SharePoint?
Réponse: Capter « l’intention » de
l’utilisateur pour la transformer en une
requête (ou action) concrète dans le
système.
14. Interprétation et optimisation de
la requête de recherche
• Utilisation du service de métadonnées gérées pour définir les termes et leurs synonymes.
• Les synonymes servent à définir les mots clés alternatifs de recherche pout un terme particulier
Utilisation du service cognitif « Bing Spell Check » de correction orthographique et « Analyse de texte »
pour déterminer la langue.
• Utilisation de LUIS pour la reconnaissance d’intention et l’extraction des mots clés importants de la
requête de recherche
• Synchronisation des termes de taxonomie + synonymes avec LUIS en tant qu’entités « Listes »
(reconnaissance stricte).
• Utilisation de l’entité par défaut « keyPhrase » pour extraire les autres mots clés non standardisés.
• Suggestions de mots clés en fonction des termes et synonymes.
• Utilisation de fonctions Azure pour l’implémentation de la logique d’optimisation de requête et la
construction de la requête KQL.
• Utilisation et extension des Web Parts de recherche PnP pour la construction de l’expérience de
recherche.
On récapitule…
15. Le cas du « tagging » de
contenu
Solution automatique vs manuelle
• La fausse bonne idée…classification automatique
des contenus avec le service « Microsoft Text
Analytics »
Destiné à des textes courts, quid de l’analyse
de plusieurs dizaines voire centaines de
pages?
Quid de l’analyse des types de fichiers PDF,
Word, etc...?
Quid de l’intégration avec le service de
métadonnées gérées pour la normalisation du
vocabulaire?
16. Le cas du « tagging » de
contenu
Solution manuelle
• Personne n’aime mettre des métadonnées…
• Quelques solutions pour améliorer la vie de vos
utilisateurs:
Utiliser le WebPart de propriétés de page de
l’expérience moderne.
Utiliser les valeurs par défaut des colonnes
en fonction du contexte.
Ne pas surcharger!
17. Améliorer les résultats au fur et
à mesure
Amélioration du modèle LUIS
• Identifier des experts de contenus.
• Inspecter les mots clés entrés par les
utilisateurs via LUISAPI et adapter au
besoin les requêtes.
• Identifier les patterns et améliorer la
reconnaissance avec de nouveaux
exemples
• Récolter du feedback!
18. Conclusion
L’optimisation ne peut se faire qu’au niveau de la requête de recherche, pas au niveau
de l’index lui-même
Sans « tagging » efficace, aucune valeur ajoutée à l’optimisation! Pas besoin
nécessairement de solution « technique » non plus…
Identifier des experts de contenus dans l’entreprise
Utilisation des services cognitifs de Microsoft LUIS, Bing Spell Check et Text Analytics
Processus d’amélioration continu affinement de la reconnaissance au fur et à
mesure
Pensez à récolter du feedback! (ex: formulaire de satisfaction par recherche,
etc.)
…et à maintenir le modèle en conséquence
La solution peut être enrichie avec d’autres intentions (ex: automatisation d’action via
Flow)
19. MERCI!
N’oubliez pas la prochaine session: « Implémentez votre prochain
assistant personnel d’intranet SharePoint grâce au Bot Framework et
SPFx » (16h45, salle Glenan)