Skip to content

andrejkurusiov/elementsofAI-buildingAI

Repository files navigation

Jupyter MIT License LinkedIn

  1. Solutions for BuildingAI problems
  2. Building AI course project proposal

BuildingAI: Solutions

solutions to programming problems and quizzes my-results

Features

python-notebook-screenshot

Installation

  1. Clone this repository:
$ git clone https://github.com/andrejkurusiov/elementsofAI-buildingAI.git [your-folder-name]
  1. (optional)* Install Python
  2. (optional)* Install packages with pip:
$ pip install -r requirements.txt
  1. Open building-ai.ipynb and run cells.

(*) instead of installing Python locally, you can use online service, such as Google Colab.

License

Distributed under the MIT License.


Building AI course project proposal: call-your-mom

phone
Photo by Annie Spratt

Summary

When you grow up, you live separately from your mom.
Because of that, she wants to keep in touch with you.
Optimise your calls, so that your mom is always happy!

Background

Each person who lives separately from his/her parents, needs to keep in touch.
Since my mom calls frequently, and I sometimes forget to call back her in time, we happen to have misunderstandings.

The problem can be described as following:

  • "predict" next time your mom would call you and
  • remind to call her back just before she was going to call you, so that you make her nice surprise :)

How is it used?

I plan to collect basic data about communications with another party (e.g. my mom), and based on that make a model which predicts when next incoming call is about to happen.

Therefore the model can be used to not only predict next incoming call, but also to remind you to call your mom back a bit in advance.

Potential solution is generic, as it can be used with any other party, like your wife, your children, or any other party you call back and forth periodically.

Data sources and AI methods

Data collection can be done by any person interested in the topic, based on own calling experience.

Since every person's communication style is unique, the model would potentially need to be trained for a particular person.

Proposed collection method would be calls log (e.g. a text file) with the following structure:

data format
time datetime-stamp
direction [1, 0] in/out
length [minutes] call length
sentiment [-1, 0, 1] negative/neutral/positive
comment for future use
record separator --- or new-line

Challenges

The project does not solve actual communication nor guarantees that your relations would be any better.
As a challenge I see the need to collect the data (collecting persistency and amount).
Choosing correct model is a question for a beginner Machine Learning student.
Normalising data between weeks/ weekends can be a challenge as naturally there exists a periodic pattern in communications.

What next?

Next steps would be making data collection easy for user and potentially implementing a (mobile) call reminder.

Acknowledgments