Context recognition is an enabling technology for developing an ubiquitous virtual assistant. It is concerned with using sensors to perceive a situation and understanding of human context in real-time.
Our approach to developing context recognition engine is to collect low-level contextual data measured by various devices. The data is transmitted to the server where it is converted into a time-series, and abstracted into a higher-level context by filtering and aggregation backed by machine learning technology.
We collect the user’s device signals including time, GPS, WiFi, motion sensors, sound, SMS, calendar events, and any new forms of data that needs to be processed to understand user context. To achieve this, we have designed and implemented a scalable infrastructure based on message stream processor and developed a data pipeline to handle it in real-time.
The processed data perceives events and activities on a higher level and represents them with more meaningful data. For instance, by combining GPS information with other data such as WiFi and time, our engine identifies the user’s trajectory including visited places as well as the real-time activity context. To optimize this process, we collect qualified data and have developed high-level detectors using machine learning technology.
By using pattern recognition technology, our engine learns the user’s behavior and generates the historical data of user’s activities. In return, it empowers activity prediction such as ‘user is about to go home’ or ‘is going to have lunch’. With context recognition, machines can provide relevant information and services to the users making the interaction between machine and humans easier.
- Higher accuracy and coverage than Google Maps or FourSquare's location recognition technology.
- Real-time location information recognition within the minute parameter.
- Recognize over 30 different types of events, activity and behavior.
- User behavior profiling applying machine learning to reach higher context level by aggregating more data.
- Define user segmentation based on behavior profiles such as ‘coffee enthusiast’, ‘full-time worker’ and ‘nightlife lover’.