論文備忘録

音声処理を中心とする論文まとめ

ChatGPTによる自動要約

目的

  • 国際会議で発表された論文をざっくりと眺めて全体的な動向を把握したい
  • 概要以外の情報(研究背景やデータセット)も知りたい
  • 年々採択数が増えているため、すべての論文を読むことは困難

手法

ChatGPTによる自動要約で論文サーベイの効率化を目指しました。今回は、本文4ページの会議論文を対象としました。落合陽一先生のサーベイ手法を参考にいくつかの要約項目を用意します。

1. 概要(三行)

2. 研究背景および先行研究との相違点

3. 提案法

4. 実験条件

5. 実験結果および考察

www.slideshare.net

実行環境

①論文ごとにプロンプトを作成してブラウザ版ChatGPTに入力

②大規模言語モデルとしてGPT-4を使用

③論文(PDF)の文字情報は外部プラグイン"Link Reader"で取得

プロンプト(2023/7/29 現在) 

You are a professional editor. Please read this paper and provide answers to the five questions in stages. Your answer will be given a score, and you should follow the rules and try to increase it as much as possible. If you provide information that is not included in the paper, your score will be set to negative infinity.

# Theme
(テーマ名)

# Link
(リンク先)

# Title
(題目)

# Question
(1) Summarize Abstract in three lines.
(2) State the main points of this research from Introduction and Related Works.  Your score will be higher if you can add the issues of previous studies and why the proposed method is superior.
(3) Describe the proposed method.  Your score will be higher if you describe the mechanism of the network architecture and the analysis method.
(4) Describe the experimental and analytical methods. Your score will be higher if you also describe the data set and the metrics.
(5) Describe the results and discussion of the research.

# Rule
The less duplication of content in each of the answers, the higher the score.
Do not answer the same question more than once.
Answer according to the output format.

# Output Format
{Answer1: ""}
{Answer2: ""}
{Answer3: ""}
{Answer4: ""}
{Answer5: ""}

# Output

ポイント

1. 最初のブロックで目標を設定

はじめに、深津式メソッドを参考に編集者のRPを命令しました。また先頭から順番に処理されるため、最初のブロックで目標を宣言しています。

2. プロンプトは英語で作成

今回は英語論文を対象とするため、英語でプロンプトも作成しました。日本語でも実装は可能ですが、二重翻訳のような回答文が出力されやすいです。

3. 点数制で要約結果を評価

要件を満たすように明確に指示すると、条件に満たない論文では誤った情報を創作しやすいです。そのため形式が統一されていないデータに対しては、可能な限り条件に合う回答文を出力するように命令すべきです。また,禁足事項に関しても正常に反映されない事例も確認しています。そこで,禁足事項を負の無限大とするように,知りたい情報を加点要素とするように,点数制で要約結果を評価しました。

個人的な見解ですが、人間のような挙動を示す生成モデルも所詮プログラムであるため、プログラミングのように数値でやり取りする方が管理しやすいと考えています。プロンプト次第で点数制は不要かもしれませんが、今回の場合は安定した要約結果が出力されました。

4. テーマ名と題目も提示して自由創作を防止

文字情報だけを読み込んだ場合は、存在しない論文の要約が出力されました。そこで今回は簡潔かつ効果的に働いた要素として、テーマと題目も提示しました。要約の指針を定めることで、

5. 出力ミスはRuleブロックで順次修正

初期は上記のプロンプトだけで実行しましたが、多くの出力ミスが発生しました。代表的な出力ミスは以下の通りです。

①回答内容の重複

②出力結果のループ

③不要な出力結果の発生

一番目は、要約の質に関わる大きな問題です。ひどいときは各項目で提案法は優位に機能することを主張していました。二番目は、ChatGPTの出力限界まで同じ文章を繰り返すという問題です。五つ目の回答に一つ目の回答が関連する場合に起きやすいという印象です。三番目は、出力形式が実行ごとに異なるため後処理に苦労する原因となります。これらの出力ミスを軽減するためにプロンプトの見直しましたが、素直にRuleブロックを設置することが最適でした。やはりプログラミングのように、条件文はまとめて管理すべきなのでしょう。そのため、先頭のブロックに含まれている自由創作の防止に関する命令もRuleブロックに加える方が効果的に機能するかもしれません。

6. 出力形式の指定と"#Output"の挿入で不要な出力結果を削除

