Quantified Self::キノ
Quantified Self
Quantified Selfとは、個人の日常活動で身体的・精神的状態をセンシングおよびトラッキングしてこれを数値化することで、自分の状態を分析し、生活の質を改善する方法を研究し、実生活に適用する活動を意味します。 Gary WolfとTom Kellyによって紹介され、2010年にTed Talkで注目を集め、その後1つの運動形態でコミュニティが形成され、QSウェブサイトを通じて展開されてきたそうです。彼らのミッションは次のとおりです。
To improve quality of life by generating and sharing knowledge on Quantified Self (QS)
このリポジトリでは、自分自身に関するさまざまなデータを収集し、分析に使用したコードとインサイトを共有します。
Blog
- Personal Assistant Kino Part 1 - 概要
- 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年間のデータストーリー
データソース
現在収集しているデータの種類と、使用されているアプリとウェアラブル機器のリストです。
記録
Recordは、自分自身に関するさまざまなデータを収集して分析するための用途です。
データ | Value | Description | 統合 | 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、開始時間、終了時間、カテゴリ、作業内容、集中度 | 1 つのジョブのデータ | 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学習を通じて自動化を可能にするためのデータのリストです。
データ | Value | Description | Note |
---|
メッセージ | 時間、命令テキスト | kino (Chatbot) に与えた命令テキスト | |
RSSフィード | Category, Title, Pocket 保存可 | さまざまなArticleのデータ 詳しく見たい文章の場合は Pocket に保存 | feedparser, pocket, python-twitter |
Components
大きく次の4つのコンポーネントで構成されています。
チャットボット(キノボット)
Scheduler
Webhook
ダッシュボード
チャットボット(キノボット)
Slackに基づいて実装
多言語サポート: Korean, English テンプレートベース
Integrate with Giphy : 決まったテンプレート以外の楽しさを与えるために
スキル:自分で実装してスキルを登録し、トリガーを設定することができます。
Register Skills
現在、合計27のスキルが実装されています。
- ? 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 : 天気 forecast. (using darksky)
- github_commit :チェックGithubプッシュカウント。
- ? 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 タスク
- 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
Webhook
- serverless を介して AWS API Gateway + Lambda で実装
- IFTTTやZapierなどのAutomation Toolを連携するためのWebhook(Botに直接配信)
ダッシュボード
- plotly/dashとplotly/plotly.pyに基づいて実装
Daily Schedule
Daily Habit
Daily Summary
Weekly Task Report
Prerequisites
クイックスタート
まず、requirementsをインストールしてください。
pip install -r requirements.txt
次に、最小限の設定が必要です。 (config.yml)
bot :
MASTER_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 :
channel :
DEFAULT : " #general "
次に下のコマンドを実行すると、Botが実行されます。
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).
ライセンス
See the LICENSE file for license rights and limitations (MIT).