AIイノベーション AWARD 2022に提出したデモプログラムです。
提出テーマ:「人々の幸せ」を生むスマートシティを創ろう
「世代間を超えた支えあいで、日本に希望を取り戻す」をコンセプトとした、若者世代・働き盛り世代・シニア世代にWin-Win-Winなマッチングアプリ。 働き盛り世代が自身の親について入力した「年齢・居住地・孤独感・睡眠時間・大まかな貯金額」をAIが分析し、今後2年以内に要介護となる可能性を予測します。
「要介護見込み」と判定された場合、実際に健康状態が悪くなることを回避するために、シニア世代である親(「シニア会員」と呼びます)を定期訪問して、孤独感の軽減に努めてくれる若者(「サポーター会員」と呼びます)を選ぶことができます。
(注:費用の支払主体は、働き盛り世代(「利用者会員」と呼びます)であり、サポートを直接受けるのは、その親である「シニア会員」となります。今回のデモアプリには、契約機能や決済機能は実装しておりません。)
サーバプログラム(app.py)を起動したうえで http://127.0.0.1:5000/ に接続。
本アプリケーションの説明がメインの画面です。新規ユーザーは"今すぐ分析"ボタン、登録済みの利用会員は"ログイン"ボタンを押下し、分析画面に遷移します。
分析対象となるシニアユーザーの情報を入力します。空欄なく入力が完了したら、"完了!"ボタンを押下して入力を送信します。
調査画面に入力された情報を基にAIが分析し、今後2年以内に介護が必要となる見込みの有無を判別します。「要介護見込み」と判定された場合は、その確率が表示され、新規登録を促されます。
新規登録画面では登録したいユーザー名とパスワードを入力します。今回はどちらも文字数や使用文字の指定はございません。
ログイン画面では登録した情報を入力します。
マッチングをメインに行う画面です。「~現在のマッチ候補:親御様のサポートを依頼しますか?~」に表示されているサポーター会員に「依頼する!」を押下すると、「~依頼する!をした人~」にそのサポーター会員が表示されます。"解除"ボタンを押下すると、そのサポーター会員の情報はユーザー画面から削除されます。"ログアウト"ボタンを押下すると、トップ画面に遷移します。
( 注:実際の運用においては、「依頼する!」が押下されたあとに、運営側にてシニア会員とサポーター会員の双方に連絡を行い、両者の同意を得た上で、正式に担当サポーターとしてアサインすることになります。シニア会員向けは、主に電話にて連絡を行う想定ですが、サポーター会員向けの連絡は、アプリ上で自動的に行うようにすることを想定しています。)
デモプログラム限定の通常のボタン操作ではたどり着くことができない画面です。(http://127.0.0.1:5000/admin)
ユーザー画面で表示されるサポーター会員を追加します。
写真は./app/static/images/peopleフォルダーのjpg方式で保存された画像名を入力します。
本来であれば、本サービスの運営に伴い、実際のシニア会員の承諾を得たうえで収集し、蓄積すべきでデータセットですが、今回はデモアプリ用にイメージをお伝えするために、サンプルデータを作成しました。なお、サンプルデータの作成にあたっては、総務省統計局が発表しているものを含む、実際の統計データを基に、日本のシニア世代の現実の傾向を踏まえております。
データセットを作成するにあたって設定した説明変数は
年齢,性別,過去の重病の有無,家族構成,孤独感,運動の頻度,睡眠時間,地域,大まかな貯金
であり、
2年後の介護の必要性
を被説明変数(出力結果)として学習を行いました。
本アプリケーションでは、分析画面で入力した情報を基に、2年後の介護の必要性の予測とその確率の二つの場面で機械学習を行いました。
出力結果は"必要かそうでないか"の2択なので、手法はRandomForestClassifierを採用しました。データの標準化は行わずに学習を行った結果、学習精度は約86%となりました。
"2年後の介護の必要性"と関係のある結果を求めているので、手法はRandomForestRegressionを採用しました。その確率が0.4~0.5付近で必要か否かを決定する関係性がありました。その確率に対して各ラベルの寄与率は以下のグラフのようになりました。
本アプリケーションはFlaskを利用しています。そのため、起動にはPythonのインストールと以下のモジュールが必要です。
flask flask-sqlalchemy flask-bootstrap flask-login
- 制作チーム 鈴木総合研究所
- 所属 東京電機大学,立教大学大学院
出場16チーム中、2位という結果となり、優秀賞を獲得できました。 詳細はこちら