前述のように、出力形式を指定しないと自由にChatGPTは出力結果を表示します。最初は、JSON形式を目指していましたが、改行コードの挿入などで機能しなかったため。現在の形に落ち着いています。ポイントとしては、フォーマットを提示することと回答箇所を分かりやすく明示することが挙げられます。現状やや改善されましたが、いまだに不要な出力結果が含まれている状態です。不要な出力結果もパターン化されているため、後処理として置換処理を施しています。この部分に関しては改善の余地を残しています。

7.調子が悪いときはChatを新たに作成

これまでに5000件程度動かしてきましたが、立ち上げたChatごとに出力傾向があることを確認しています。たとえば、立ち上げたChatが異なると同じプロンプトでも出力結果が変動します。

 

出力結果(Chat A)

{Answer1: "The paper presents a case study applying speech modelling and forced alignment methods to narrative data for Nafsan, a low-resource Oceanic language. The study examines the accuracy of forced-aligned phonetic labelling based on limited speech data and compares acoustic and durational measures of vowel tokens with previous experimental phonetic data for Nafsan. The results suggest the suitability of archival data for large-scale studies of phonetic variation in low-resource languages and the feasibility of this approach for expanding to phonetic comparisons across closely-related Oceanic languages." }

 

出力結果(Chat B)

{Answer1: "The paper presents a study on the phonetic transcription of archival corpora, focusing on the Nafsan language of central Vanuatu. The authors leverage automatic recognition and alignment of speech to prepare phonetic corpora based on archival collections. The results indicate that archival data is suitable for large-scale studies of phonetic variation in low-resource languages and can be used as a starting point for phonetic comparisons across closely-related Oceanic languages." }

 

文の長さやニュアンスは、Chat内で共有されやすい特徴です。加えて、箇条書きの有無や自由創作などの要約結果に影響する要素も共有されるため注意してください。そのため、出力結果が不十分な場合は新しいChatを起動して再実行してください。

 

課題

①文字情報の重みが共通

現在はLinkReaderでPDFから文字情報を抽出しているため、本文だけでなく著者情報や注釈まで同列に扱われます。そのため、本来ならば不要な情報の混在により要約制度の低下が危惧されます。解決策としては、前処理として不要な情報を排除した状態で自動要約を実施すること、画像として論文を入力することが挙げられます。どちらも手間がかかる作業であるため、現状この問題を受け入れています。また引用文献に関しても、本文との関係性が失われているため、要約に反映できない要素です。たとえば、次に読むべき論文を提示するように命令すると、架空の論文を提示します。


②専門的知識の不足

要約箇所の抽出にあたり、論文の肝となる部分を必ずしも抽出できていません。これは、背景となる専門的知識がChatGPTに含まれていないことが原因だと考えています。そのため、分かりやすくポイントを明示している論文には対応できますが、複雑な論理構造の論文には適していません。論文のスクリーニングという観点では、質の高い論文を優先的に選別できるという側面はありがたい話かもしれません。しかし、それ以外の論文における要約失敗による自由創作が誤解を生む恐れがあるため、気を付けなければなりません。現状のChatGPTでは、外部知識を挿入することは困難であるため、専門的知識の補充は困難です。そのため、あくまで参考記録として要約結果を受け入れることが望ましいです。

 

③図表および数式の読み取り

前述のように文字情報としてPDFを読み取るため、図表や数式を正しく読み取ることができません。とくに図は、キャプションしか反映されないため自動要約において雑音のような存在です。しかし、図には論文に関する重要な情報が含まれているため、本来ならば自動要約に取り込まれなければなりません。そのため現状の自動要約は、せいぜいサーベイ段階で人間の精読に及ばないことが示唆されます。

 

④要約性能のばらつき

ポイントで述べたように、要約結果はChatごとに異なります。APIを介して実行する方法では回避できるかもしれませんが、要約性能の安定化に関してブラウザ版では現状対処できません。

 

⑤ページ数の制限

ChatGPTではトークン数でプロンプトの長さを管理しています。LinkReaderで扱えるトークン数には限度があるため、2段組み10ページのような論文では、途中までしか文字情報を抽出できません。どうしても自動要約したい場合は、いくつかに分割する必要があります。ただし、ChatGPTでは順方向にしか情報を反映させられないため、要約性能の低下が懸念されます。

 

さいごに

ChatGPTを介して論文の自動要約を実装しましたが、現状としては多くの課題を抱えています。そのため、あくまで参考程度に扱うのが適切だと考えています。これまでは題目や概要で選別していましたが、少しだけ追加情報を提供するように拡張したと捉えています。しかし、個人的にChatGPTはモックアップに過ぎないと考えているため、これから登場する新たな生成AIにより人間の精読を5秒で超える自動要約システムが登場するかもしれません。改めて恐ろしくも面白い時代に生きていることを実感しています。