HOME/ AINOW編集部 /ChatPDF ― PDFのためのChatGPT
2023.05.12

ChatPDF ― PDFのためのChatGPT

著者のJan Marcel Kezmann氏はドイツ在住のデータサイエンティストであり、以前に同氏執筆の『これがChatGPTのプロンプトを完璧にする秘訣?』を紹介しています(同氏の詳細は同氏LinkedInページ参照)。同氏がMediumに投稿した記事『ChatPDF ― PDFのためのChatGPT』では、ChatGPTベースのAIツールChatPDFが紹介されています。
ChatPDFとは、ChatGPT APIを活用して開発されたPDF文書を理解するためのAIツールです。ChatPDFの仕様をまとめると以下のようになります。

ChatPDFの仕様
  • ユーザが指定したPDF文書に書かれた内容を解析して、要約を生成する。
  • 要約に加えて、内容を理解するための3つの質問も生成する。
  • 自動生成された質問以外にも、ユーザが入力した質問にも応答する。
  • 質問と回答は、シンプルなチャットインターフェースで表示。
  • ChatGPT APIを活用しているので、個々の質問に的確かつ自然な表現で回答する。
  • 25の言語に対応し、PDF文書の翻訳もサポート
  • 無料版と有料版があり、無料版であっても10MB・120ページのPDF文書を処理可能(無料版と有料版の違いは以下の記事本文参照)。

Kezmann氏はChatPDFのテストとして、Transformerを論じたことで有名な論文を処理させたところ、非常に満足の行く結果が得られました。こうした結果から、同氏は同ツールを絶賛しています。

なお、以下の記事本文はJan Marcel Kezmann氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。また、翻訳記事の内容は同氏の見解であり、特定の国や地域ならびに組織や団体を代表するものではなく、翻訳者およびAINOW編集部の主義主張を表明したものでもありません。
以下の翻訳記事を作成するにあたっては、日本語の文章として読み易くするために、意訳やコンテクストを明確にするための補足を行っています。

画像出典:Jan Marcel Kezmannがchatpdf.comよりスクリーンショットを撮影

数秒以内にPDFを要約し、PDFと対話する

ChatPDFChatGPTの機能を活用してPDFファイルと会話することで、簡単かつシームレスなコミュニケーションを可能にする革新的なツールだ。

Mathis Lichtenbergerによって開発され、ここでその最初の姿を見れる。

このAIツールは学習体験を高めたい学生のためのものであり、文書から効率的に重要な情報を取得するために労働者も利用し、あるいは単にPDFファイルから新しい洞察や答えを発見したい好奇心を満たすためにも使用できる。

このブログ記事ではツールの特徴、始め方、料金プラン、そして現在の制限について説明する。

それでは、さっそく紹介しよう。

・・・

ChatPDFの特徴

ChatPDFはアカデミック用、ビジネス用、個人用などさまざまなコンテキストで活用できる汎用性の高いツールである。

例えば、学生や教育者が研究論文を共同で作成したり、企業が顧客と企画書や契約書を共有したりするために利用できる。

また、他の人と文書を共有したり議論したりする必要があるが、ファイルを安全に保管したい個人にも最適だ。

ChatGPT APIを一部利用しているため、ChatPDFは以下のようなChatGPTの優れた機能を搭載している。

  1. 多言語理解:
    ChatGPTが対応する25以上の言語のPDFファイルをアップロードして会話できる。また、文書の翻訳にも利用できる。
  2. シンプルなチャットインターフェース:
    自然言語を使ってチャットボットのようなインターフェースでシンプルに対話できる。
  3. インタラクティブな応答:
    ChatGPTは人間のフィードバックによって訓練されているので、ChatPDFもインタラクティブな応答を生成することに長けている。
  4. 要約:
    短い文書、とりわけ長い文書では、時間の節約になるだけでなく、ニーズに合った情報を確実に抽出できる要約がとても便利!
  5. 高度なパーソラナイズ:
    ChatGPTのように、すべての回答はユーザとユーザのニーズに合わせて特別に調整されるため、各会話は非常に自然なものになる。

ChatGPTの標準的な機能に加えて、ChatPDFの作り手は受け取った回答の文脈的な関連性に重点を置いているので、今後は文脈に関連する追加機能の開発により多くの時間を費やすだろう。

