• Stars
    star
    143
  • Rank 257,007 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created about 8 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Self-knowledge through numbers

Quantified Self :: Kino

build status Requirements Status Codecov Code Style Codacy


Quantified Self

Quantified Self ๋ž€ ๊ฐœ์ธ์˜ ์ผ์ƒํ™œ๋™์—์„œ ์‹ ์ฒด์ ยท์ •์‹ ์  ์ƒํƒœ๋ฅผ ์„ผ์‹ฑ ๋ฐ ํŠธ๋ž˜ํ‚นํ•˜์—ฌ ์ด๋ฅผ ์ˆ˜์น˜ํ™”ํ•จ์œผ๋กœ์จ ์ž์‹ ์˜ ์ƒํƒœ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์‚ถ์˜ ์งˆ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ์—ฐ๊ตฌํ•˜์—ฌ ์‹ค์ƒํ™œ์— ์ ์šฉํ•˜๋Š” ํ™œ๋™์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Gary Wolf์™€ Tom Kelly์— ์˜ํ•ด ์†Œ๊ฐœ๋˜์—ˆ์œผ๋ฉฐ, 2010๋…„ Ted Talk์—์„œ ์ฃผ๋ชฉ์„ ๋ฐ›์•„, ๊ทธ ์ดํ›„ ํ•˜๋‚˜์˜ ์šด๋™ํ˜•ํƒœ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ˜•์„ฑ๋˜์–ด QS ์›น์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์ „๊ฐœ๋˜์–ด ์™”๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ๋ฏธ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

To improve quality of life by generating and sharing knowledge on Quantified Self (QS)

์ด ์ €์žฅ์†Œ์—์„œ๋Š” ์ € ์ž์‹ ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ˆ˜์ง‘ํ•˜๊ณ , ๋ถ„์„์— ์‚ฌ์šฉํ–ˆ๋˜ ์ฝ”๋“œ๋“ค๊ณผ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

Blog

Data Source

ํ˜„์žฌ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜์™€ ์‚ฌ์šฉ๋˜๋Š” App๊ณผ ์›จ์–ด๋Ÿฌ๋ธ” ๊ธฐ๊ธฐ์˜ ๋ฆฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

Record

Record๋Š” ์ œ ์ž์‹ ์— ๋Œ€ํ•œ ๊ฐ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„์ž…๋‹ˆ๋‹ค.

Data Value Description Integration Note
Happy 1์  ๐Ÿ˜ก, 2์  ๐Ÿ˜”, 3์  ๐Ÿ™‚, 4์  ๐Ÿ˜†, 5์  ๐Ÿ˜ ์งˆ๋ฌธ์„ ๋ฐ›์€ ๋‹น์‹œ์˜ ํ–‰๋ณต๋„ ์ง€์ˆ˜
Attention 1์  ๐Ÿ˜ฉ, 2์  ๐Ÿ˜ž, 3์  ๐Ÿ˜, 4์  ๐Ÿค”, 5์  ๐Ÿ‘ ํ•˜๋‚˜์˜ ์ž‘์—…์„ ๋๋ƒˆ์„ ๋•Œ์˜ ์ง‘์ค‘๋„ ์ง€์ˆ˜
Sleep ์‹œ์ž‘์‹œ๊ฐ„, ๋์‹œ๊ฐ„ ์ˆ˜๋ฉด์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ Fitbit python-fitbit
Productivity RescueTime, Github, Toggl, Todoist ์ข…ํ•ฉ ์ƒ์‚ฐ์„ฑ ์ข…ํ•ฉ ์ ์ˆ˜ ์•„๋ž˜ ์ฐธ๊ณ 
- Task Toggl ID, ์‹œ์ž‘์‹œ๊ฐ„, ๋์‹œ๊ฐ„, ์นดํ…Œ๊ณ ๋ฆฌ, ์ž‘์—…๋‚ด์šฉ, ์ง‘์ค‘๋„ ํ•˜๋‚˜์˜ ์ž‘์—…์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ Toggl, Todoist, Trello TogglPy, todoist-python, py-trello
- RescueTime ์ƒ์‚ฐ์„ฑ ์ ์ˆ˜ Website, App ๋“ฑ์˜ Time-Tracking Tool RescueTime
- Github ์ฃผ๊ฐ„์ปค๋ฐ‹ Github์˜ ์ปค๋ฐ‹ ์ˆ˜ Github PyGithub
Repeat Task Exercise, BAT, Diary ๋งค์ผ ๋ฐ˜๋ณตํ•˜๋Š” ํ™œ๋™๋“ค
(์šด๋™, ๊ณต๋ถ€์ •๋ฆฌ, ์ผ๊ธฐ)
Total Score ์ข…ํ•ฉ์ ์ˆ˜ Attention, Productive, Happy, Sleep, Repeat Task ๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•œ ์ข…ํ•ฉ ์ ์ˆ˜

