StGerman / Akuma

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Akuma

expectation

Demo Setup

You need to set up the development database

> rake db:create db:migrate

Seed data

> rake db:seed

will create default Users: Dune, HarryPotter and Lebowski and assign tasks for them

Train prediction model and affiliation for each user with:

> rake affilation:calculate

Start server with

> rails s

In rails console you can use gem 'akuma-client' to manage data.

# Akuma will automatically assign a most fitting task for person
> Akuma::Client::Assign.where(person_id: 1).create

Task fit calculation

Akuma calculates affiliations for each person using the Naive Bayes algorithm. Akima will count fit coefficient as a prediction percentage for each person multiply on life_time of tasks. Tasks sorted for each person separately by fit. When creating assignments Copilot class chooses the oldest task with a maximum fit for the assignee person.

Next Steps

  1. Build end2end tests with cucumber for checking user scenarios
  2. Make model training and testing pipeline for checks model effectively
  3. Current Model don't uses text steaming. It will have less prediction power with languages like Russian or German with words declension
  4. Using TF-IDF algorithm will increase model prediction power

About

License:MIT License


Languages

Language:Ruby 99.3%Language:HTML 0.4%Language:Shell 0.3%