ChatGPTを使って論文を要約する方法まとめ!プラグインやAPIを活用する

「英語の論文を要約するのが大変…」「ChatGPTを使って学術的な論文を効率良く要約できるの?…」そう思う方もいるのではないでしょうか。

実は、ChatGPTを活用することで、学術的な論文の要約作業を効率化することが可能です。

今回PROMPTYでは、プラグインやAPIを活用した論文要約の方法を例を使ってご紹介します。

要約する論文

本記事では、ブラックボックス化されている機械学習モデルの内部の解釈方法の一つである「LIME」という手法に関する論文を要約します。

論文タイトル:“Why Should I Trust You?” Explaining the Predictions of Any Classifier

論文のAbstractをそのままDeepLで和訳すると次にようになります。

ABSTRACT
Despite widespread adoption, machine learning models remain mostly black boxes. Understanding the reasons behind predictions is, however, quite important in assessing trust, which is fundamental if one plans to take action based on a prediction, or when choosing whether to deploy a new model. Such understanding also provides insights into the model, which can be used to transform an untrustworthy model or prediction into a trustworthy one.

In this work, we propose LIME, a novel explanation technique that explains the predictions of any classifier in an interpretable and faithful manner, by learning an interpretable model locally varound the prediction. We also propose a method to explain models by presenting representative individual predictions and their explanations in a non-redundant way, framing the task as a submodular optimization problem. We demonstrate the flexibility of these methods by explaining different models for text (e.g. random forests) and image classification (e.g. neural networks). We show the utility of explanations via novel experiments, both simulated and with human subjects, on various scenarios that require trust: deciding if one should trust a prediction, choosing between models, improving an untrustworthy classifier, and identifying why a classifier should not be trusted.

和訳
広く採用されているにもかかわらず、機械学習モデルはほとんどブラックボックスのままである。しかし、予測の背後にある理由を理解することは、信頼性を評価する上で非常に重要であり、予測に基づいて行動を起こすことを計画している場合や、新しいモデルを導入するかどうかを選択する場合の基本である。このような理解は、信頼できないモデルや予測を信頼できるものに変えるために使用できる、モデルに対する洞察も提供する。

本研究では、解釈可能なモデルを局所的に学習することで、あらゆる分類器の予測を解釈可能かつ忠実に説明する、新しい説明手法であるLIMEを提案する。また、代表的な個々の予測とその説明を冗長でない方法で提示することで、モデルを説明する手法を提案する。テキスト(ランダムフォレストなど)と画像分類(ニューラルネットワークなど)の異なるモデルを説明することで、これらの手法の柔軟性を実証する。予測を信頼すべきかどうかの判断、モデル間の選択、信頼できない分類器の改善、分類器を信頼すべきでない理由の特定など、信頼を必要とする様々なシナリオについて、シミュレーションと被験者による新しい実験を通じて、説明の有用性を示す。

引用元:ACM

ChatGPTプラグインを使って論文を要約する方法

ChatGPTプラグインを活用することで、論文を要約することができます。

今回はこちらのプロンプトを使って、論文を要約します。英語の論文を要約してもらって、主題や新規性、研究の意義や影響をまとめてもらってから最後に日本語に訳してもらいます。

プロンプト

#命令文
あなたはプロの翻訳者です。
#手順に従って論文を要約してください。
#出力形式に従うこと

#論文のリンク
{論文のリンクを入力}

#手順
1.論文のリンクを読み込む
2.論文の各章の内容を要約する
3.各章の繋がりを関連付けて、論文全体を要約すること
4.論文の要約を3~5個の箇条書きで示す。一つの箇条書きは100字程度の文章にすること。研究の問いや、論文の新規性、研究結果の意味や影響がめいかくにわかるようにまとめること
5.論文の要約を自然な日本語に訳して出力すること

#出力形式
*タイトル(和訳)
*著者、雑誌名、公開年
*日本語の要約<箇条書きで示す>

ChatGPTのおすすめのプラグインについてこちらの記事で詳しく解説しています。

関連記事

「ChatGPTのプラグインの使い方が分からない」「ChatGPTのプラグインが多すぎてどれを使えばいいのか分からない」 このような悩みをお持ちの方は多いのではないでしょうか? 今回PROMPTYでは、ChatGPTのプラグイ[…]