Log

Log๋Š” ML ํ•™์Šต์„ ํ†ตํ•ด์„œ ์ž๋™ํ™”๋ฅผ ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

Data Value Description Note
Message ์‹œ๊ฐ„, ๋ช…๋ น์–ด ํ…์ŠคํŠธ kino (Chatbot) ์—๊ฒŒ ์‹œํ‚จ ๋ช…๋ น์–ด ํ…์ŠคํŠธ
RSS Feed Category, Title, Pocket ์ €์žฅ์—ฌ๋ถ€ ๋‹ค์–‘ํ•œ Article ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ
์ž์„ธํžˆ ๋ณด๊ณ  ์‹ถ์€ ๊ธ€์˜ ๊ฒฝ์šฐ Pocket์— ์ €์žฅ
feedparser, pocket, python-twitter

Components

ํฌ๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ 4๊ฐ€์ง€ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

  • Chatbot (kino-bot)

  • Scheduler

  • Webhook

  • Dashboard

Chatbot (kino-bot)

  • Slack์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„

  • ๋‹ค๊ตญ์–ด ์ง€์› : Korean, English ํ…œํ”Œ๋ฆฟ ๊ธฐ๋ฐ˜

  • Integrate with Giphy : ์ •ํ•ด์ง„ ํ…œํ”Œ๋ฆฟ ์ด์™ธ์˜ ์žฌ๋ฏธ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋„๋ก

  • Skill : ์ง์ ‘ ๊ตฌํ˜„ํ•˜์—ฌ ์Šคํ‚ฌ์„ ๋“ฑ๋กํ•˜๊ณ  Trigger๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Register Skills

ํ˜„์žฌ๋Š” ์ด 27 ๊ฐœ์˜ Skill์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๐Ÿญ air_quality : Air quality forecast. (can use only Korea airkoreaPy)
  • โœ๏ธ attention_question : Attention survey after do task.
  • โœ๏ธ attention_report : Attention Report.
  • ๐Ÿš bus_stop : Bus arrival information. (can use only Korea (gbus api))
  • ๐ŸŒž forecast : Weather forecast. (using darksky)
  • :octocat: github_commit : Check Github push count.
  • ๐Ÿ˜„ happy_question : Happiness survey.
  • ๐Ÿ˜„ happy_report : Happiness Report.
  • ๐Ÿฏ honeyjam : Easter Egg - Korea Azae Humor (using honeyjam).
  • ๐Ÿ—๏ธ jenkins_build : Build a registered project for Jenkins.
  • ๐Ÿ“‹ kanban_sync : Todoist's tasks and Kanban board's card Syncing.
  • :thinking_face: keep_idea : Keep idea in Trello board's inbox list.
  • :scales: maxim_nietzsche : Nietzsche's Maxim.
  • :thinking_face: remind_idea : Remind Trello's inbox card randomly pick.
  • ๐Ÿ“ˆ rescuetime_efficiency : RescueTime Efficiency Chart
  • ๐ŸŽผ samhangsi : I am thinking about the Samhangsi with the kor ballad! (using char-rnn-tensorflow)
  • ๐Ÿ’ฌ send_message : Send a text message.
  • ๐ŸŒ† today_briefing : Today Briefing - brief Todoist tasks
  • ๐ŸŒƒ today_summary : Today summary - todoist_feedback, toggl_report, rescuetime_efficiency, happy_report, attention_report, github_commit
  • ๐Ÿ“ todoist_feedback : Feedback from Todoist activity.
  • ๐Ÿ“ƒ todoist_remain : Show todoist's remaining tasks.
  • ๐Ÿ”” toggl_checker : Toggl time checker Every 30 minutes.
  • ๐Ÿ“Š toggl_report : Toggl task Report.
  • โŒš toggl_timer : Toggl Timer.
  • ๐Ÿ’น total_chart : Overall chart - weekly productivity, happiness, overall score chart.
  • ๐Ÿ’น total_score : Overall score - Productivity (RescueTime, Github Commit, Todoist, Toggl), Mean happiness, mean attention, Exercise, Diary.
  • ๐Ÿ”ฎ translate : Language translation using Naver Papago api.

Scheduler

  • schedule ๊ธฐ๋ฐ˜

  • ๋“ฑ๋ก๋œ Skill ๋“ค์„ ์ง€์ •ํ•œ ์‹œ๊ฐ„์— ๋งž์ถฐ์„œ ๋™์ž‘ํ•˜๋„๋ก ์„ค์ • ๊ฐ€๋Šฅ

    • e.g.) 1์‹œ๊ฐ„ ๋งˆ๋‹ค ๋ฏธ์„ธ๋จผ์ง€ ์•Œ๋ ค์ค˜, ๋งค์ผ 8์‹œ์— ํ•˜๋ฃจ ๋ธŒ๋ฆฌํ•‘ ํ•ด์ค˜

