世界を動かす技術を、日本語で。

HNに聞きたい: 誰か「Anna's Archive」の上に検索機能を構築した人はいますか?

356日前

概要

  • Google BooksとScihubの両方の機能を統合したサービスの可能性
  • そのようなサービスの実現コストについての考察
  • 著作権やライセンス問題の重要性
  • 技術的・運用的な課題の整理
  • ユーザーや社会への影響

Google BooksとScihubの統合サービスの実現可能性

  • Google Books は書籍の全文検索やプレビュー提供に特化したプラットフォーム
  • Scihub は学術論文への自由なアクセスを提供する非公式サイト
  • 両者を統合すれば、学術書・論文・書籍の 全文検索・閲覧 が可能な巨大な知識データベースの実現
  • 利用者にとっては 知識探索の効率化 という大きなメリット
  • 研究者・学生・一般ユーザーすべてに恩恵

実現コストの要素

  • 著作権料・ライセンス費用 が最大の障壁
    • 各出版社や著者との契約、ライセンス取得費用
    • 書籍・論文ごとに異なる権利処理の複雑性
  • サーバー・ストレージコスト
    • 数千万冊・数千万論文のデジタルデータ保存
    • 高速な検索・閲覧システムの構築・維持費
  • 開発・運用コスト
    • 検索アルゴリズム、インターフェース設計、セキュリティ対策
    • 継続的なシステム保守・アップデート
  • 法的リスクへの対策費用
    • 訴訟対応、法務部門の設置、各国法規制への適応
  • 利用者数増加に伴うスケーラビリティ対応

著作権・ライセンス問題

  • Google Books は出版業界との訴訟・和解を経て限定的なプレビュー提供
  • Scihub は著作権法違反の指摘を受けている現状
  • 正規サービスとして両方の機能を統合するためには 包括的な権利処理 が不可欠
  • 著作権者・出版社との協議、収益分配モデルの構築が課題

技術的・運用的課題

  • 膨大なデータの 効率的な検索・表示
  • 多言語対応、アクセシビリティ強化
  • サイバーセキュリティ対策
  • ユーザー認証・アクセスコントロール

社会的インパクト

  • 知識へのアクセスの民主化推進
  • 教育・研究の発展への寄与
  • 出版業界・学術界への新たなビジネスモデル提案
  • 著作権・知的財産権のあり方の再考

まとめ

  • Google BooksとScihubの統合サービス は技術的には実現可能
  • 最大の課題は 著作権・ライセンスコスト と法的リスク
  • 実現には 数百億円〜数千億円規模 の資金と、業界全体の合意形成が必要
  • 社会的価値は極めて高いが、実現には多くの障壁

Hackerたちの意見

あなたが言ってるのは、フリーテキスト検索とページレベルの返却のことだと思うけど、もうフルメタデータインデックスはあるからね。問題は、AAはテキストを保持してないってこと。著作権が争われる可能性があるし、派生作品でも法的なターゲットになり得るから。

派生作品は法的なターゲットになるだろう。なんでそうなるの?Googleはウェブをインデックスしても訴えられないじゃん。

正直、そんなにコストはかからないと思うけど、組み立てるのにかなり時間がかかるだろうね。数年前にプレーンテキストに変換したLibrary Genesisのコピーがあって、それが約1TBなんだ。libgen自体はその時50-100TBあったから、AA(約1PB)がプレーンテキストに変換されたら10-20TBくらいになるんじゃないかな。アーカイブの一部をトレントでダウンロードして、すべてをプレーンテキストに変換して、元のファイルを削除して、新しい部分で繰り返すのに数週間かかるだろうね。そうやってアーカイブ内のすべてのプレーンテキストバージョンを揃えたら、フルテキスト検索用にインデックスを作るのにさらにストレージと時間が必要になるけど、一般的なハードウェアで十分可能だよ。主な障害は、アーカイブ内のさまざまなフォーマットからプレーンテキストを確実に抽出すること、データをクリーンアップすること、そして適切なフルテキスト検索データベースを選ぶことだね(間違ったものを選んで後で切り替えたくなったら大変だよ)。

改善する方法はいくつかあると思う:1. 同じ本のバリエーションがたくさんあるから、インデックスには一つだけあればいい。各ISBNごとに、解析しやすいフォーマットを選ぶのがいいかも。2. まずはトップ10万冊をダウンロードして、変換してインデックスを作って、これでスタートしてから、他の本も続けてインデックスを追加していくっていうのもアリだね。

私にとっての主な障害は:1. なんで?誰がそれを使うの?他の検索エンジンに何か問題があるの?どうやって資金を調達するの?2. 潜在的な法的問題。技術的な障害は少なくとも挑戦的で面白いけど、製品やサービスのビジョンがないのに大きな初期投資が必要なサービスを提供して、年に数回訴えられる可能性が高いって考えると、どんな罰を受けるかもわからないし…残念だけど、パスするしかないね。

