Conversational AI · NLP
Smart-Bot
A learning assistant that understands what you ask.
- 9user intents understood by the language model, with a fallback for off-topic requests
- 3SharePoint catalogues queried live: books, courses, trainings
- AzureBot Framework, LUIS, Microsoft Graph and SharePoint, deployed on Azure
Overview
The problem
Learners on the company's e-learning site had to browse long catalogues of books, courses and trainings to find what they needed. The goal was an assistant that answers natural-language requests in French and returns the right items directly, with a link to each.
What was missing
The company worked on Microsoft technologies, so the assistant had to be built from Azure services end to end: Bot Framework for the conversation, LUIS for language understanding, Microsoft Graph for data access and SharePoint as the catalogue.
Architecture
Swipe to see the whole diagram →
Swipe to see the whole diagram →
Technical details
- Intents: Departement, domaine, services, listes_cours, listes_livre, listes_formation, Acheter_livre, suivre_cours, suivre_formation, plus None for out-of-scope requests.
- LuisRecognizer called with all-intent scores and instance data; the dialog routes on the top intent and the extracted entities.
- Graph: one token per session, then GET on the site's lists (books, courses, trainings) with expanded fields; descriptions trimmed for the cards.
- Microsoft has since retired LUIS (2025) in favour of Conversational Language Understanding in Azure AI Language.
- Microsoft: LUIS retirement
What I built
- 01
The language model
Designed and trained the LUIS app: intents for domains, services, catalogue listings and purchases, domain entities (IT, management, soft skills) and labelled French example utterances.
- 02
The bot
Built with the Python Bot Framework SDK v4 on aiohttp: welcome flow with an adaptive card, intent routing, conversation and user state, error handling.
- 03
Live catalogue access
Connected Microsoft Graph with an Azure AD OAuth 2.0 token to read the SharePoint lists, and matched the recognised entity against product titles.
- 04
Answers people can act on
Adaptive product cards with title, author, type, price, description and links to the product and the cart; deployed on Azure.
Main results
Outcome
A working assistant, demonstrated end to end: greeting with the site name, answers about available domains and services, catalogue listings with links, and product cards for a requested course, book or training.
Qualitative results
Watch the demo videoPosted on LinkedInLimits and next steps
LUIS works from labelled example utterances, so new phrasings need new examples; the catalogue match is a substring search on titles rather than semantic retrieval.
Beyond this project
Natural-language access to enterprise content: intent recognition, entity extraction and API orchestration over company data.
Contact
Interested in the work?
I'm looking for AI research engineer roles in computer vision and video understanding, ideally in sports analytics, though not only. Ready to start a new journey.
Paris, France