Chrononglyph

ブログの整理

#7796

ブログのAIアシスタント

このブログのローカルエディタ(Obsidian)にAIアシスタントを導入してみました。
手順としてはこんな感じです。


  • プラグイン「Obsidian Copilot」をインストール。
  • PCにローカルLLMを動かすためのフレームワーク「Ollama」をインストール。
  • Hugging Face等からLLMのモデルをダウンロード。今回は「ELYZA」「BGE-M3」を導入。
  • Ollamaを起動し、localhostの特定ポートで待機。
  • Copilotの設定でOllamaのポートを指定して接続し、初回インデックスを作成。

これにより、サイドバーにAIとやりとりするための領域が表示されます。
「Valut QA」モードにすれば、AIが自分の書いた全記事に関する質問に答えてくれるようになります。
これが実現すれば、あたかも自分がAIになったかのような受け答えができるのでは!?
と期待していましたが、現実はなかなかそうもいきません。
現状では、過去記事を取り込むための埋め込みモデル(=BGE-M3)の精度がさほどではなく、
プロンプトに対して適切な記事を引っ張ってくることができないようです。
そのため、結果として受け答えはすべてちんぷんかんぷんになってしまっている。


埋め込みモデルにはもっと良いものもあり、OpenAIが提供しているトップレベルのものも使うことができます。
しかしこれは有料APIで1文字あたり0.003円ほどかかるそうで、
単純計算でブログ全体を取り扱おうとしたらインデックス作成のたびに4万円近くかかってしまいます。
1回読み込ませれば未来永劫使えるならともかく、これはさすがに厳しい。
しかも読み込ませたところで精度を担保できる保証も無いわけで……。


ローカルAIは「それっぽい」下地はできつつあるものの、理想にはまだまだ遠いというのが現状です。
今回Copilotを導入しようとしたきっかけは、「Windsurf」で似たようなことができると知ったからでした。
こちらはValutの自動取り込み機能もあり、もしかしたらこちらの方が有用なのかもしれない。
ただこのブログのように大容量の場合は無料プランで対応できない公算が高かったので、
代替方法を探っていくうちに上記のObsidian Copilot+ローカルLLMに行き着いたという感じです。
まぁ、結局のところ完全無料では難しいということなのかもしれない。


AIの領域は日進月歩で来月にはもっと革新的なツールが登場する可能性もあるため、
とりあえず「自分AI」のプロジェクトは技術革新待ちでいいのかなという気がしています。
今年に入ってからそれっぽいツールはどんどん出てきているので、
自分のようなユースケースにピッタリハマったツールが出てくるのも時間の問題のような気はしています。
ただ、ローカルLLMを使う場合、その精度の低さはしばらく目をつぶる感じになりそう……。
ChatGPTのGPT4oがいかに高精度かということを改めて実感させられます。


#7775

悩ましいタグ整理

Obsidianの「Tag Wrangler」というタグ整理プラグインを導入して本家ブログのタグを整理していました。
このプラグインによる整理の他にもPythonで一括置換スクリプトを作って、
3代目以前に作った「#0000『記事タイトル』20XX年MM月DD日」という記事リンクを
全部Markdownリンクに置き換えました。
これは先頭に半角シャープを含むため、Obsidian上でタグとして認識されてしまうのが厄介でした。
なので少なからずタグ一覧を汚染していたのですが、思い切って全部綺麗にしたというわけです。


2025年03月31日現在、タグの数は1,108個。
特殊タグを除く最多記事数は「webサイト更新作業」の219本となっています。
確か前回集計時点では「生活リズム」(現在187本)が1位だったと思うので追い抜いた形になります。
趣味関係は上記のweb制作が1位で、2位は「暗号資産」(131本)が急浮上。
2021年新設のタグとしてはぶっちぎりの使用回数だと思います。
ただしこのタグは後述の都合で今後分解される可能性があります。
趣味別3位はゲームタイトル別では不動のトップでもある「ピクミン2」(121本)。
しかしこれらを「意欲の問題」(134本)が追い抜いていて、
ブログとしては意欲に関する悩みが息の長いテーマになってきていることが窺えます。


これらタグは記事執筆後にその日のフィーリングで決めているようなところがあり、
もうちょっとカッチリとしたルールを決めたいというのはずっと前からある課題です。
だからこそわざわざ自然言語処理を駆使してまでタグ整理をしようとしているわけですね。
ただ、実際にこうして汚染された情報を除外して純粋な一覧を出してみると、
思いのほか自分の頭の中でもルールが確立していないことがわかります。


たとえば、ゲームは作品の内容に言及した場合はゲームタイトルをタグにして付与する。
これはまあ妥当だと思います。その「続き」がある可能性が高いですからね。
しかし、過去の自分は音楽アルバムについても同様に作品名でタグ付けしています。
これは妥当とは思えません。特定の音楽アルバムに複数回言及することは稀だからです。
音楽に関しては「ジャンル」がもっとも小さい単位のタグで良いような気がする。
とはいえ、こないだのSAW IIのように複数回言及するようなケースがまったくないわけでもなかったり……。


