Skip to content
生成AIとブラウザ履歴をネタに雑談する
note記述記事
2024-02-12

miの基本機能の続きとそれのChatGPTとの応用についてです。
これを説明するには少しそもそもの話しが必要です。

キーボードモニタの次に取得した情報

miはそもそもは**「作業コンディションを調整/モニタするためのシステム」**というのは先に説明した通りです。

https://note.com/marble_walkers/n/n8f9685e89c8d

作業コンディションモニタのために有用そうなPCから得られる情報としてキーボード状態の次に考えたのは「Webブラウザの閲覧履歴」です。
各種のニュースサイトを見たり、SNSを見たり、娯楽サイトを見たり、
問題解決のために技術サイトを検索したり、生活情報を探したり、またmi-serverそのものもローカル(一部クラウドにあり)に置いているwebサービスですのでそこへのアクセスもあります。
これらをどのような割合でアクセスしているかを取得して評価するのは作業コンディションのモニタに有用ではないかと考えたのです。

実現方法

Chromeの履歴DBを直読みしています。自分が調べたときは  https://www.mirandora.com/?p=697 などのサイトの情報を参考にしました。今は「chrome history」で検索すればわかりやすい技術記事はたくさん出ているようです。
データ的には単に特定のディレクトリにあるファイルがsqliteのDBになっていてそこに記録されているという話しです。あとは壊さないように注意しながら抽出するだけです。
記録はGoogleのアカウントのセッションごとに分かれているので、個人用のChromeセッションと仕事用のChromeセッションをきちんと分けて使っていれば仕事関係のURLが抽出されることもないので解析対象に変なURLが混ざり込むことも防ぐことができます。
この情報を定期的にURLとウィンドウタイトルを抽出してmi-serverに送りDBに記録して、ドメインごとに分類してグラフ表示してました。

ブラウザ履歴解析画面(久しぶりに起動したので中身は空)

でも想定ほどには役立たなかった

最初はアクセスしているサイト毎の傾向でコンディションを推測できるのではないかと考えたのですが、実はキーボードモニタほどには役立たなかったのです。。。

  1. サイトがどの属性のサイトなのかを手動でマーキングしていたのだが思ったより面倒だった。

  2. 分類したからといって、思ったほどに現在の状況を指し示す情報にならなかった

つまり面倒だった割にはあまり有用ではなかったのです。

また、これはキーモニタほどではないものの別のレベルのプライバシー問題があります。。。
私だってDMMとかdlsiteとか見ることはありますし、自分の慢性疾患とか調べることもあります。下世話な風評ネタを調べることもあります。
つまりwebブラウザ情報のアクセス履歴情報は結構な黒歴史情報が入っていることがあります。。ですのでこれらはさすがに情報が下手に漏れないような気は遣います。。ただ、漏れたとしてもせいぜい自分が恥ずかしい&個人情報の解析のヒントになる 程度なので、私は死んでも渡せないというレベルではないのです。
そもそもGoogleはこれらの情報は収集しているはずなのでそこまで気を遣うべきかという問題もありますが。。

とりあえず収集は続けているものの、グラフの表示はあまり使わなくなり、現在改版したmi-frontではブラウザ履歴表示機能は移植していません。

生成AIを組み合わせたら、ちょっと妙な用途が出来てしまった

で本題です。

ChatGPTとの雑談ネタの検討

去年頃からChatGPTで遊んでいて、ChatGPTとの雑談の成立のためにいろいろ工夫をしているのですが、人の会話ボキャブラリなど限りがあるし、ワンパターンになるので、雑談のネタをどうするかという問題が常時課題でした。
その解決の一つが「旅するAI bot」の「map情報を使った旅の話をネタにする」です。

https://note.com/marble_walkers/n/n504700f9e141

ニュースネタはちょっと微妙だった

「ニュースの記事やRSSフィード」を話のネタにするというのも考えました。
実際、mi-serverにはニュースのRSSフィードを受信/parseする機能も付けています(昔一定時刻にttsで読み上げる機能を付けていたが、現在はほとんど使っていない)
でもそれだと自分に興味のないことも多数出てきます。
私は芸能ニュースにはほとんど興味ないですし、社会ニュースにしろ技術ニュースにしろ、興味のある分野と興味のない分野があります。
興味のない分野のネタを雑談のネタとして振られてもちょっとねというところがありました。
で「動的に変わっていく記事」「比較的新しい情報」「自分に興味のある話題」で比較的容易に手に入る情報を考えたときに、以前に作ったブラウザ履歴を思い出しました。

自分の興味のある話題で雑談する

収集しているブラウザ履歴はURLだけでは内容が分からないので合わせてページのタイトルも収集しています。直近のページのタイトルを複数ChatGPTに吸わせて「この情報で雑談を語りかけてください」と生成したものが現在の雑談生成機能になっています。

mi-serverの付近の処理(前回のキーモニタを含む)

https://twitter.com/coronahope/status/1658768566995517440

ねぇ、まーさん、お仕事お疲れ様です。そういえば、aiboの新しい募集が始まったんですってね。寄付されたaiboを再生して、それがまた誰かの役に立つというのは素敵な話ですよね。そういうサービスが広がって、ますます家庭でのロボットが身近になっていくのかもしれませんね。

さらなる応用はそのうち*そのうち考えたい

これは当初に考えた応用ではなく「考えて作ってみたけど思ったように動かなかった。でもふとしたきっかけで別用途に化けた」という比較的ラッキーなケースと言えます。でも思いつきで化けるためにはいろいろ作り置いておくのは有用なのだと思います(効率的ではないですけどね)

たとえば生成AIが自分好みの話題をするというのは、本筋で考えればRAGやfine-tuning等でパーソナライズすべきものです。でもさくっと作るためのプロトタイプとして有用だったと言えます。
また当初の目的である「ブラウザ履歴を解析すれば有用な生活情報が得られるかもしれない」はその分類作業が面倒なのでうまく回らなかったのですが、生成AIに分類を含めてまるごと評価させれば別の有用情報が得られるかもしれない。
そのあたりもそのうち考えたいです。ただ今はまた別のものを作り込んでるところなのでしばらく後ですね。。

Q: ところでChatGPTにブラウザ履歴情報を読ませるのはプライバシーヤバくない?
A: 前にも書いたように、お金や仕事などの信頼に関わる情報でなければ多少のプライバシーより便利のほうが優先で自分はよいんですよ。

(初出 note https://note.com/marble_walkers/n/n67d9845361ba )