①AskYourPDFプラグインを活用する

はじめに、AskYourPDFプラグインを使って論文を要約する方法を紹介します。

プロンプトを入力する前に、PDFのパスを取得する必要があります。AskYourPDFを起動した状態で次のように入力します。

プロンプト:

doc_idを取得するページを示して下さい

”UPpload Document”をクリックすると次のようなページにアクセスできます。

ページが開いたら、”Choose File” ボタンをクリックしてアップロードするPDFを選択します。ファイルを選択したら、”Upload” ボタンをクリックします。

アップロードが完了すると、ページ上にdoc_idが表示されます。doc_idをコピーすれば準備完了です。

プロンプトの#論文のリンクにdoc_idを貼り付けて、実際にChatGPTに質問しましょう。

ChatGPTの出力結果(AskYourPDF):

タイトル(和訳)
「なぜあなたを信じるべきなのか?」任意の分類器の予測を説明する

著者、雑誌名、公開年
著者: Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin
雑誌名: KDD 2016 San Francisco, CA, USA
公開年: 2016

日本語の要約

1.この論文では、機械学習モデルの予測を説明する新しい手法、LIME(Local Interpretable Model-Agnostic Explanations)を提案しています。LIMEは、任意の分類器の予測を解釈可能かつ信頼性の高い方法で説明します。
2.機械学習モデルは、多くの場合「ブラックボックス」のように振る舞います。しかし、予測の背後にある理由を理解することは、モデルを信頼し、新しいモデルの導入を決定する上で重要です。
3.LIMEは、予測の近くで解釈可能なモデルを学習することで、任意の分類器の予測を説明します。また、モデルを説明するための方法として、代表的な個々の予測とその説明を非冗長な方法で提示する方法を提案しています。
4.LIMEの有用性は、テキスト(ランダムフォレストなど)や画像分類(ニューラルネットワークなど)のさまざまなモデルを説明することで示されています。また、シミュレーションと人間の被験者を用いた新たな実験を通じて、予測を信頼するために必要なシナリオでの説明の有用性を示しています。

プロンプトで指定した出力形式に則って、論文の情報と要約が出力されました。タイトル(和訳)や著者・雑誌名・公開年の情報も漏れなく拾ってくれています。
要約の文章は少し抽象的な内容になってしまいましたが、1つ目の箇条書きで論文の主題を端的に述べ、2つ目、3つ目の箇条書きで研究の意義や特徴を説明して、4つ目の箇条書きでは、研究の有用性に触れており、プロンプトの手順通りに要約できていることが分かります。

AskYourPDFプラグインのその他の活用方法についてはこちらの記事で詳しく解説しています。

関連記事

2023年5月16日ごろ、ChatGPTのプラグイン機能「ChatGPT plugins」がウェイトリストの登録無しで使用できるようになりました。 その「ChatGPT plugins」の中に、ChatGPTでPDFの情報を取得でき[…]

②LinkReaderプラグインを活用する

次に、プラグインを使って論文を要約する方法を紹介します。LinkReaderプラグインは、ウェブページ、PDF、PPT、画像、ドキュメント、Googleドライブ、YouTubeリンクなど、あらゆる種類のURLからコンテンツを取得できることが大きな特徴です。

プロンプトの#論文のリンクにはWeb ページのリンクを貼り付けます。

ChatGPTの出力(LinkReaderプラグイン):

この論文のタイトルは「“Why Should I Trust You?” Explaining the Predictions of Any Classifier」で、著者はMarco Tulio Ribeiro、Sameer Singh、Carlos Guestrinで、ワシントン大学に所属しています。この論文は2016年に公開されました。

以下に、この論文の要約を示します。

1.この研究では、LIME(Local Interpretable Model-Agnostic Explanations)という新しい説明手法を提案しています。LIMEは、任意の分類器の予測を解釈可能かつ信頼性のある方法で説明することができます。これにより、機械学習モデルが「ブラックボックス」である問題を解決し、モデルの予測の背後にある理由を理解することが可能になります。

2.LIMEは、予測の近傍で解釈可能なモデルを学習することで、任意の分類器の予測を説明します。また、個々の予測とその説明を非冗長な方法で提示するモデルの説明方法も提案しています。

