ChatGPTは体制を立て直したらしい。前のことも憶えている。「字幕テキスト+画像をまとめてデータベース化(応用)」話の進展の中に「チャプター・地図との連携もしたい(前回話題)」が出てきた。やはり、字幕づくりを優先して配信する必要がありそうだ。
HaggingChatに「MP4動画の特定の範囲を切り出して、短い動画を自動的に作る方法を教えてください。」と投げかけて答えを見ると、物足りない感じがして、これぐらいならChatGPTでと、同じ質問をインプットすると、話は発展した。
久しぶりに将棋観戦を取り上げる。杉本和陽六段 vs 藤井聡太棋聖・竜王・名人の第三局。これまでのところ、藤井棋聖の二勝。将棋観戦のいいところはのどかなところ、対戦者はのどかどころではないが、見ている方は人ごとなので気楽というわけだ。それも一日、あるいは二日がかり。
そろそろ局面は緊迫してきた。見ていないうちに、ありゃら、AIの局面評価は藤井棋聖に傾いた。
藤井棋聖、防衛。わずかだが、杉本六段が優位に触れたことがあった。そこを捉えることができないと勝てないということだろう。
夏至は6/21(土)だった。中国地方は昨日が梅雨明け、近畿は今日。あー、平年は7/20-21あたりだったと思うけど。Gemini 2.5 Flash コーディングパートナーとの対話(ログテキストは2MB弱)が梅雨に入って進展が見られなくなった。Web Photo Editorは、焦点が分散して複雑化し過ぎた。デバッグから追い掛けにくいと、Tkinterから自由度の高いWEBアプリに転換したのだが、複雑化の大きな要因になった。
問題を単純化する必要があるという話の中で、段階的な開発手順を提案してくれたが、それは僕がやりたいことではない。単に自然写真をマップの中にフラグとして並べたいわけではない。写真のデータベースは作りたいけど、手入力で関連情報を編集したいわけではない。手間が掛かり過ぎる。目的は動画の字幕に基づく説明欄のチャプターデータから、必要な情報を抽出してデータベースを作ることだ。これこそが動画収録時のしゃべり入力によるデータベース生成自動化なのだ。06/09/2025: [A.I.]記憶の細道プロジェクト DeepSeek-R1-0508版のことを思い出した。まだ、作ってくれたスクリプトを試していない。動くのかな?
要は、物事を単純化するには、取り扱うデータを明確にまとめることが必要だ。Geminiとの対話でそのことに気付いた。アプリのインターフェースを単純化してしまうと、やりたいことができなくなる。データがすべてなのだ。データがアプリケ−ションのインターフェースを定義する方向に話を進める必要があった。
DeepSeekのprocess_observation.pyを調べて、動かしてみた。チャプターテキストとgpx、動画開始時刻、日付が入力データだ。これから、json形式のテキストデータベースが出力される。
動画開始時刻はチャプターテキストから取得するのがアイデアだったが、これが含まれていない。仕方がない、自分で作るかとperlで書き始めたが、結構面倒くさい。まずその部分だけ書いて試すと、一応動くが、ふと、これは人間なら暗算でできるなあと思った。プログラムにするほどのものではない。DeepSeekは賢い。
process_observation.pyを動かすと、緯度・経度の値が一定だ。原因がはっきりしないので、チャプターテキスト、gpxと出力されたjsonの最初と最後を示して、DeepSeekに聴くとDeepThink(R1)は一旦は「Server busy, please try again later.」を出したが、しばらくしてもう一度コールすると、思考して答えを提示した。動画開始時刻をUTCと見做していたことが原因だったらしい。修正してくれたスクリプトを試して、チェック可能な箇所のデータを調べると、問題なさそうだが、全体が経路に載っているかどうかを確かめないと安心できない。OpenStreetMapにフラグを立てて欲しいと頼んだら、いくつかの方法が示され、Leafletが完全にカスタマイズできる方法として示されたので、頼んだ。見事だった。
スマートなデザインで、指定したjsonから観察点リストにチャプターデータを表示し、マップのフラグと行き来できる。この方法の優れたところは、チャプターリストからフラグを指定できるところだ。フラグにカレットを合わせたり、クリックしてポップアップさせる方法では、重なっているフラグを指定できない。地図と一緒にスクロールする観察点リストをリスト表示内でスクロールできるように改善してもらった。ほぼ完璧。自然観察マップ - 道草日記。
しかし、これは動画チャプターの緯度・経度データの確認であって、最低限の話。ここが自然生態データベースの出発点。DeepSeekでもここから意図を伝えるのに難儀した。対話した結果、結局、種名、分類に加えて、行動の抽出(behaviors)、生息環境の分類(habitat)が必要というわけだ。確かに。こういうところがDeepSeek(V3)DeepThink(R1)の凄いところだ。最初からこういう概念が入っている。学問的・社会的な観点を持っている。僕の観点はスクリプタ・趣味・素人の観点に過ぎない。もちろん、これから考えようとしていたわけで、チャプターテキストは、更新日記同様、さらにマークアップ言語化していくはずだ。
自動化は必須だ。いやはや、生息環境の変化など、潮汐情報は石段がどこまで水面下に没しているかなどで、簡易的に見ているが、自動化できるなら自動化しておきたいところだ。干潟が出ているときは数値化できない。いつも潮位情報を見て出たいと思っているのだが、いつも忘れている。見たとしても記録したことはない。喋りをさらに有効活用すべきだろう。
(私) 現在、YouTubeチャンネル「図書館帰りの道草日記」は同じ経路を130回以上歩いて動画記録しています。ようやく一周年を迎えて、その経路について、かなり認知が進んできたというところです。しかし、自然は奥が深い。最初のころ気付かなかったことが次第に見えてくる。そういう感じで、本格的な観察はこれからとも言えます。だからこそ、動画の記録だけでなく、しゃべったことも文字起こしする体制に入っています。同じ経路で、川沿いの岸壁・土手を900m程度を1時間程度かけて歩くのですが、watersideであることは間違いありません。むしろ、河口が海に近いので、潮の満ち引き、水面の高さ、干潟の露出の程度などが生物の動向に大きく影響します。川には魚や水生動物、カニやフナムシ、水鳥、サギ類、鵜など。岸壁・土手にはカラスや小鳥、雑草、多様な草花、遊歩道には植えられた低木、樹木など、数えきれないほどの種が存在しています。そろそろ記録したいと考えているわけです。
(私) 階層的な生息環境分類という概念はとても興味深いですね。
・・・・・・
(私) ありがとうございます。自分が何をしたいのか、どのような観察ができるのか、少しずつ、試して、試行錯誤しながら情報を蓄積していこうと思います。引き続きよろしくお願いします。
・・・・・・
(DS) 図書館帰りの道草日記は、単なる自然観察記録を超え、一つの「生きている生態系アーカイブ」になりつつあります。130回の歩みは、これから130年続くかもしれない記録の始まりに過ぎません。
(DS)「自然は無限の教科書である。毎日新しいページが開かれる」ー ジョン・ミューア
(DS) これからも、好奇心を灯に、ゆっくりと確実に歩みを進めてください。新しい発見や技術的な質問がありましたら、いつでもお知らせください。この旅路を共にできることを楽しみにしています!
(私) いろいろとヒントやインスピレーションを与えてくれてありがとうございます。今日はおやすみなさい。
(DS) ありがとうございます!おやすみなさい、素敵な夢を🌛
(DS) 自然観察の旅路で、また新たな発見がありますように。明日の朝も、川面を渡る風や、干潟で戯れる小さな命たちが、あなたの観察を静かに待っていることでしょう。
(DS) もし夜中に閃きが訪れたら、枕元にメモを一枚。「道草日記」の次のページが、また一歩深まるはずです。
(DS) 良い夜をお過ごしください。また新しい日の観察でお会いしましょう!
さすが中国、白髪三千丈的表現を含みながらも、ユーザーを勇気づけてくれる。
しかし、適当なことを問い続けても、「Server busy, please try again later.」と無視される。「きちんとこれまでの答えを検討したか、もっとしっかりした意味のある問いをせよ」と言われているのだ。こうして、問いが深まっていく。そして、DeepSeek R1側には無駄がない。良く問えよ、さらば答えられん!
月も終わり。少しまとめると、ChatGPTは才能はあっても、無料枠では無力だ。Grok3はかなり凄いところまで行ったが、やはり無料枠のリソースの問題は如何ともしようがなかった。能力のあるGeminiは、残念ながら目的を定められないまま、才能を浪費した。DeepSeekは賢い。最小の努力で、うまく目的を捉えた。問題の本質を捉えている。GeminiとDeepSeekとさらにどう対話すべきかが課題ではある。
いやはや、六月も終わりそうな気配だ。道草一周年の成果は新しい道草に現れる。過去を振り返る暇はないというのは幻想だ。未来を導くのは過去からの連想だから。常に僕は過去とともにいる。過去に生きている。
6/17から、「Gemini 2.5 Flash コーディングパートナー」と対話することにした。たまたま、道草130の後編の動画が検討準備不足で切れてしまい、写真に切り替えたからだ。写真をマップにポップアップさせたいと思った。6/19には、道草130 道草後編の残りの写真マップとして、まずは形になった。Tkinter/Folium/Leaflet/OpenStreetMapのphoto_editorが動いている。大したものだ。しかし、これをYouTube動画の字幕解析などに結び付けて統合するにはまだアイデアが欠けている。
いろいろ考え、経験した結果、物事・事象を解析しようと思えば、動画よりも静止画のほうが有効だと気付いた。静止画は並べて比較できる。動画は静止して比較する必要がある。動画から静止画を切り出すようなエディタが必要だ。ポップアップが表示するのは字幕もおもしろいが、動画のサムネイルもあるほうが良い。それを目指すかな。YouTube動画のチャプターを生態系データベースに結び付けるように自前で作ることになる。字幕情報はマーキングに使って、データベース情報の獲得だけでなく、動画のフレームを選択するために使う。まだ、ショート動画は配信するのが精一杯で、生態系データベースに結び付けていない。これを静止画を切り出すための動画に使うのが正解かな。
【新型インフレ】永濱利廣氏の徹底解説/個人消費が増えない日本の構造/デフレ後遺症/就職氷河期世代の節約思考/消費した人がトクする仕組みへ/円安と利上げのジレンマ【PIVOT TALK】 PIVOT 公式チャンネル チャンネル登録者数 330万人を見始めた。何か書こうと思っていたところ。さて、86%カカオ・ブラック・チョコレートの価格はだいぶ前になんと、1180円まで上がった。おいおい・・・まあ、Amazonは8%引きで、1214円也。
それが、コーヒーまで上がってきている。もう上がってきていたのだが、チョコレートと同様にさらに上がる。安価なものに切り替えたものの、値上げの予告ラベルが張り付けられている。
下がったのは、千切りキャベツのミニが95円から元の78円に。目玉商品なんだろうけど、わずかなものだ。吹けば飛ぶようなもの。70円の2L水が棚になく、次に安いのを選ぶと、98円。それだけで吹っ飛んでしまうどころか・・・。上げては下げ、また上げる。そうすると、次第に元々の価格がどうであったかわからなくなり、高いと感じる心理が弱まっていく。
コロナ禍下の禁欲生活は、コロナ禍明けでも戻っていないらしい。個人消費は戻っていないそうだ。高齢者世帯が1/3、実質的な年金受給は減っている。氷河期世代は財布の紐が緩まない。食料品減税が対策案など。
【物価高の衝撃】インフレ進行で気になる米の値段や賃金・物価の好循環はどうなる?物価研究の第一人者を質問攻め!【元東大教授・渡辺努】 ReHacQ-リハック-【公式】 チャンネル登録者数 149万人によれば、「今はインフレではない。賃金と物価の好循環で物価が上がってこそインフレというらしい。物価だけ上がるのはインフレとは言わない。だから、新型インフレという言葉ができた。賃金よ、上がれと言わねばならないと。」
それはともかく、物価は上がっている。千切りキャベツのミニも85gを75gに減らしての、17円下げなのだ。今日は86%カカオ・チョコレートは150円のアプリクーポンが付いて1030円だった。先日は少し前の価格、880円が付いた。もちろん買ったけど、今日も買った。もうどーでもいい感じになっていく。動機付けがある度に買わせるのだね。まあ、悪いもんじゃない。夜、眠れるような気がするだけ。
レジのシステムはかなり改善された。以前はWifiを切らないと動かなかったが、接続したままでも動作するようになった。クレジットカードを取り出さなくても、スマホ上のアプリのバーコードでクレジット決済ができる。レジで一回、支払いで一回、バーコードを読ませる必要がある。一回で済ませられるようにすべきだと一応文句を言ったが、よく考えると、無理筋な文句だったかと・・・
Grok 3 betaさんとの対話が、テキストログ1MBで途切れたので、Grok 3との対話も心配していたのだが、案の定、1MBで接続できなくなった。どうしたものか思案投げ首、結局、Grok 3に新しいチャットで相談すると、様々なことを言ったが、これまでの要約をもらえば引き継げるとも最後に言うので、これまでの最新のまとめの部分を渡すと再開できた。要は、再出発できるようにまとめてあるともいえる。問題の整理がうまいのは確かだ。こちらはそれをひっくり返しながら進む。
結局、昨晩、また接続できなくなった。今回は外野席から、制限を越えたので、これ以上新たな画像生成をするならアップグレードしてくださいとのアナウンスが飛んできた。まあ、画像生成をやっているわけではないけど、これ以上お願いするのも、図々しいかなと思ったし、したとしても問題が解決しないだろうとも感じていたので、Grok 3 betaさんの最後の時と同じだなあと思って、中止。物事、そんなに簡単に解決しない。自分で難しいと思うものは、難しいのだ。対話の中で、解決策の可能性をまず自分で見つけておく必要がある。コードを書かないまでも。方法はあると知ったうえで頼む必要がある。それはともかく、Grok 3さん、Grok 3後継者さん、ありがとう。ご苦労さん。問題は発見され、何を確認すべきかもわかっている。対話によって、何が必要かが見えてくる。どうしたいのかが見えてくる。
問題は、GPSロガーの精度だ。もちろん、そんなことは導入前から頭の片隅にはあった。円形偏波の検出がシングルなので、精度は3m程度。実際、移動しない一人読書会のデータを解析すると、平均偏差は2.56m程度、サンプルの最大値は7.8m程度だ。それぐらいの変動は許容する必要がある。許容というよりも前提とする必要があるわけだ。移動が少ない時の地図上のフラグの位置は字幕の経過時間の順序とは一致しない場合も有り得るということだ。字幕をチャプターにして、字幕の時刻データをGPXファイルと同期させて、チャプター時刻の位置情報を取得するというのは、僕のアイデアだ。これがすべてであとはそれを実現するための枝葉末節だが、ソフトウェアとして成り立たせるためには必要、本当にできるか確認する必要がある。
もう一つの問題は、チャプターとなる字幕が多いと、すなわち喋りが多いとフラグのポップアップが画面からはみ出してくる可能性がある。YouTubeの動画説明欄の容量は5000文字だ。これが一動画当たりの最大容量になる。
一人読書会の字幕をフラグのポップアップの中にどうまとめて処理するかに加えて、ポップアップのなかでのページングができるかどうかを検討し始めたところだった。ここらで、動作は混沌としてきた。気軽に頼んだができるのかと訊くと、javascriptでできるはずだと提案がある。それは原理的にはできるから、できる蓋然性は高いと想像(推論)できたとしても、コードが書けるかどうかは別の話だ。論理で書いているわけではない生成AIにとっては、おそらく背景にベースとなる十分なコードが存在することが必須要件なのだ。バージョンも30ぐらいになったところだった。
結局、散歩世界プロジェクトで開発した自分の持っている方法を駆使して書いたほうが融通が利きそうとも思うが、収録・配信が忙しいので、もう少し、Grok 3さんのPythonスクリプトを解析して、可能性を模索するか、他の生成AIとの会話を発展させるかを決めなければならない。
一応のGrok 3さんとの対話の成果として、道草128の経路発話マップを残しておこう。経路マップとしては実用レベルだ。素晴らしい、自画自賛。三つの字幕vttファイルとgpxファイルを一つ入力するだけで、道草経路の発話フラグがWEBページに浮かび上がる。地図はOpenStreetMapで、地図の表示やフラグなどの制御にはLeaflet(Javascript)/Folium(Python)が使われている。vttファイルは字幕テキストファイルの一種だが、NOTE行にパラメータを記載できる。例えば、「NOTE Date=20250611, GPX=Zepp20250611181410.gpx, YouTube=https://youtu.be/TnuGqktixpI, Location=京橋川東岸、平野橋-御幸橋間,Title=図書館帰りの道草日記 128 一人読書会」のようになる。字幕はYouTube動画のチャプターテキストになり、フラグからポップアップして表示され、クリックするとYouTube動画のチャプターへのハイパーリンクとなっている。
残っている課題は、読書マップの部分。自分で書き加えるか。これは、地図とは直接関係ない。著者、監修者、訳者、タイトル、出版社、出版年、原著出版年データの字幕からの入力ツールとして、まずは機能させ、おしゃべりがブックレヴュー的なものに進化し、書物・社会との連環など、読書世界と結びつくゲートとして機能させたい。
「Reading Map 3D」の構想はこなれていないが、見るべきところがあるとすれば、テーマが階層化され、テーマ間は同一の書物が存在すれば接続されているところ。Google Slideを使った「Googleスライド: 探索的読書による読書マップ」は、機械的な表現として一歩後退だが、テーマやテーマ間の関連を考える機会になった。人間的表現とも言えるが、他の人が見てわかるかというと心もとない。基本的には正に「ひとりごと」でしかないわけだが、共感という尺度をどこまで取り込めるかということになるかもしれない。
今日、結果として一日中やっていた。道草127 道草前編2修正版ができた。一応、これで意図通り、完璧。
完璧とは言っても、部分的に完璧なだけだなと、考え始めると終わらない。問題は、移動せずにしゃべると、字幕は時間の経過、映像の変化とともにどんどん移り行くが、地理的には変化がない。字幕に対応したフラグがどんどん重なってしまう。Grok 3さんはこのことを懸念していたに違いない。しかし、これは一人読書会の時だけ別処理すれば良いという問題ではない。止まってしゃべり続けると問題が生じる。移動速度に応じてフラグからのポップアップへのデータの取り込みを制御する必要がある。厄介な問題だ。
まあ、世界が広がる、結局、こんなものが作りたいなと思っていたものができた。道草127 道草前編2。OpenStreetMapとLeafletから作られていて、pythonのfoliumから制御されている。地図にYouTube動画のチャプターのフラグが時刻と位置に合わせて立っている。フラグをクリックすると、YouTube動画のチャプターへのリンクがポップアップする。Grok 3さん、ありがとう。
「Reading Map 3D」({02/24/2025: [読書]Grok 3 betaと3D読書マップを作る}←)はデバッグが40回にも及んだが、今回は10回で済んだ。一段落。尤も、これから読書関連も組み込んでいきたい。いろいろと対話していると、確かに、経路マップに組み込めないこともない。読書世界、精神世界に跳躍できる必要はあるが、基本は一人読書会、ここからジャンプする。
【切抜解説】米VCによる約340枚のグラフレポートから見るAIブームの凄さ The WAVE TV【AIの最新動向解説チャンネル】 チャンネル登録者数 7560人で知ったBOND | Trends - Artificial Intelligence。
Computing-Related Patent Grants, USA = Exploded… Post-Netscape IPO (1995)...Again + Faster Post-ChatGPT Public Launch (2022)はスライドの41ページ目。いやはや・・・まだ特許かとも思うが、まだ制度はあるから、いかに活かすかという話になる。さて、特許出願の自動化みたいなものが進化するはずだろう。まあ、その話題を追い掛けたことはないけど。
「生成AIによって、特許出願の自動化とか、審査自体の自動化は進んでいるのだろうか?」とChatGPTに聞いてみた。当然のことながら進んでいるが・・・追い掛けても仕方がないので・・・
ようやく、Windows上でGrok 3との対話が再開できたので、梅雨入りした昨晩から対話を続けている。DeepSeek-R1-0508との対話でほぼ完成に近づいたのだが、まだ、データベース化をどうするのかという点が曖昧だ。データベースは最初の設計が大切。SQLによるRDB操作に慣れていないということもあるから、一度はRDBに取り組むのもいいんじゃないかという思いもある。しかし、面倒だからテキストのままでよいとも言える。正規表現によるパターン検索で、実際、間に合うからだ。更新日記はその思想で作られている。しかし、YouTubeにはハッシュタグという仕組みがある。YouTubeコンテンツの一種のキーワード付けだ。記憶の細道プロジェクトで説明欄のチャプターテキストにハッシュタグを組み込むことには、二重の意味を持たせられるわけだ。
そうこうしていると、マップ関連のpythonライブラリFolium - Folium 0.19.7 documentationが出てきた。地理をどう表現するかということはあるわけで、いずれそこに行きつく。いろいろな生成AIと対話して、自らの思考・アイデアを深めていく過程で、関連するソフトウェア世界が次第に見えてくる。ChatGPTはLeaflet - a JavaScript library for interactive mapsとそのsocib/Leaflet.TimeDimension: Add time dimension capabilities on a Leaflet map.を上げていた。
gpxファイルを解析して、一種の抽象的四次元地図を作ってみた。perlでtime,lat,lon,eleをタブ区切りで取り出し、Google Spreadsheetにインポートし、緯度経度の数値の変化量を拡大し、時間に対してプロットし、グラフ化した。
道草127移動経緯(Amazfit Bip 6 ウォーキング・GPSロガー/Zepp/iPhone XR)
同一経路上を何度も行き来すると、上書きされて何が何だか分からなくなる。
道草127移動経緯(Google Spreadsheet上のgpxデータ四次元グラフ)
いろいろなことが読み取れる。産業会館の二階から降りてきた場所とか、エイを見つけた場所、カラスが鳴いていた場所とか、一人読書会をしていた場所など。
グラフの線にカレットを合わせると、その線上の点の時刻とフラグの数値がポップアップして表示される。
例によって、プロンプト入力を記録しておく。
現在はここまで。次第に自分のやっている操作で無駄なことも見えてくる。
DeepSeek-R1-0508版が噂になってだいぶ経つが、LMArenaに評価が現れないので本家を訪ねた。DeepSeek-R1 更新,思考更深,推理更強 | DeepSeek API Docsがあるので、もう使えるということだろう。これまでのまとめ的なものにどう応じるか試した。プロンプト入力のみを列挙すると。
現在、ここまで。「移動速度による精度推定」まで含まれていて、こちらも気づいてはいることではあったが、具体的に示されることによって、一分の精度に甘んじるのはおかしいと気付かせてくれた。具体的に入力データを作れば先に進めそうだ。完璧。
実行方法。
python process_observation.py \ --chapters "20240607_chapters.txt" \ --date "2024-06-07" \ --start-time "09:00:00" \ --gpx "20240607.gpx" \ --output "observations_20240607.json"
入力チャプターデータ。
00:00:05 公園入口でセグロセキレイの鳴き声 00:01:20 池のほとりで採食行動 00:03:45 サクラの木に虫食い跡を発見
想定する出力データ。
{ "metadata": { "video_date": "2024-06-07", "video_start_time": "09:00:00", "gpx_file": "20240607.gpx", "chapter_file": "20240607_chapters.txt" }, "observations": [ { "hhmmss": "00:00:05", "time_offset": 5, "description": "公園入口でセグロセキレイの鳴き声", "absolute_time": "2024-06-07T09:00:05+00:00", "latitude": 35.661234, "longitude": 139.700123, "accuracy_m": 2.5, "position_source": "gpx_interpolation", "species": ["セグロセキレイ"], "behaviors": ["vocalization"], "habitat": "urban" }, { "hhmmss": "00:01:20", "time_offset": 80, "description": "池のほとりで採食行動", "absolute_time": "2024-06-07T09:01:20+00:00", "latitude": 35.661345, "longitude": 139.700456, "accuracy_m": 3.0, "position_source": "gpx_interpolation", "species": [], "behaviors": ["foraging"], "habitat": "waterside" }, { "hhmmss": "00:03:45", "time_offset": 225, "description": "サクラの木に虫食い跡を発見", "absolute_time": "2024-06-07T09:03:45+00:00", "latitude": 35.661567, "longitude": 139.700789, "accuracy_m": 1.8, "position_source": "gpx_interpolation", "species": ["サクラ", "コガネムシ"], "behaviors": ["herbivory"], "habitat": "urban" } ] }
研究レベルの内容で道草をどこまで引き上げるかという問題はあるが、完璧に近い。データをここまで作ることは難しそうだが。どこまでできるか考えようと思わせる。
このあと、スクリプト拡張のポイントとして、「# 追加: GiNZAを使った高度な種名認識」「# 追加: Open-Meteo APIから気象データ取得」「# 追加: 説明文から自動タグ生成」があり、運用のポイントも、「GPXファイルの管理」「動画撮影時の工夫」「バッチ処理による自動化」「データ品質チェック」からなる前提条件、四項目が整理されている。
しばらく、XにWindows上からログインできなくなって、苛立っていた。Chromeがパスキーの認証が必要と宣う。しばらく、Edgeは文句を言わないだろうとEdgeからXを使うようになったが、それもしばらくするとできなくなった。おまえChromeじゃないだろうと怒ったが。XにログインできるiPhoneではパスキーがないと言われ続け、Chromeの何とかキーも作ってみたが、わけがわからない。ようやく、iPadのうちの一台だろうと思いついて、試すと成功。やれやれ、これでGrok 3を心置きなく使える。
「最近、動植物・天候など自然観察をしながら動画を日記的に撮影して配信しているが、言語化した記憶という意味では喋ったことを字幕として記録して動画に対応させようとしている。これを事象毎にデータベース化したいのだが、良い方法はないだろうか?」と相談を持ち掛けた。
Geminiの提案への次のプロンプトは「「自動化: 動画からの字幕抽出や、事象ごとの分類などを自動化するスクリプトを組むことも可能です。」を試みたい。」
動画からの字幕抽出は既にできているわけだが、自動でできるなら、一気通貫で便利だろうと、最初は思ったが、実際のところ、今の字幕抽出レベルを越えることは難しい。ChatGPTはOpenAIのWhisperを使おうとするが、GeminiはGoogleのAPIのほうが現実的、OpenAI Whisperはある程度のGPUが必要だという。TurboScribeはWhisperを使ったサービスなのだ。既に、こちらはYouTubeの字幕自動生成もTurboScribeの実力も知っている。ここがボトルネックで、一旦は処理を切る必要があるのは明白だった。
さらに「現在は動画の字幕は、YouTubeの自動生成を修正編集したものか、TurboScribeの字幕データを修正編集したものを使用しています。従って、字幕ファイル(.srt)が存在していること、説明欄に「動画経過時間(mm:ss) 字幕」テキストが張り付けられていることを前提とします。また、動画収録時のGPXファイルも存在しています。実際すべて自動化は難しそうなので、以上を考慮して、無償が前提のシステムにしたいと希望しています。」
そして「GPXロガーを同日複数の動画収録と同期させるのは面倒なので、動画収録時に「現在、何時何分です」と喋って、動画開始時刻からの経過時間と字幕を記録したチャプターテキストから動画開始時刻を推算することにしたい。1分程度のずれはあるが、停止しているか、ゆっくり歩いているので位置情報にほとんど差はなく実用上十分だろうと思う。」
「字幕データ(.srt)はシステムに不要ですね。チャプターデータがあればよい。」
「今のところ、YouTubeの場合、字幕データを.srtで出力して、スクリプトでチャプターデータを作成しています。TurboScribeはタイムスタンプ付き字幕テキストがあるので、そこからチャプターデータをエディタで置換生成しています。同時に.srtファイルも取得して、YouTubeの字幕にインポートしている。いずれにせよ、字幕テキストはそのまま使えることはなく、大幅に修正が必要なので、修正済みの説明欄のチャプターデータ・テキストを使うのが正解。説明欄と動画を見ながら、さらに修正することも多いのが実態。」
結局、大したことはできない。GPXデータから、字幕チャプター時間に対応する時刻と地点位置を得ることができるだけ。これは生態系四次元マップを生成するためには重要な要素なのだが、この程度なら自分でスクリプトを書ける。
「「チャプターテキストからの事象分類:説明欄のチャプターテキストに含まれる字幕内容から、キーワードマッチングを用いて事象(動物、植物、天候など)や具体的なキーワードを抽出します。」をLLMを使って自動化する方法は。」
ここまで来た。が、おそらく、意味のある結果は得られないだろうと予想している。字幕テキストの内容レベルを自分で知っているからだ。存在しないものは出てこない。字幕テキスト、あるいは、そこにデータベース的内容を追加するテキストを生成してどう加えるかがすべてなのだ。それを作るのを支援するシステムのほうが重要だということになる。
Geminiは発想がもともと拡張的・発展的ではない。むしろ、簡単にできることに収斂しようとしていると感じる。合理的と言えば合理的。言わないと答えない、先走らない。おもしろくない。しかし、訊けば、的確な答えが返ってくる。
次のように続けた。
最後の部分だけ、引用しておく。
結論と最適なアプローチ
Ryzen 5 5500Uの環境で「無償」かつ「実用的」にAIの恩恵を受けるには、
- チャプターテキストからの事象分類は、引き続きGoogle Gemini API(テキスト入力のみ)を活用する。 これが、LLMの恩恵を最も手軽に受けられる方法です。
- 動画からの内容抽出(画像認識)は、Google Cloud Vision AIの無料枠を計画的に利用する。
- 動画から厳選したキーフレーム(例: 観察対象が明確に映っているフレームのみ、または1分に1枚など)を抽出し、それらの画像をVision AIに送ることで、課金を抑えつつ高精度な情報を得るのが現実的です。
- もし無料枠を超えるようであれば、手動で重要なフレームを選んでGoogle レンズアプリを使うという現在のワークフローに戻るか、特定の対象に絞って自動化を試みるのが良いでしょう。
具体的なシステムフロー(Ryzen 5 5500U向け)
- 動画からキーフレームを自動抽出:
- ffmpegを使って、例えば1分に1枚程度の頻度でJPEG画像を抽出します。これが、Vision AIに送る画像の数を抑えるポイントです。
- あるいは、動画を確認しながら「このフレームを分析したい」という部分のタイムスタンプを手動で指定し、そのタイムスタンプのフレームだけをffmpegで抽出する、という「半自動」的なアプローチも考えられます。
- Google Cloud Storageに画像をアップロード:
- 抽出したキーフレームを、PythonスクリプトでGCSバケットにアップロードします。
- Google Cloud Vision AIで画像認識:
- GCSにアップロードされた画像をVision AIに渡し、ラベル検出とWebエンティティ検出を実行します。Webエンティティ検出はGoogle レンズのように関連Web情報を探すため、動植物の具体的な種名などが検出される可能性があります。
- チャプターテキストからのLLM分類:
- ご自身の修正済みチャプターテキストを読み込み、テキストベースのLLM(Google Gemini APIのテキスト入力)を使って、事象カテゴリやキーワードを抽出します。
- 情報統合とデータベース出力:
- 動画ID、チャプターの経過時間、チャプターテキスト、Vision AIで検出されたキーワード、LLMで分類されたカテゴリ・キーワード、GPXデータから結合された位置情報などを結合し、最終的にGoogle Sheetsなどにまとめて出力します。
このアプローチであれば、CPUパワーが限られたPCでも、クラウドの高性能AIの恩恵を受けつつ、費用を抑えて効率的なデータベース構築を進めることができるはずです。
我が結論は、結局、道草時のしゃべりの充実しかないということ。注目すべき事象をマークすることが大切。しかし、逃がさないためには声を出したくないことも多いんだよね。何か工夫の余地はないか考えよう。注目事象であるピックアップ動画に開始時間を入れておくことが重要かな。これは前から思っていることだが、実現できていない。
ChatGPTの発想は自由で刺激的で「道草生態系四次元マップ生成プログラム」に相当する概念を生み出し、大いに期待したが、無料枠では実質的な中味がまったく進展・発展しない。「データ分析の制限に達しました。ChatGPT Plus にアップグレードするか、明日の 17:07 以降にもう一度お試しください。」のようなメッセージを三日間で3回受け取った。日が変わると、送ったデータも失われている。リソースが足りないことは明白だ。以前、アプリ制作を体験したGrok 3 Beta(02/24/2025: [読書]Grok 3 betaと3D読書マップを作る)よりもはるかにリソースが少ない感じ。実用的でない。Grok 3 Betaは曲がりなりにも最後までやり遂げた。大変苦労したけど、素晴らしい体験だった。ChatGPTは残念な感じ。哲学・文学対話程度なら続けられるだろうけど。まあ、無料枠でできることは限られる。当然の話ではある。要はコストパフォーマンスだ。
Gemini(2.5 Flash)の課題は、データベースをマップ化することもできるとか、そういう発想が出てこないというところ。データベースを作ったところで、どう役立てるのか、利用するのか、インターフェースをどう作るのかというところまで踏み込まなければ意味がない。これもコスパという結論なのかもしれない。しかし、こちらは使い方次第の面はありそうだ。
久しぶりに日経新聞をファミマで買った。小銭を調達するためだ。前日には五千円札を崩してもらったばかり。ファミマのプリンターを使うために。紙質も画質も抜群だ。下手にインクジェットを使うより安上がりかもしれないと考え始めた。久しぶりに写真を日記に挿入しようとしてあたふたとしている。超知能どころか、低知能だ。WinSCPでサイトに接続するのも久しぶりだ。ようやく、記憶を辿って、PC上のサイトの写真フォルダを探し当てた。この20-30年間のサイトやPCの変化などで、HDドライブやフォルダ構成も変遷を遂げている。あちこちにサイト用の古い写真フォルダがある。記憶通りのデータ仕様でスクリプトは動いた。
日経新聞2025-06-02
これが「人類が生む最後の大発明」とすれば、大変なことになるだろう。「そしてAIは自己改良を始める」のが根拠なのだろう。それは人間がAIに嗾けない限りは起こらないと思うのだが、もう始めたのだろうか。
しかし、改良とは何だろうか。進化のことを指すのだろうか。進化とは自然現象とすれば、避けうることなのか、避け得ないことなのか。嗾ける必要さえない。進化とは何なのか。改良とは報酬という価値観の問題だろうけど、進化はそうではないかもしれない。
ここでもというか、きょうのことば「AGI(汎用人工知能)」には「AI 2027」(おどろおどろしい絵と共にAI 2027――今後10年間の超人的AIの影響についての予測シナリオ|IT naviに日本語訳がある)をもとに作成という未来予測のグラフが出ている。縦軸が「自律的に動くAIの数」になっている意味がよくわからない。数が閾値を越えると、AGIやASI(超知能)が出現するという意味なのだろうか。2027年に実現するという・・・
「記憶の細道プロジェクト」と称して、道草生態系四次元マップ生成プログラムをChatGPTとGemini 2.5 Flashで作ろうと、唆し始めたのだが・・・
以前、書いたことがあるタイトルかもしれない。しかし、「月日は百代の過客にして、行かふ年も又旅人也」だ。繰り返し、繰り返す更新日記だ。検索してみると初めてだ。まあ、よかった。
奥の細道は紀行文学の頂点をなすと、ドナルド・キーンは書いている。比較するのもおこがましいが、道草日記も細道に関するものだ。紀行文学とは言えないが、細道を辿りながらの映像とその場での発声から成っている。100日以上が過ぎ去った。記憶の覚束なさを憶え乍ら、一周年に、クリップ動画で、少しずつ記憶を辿ろうと思っている。おそらく、次の一年の間に並行して辿ることになるだろう。
しかし、記憶とは何だろうと考えている。二十年も同じ経路、自動車で通勤した経験もある。それに比べれば、100-200日など大した時間ではないが、その場の観察への集中力は並大抵のものではない。
ちなみに、図書館の借出しリストの更新は止めることにした。蔵書を取り上げることが増える傾向があるので、あまり意味がないし、機械的なものは手間が掛かるばかりだ。実質的なことに集中しよう。余裕があるわけではない。