SharePoint Saturday Montréal Franck Cornu Fondateur, Spécialiste en outils et technologies collaboratives Microsoft @aequos & MVP Office Development
Microsoft SharePoint Server 2013 Plan de la session De l’IA et un bot dans SharePoint, pourquoi faire? La suite Microsoft Cognitive Services QnA maker LUIS Bot Framework: aperçu Bot Framework: développer localement (Node JS) Démos! #1: Développer localement un bot utilisant le QnA maker et l’authentification avec SharePoint Online #2 Utilisation d’un bot QnA en complément de la recherche dans un contexte d’intranet Quel modèle de gouvernance? Conclusion © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
De l’IA et un bot dans un intranet SharePoint, pourquoi faire? Microsoft SharePoint Server 2013 De l’IA et un bot dans un intranet SharePoint, pourquoi faire? Les utilisateurs ne connaissent pas/peu KQL Je suis un nouvel employé, par où commencer? Impose un paramétrage fin du moteur de recherche pour compenser (i.e. comprendre l’intention) Beaucoup d’efforts pour un cas simple et limité à SharePoint (pas de Graph, etc.)… Liens (menus de navigation ou composants) « nouveau employé procédure » Moteur de recherche Recherche plein texte Query rules Ranking Tags … L’intranet est très souvent là ou le contenu corporatif se trouve, c’est-à-dire SharePoint. Pour accéder à cette information, pas 36 solutions: Liens des menus de navigations ou composants dans la page. Recherche Dans le cas de la recherche, les utilisateurs utiliseront la recherche « plein texte ». Celle-ci, si non configurée, donnera rarement des résultats pertinents à mesure que le volume de contenu augmentera. Ce type de recherche doit nécessairement être complétée par une configuration fine du moteur de recherche pour améliorer les résultats. En réalité, on cherche à comprendre l’intention de l’utilisateur pour mieux y répondre. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
De l’IA et un bot dans un intranet SharePoint, pourquoi faire? Interaction en langage naturel, pas de connaissances spéciales à avoir vis-à-vis de l’outil. Je suis un nouvel employé, par où commencer? Détection de l’intention permettant une réponse plus précise et plus étendue (i.e. pas que SharePoint) Permet une aide à la recherche mais aussi à l’action (automatisation de tâches) « Je suis un nouvel employé, par où commencer? » Conversation avec un bot Détection de l’intention Services d’IA Ressources dynamiques Moteur de recherche (SharePoint) Microsoft Graph Applications métiers Ressources statiques Pages, documents
La suite Microsoft Cognitive Services Ensemble de micro services d’IA catégorisé « IA accessible pour tous » API seulement et/ou outils web Gratuits ou payants https://www.microsoft.com/cognitive-services
Le service QnA maker Outil de création de FAQ interactive sous forme de questions/réponses statiques Possibilité d’extraire les données de sources existantes (pages web, documents, etc.) Endpoint REST/JSON Un modèle par langue Gratuit! (pour le moment…) Aide à la recherche d’information https://qnamaker.ai
LUIS (Language Understanding Intelligent Service) Outil de reconnaissance et détection d’intentions Extraction automatique de valeurs (aka « entités ») Payant (nécessité l’achat d’une clé de souscription dans Azure) Endpoint REST/JSON Un modèle par langue Action à implémenter manuellement https://luis.ai Aide à l’action
Application personnalisée Bot Framework: aperçu Application personnalisée Contrôle web, application lourde, etc. SDK pour C# ou Node.js Implémentation des dialogues Appels des services et applications spécialisés (SDKs disponibles) Dev « from strach » (avec serveur Node.js ou IIS) ou Azure Bot service (Azure Functions, sans serveur) Support du markdown Bot Builder Enregistrement du bot Gestion de l’état (utilisateur/session) Routage des messages bot utilisateur (i.e canaux) Répertoire de bots (publication publique) Gestion des « cards », etc. Bot Connector LUIS, QnA maker, etc. SharePoint, Graph, etc. IA services/LOB !! https://dev.botframework.com
Bot Framework: développer localement (Node.js) Bot Framework emulator Visual Studio Code + Node.js ngrok (http tunneling) pour le débogage de bots distants et du flux OAuth2 Limites du Bot Framework avec utilisation avec des systèmes métiers Pas d’identité partagée entre les différents canaux Nécessité d'implémenter son propre mécanisme d’authentification OAuth2 pour accéder aux applications métiers (Graph, SharePoint ,etc.) https://emulator.botframework.com
Démonstration #1 Développer localement un bot utilisant le QnA maker et l’authentification avec SharePoint Online
Démonstration #2 Utilisation d’un bot QnA en complément de la recherche dans un contexte d’intranet avec authentification
Microsoft SharePoint Server 2013 (Basculez en mode présentation pour voir l’animation) © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Quel modèle de gouvernance? QnA maker Ajout de questions alternatives Apprentissage actif (basé sur les choix des utilisateurs ou de l’administrateur) Réglage du niveau de confiance de la réponse et affichage des choix alternatif de questions Révisions à intervalles réguliers les logs et correction du modèle Bot Framework Possibilité d’ajouter de la télémétrie via Application Insights dans Azure Visualisation des dialogues, conversations les plus fréquentes, etc. Minimum de connaissances techniques à avoir (ex: gestionnaire de contenu) LUIS Consultation du tableau de bord régulièrement Corrections des phrases et entités
Conclusion Résolution du problème de la recherche à la racine: la détection de l’intention! Bot + QnA maker = moyen simple de compléter la recherche d’information dans un portail SharePoint existant en remplacement des « query rules » Extension sur d’autres sources de données (Graph, LOB, etc.) à partir de plusieurs autres canaux (Teams, Skype For Business) Bot ≠ IA, Bot = aiguilleur des discussions. Besoin de compléter avec d’autres services. Le « script » des discussions entre les utilisateurs et le bot doivent être pensés à l’avance (cas particuliers, etc.) Amélioration continue Nécessite une maintenance et une gouvernance dédiée et rigoureuse pour être efficace Concepts nouveaux (encore en preview) Projet pilote (peu d’impacts sur le SI existant) Implémentation progressive, beaucoup de possibilités d’extension (QnA + LUIS, correcteur orthographique, etc.) L’expérience d’authentification peut être un frein Nécessite un modèle par langue Vers un remplacement du moteur de recherche classique?