We are surrounded by AI, it analyzes our pictures, answers our questions and recommends new shows. The next logical step is an AI that learns directly from us. Meet the Personal AI, or PAI 🥧
Support my work by wishlisting Compicactus on Steam
Motivation
Something wonderful always happens when a technology reaches the hands of a large amount of people.
Digital Photography and Video are great examples. The endless creativity of the global community is always finding new uses, changing lives, having fun and more importantly: empowering people.
User experience
A Personal AI or PAI (read as “pie”) is an easy to use application that can be trained to analyze your own data.
Using a simple and engaging interface the user will feed the PAI with data, which is arranged as a series of Events in Streams making it easier to read and navigate.
The PAI will materialize as a mobile application, that will show the Stream of Events as vertical lines on the screen, that the user will be able to navigate and edit using common touch gestures.
Saving, sharing and loading Streams of data will be possible. Taking advantage of information loaded by other users and building on top of it people will be able to create increasingly sophisticated Streams. The PAI will also access public streams of information such as weather services and traffic information.
Different operations will be performed over the data: Time Series Prediction (How will be my next week?) , Classification (What should I cook?), Regression (How many customers should I expect today?), and the PAI will be able to take action according to the results (notifications and reminders).
The data will be stored encrypted and locally, using similar technologies as password managers do. And will use end to end encryption to backup information on cloud servers.
Streams of data will be available to download from online repositories, similar to an application marketplace. Individuals and organizations will be free to upload information, and share it with other users.
Event Cognition
Under the hood the information will be stored as a series of probability distributions grouped by Elements, Properties and Events. This type of representation is being called Event Cognition Knowledge Representation.
The data is stored in a chronological order, avoiding any kind of pre processing. The causal relations will be inferred from the data on-device. Similar to PDF or RISPect, this format is only a description of the knowledge, leaving the work of interpreting it to the parser software.
The reason to use Events as a way to structure the data has roots in Cognitive Science. Events are one of the most important classes of entities in our everyday psychology. They are the “things” of experience just as much as objects, sounds, and people. As we go about our lives, our minds and brains process information from an imposing number of sources. Most of the time this results in fluid, adaptive behavior and in an integrated conscious experience of the situation we are in.[4]
Storyline Visualization
To show the Events Storyline Visualization will be used. It has been developed to convey the temporal patterns of entity relationships [2].
Machine Learning
Here is an example of a stream of discrete data composed of 168 points, one for each hour in a week. Describing the probability of rain (blue line) for that hour and the probability of the user being commuting (orange line).
The data stream also includes the probability that the user wants to be notified about the rain (red dots). This information was fed by the user to teach the PAI the expected behavior.
After training a simple Naive Bayes algorithm with the data we can generate a new week to test the model (The model is “naive” because it assumes that the attributes are conditionally independent of each other, given the class [3]). Notice how is only setting a high notification probability when there is a high probability of rain and high probability of the user being commuting.
Real world example
This simple Telegram bot was coded to test the concept on a real problem. I want to predict when the bus I take every night will be at the bus stop. Using the New 39 command I added the event named “39” (the brand of the bus) the first day September 27 at 01:06 and the second day September 28 at 01:06 (remarkably punctual bus!).
Then I used the Next 39 command to ask the PAI for a prediction for the next occurrence of the event, the result was, as expected, on September 29 at 01:06.
Now I know exactly when I should be waiting at the bus stop!
Note: This model will also work when the interval is not regular.
Conclusion
These simple elements combined, Event Cognition Knowledge Representation and On Device Machine Learning, will allow every person to train their own models, in a privacy respectful way, sharing only the data they want to share when they want to share.
- [1] Movie narrative charts. Comic Strip. (R. Munroe, March 2013)
- [2] StoryFlow: Tracking the Evolution of Stories (Shixia Liu and Yingcai Wu and Enxun Wei and Mengchen Liu and Yang Liu, 2013)
- [3] Artificial Intelligence: A Modern Approach, Third Edition (Stuart J. Russell and Peter Norvig, 2010)
- [4] Event Cognition (Gabriel A. Radvansky and Jeffrey M. Zacks, 2014)
- More information about the motivation behind this project: Democratizing Artificial Intelligence
- More information about Event Cognition Knowledge Representation
- Source code of the technical demo on GitLab
Eibriel
eibriel.eth.limo