Quantified Self :: Kino
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
- Personal Assistant Kino Part 1 - Overview
- Personal Assistant Kino Part 2 - Chatbot์ ๊ธฐ๋ณธ๊ตฌ์กฐ Skill & Scheduler
- Personal Assistant Kino Part 3 - ์์ ์ ์ต๋ํ ๊ฐํธํ๊ฒ ๊ด๋ฆฌํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ์
- Personal Assistant Kino Part 4 - ์์ฃผ ์ฝ์ ๊ธ๋ค์ ์๋์ผ๋ก ์ ์ฅํ๋ Smart Feed
- Quantified Self Part 5 - ๋ฐ์ดํฐ ์๊ฐํ์ ๋์ฌ๋ณด๋ with KPI
- Quantified Self Part 6 - ์์ฐ์ ์ธ ํ๋ฃจ์ ๋ํ ์ ๋์ ์ธ ํํ๊ณผ 4๋ ๊ฐ์ ๋ฐ์ดํฐ ์ด์ผ๊ธฐ
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)
- 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
- plotly/dash ์ plotly/plotly.py ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ
Daily Schedule
Daily Habit
Daily Summary
Weekly Task Report
Prerequisites
- Slack
- Python 3.6
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).