以上のような搭載機能より、ChatPDFの開発者は入力された質問に正確に応え、文書とユーザのニーズから生じるコンテキストに沿うのを保証するAIツールを開発しようとしたと考えられる。

ChatPDFの活用事例は学術研究の補助、ビジネスレポートの分析、法的文書の明確化、技術マニュアルのガイド、あるいは自分の文書を編集・修正することでクリエイティブライティングのアシスタントとして使用するなど、ほぼ無限にあるように思われる。

・・・

価格と制限

料金体系は非常にシンプルに保たれている。料金プランには無料オプションと有料プレミアムオプションがある。

以下のスクリーンショットは、無料版と有料版に付属する機能と制限を示したものだ。

画像出典:Jan Marcel KezmannがChatGPTを使って作成した表

(※訳註1)以上の表を翻訳した表が以下。

ChatPDFの料金プラン

特徴

無料版

有料版

月額 ゼロ 5ドル
PDF1本あたりのページ上限 120 2000
PDF1本あたりのサイズ上限 10MB 32MB
1日に処理可能なPDF本数 3 50
1日に可能な質問数 50 1000

以上のように無料版は主にファイルサイズの上限が10MB、120ページまでの小さなPDFファイルを対象としているが、有料版は2,000ページまで扱えるため、おそらくあらゆる種類の文書に対応できるはずである。

無料版と有料版の最大の違いは、おそらく1日にアップロードして分析できるPDFの数で、前者では1日たった3枚なのに対して、後者では50枚である。

1日あたりの処理可能なPDF数が増えるのに加えて、無料版と比較して有料版では1日あたりの質問数が20倍になり、こうした質問数の増加から見ても有料版は非常に役に立つ。

まとめると、有料版と無料版のどちらを選ぶかは、このツールをどのように使うかによって決まると考えられる。

たまに使うだけと考えているならば、無料版でよいだろう。私の意見では、すでに多くのものを提供している無料版でも素晴らしい。

一方、信じられないほど長いPDF文書をよく扱う人であれば、有料版の方が良い選択肢になるだろう。

・・・

始め方と2つの事例

ChatPDFの始め方

1.まず、chatpdf.comにアクセス。

画像出典:Jan Marcel Kezmannがchatpdf.comよりスクリーンショットを撮影

2.ローカルPCからPDFを選択、またはPDFのURLを入力、あるいは直接キーボード検索から選んだFDFをアップロードする。

キーワード検索とは入力した内容に関連するPDFファイルをインターネット上で検索する機能で、以下にこの機能に関する画像を示す。

画像出典:Jan Marcel Kezmannがchatpdf.comよりスクリーンショットを撮影

キーワード検索では、表示された選択肢の中から1つを選ぶことになる。お好みで最初にクリックしてスクロールしてから、1つを選べる。

私は4つ目のPDF文書を選んだ。この文書を閲覧したい場合、こちらから見れる(※訳註2)。

(※訳註2)ChatPDFの試用のために選ばれたPDFファイルは、データサイエンスに使うPtyhonのノウハウを図解した「データサイエンスのためのPythonチートシート」である。

3.質問する

以下の画像のようにPDFをアップロードして解析すると、ChatGPTのようなインターフェースが表示される。

ChatPDFが生成した最初の回答に目を通すと、PDFの内容の簡単な概要と、同AIに尋ねられる適切にカスタマイズされた3つの質問が提供される。これらはPDFをターゲットにした非常に優れた内容になっている。

私に言わせれば、以上の動作はかなりクレイジーなほど素晴らしい!

手始めに2番目に提案された質問を選んで問いかけると、以下の画像で見れるようにAIがわかりやすく簡潔に回答してくれた。

画像出典:Jan Marcel Kezmannがchatpdf.comよりスクリーンショットを撮影

(※訳註3)以上のChatPDFとこの記事の著者Kezmann氏との対話の翻訳は以下。
(ChatPDFの回答)こんにちわ!私は「データサイエンスのためのPythonチートシート」 PDFファイルについて、あなたの役に立ちます。このファイルからPythonプログラミング言語の変数割り当て、データ型、およびリストの基本を学びます。このチートシートが終わる頃には、変数の操作、異なるデータ型への変換、リストの操作ができるようになります。さっそく始めましょう!

