概要
Tim Urban の「Your Life in Weeks」に影響され、人生の充実度を数値化したいという動機 バイオメトリクス やイベント記録だけでは満足できず、感情や関係性の質を記録する試み SNSやチャットの履歴 を活用した個人CRMの構築プロセス ノイズ除去、名前解決、イベント抽出 など技術的課題とそのアプローチ 感情や関係性の変化 をデータから可視化し、気づきを得るまでの道のり
人生の週グリッドと記録への動機
- Tim Urban の「Your Life in Weeks」画像が人生の有限性を意識させる契機
- ただ週が過ぎるのを数えるだけでなく、 意味ある記録 を残したいという思い
- バイオメトリクスやイベント記録は人生の充実度を表現しきれない課題
- 感情や人間関係の質 を可視化したいという新たな目標
- ジャーナリングや日記アプリ( Obsidian など)で記録を試行錯誤
デジタル履歴の活用と個人CRM構築
- SNSやチャット履歴 (ICQ, IRC, VK, Twitter, Facebook, Instagram, Telegram等)を整理
- GDPR 等のデータアクセス権を活用し、過去のメッセージやリアクションを取得
- 各プラットフォームごとのデータ形式や仕様の違いに苦戦
- 例: Instagram の文字コード問題、 Telegram のID不一致、 VK の全面的なアーカイブ
- 統一フォーマット(TSV)へ変換し、 会話単位の日記、人物プロファイル、イベント年表 等の構造化を目指す
ノイズ除去と語彙の変化
- 大量の会話データ の多くがノイズ(短文、絵文字、リンク、定型句など)
- 短文の中にも重要なイベントが含まれるため、単純なフィルタリングは不十分
- 頻出短語の手動レビューと保護リストを組み合わせてノイズ除去
- 語彙の新規性 は20代前半でほぼ固定化、年々新しい単語の割合が減少
名前解決とイベント抽出の課題
- 同一人物の複数プラットフォーム横断識別 (例:Alexander=Al, Alex, Sasha等)
- ニックネームや言語ごとの変化、文脈依存の名前解釈
- NERやヒューリスティクス では限界があり、 LLM による文脈解釈を導入
- イベント抽出も単純なキーワードでは誤判定多発、 手動ラベル付きデータでの分類器訓練 も効果限定的
- LLM を用いたメッセージ塊の解析で高精度の抽出を実現、JSON形式で構造化
プロンプト設計と品質管理
- LLM用プロンプトファイル は誤判定の度に拡張・修正
- 明示的な一人称表現がないとイベント認定しない等のガードルール追加
- 機械的な検証スクリプトとランダムサンプリングで品質担保
- 信頼性指標 としてモデルの自己申告信頼度は使わない方針
感情・関係性の分析
- 通常の 感情分析 は会話全体の印象を単一ラベルで判定しがちだが、実際は発言者ごとの温度差が重要
- 関係ごとのベースライン を把握し、そこからの逸脱を検出することが本質的
- LLMで会話日ごとに「自分」「相手」「相互」の感情状態を18タグ×3方向で分類
- 長期的な変化(例:playful→transactionalへの推移)を定量的に把握可能
データから見えた関係性の変化
- メッセージ量の変化 は関係性変化の兆候となりうるが、必ずしも質的変化と一致しない
- メッセージの 平均長 や 語彙の重複率 など、多角的な指標で関係性を捉える必要
- 長年のやり取りを通じて、関係性の形や質が変化していく様子をデータから発見
関係性の変化を可視化するデータ指標
- Jaccard類似度 等を用いた語彙の重複率分析
- 長期的な関係性の変化を 定量的に追跡 するアプローチ
- データを活用することで、 主観的な気づき以上の洞察 を得られる可能性
- 人間関係の質的変化 を見逃さないための新しい記録・分析手法の提案