スタティックホスティングだけで実装できるかな?インデックスをブラウザが実際にダウンロードできるサイズの小さいファイルに分ける必要があると思う。たとえば、1ファイル20MBくらい。ユーザーが検索クエリを入力すると、ブラウザがそのクエリをハッシュ化して、対応するインデックスファイルをダウンロードする。そこにはそのハッシュ化されたクエリに対する結果だけが含まれてるんだ。ブラウザはそのファイルをサクッと処理して結果を出してくれる。ホスティングは安く済むけど、主な障壁は残ってるね。

いろんなフォーマットを正規化するのは簡単だし、PDFを解析するためのライブラリやMLモデルもいくつかあったよ。僕はZoteroで学術論文向けにこんな感じのものをいじってたんだけど、主な問題はページをまたいで言葉が流れちゃったり、脚注があったことだね。数年前にその試みは完全に諦めたけど、その後ツールはかなり進化したと思う。例えば、すべての学術論文のハブはこの技術を何十年も使ってるし、大手のジェネAI企業もこのデータセットを使う計画を立ててるはずだし、もう使ってるところも多いだろうね。

まともなストレージは1TBあたり10ドルだから、1PBのデータを全部保存するのに1万ドルで済むよ。誰かがこのアーカイブでLLMをトレーニングしたかどうかは、かなり明白な疑問だね。

確か、Z-Libraryはある程度これをやってるよ。基本的なフルテキスト検索は本や記事の本文内を検索できるし。Anna's Archiveよりは少し小さいけど、自分たちのコレクションをホストしてるからね。いくつかの場所からは、Torを通さないとアクセスが難しいこともある。

知る限りでは、Anna's Archiveに対してフルテキスト検索を完全に実装した人はいないよ。技術的にはMeilisearchやElasticsearch、Luceneみたいなツールで可能だけど、主な課題は:すべての文書(PDF、EPUBなど)をクリーンなプレーンテキストに変換すること。効率的にスケールでインデックスを作ること。潜在的な法的問題を管理すること。Z-Libraryは似たようなことをやってるけど、範囲が小さくてAAのフルカタログを統合してないからね。

以前に似たようなことをやったことがあるよ。Meilisearchは使えないと思う、インデックス作成が遅いし、スペースもめっちゃ取るから。私の経験では、Tantivyだけがこれだけのデータをインデックスできると思う。Lnxをチェックしてみて。

法的な問題を管理するには、AIに検索させるだけでいいよ。「AI検索」って感じで。

関連する質問だけど、Anna's Archiveは著作権に関係ない違法な素材をしっかりフィルタリングしてるのかな?児童ポルノやテロリズムとか。いくつかの部分をダウンロードしようか考えたけど、ほんとに近づきたくないコンテンツが入ってたらどうしようって心配なんだよね。

合法的なコンテンツを探しているときに、どうやって知らず知らずのうちに違法なコンテンツをダウンロードしちゃうのかな?

正直言って、これはすごく変な質問だね。どんなダウンロードについても言えることだし、単に文書のトレントについてだけじゃないよ。

すべてをダウンロードしちゃえ。大規模にやると法律は適用されないってわかってるし。これは法的アドバイスじゃないけどね。

OpenLipっていうAndroidアプリがあるよ。[1] 説明:Openlibはシャドーライブラリ(Anna’s Archive)から本をダウンロードして読むためのオープンソースアプリ。アプリには本を読むためのビルトインリーダーがある。Anna’s ArchiveにはAPIがないから、アプリはAnna’s Archiveにリクエストを送って、レスポンスをオブジェクトに解析する仕組み。レスポンスからミラーを抽出して、本をダウンロードしてアプリのドキュメントディレクトリに保存するんだ。注意:アプリは正常に動作するためにVPNが必要。VPNなしだと、キャプチャを完了してもキャプチャが必要なページが表示されるかもしれないよ。主な機能:トレンドの本、ビルトインビューアで本をダウンロードして読む、EpubとPDFフォーマットに対応、お気に入りの電子書籍リーダーで本を開く、本をフィルタリング、本をソートする。[1]: https://f-droid.org/de/packages/com.app.openlib/

Z-Libraryにはキーワード検索があるよ。個人的にはあまり役に立たなかったけど、Google Booksがあるからね。質の高い本の検索エンジンを作るのは簡単じゃないよ。

彼らはやったよ!コンペを開催したんだ。https://annas-archive.org/blog/all-isbns-winners.html いくつかの応募が最低要件を超えて、良い検索ツールとビジュアライザーを実装したんだ。

これは本のテキスト検索なの?

OpenAIや他の会社が似たような場所からトレントされた本でトレーニングされてるから、ChatGPTはAnna's Archiveの上に適切な検索レイヤーを提供してると思うけど、検索エンジンに期待するほどの信頼性はないかもね。追記:文法

うん、主要なLLM会社はみんなやってるよ:Anna's ArchiveやPile、Common Crawl、自社のクローリング、Books2、Libgenなどを違法に使って、高次元空間に埋め込んで次のトークン予測をしてる。