このチートシートについて、3つの質問例を挙げます:

▷ Pythonでライブラリをインポートする目的は何ですか、また、どのようにインポートするのですか。
▷ Pythonで変数を文字列、整数、浮動小数点、ブーリアンデータ型に変換する方法を教えてください。
▷ Pythonでリストをサブセットしたりスライスしたりする方法を説明できますか、そしていくつかの例を提供してください。
(Kezmann氏の質問)Pythonで変数を文字列、整数、浮動小数点、ブーリアンデータ型に変換する方法を教えてください。
(ChatPDFの回答)Pythonで変数を文字列、整数、浮動小数点、ブーリアンデータ型に変換するには、次の組み込み関数を使用します:
  • 変数を文字列に変換するstr()
  • 変数を整数に変換するint()
  • 変数を浮動小数点に変換するfloat()
  • 変数をブーリアン値に変換するbool()

例えば、x 5という変数があった場合、str()関数を使ってstr(x5)のように文字列に変換できます。同様に、int(x)で整数に、float(x)で浮動小数点に変換することができます。ブーリアンに変換するには、bool(x)を使用します。bool()ではxがゼロあるいは空の変数でなければ真が返り、そうでなければ偽が返ります。

(Kezmann氏の質問)PDFで紹介されているライブラリの名前をすべて言えますか。
(ChatPDFの回答)はい、できます! データサイエンスのためのPythonチートシートのPDFで紹介されているすべてのライブラリは以下です。
  • Anaconda
  • NumPy
  • Pandas
  • math

AnacondaはPythonとその他の科学計算ツールのディストリビューションで、IDEを含んでいます。NumPyは、数値データの配列や行列を操作するためのライブラリです。PandasはNumPyの上に構築されたライブラリで、Pythonのための使いやすいデータ構造とデータ分析ツールを提供します。最後に、mathはPythonの組み込みライブラリで、数学関数や定数を提供します。

また、フォローアップの質問として、Pythonのライブラリについて関連するすべての言及を得たいと考えました。しかし、これを実行するにはいくつかの困難があった。

まずAnacondaについて触れているが、これはライブラリではなく「IDEを含むPythonとその他の科学計算ツールのディストリビューション」であると、正しく説明している。

続く言及では、いくつかのライブラリが欠落していた。そのため、他のライブラリもリストアップするように依頼したところ、きちんとリストアップされた。

グラフィックとテキストが混在しているため、AIには非常にわかりにくいPDFだったが、それでもしっかりと仕事をこなしてくれた。

では、別の例を見てみよう。

例2:ArXiv上の科学文書から情報を取得する

2つ目の例として、ChatGPTのニューラルネットのベースとなった、今日ではよく知られているTransformerニューラルネットアーキテクチャを紹介した「知るべきすべてはアテンション」論文を選んだ(※訳註4)。

(※訳註4)Transformerについては、AINOW翻訳記事『Transformer解説:GPT-3、BERT、T5の背後にあるモデルを理解する』を参照のこと。

画像出典:Jan Marcel Kezmannがchatpdf.comよりスクリーンショットを撮影

(※訳註5)以上のChatPDFとKezmann氏との対話の翻訳は以下。
(ChatPDFの回答)こんにちは!私は、Google BrainのAshish Vaswaniと彼のチームが提案した「Transformerネットワーク・アーキテクチャ」を論じたPDFファイルです。このアーキテクチャはアテンション(attension)メカニズムのみにもとづいており、リカレントニューラルネットワークや畳み込みニューラルネットワークを使用する従来のモデルよりも並列性が高く、学習速度も速い。機械翻訳タスクの実験では、Transformerはこれらの従来のモデルを品質面で上回りました。

このPDFファイルについて、3つの質問例を挙げます。

