"EmoDialog"の名前由来は,"Emo" は感情(emotion)を表し,"Dialog" は対話(dialogue)を表す言葉です.この名前は,感情を中心に据えた対話やコミュニケーションを促進するアプリケーションを示しています.感情と対話を融合させることで,ユーザーが自分の感情や思考をより深く理解し,整理する手助けをすることを意味しています.
EmoDialogは,文章生成AIを用いた個人向け日記アプリケーションです. ユーザーが日記を書くことで,AIが感情分析を行い,ユーザーに対して返答を行います.
現在は以下の機能が実装されています:
- ユーザー登録・ログイン
- 日記の作成・編集・削除
- AIによる日記の感情分析
- 日記から推測されるその日の感情を分析
- 例: happy, sad, angry, etc. (ポール・エクマンの6つの基本感情に準拠)
- 日記から推測されるその日のクオリティをスコア化(0%~100%)
- 良い1日ならば高いスコア,悪い1日ならば低いスコア
- 日記から推測されるその日の感情を分析
- 感情分析結果の統計の閲覧
- ユーザーの感情推移のグラフ表示
- ユーザーの感情の分布の円グラフ表示
- チャットボット機能(AIによる返答)
現段階で,EmoDialogは以下の技術スタックを使用して開発されています.
このプロジェクトはFlaskベースであり,サーバーでの実行を前提としていますが,Pythonの環境があればローカルでの実行も可能です. ただし,OpenAIのAPIを使用しているため,事前にAPIキーの取得が必要です. (※APIキーの取得にはOpenAI社へのクレジットカード情報の登録が必須です.)
またデモページも用意していますので,以下のリンクからアクセスしてみてください. EmoDialog(https://emodialog.live) (注意: 本ページはデモ環境のため,データベースが定期的に初期化されます.)
以下のサンプルアカウントでログインすることで,予め記録された日記や感情分析を閲覧・編集することができます.
ユーザー名:guest
パスワード:psp4_sample
ここではローカル環境でのプロジェクトの導入方法について説明します.
1. OpenAI APIキーを取得し環境変数に設定する.参考 OpenAI Platform
export OPENAI_API_KEY='YOUR_API_KEY'git clone https://github.com/ut42univ/EmoDialog.gitpip install -r requirements.txt cd app
python app.pyhttp://localhost:5000* ユーザー名とパスワードを入力して登録
* 登録済みのユーザー名とパスワードでログイン
* 日記のタイトルと内容を入力して作成
* 日記は1文字以上,500文字以下で作成可能
* 日記の"See Detail"をクリックすることで詳細を閲覧
* 日記の"Edit"をクリックすることで編集
* 日記の"Delete"をクリックすることで削除
* ユーザーの感情推移のグラフ表示
* ユーザーの感情の分布の円グラフ表示
* matplotlibを使用してグラフを描画
* EmotionAIとの会話を行う
* "会話を終了する"で会話履歴を削除(復元できません)
このプロジェクトはMITライセンスに準拠してOSSとして公開されています.詳細は LICENSE を参照してください.
Distributed under the MIT License. See LICENSE for more information.