さらに悩ましいのは、漫画やアニメなどゲーム以外の娯楽です。
これらも音楽と同じように、基本的に鑑賞が終わってから感想を書くことが多いので作品別タグは不要な気がする。
しかし『ONE PIECE』のような長期連載の場合は複数回言及しているケースもあるし、
アニメもリアルタイム視聴するような場合だと作品別タグはあった方がいいような気がします。
「2回以上言及した作品のみタグ化する」というのが無難でしょうか……。
ゲームも1回きりの言及でタグとしての意味を成していないケースは結構ありますからね。
ただ、1回目では付けないが2回目の言及で付けるというのはルール化が難しいという実情があります。
そう考えると、とりあえず作品に言及したらそのタグを付けるという昔の自分の方針は間違っているとも言えないかも。


しかしそういうケースはまだマシで、抽象的な現象を取り扱うタグには定義が曖昧という問題を抱えています。
「生活リズム」と「生活リズムの問題」はどちらも100本以上の該当記事がありますが、
基本的にはどちらも睡眠に関する諸問題を取り扱ったもので、使い分けが曖昧です。
ざっくり言えば生活リズムのせいで困っている場合は後者を使うことにしていますが、
そんな使い分けがブログのタグ付けにおいて必要なのかという。これはマージしてしまってもいい気はします。


逆に、近年急浮上した「暗号資産」はざっくりすぎるため分解の必要性を感じています。
暗号資産(というのは法令上の名称で、本文中の名称は「仮想通貨」)についての話題と一口に言っても、
先物取引、ステーキング、Web3技術、ハードウェアウォレットと多種多様な話題があるわけです。
「ハードウェアウォレット欲しいな〜」という主旨の記事と、
「今日はこういう取引をしました」という主旨の記事が同じタグというのは無理があるような。
なので暗号資産というタグは分解して、せめて取引とそれ以外で分ける必要性を感じています。


また、実際にはこれですら氷山の一角で、中にはしっかり定義されているのに埋もれてしまい、
該当記事がたくさんあるのに使われていないようなタグもあるでしょう。
そういうタグの中でも用途が似たり寄ったりでマージできるようなものがあるかもしれません。
マージした上で全記事遡って新しい定義に当てはまる記事にタグを付けるのは大変な労力を必要とします。
こういうところまでフォローするとなると、やはり人力では厳しいという結論に至ります。
「〇〇という重要語が登場したら××というタグを付与する」
というようなスクリプトを組んで過去記事全部に適用するというのが無難だと思っていますが、
それが完成するのはいつになることやら。


まぁでも、ObsidianでMarkdownベースで管理するようになったこととChatGPTのおかげで、
ブログの過去記事整理はWordPress時代と比べると格段に快適になったと思います。
2022年以前の記事を公開できるのはまだ当面先だと思っていますが、この勢いならそこまで遠くないかも??


#7469

低迷期はブログ整理が捗る

今月は中旬に若干嫌なことがあったのですが、ようやく底を抜けつつあります。
今年はもうこの繰り返しですね。メンタルに刺さるネガティブな出来事が起きては回復するという。
そのスパンがいままでと比べてやたら短い気がします。
小さいネガティブな出来事を気にしすぎなんだろうか、それともベースが不安定なんだろうか。
とにかく底を抜けたら抜けたで、諸々の手を進めておきたいところです。


この辺の方針はメンタル低迷中にもある程度思索していたので、それほど迷いはありません。
とにかく再来月から4代目ブログのフロントエンド制作を開始できるように
今月・来月はその前提になるブログ記事整理の作業に注力すると。
実はこれは意外と順調で、今日は前々からのネックだった記事番号と日付の検証作業に着手できました。
このブログは日時順に記事番号が振られており、この記事は7469番となります。
2013年までは完全手動、2014〜2023年05月のWordPress時代は全記事数に基づいた自動採番となっていました。
それまでの分は3代目移転時にも検証しているので間違いは無いはずなのですが、
Obsidian移設後の2023年06月以降はまた完全手動に戻ったため、採番を間違えている可能性があります。
そのため、記事番号に関わる作業をする前に本当に番号が合っているか確認する必要がありました。


また、WordPressからObsidianへの移行時、日付はWordPressに基づいた設定になっているはずなのですが、
おそらくタイムゾーンの関係でObsidian上の日付が最大1日ズレていることがあるようです。
記事を跨いだズレは確認していないため、おそらく投稿時間の問題なんじゃないかなと。
こちらはObsidian移行後は当然問題なく、逆にWordPress時代の記事で起きている問題です。
そのため2014〜2023年は記事番号は間違っていないものの日付の検証は必要ということになります。


ということで今日はこの記事番号&日付の検証と修正を2020〜2024年現在までの分終わらせました。
消化ペース的にはあと3時間くらいでしょうかね……。
それ以外に今月内にやりたいと思っていたことはおおむね消化できているので、
とりあえずこれを金曜日までに終わらせたいところです。


メンタル低迷中は「これはもう来月末までブログくらいしか着手できないだろう……」と思っていたのですが、
この感じだと来月は来月で別のことができそうではあります。
別のこと……すぐに思い浮かぶのはピクチャレ大会周りのリベンジですが、果たしてそれが妥当なんだろうか。


ちなみに、まったく関係ないですが購入を保留していた『ペーパーマリオRPG』、やっぱり買うかもしれません。
博衣こよりの配信をチラッと見たのですが、懐かしさとBGMの良さで鳥肌が止まらず……。
Switch版は通常戦闘BGMがフィールドごとにアレンジされていて、それがめちゃくちゃ良かったです。
通常戦闘をチラッと見ただけでこの鳥肌はただ事じゃない。
これはもう実況を見て済ますのはあまりにも勿体無いと直感しました。
おそらく待機は確定したので、時期を見定めてどこかで腰を据えてプレイしたいところです。