▷ Transformerのアーキテクチャは、リカレントニューラルネットワークや畳み込みニューラルネットワークを使用した従来のモデルとどのように違うのですか。
▷ Transformerのアテンションメカニズムの仕組みについて詳しく教えてください。
▷ 機械翻訳以外に、Transformerアーキテクチャを使用することで恩恵を受けられる応用はありますか。
(Kezmann氏の質問)Transformerのアーキテクチャは、リカレントニューラルネットワークや畳み込みニューラルネットワークを使用した従来のモデルとどのように違うのですか。
(ChatPDFの回答)本PDFファイルで提案するTransformerアーキテクチャは、従来のリカレントニューラルネットワークや畳み込みニューラルネットワークを用いたモデルとは異なり、配列に沿ったRNNや畳み込みを用いず、完全にセルフアテンション(self-attention)に頼って入力と出力の表現を算出します。これにより、機械翻訳タスクで最先端の結果を達成しながらも、並列化を大幅に進め、学習時間を短縮できます。競合するニューラルシーケンス変換モデルの多くは、エンコーダー・デコーダー構造を採用していますが、Transformerはセルフアテンション機構を用いている点が特徴的です。
(Kezmann氏の質問)セルフアテンション機構の仕組みについて、詳しく教えてください。
(ChatPDFの回答)もちろん!Transformerのアーキテクチャでは、セルフアテンションを用いて、1つの配列の異なる位置を関連付けて、配列の表現を計算するようになっています。この機構では、同じシーケンス内の異なる位置を関連付けるので、イントラアテンションと呼ばれることもあります。

セルフアテンションでは、入力シーケンスの各位置について、この機構がシーケンス内の他のすべての位置の重み付けの和を計算します。このときの重みは、現在の位置と他のすべての位置の学習関数によって決定されます。つまり、各位置は入力シーケンス内の他のすべての位置に注目でき、各位置の重要度は、現在の位置との関連性にもとづいて動的に決定されます。

セルフアテンション機構は、並行して複数回適用されます(入力シーケンスの異なる側面を捉えるためにマルチヘッドアテンションを使用)。これらのアテンションヘッドの出力は連結され、フィードフォワードニューラルネットワークを通過して最終出力を生成します。

まとめると、セルフアテンションは距離や順序に関係なく、シーケンスの異なる部分間の依存関係をモデル化でき、長距離の依存関係が重要である機械翻訳のようなタスクに適しています。

以上の画像のように、私がアップロードした後、チャットボットは再びPDFの素晴らしい紹介と概要を提供してくれた。

さらに問いかけられる3つの適切な質問も提供され、私見ではこれらの質問はわかりやすい。

最初の2つの質問はかなり合理的だと思ったので選んだのが、AIは質問にきちんと答えてくれたと私には思えた。

また、もっと簡単な言葉で答えるという選択肢も試してみたが、これも見事に成功した。

・・・

結論

ここまで読んだ読者諸氏であれば、おそらく私と同じように、この素晴らしいAIツールとChatGPTの標準ツールの拡張に興奮していることだろう。

無料版があるというだけで素晴らしいツールなのだが、これまでテストした文書は理解しやすいものではまったくなかったにもかかわらず、かなりよく機能している。

読者諸氏はChatPDF利用をどう思っただろうか。利用を検討するだろうか。以下にコメントし、あなたの経験を共有してください。

また、もし私の記事が気に入り、もっと読みたいと思われたなら、私をフォローしたり、拍手を送ったり、まだの方は私の紹介リンクからMediumに参加したりすることを検討してみてください。

LinkedInで私に連絡を取る

GitHubにある私の他の作品やMediumに掲載された他の記事も閲覧してみてください。

・・・

Generative AIの公開コンテンツをフォローすれば、クリエイティブAI分野の最新ニュースやアップデートをお届けします。


原文
『ChatPDF — ChatGPT for PDFs』

著者
Jan Marcel Kezmann

翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)

編集
おざけん

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する

あなたにおすすめの記事

倫理と安全性を重視し、Claudeで世界を席巻|Anthropic

AIを活用したCM制作の最前線|伊藤園が挑んだ日本初の取り組みとその成果

生成AI時代の人材育成|海城中学高等学校物理部「AI班」を作った卒業生の次なる挑戦

あなたにおすすめの記事

倫理と安全性を重視し、Claudeで世界を席巻|Anthropic

AIを活用したCM制作の最前線|伊藤園が挑んだ日本初の取り組みとその成果

生成AI時代の人材育成|海城中学高等学校物理部「AI班」を作った卒業生の次なる挑戦