algo-nlp-summarization について
重要文を選ぶ抽出型と、内容を言い換える生成型の要約を扱うスキルです。長文や記事群に適した手法の選択、入力長の制約、事実確認について案内します。
主な機能
- 01抽出型と生成型の手法
- 02TextRank・LexRankによる文選択
- 03Transformer生成の手順
- 04ROUGEと事実性の確認
- 05長文の分割戦略
活用シーン
- 01レポートや長文の要約
- 02記事群の要約
- 03抽出型と生成型の比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill algo-nlp-summarizationインストール後、Claude Code で/algo-nlp-summarizationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/sample_scenario.mdreferences/factual-consistency.mdgraph-based-extraction.md詳細
テキスト要約
概要
テキスト要約は、重要な情報を保ちながら文書を簡潔にまとめます。抽出型は、原文から重要な文を選んでつなぎ合わせます。抽象型は、内容を言い換えた新しいテキストを生成します。抽出型はよりシンプルで原文に忠実です。抽象型はより流暢ですが、ハルシネーションが発生する可能性があります。
使用するタイミング
使用条件:
- 長い文書、レポート、記事のコレクションを簡潔にまとめる
- コンテンツをキュレーションするための自動要約パイプラインを構築する
- ユースケースに適した抽出型と抽象型のアプローチを比較する
使用しない場合:
- 文書全体の理解が必要な場合(要約では詳細が失われます)
- 構造化データを抽出する場合(NER または情報抽出を使用してください)
アルゴリズム
IRON LAW: Abstractive Summarization Can HALLUCINATE
Abstractive models may generate fluent text containing facts NOT in
the source. Always verify key claims in abstractive summaries against
the original document. For high-stakes use cases (legal, medical),
prefer extractive or use abstractive with factual consistency checking.
フェーズ 1:入力の検証
入力の長さ、要約の目標の長さ(比率または単語数)、単一文書か複数文書か、ドメインを特定します。 ゲート: 入力テキストが利用可能で、目標の長さが定義されていること。
フェーズ 2:コアアルゴリズム
抽出型(TextRank/LexRank):
- 文書を文に分割します
- 類似度グラフを構築します(文をノードとし、コサイン類似度をエッジとします)
- 文のグラフに PageRank を実行します
- ランク上位の k 個の文を選び、原文での順序に並べ替えます
抽象型(トランスフォーマーベース):
- 事前学習済みモデル(BART、T5、Pegasus)を使用します
- 入力文書をエンコードします(必要に応じてチャンク分割し、長さ制限に対応します)
- ビームサーチで要約を生成します
- 後処理として、繰り返しや事実の一貫性を確認します
フェーズ 3:検証
参照要約に対する ROUGE スコア(ROUGE-1、ROUGE-2、ROUGE-L)を評価します。事実の正確さと一貫性を手動で確認します。 ゲート: ドメインに対して妥当な ROUGE スコアであり、抜き取り確認でハルシネーションがないこと。
フェーズ 4:出力
メタデータとともに要約を返します。
出力形式
{
"summary": "The company reported Q4 revenue of...",
"method": "extractive_textrank",
"metadata": {"input_words": 2000, "summary_words": 200, "compression_ratio": 0.10, "sentences_selected": 5}
}
例
入出力の例
入力: 四半期決算に関する 2000 語のニュース記事 期待される結果: 売上高、利益、業績見通し、主なハイライトをまとめた 200 語の要約。抽出型:選択した 5~6 文。抽象型:一貫性のある段落。
エッジケース
| 入力 | 期待される結果 | 理由 |
|---|---|---|
| 非常に短い入力(< 100 語) | そのまま返すか、最小限の調整にとどめる | すでに簡潔です |
| 複数の矛盾するセクション | 要約でニュアンスが失われる場合があります | 要約では支配的なテーマが優先されます |
| 専門用語 | 抽出型では保持されますが、抽象型では簡略化される場合があります | ドメインの専門知識が品質に影響します |
注意点
- ROUGE ≠ 品質:ROUGE は参照文との n-gram の重複を測定します。ROUGE スコアの高い要約でも一貫性がない場合があり、スコアの低い要約でも異なる語句を使った優れた要約である場合があります。
- 入力の長さ制限:トランスフォーマーモデルには最大トークン数の制限(512~4096)があります。長い文書にはチャンク分割の戦略(チャンクごとに要約してからまとめる、または階層的な要約)が必要です。
- 繰り返し:抽象型モデルでは、フレーズが繰り返されることがあります。生成時に繰り返しペナルティ(no_repeat_ngram_size)を使用してください。
- 位置バイアス:ニュース記事では、重要な情報が冒頭に置かれます(逆ピラミッド型)。単純に「最初の N 文を選ぶ」方法は、強力な抽出型のベースラインです。
- 複数文書の要約:関連する複数の文書を要約するには、情報源間の重複や矛盾に対処する必要があります。
参考資料
- TextRank/LexRank の実装の詳細については、
references/graph-based-extraction.mdを参照してください - 事実の一貫性の確認については、
references/factual-consistency.mdを参照してください
コメント
Markdown 対応