Machine Learning for Forecasting: Predicting Bike Sharing Demand with ML
Softeq contributed to the development of a Deep Learning-powered chatbot for one of the world’s top messengers. The bot helps users play a sport video game more efficiently — check scores and schedule, get the advanced game statistics, receive injury notifications, compare players’ latest performances and ratings.
The bot collects request analytics and provides users with the full information about the game community’s trends — which teams the community discusses the most, which players are “on fire” this week, etc.
1) The user asks questions in a natural manner like “How did John Smith play against Rangers in 2015?”, “Who’s better: John Smith or John Doe?” or “Who should I start this week?”
2) The bot recognizes natural speech patterns and analyzes the user’s request with Microsoft Language Understanding Intelligent Sevice (LUIS). AI algorithms, provided by Microsoft Cognitive Services, enable chatbot to follow the context of the conversation and support freeform Natural Language dialogs.
3) The bot communicates with the game’s Web Server to collect the necessary information about players, teams, schedules, weather conditions etc.
4) The bot provides the user with an adequate, detailed answer.
On the technical side of things, the chatbot utilizes Azure Bot Service, an all-in-one platform that accelerates bot development, which is an integral part of the Microsoft Bot Framework.
Fast response (<10ms) is guaranteed by a complex two-level caching system, comprising such services as Redis, Microsoft SQL Server, Azure Cosmos DB and Table Storage. Cosmos DB, a highly responsive database, allows distributing the data across a network of regional data centers, rather than keeping it centralized. For instance, when a fan from North America or Asia (regions with most game fans) asks a question, the chatbot always connects to the nearest data center to ensure the lowest possible end-to-end latency.
Due to its modular structure, chatbot can be quickly integrated with another statistics storage/database and adjusted for other sport or domain.