Webhook

  • serverless ๋ฅผ ํ†ตํ•ด์„œ AWS API Gateway + Lambda ๋กœ ๊ตฌํ˜„
  • IFTTT ๋˜๋Š” Zapier ์™€ ๊ฐ™์€ Automation Tool์„ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•œ Webhook (Bot์—๊ฒŒ ์ง์ ‘ ์ „๋‹ฌ)

Dashboard

Daily Schedule

image

Daily Habit

image

Daily Summary

image

Weekly Task Report

image


Prerequisites

Quick Start

๋จผ์ € requirements๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค.

pip install -r requirements.txt

๋‹ค์Œ์œผ๋กœ ์ตœ์†Œํ•œ์˜ ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. (config.yml)

bot:
  MASTER_NAME: <name>
  BOT_NAME: Kino
  LANG_CODE: en
  TRIGGER:
    - hey kino
    - ํ‚ค๋…ธ์•ผ
  ONLY_DIRECT: false   // text startswith Trigger or @kino, or Direct Message
  GIPHY_THRESHOLD: 85  // all responses are random pick number (1~100) to use giphy

slack:
  TOKEN: <token>
  channel:
    DEFAULT: "#general"

๋‹ค์Œ์œผ๋กœ ์•„๋ž˜ ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, Bot์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

python main.py

Integration with ML/DL

์ถ”ํ›„์— ML/DL ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ๋” ๋ถ™์—ฌ์„œ ๋” ๋˜‘๋˜‘ํ•˜๊ฒŒ ์ž๋™ํ™”๋ฅผ ์‹œ์ผœ์ค„ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  • CLaF : Open-Source Clova Language Framework
    • OpenQA: DrQA is a system for reading comprehension applied to open-domain question answering. The system has to combine the challenges of document retrieval (finding the relevant documents) with that of machine comprehension of text (identifying the answers from those documents).

License

See the LICENSE file for license rights and limitations (MIT).

More Repositories

1

transformer-tensorflow

TensorFlow implementation of 'Attention Is All You Need (2017. 6)'
Python
349
star
2

text-cnn-tensorflow

Convolutional Neural Networks for Sentence Classification(TextCNN) implements by TensorFlow
Python
248
star
3

conversation-tensorflow

TensorFlow implementation of Conversation Models
Python
144
star
4

char-rnn-tensorflow

Multi-layer Recurrent Neural Networks for character-level language models implements by TensorFlow
Python
60
star
5

notes

The notes for Math, Machine Learning, Deep Learning and Research papers.
Python
52
star
6

dmn-tensorflow

TensorFlow implementation of 'Ask Me Anything: Dynamic Memory Networks for Natural Language Processing (2015)'
Python
41
star
7

awesome-feeds

A curated list of tech, machine learning, biz and etc... feeds
28
star
8

dqn-tensorflow

Deep Q Network implements by Tensorflow
Python
25
star
9

hb-config

hb-config: easy to configure your python project especially Deep Learning experiments
Python
21
star
10

hb-base

Project structure of Deep Learning experiments
Python
13
star
11

BeAwesomeToday

Be Awesome Today - My Awesome List & Today I Learned & Blogging Articles
13
star
12

DeepLearning-Notebooks

Deep Learning Notebooks Implements by TensorFlow, Python + numpy
Jupyter Notebook
12
star
13

vae-tensorflow

TensorFlow implementation of Auto-Encoding Variational Bayes.
Python
8
star
14

gan-pytorch

PyTorch implementation of 'GAN (Generative Adversarial Networks)'
Python
7
star
15

DataScience-Notebooks

Collection of Data Science Notebooks
Jupyter Notebook
7
star
16

hb-nvim

The ultimate nvim distribution
Vim Script
6
star
17

kino-webhook

Serverless webhook handler
Python
2
star
18

SaladyBot

Slack Bot for Salady
Python
2
star
19

PEP8_kor

PEP 8 -- Style Guide for Python Code (Korean)
2
star
20

DongjunLee

2
star
21

relation-network-tensorflow

TensorFlow implementation of 'A simple neural network module for relational reasoning' for bAbi task.
Python
2
star
22

BeHappy-Django

Quantified Self Project for Happiness, Efficiency, Activity
CSS
2
star
23

bi-att-flow-tensorflow

In Progress...
Python
2
star
24

Effective_Python_Notes

Summary of Effective Python and example notebooks
1
star