3.この研究では、テキスト(例えば、ランダムフォレスト)や画像分類(例えば、ニューラルネットワーク)など、さまざまなモデルの説明を行うこれらの方法の柔軟性を示しています。

4.LIMEを使用することで、ユーザーは予測を信頼すべきかどうかを判断したり、モデル間で選択したり、信頼性の低い分類器を改善したり、分類器を信頼すべきでない理由を特定することが可能になります。

以上の要約は、論文の各章の内容を要約し、それらの関連性を考慮に入れて論文全体を要約したものです。これにより、研究の問いや論文の新規性、研究結果の意味や影響が明確に理解できます。

タイトルの和訳は出てきませんでしたが、概ねプロンプトの指示通りに論文を要約してくれました。
要約の内容はAskYourPDFで要約した場合と大きな差はありませんでした。

LinkReaderプラグインのその他の活用方法についてはこちらの記事で詳しく解説しています

関連記事

「ChatGPTのおすすめプラグインが知りたい」「Link Readerプラグインの活用方法は?」 このように思う方は多いのではないでしょうか。 今回PROMPTYでは、ChatGPTのプラグイン「Link Reader」を実[…]

③ScholarAIプラグインを活用する

次に、ScholarAIプラグインを使って論文を要約する方法を紹介します。ScholarAIプラグインは、科学的な文献を検索・抽出できるプラグインです。キーワードに基づいて関連する論文の抄録を検索し、全文を取得できることが特長です。

プロンプトの#論文のリンクにはWeb ページのリンクを貼り付けます。

ChatGPTの出力(ScholarAIプラグイン):

この論文の要約は以下の通りです:

1.この論文は、機械学習モデルの予測を説明するための新しい手法、LIME(Local Interpretable Model-Agnostic Explanations)を提案しています。LIMEは、任意の機械学習モデルの予測を、人間が理解可能な形で説明することができます。

2.LIMEは、予測の局所的な信頼性を評価するために、特定のインスタンス周辺のデータを生成し、それを用いてモデルの挙動を近似します。この手法は、モデル全体を理解するのではなく、個々の予測を理解することに焦点を当てています。

3.著者らはまた、SP-LIMEという手法も提案しています。これは、モデル全体の挙動を理解するために、代表的で非冗長な予測を選択する方法です。

4.実験結果は、LIMEとSP-LIMEが、モデル間の選択、信頼性の評価、不信頼なモデルの改善、予測の洞察の提供といった、テキストと画像の領域での信頼関連タスクにおいて有用であることを示しています。

以下は、日本語での出力です:

*タイトル:「"Why Should I Trust You?" Explaining the Predictions of Any Classifier」(「なぜあなたを信じるべきなのか? 任意の分類器の予測を説明する」)
*著者:Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin
*雑誌名:Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining
*公開年:2016

*日本語の要約:

本論文では、LIME(Local Interpretable Model-Agnostic Explanations)という新しい手法を提案しています。LIMEは、任意の機械学習モデルの予測を、人間が理解可能な形で説明することができます。
LIMEは、特定のインスタンス周辺のデータを生成し、それを用いてモデルの挙動を近似することで、予測の局所的な信頼性を評価します。この手法は、モデル全体を理解するのではなく、個々の予測を理解することに焦点を当てています。
さらに、著者らはSP-LIMEという手法も提案しています。これは、モデル全体の挙動を理解するために、代表的で非冗長な予測を選択する方法です。
実験結果は、LIMEとSP-LIMEが、モデル間の選択、信頼性の評価、不信頼なモデルの改善、予測の洞察の提供といった、テキストと画像の領域での信頼関連タスクにおいて有用であることを示しています。

2回分の要約が出力されてしましましたが、それ以外はプロンプトで指示した通りの形式で論文が要約されました。内容はLinkReaderとAskYourPDFを使った場合と異なり、論文の後半で登場するSP-LIMEという手法が取り上げられています。これは、ScholarAIプラグインでは論文のドキュメント全体を処理できていることを示し、内容の充実度が高まっています。ただ、プロンプトで指示したような研究の意義や影響については少し読み取りにくい文章になっている印象を受けます。

