Text Summarization
テキスト要約では、文書の要点を保ちながら短い文章にまとめます。抽出型と抽象型の手法、ROUGE、忠実性について解説します。
テキスト要約は、文書を最も重要な情報を保ったまま短いテキストにまとめる自然言語処理(NLP)のタスクです。主な手法は2つあります。抽出型要約は原文から最も重要な文を選び、抽象型要約は人が書くように新しい文を作成します。要約の対象は1つの文書でも複数の文書でもよく、一般的な内容にすることも、「契約書には解約について何と書かれていましたか?」のような質問に焦点を当てることもできます。メールクライアント、会議ツール、ニュースアプリ、検索エンジン、大規模言語モデル(LLM)アシスタントは、いずれも要約を生成します。
抽出型要約#
IBMのHans Peter Luhnは、1958年に初期の自動要約システムの1つを開発しました。このシステムは、各文に含まれる頻出の重要語をもとに文をスコア付けし、上位の文を要約として返しました。H. P. Edmundsonは1969年に手がかり語、タイトル内の語、文の位置を追加し、2004年にはグラフ手法が登場しました。TextRankとLexRankは、文をノード、文同士の類似度をエッジとするグラフを構築し、文書内の他の文との類似度が高い、最も中心的な文を選びます。文の埋め込みを使うと、中心性に基づく方法を数行で実装できます。
from sentence_transformers import SentenceTransformer
sentences = [
"The James Webb Space Telescope launched on 25 December 2021 on an Ariane 5 rocket from French Guiana.",
"Webb observes the universe in infrared light, which passes through the dust that hides young stars.",
"Its 6.5-meter primary mirror is built from 18 gold-coated hexagonal segments.",
"A five-layer sunshield the size of a tennis court keeps the mirror and instruments cold.",
"The telescope orbits the Sun about 1.5 million kilometers from Earth, near the second Lagrange point.",
"NASA published the first full-color science images from Webb in July 2022.",
]
model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
# 各文と他のすべての文との平均類似度(中心性)でスコアを計算する
embeddings = model.encode(sentences)
centrality = model.similarity(embeddings, embeddings).mean(dim=1)
# 中心性の高い2文を、原文と同じ順序で残す
top = sorted(centrality.argsort(descending=True)[:2].tolist())
print(" ".join(sentences[i] for i in top))この要約では、打ち上げに関する文と軌道に関する文が残ります。抽出型要約のすべての語は原文に由来するため、文書にない内容を述べることはありません。また、選択した文に含まれる内容はすべて残るため、読者に不要な詳細や、鏡に関する文の冒頭にある「その」のように、省略された文を指す代名詞も含まれる可能性があります。
抽象型要約#
抽象型モデルは系列変換モデルです。エンコーダーが文書を読み、デコーダーがトークンを1つずつ生成して要約を書きます。Alexander Rushらは2015年に、注意機構を使ってニュースの見出しを作成するモデルをトレーニングしました。Abigail Seeらのポインタージェネレーターネットワーク(2017年)は、名前や数字などの語を原文から直接コピーする機能をデコーダーに追加し、同じ内容の繰り返しを抑制しました。事前学習済みのTransformerによって品質はさらに大きく向上しました。FacebookのBART(2019年)は破損したテキストの再構成によって学習し、GoogleのPEGASUS(2020年)は文書から取り除いた文全体の再生成によって学習しました。これは要約そのものに近い自己教師あり事前学習タスクです。
LLMは指示に基づいて要約し、長さ、対象読者、形式に関する要求に従えます。コンテキストウィンドウより長い文書はチャンクに分割し、各チャンクを要約してから、2回目の処理で部分要約を統合します。このパターンはマップリデュースと呼ばれます。要約はテキストに限りません。動画理解モデルはクリップ内の出来事を説明し、画像キャプション生成は画像を1文にまとめます。Ultralytics Platform Agentsでは、LLMブロックが画像と上流のYOLO26の検出結果を短い文章にまとめ、接続されたSlackブロックが{output}プレースホルダーを使って、その要約をチャンネルに投稿できます。
データセットと評価#
多くのモデルは、記事と要約のペアからなるトレーニングデータで学習します。CNN/Daily Mailはニュース記事と箇条書きの要点を組み合わせ、XSum(2018年)はBBCの記事と1文の要約を組み合わせます。XSumの要約では原文の文全体が再利用されることはまれで、抽象化が促されます。Chin-Yew Linが2004年に提案したROUGEは、人手で作成した参照要約と語や語列がどの程度重なるかで要約を評価します。ROUGE-1は単語、ROUGE-2は単語のペア、ROUGE-Lは最長共通部分列を数えます。重なりを測るスコアでは事実誤認を検出できず、Joshua Maynezらは2020年、XSumにおけるすべての抽象型モデルの要約に、ハルシネーションが相当量含まれていることを人間の評価者が確認したと報告しました。また、原文が要約の内容を含意しているかを調べるテキスト含意指標は、ROUGEやその他の標準的なメトリクスよりも忠実性を適切に評価できることも示しました。
要約と関連用語#
- テキスト生成: プロンプトから任意のテキストを生成します。要約は、原文書の内容に限定されたテキスト生成です。
- 機械翻訳: 同じエンコーダー・デコーダー構造を使い、テキストの全内容を別の言語に移します。
- 感情分析: テキストが表す意見を分類します。意見要約は、2つのタスクを組み合わせ、多数のレビューを主な称賛点と不満点にまとめます。
- 検索拡張生成(RAG): 質問に関連する文章を検索し、それらをもとに回答を生成します。そのため、複数の文書を対象とする質問に焦点を当てた要約の一種です。










