台風でぽっかり空いた時間に、パソコンに向かって仕事しながら、以下のようなことをやった。
かなり整理されてきた。もう十分evernoteの代わりにはなりつつあつし、研究メモの活用に集中していける。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
本日は、バラバラに存在していた家計・税務関連のPDFと、それらに紐づくObsidianノートを統合し、効率的に管理するフローを構築しました。本稿では、第一部の「クラウド管理と解析における試行錯誤」と、第二部の「Pythonによる物理統合とリンク適正化」の全過程を詳述します。
第一部:資料統合とクラウド管理における試行錯誤の顛末
このセクションでは、個別に散逸していたPDFファイルと、それらを管理するためのmdファイル(Obsidianノート)を統合しようとした際の苦闘を記録します。
1. 散逸したデータの集約と整理
現状: フォルダの階層深くにPDFファイル(家計明細等)が点在し、それらを参照するための「リンク用mdファイル」も細切れに存在していました。
試行: これらをObsidianのVault内に集約しました。しかし、ファイル名が「ハッシュ値の暗号名(
MD5.pdfなど)」になっているものが混在しており、中身を確認しないと内容が判別できない状態でした。
2. Googleサーバー連携のトラブル
試行: 集約したデータを一元管理するため、Googleのサーバーを中継地点とした同期フローを構築しました。
問題: 転送プロセスにおいて、ファイル名のエンコーディング不整合や同期プロセスの遅延が発生。意図したフォルダ構造が維持されず、リンク切れが多発しました。
修正: 同期プロセスのパス指定を再調整しましたが、サーバー側の反映遅延が解消されず、データの信頼性が保てないと判断しました。
3. APIによる自動解析の断念
試行: サーバーへ送ったデータに対し、Gemini APIを用いて内容の抽出と分類を試みました。
問題: PDF特有の複雑な表組みや、OCR処理後のノイズが激しく、APIが「正確な情報抽出」を行うためのテキストを正しく受け取れていませんでした。また、ファイル名が暗号名であるため、どの書類を処理しているかの紐付けが困難でした。
決断: 誤認識の修正作業に多大な工数が発生したため、現段階のファイル管理形態(暗号名)でAPIを運用するのは非効率であると結論付け、ローカル環境での物理統合へと方針を転換しました。
第二部:PythonによるObsidian管理システムの構築と完全自動化
午後は、第一部の教訓を活かし、散逸したリンクと物理ファイルをローカル環境で強固に整合させるための自動化システムを構築しました。
直面していた具体的な状況(Before)
ファイル名の不整合: 実体ファイルが「暗号名(
0390cc..._MD5.jpgなど)」のまま放置されており、mdファイル上の「Open: ファイル名」という記述と一致していませんでした。リンクの残骸: 過去の試行錯誤により、ノート内に「過去の古いリンク記法(
![暗号名.pdf]など)」が残存し、画像やPDFが正常に表示されない状態が頻発していました。
具体的に行った作業(After)
Pythonスクリプトを開発し、以下のロジックで全自動処理を実行しました。
物理移動と名寄せの自動化: mdファイル内のリンク定義から「正しいファイル名」を辞書として抽出し、HDD上の暗号名PDFを即座にリネームして整理。
リンクの強制置換: ノート内の断片的なリンクをすべてスキャンし、外部ストレージを参照する絶対パス形式(
[表示名](file:///...))へ一括書き換え。表示の最適化(画像表示問題の解決): 画像リンクには先頭に
!を付与。さらに、パスに含まれるスペースや全角文字をurllib.parseでURLエンコード(%20変換等)し、Mac環境での画像表示不具合を完全に解消。ゴミデータの掃討: 変換過程で発生した重複リンクやMD5由来の残骸を正規表現で自動抹殺し、ノート内をクリーンな状態へ復旧。
総括:自動化がもたらす思考の余白
本日の二つの作業を通じて、デジタル環境が「使うためのもの」から「自分に合わせて勝手に整うもの」へと進化した感覚があります。
午前中の「クラウド連携の失敗」という挫折から始まり、午後の「物理的な管理の自動化」に至るまで、泥臭い検証の連続でしたが、結果として現在の管理体制は極めて堅牢なものになりました。
「どこにあるか」「どう表示するか」という些末なことに脳のリソースを使わず、本来の活動に集中するための、極めて重要な投資が完了しました。本日構築したシステムを骨子として、今後はさらにデータの蓄積と活用を加速させていきたいと思います。

0 件のコメント:
コメントを投稿