今回の要約の結果から、3つのプラグインを比較すると、内容の充実度はScholarAI>AskYourPDF=LinkReader、プロンプトへの忠実性では、AskYourPDF>LinkReader>ScholarAIという結果になりました。

こちらを参考にして、論文をはじめとしたドキュメントの要約に使うプラグインを選択していただければ幸いです。

OpenAIのAPIを使って論文を要約する方法

OpenAIのAPIを使うことで、論文を要約することができます。

ChatGPTのプラグインを起動して、その都度プロンプトを入力しなくてもよいため、処理を行うことができるため、効率的に論文を要約することができます。また、出力形式などを自由にカスタマイズすることが可能です。

今回は、Pythonで次のようなコードを実行することで論文を要約します。モデルはtext-davinci-003(GPT-3)のため、ChatGPTプラグインで使われるGPT-4よりも劣ったモデルになっています。

# 必要なライブラリをインポート
import openai
from PyPDF2 import PdfReader

# OpenAIのAPIキーを設定
openai.api_key = {APIキーを入力}

def summarize_pdf(file_path):
    # PDFを読み込む。
    with open(file_path, 'rb') as file:
        reader = PdfReader(file)
        text = ""
        for page in reader.pages:
            text += page.extract_text()

    # 論文を要約するためのプロンプトを作成。
    prompt = f"\
        #命令文あなたはプロの翻訳者です。\
        #手順に従って論文を要約してください。\
        #出力形式に従うこと\
        #手順\
        1.論文のリンクを読み込む\
        2.論文の各章の内容を要約する\
        3.各章の繋がりを関連付けて、論文全体を要約すること\
        4.論文の要約を3~5個の箇条書きで示す。一つの箇条書きは100字程度の文章にすること。研究の問いや、論文の新規性、研究結果の意味や影響がめいかくにわかるようにまとめること\
        5.論文の要約を自然な日本語に訳して出力すること\
        #出力形式*タイトル(和訳)*著者、雑誌名、公開年*日本語の要約<箇条書きで示す>{text[:5000]}"

    # モデルを設定する。要約文のトークン数を指定する。
    response = openai.Completion.create(
        engine="text-davinci-003",
        prompt=prompt,
        temperature=0.3,
        max_tokens=2000
    )
    return response.choices[0].text.strip()

#PDFを要約する。
summary = summarize_pdf("Why Should I Trust You Explaining the Predictions of Any Classifier.pdf")
print('- ' + summary)

実行結果:

タイトル(和訳):なぜ私を信頼すべきか? - 任意の分類器の予測を説明する
著者、雑誌名、公開年:Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin, KDD 2016 San Francisco, CA, USA
日本語の要約<箇条書きで示す>:
・機械学習モデルは多くの科学技術の進歩の中心となっているが、そのモデルがどのような理由で予測を行っているかを理解することは重要である 
。
・LIMEという新しい説明技術を提案し、任意の分類器の予測を説明可能な方法で信頼性を持って表現する。
・SP-LIMEという手法を提案し、説明付きの代表的なインスタンスを選択することで、モデル全体を信頼できるようにする。
・シミュレーションとヒューマンサブジェクトを用いた詳細な評価を行い、信頼を求めるさまざまなシナリオで、説明の有用性を示す。

プロンプトで指定した形式に則って論文の情報と要約が出力されました。内容の充実度はプラグインで要約した結果に劣りますが、text-davicnci-003モデルでも、ある程度の内容を抽出できています。

2023年7月6日には、GPT-4のAPIが有料ユーザー向けに公開されているため、OpenAIのAPIを使って論文要約を始めとしたドキュメントの処理のクオリティも上がると考えられます。

まとめ

今回PROMPTYでは、ChatGPTを使って学術的な論文を要約する方法を紹介しました。

  • AskYourPDFプラグインでPDFを要約する
  • LinkReaderプラグインで論文のリンクから要約する
  • ScholarAIプラグインで論文のリンクから要約する
  • OpenAIのAPIを使って自由度の高い要約システムを作る

今回の例を参考に、皆さまもChatGPTを使った論文要約を試して、学習や勉強の効率アップを図ってみてはいかがでしょうか。