第8章 概念抽出
概念抽出は、テキストデータからAIが概念構造(概念名、論理構造、含意など)を自動的に抽出する機能です。ConceptMap-Text でモデルを構築するための主要なデータ準備手段です。
8.1 概念抽出の概要
テキスト(書籍、論文、マニュアルなど)を「チャンク」(断片)に分割し、各チャンクに対してAIが以下の概念要素を抽出します:
共通項目(Full / Compact 両モード):
| フィールド名 | 説明 | 日英両方 |
|---|---|---|
| chapter_section | 章・セクション名 | いいえ |
| key_terms | ドメイン固有のキーワード(5〜10個) | いいえ |
| concept_name | 概念の核心を表す短いラベル(5〜15語) | はい |
| trigger_context | その概念が対処する人間の課題・ニーズ(15〜30語) | はい |
| abstract_structure | 論理メカニズムを変数A,B,Cで表現(15〜40語) | はい |
| action_implication | 「XならばY」形式のアクション提案(15〜30語) | はい |
Fullモード追加項目:
| フィールド名 | 説明 | 日英両方 |
|---|---|---|
| summary | テキスト内容の忠実な要約(120〜180語) | はい |
| logical_structure | 因果関係と推論の連鎖(120〜180語) | はい |
| implication | 結論、応用、帰結(120〜180語) | はい |
各フィールドは英語版(_en)と日本語版(_jp)の両方が生成されます(chapter_section と key_terms を除く)。
8.2 テキストの入力
直接入力:
- 左サイドバーで「概念抽出」タブを選択
- テキストエリアにテキストを貼り付けます
- 書籍タイトルと著者名を入力(CSVのメタデータになります)
ファイルアップロード:
- 「ファイルを選択」ボタンでPDFをアップロード
- PDFのテキストが自動的に抽出されます
- PDFのページ番号が各チャンクに記録されます
対応ファイル形式: PDF
8.3 チャンク分割の設定
テキストをどのように分割するかを設定します。
チャンク方式の選択:
- チャンク数指定: テキスト全体を指定した数で等分割します。例:30チャンクなら、テキストを30等分
- チャンクサイズ指定: 指定した文字数ごとに分割します。例:4000文字なら、約4000文字ごとに区切り
チャンク分割の仕組み(内部動作):
- PDFの場合、まずページ区切りでテキストを分割
- 段落区切り(空行)でさらに分割
- 段落が存在しない場合、改行で分割
- 改行もない場合、文末(。.!?)で分割
- 分割された段落を、指定サイズを目安にまとめてチャンクを構成
- 最後のチャンクが小さすぎる場合(目安の20%以下)、前のチャンクに結合
推奨設定:
- 書籍1冊(300ページ): チャンク数30〜50
- 論文1本(20ページ): チャンク数5〜10
- マニュアル(100ページ): チャンク数20〜30
8.4 抽出設定
元テキストを含める: チェックすると、抽出結果のCSVに元のテキスト断片(source_text列)も含まれます。モデル構築時に元テキストを参照したい場合に便利です。
抽出モード:
- Full: 要約、論理構造、含意を含む詳細な分析。1チャンクあたり約500〜800トークンの応答
- Compact: concept_name, trigger_context, abstract_structure, action_implication のみ。高速で低コスト
8.5 ブラウザ処理 — リアルタイム抽出
ブラウザ上でリアルタイムに概念抽出を実行します。
操作手順:
- テキスト入力、チャンク設定、抽出設定を完了
- 「抽出を開始」ボタンをクリック
- 各チャンクの処理がリアルタイムで表示されます
- 完了後、結果テーブルが表示されます
- 「CSVとして保存」で結果を保存
注意: ブラウザを開いたままにする必要があります。ブラウザを閉じると処理が中断されます。
進行中の表示:
- 現在処理中のチャンク番号(例:「チャンク 15/30 を処理中…」)
- 処理済みチャンクのプレビュー
- 推定残り時間
8.6 サーバー処理 — バックグラウンド抽出
サーバー側でバックグラウンド処理を行います。ブラウザを閉じても処理が継続します。
操作手順:
- テキスト入力、チャンク設定、抽出設定を完了
- 「サーバーで処理」ボタンをクリック
- ジョブが開始され、ジョブIDが表示されます
- 進行状況は5秒ごとに自動ポーリングされます
- 完了後、結果CSVが自動的にプロジェクトに保存されます
進行状況の表示:
- ステータスバッジ:「処理中」「完了」「失敗」
- 進捗:「15/30 チャンク処理済み」
- 推定残り時間
サーバー処理の利点:
- ブラウザを閉じても処理が継続
- 別の作業を並行して行える
- ネットワーク切断に強い(サーバーがリトライ)
8.7 エラーハンドリングとリトライ
概念抽出は内部的に以下のエラーハンドリングを行っています:
- リトライ: 各チャンクの処理は最大2回リトライされます
- 連続エラー制限: 3チャンク連続でエラーが発生した場合、ジョブ全体が失敗として停止します
- クレジットチェック: 処理開始前と各チャンク処理前にクレジット残高を確認します。途中でクレジットが不足した場合、処理済み分までのCSVが保存され、残りは停止します
- 部分結果の保存: エラーで中断した場合でも、正常に処理されたチャンク分のCSVは保存されます
8.8 抽出結果のCSV構造
出力されるCSVの列構成:
| 列名 | 説明 |
|---|---|
| book | 入力した書籍タイトル |
| author | 入力した著者名 |
| chunk_index | チャンクの番号(0始まり) |
| page_number | PDFの場合のページ番号 |
| source_text | 元のテキスト断片(「元テキストを含める」がオンの場合) |
| chapter_section | 章・セクション名 |
| key_terms | キーターム(カンマ区切り) |
| concept_name_en | 概念名(英語) |
| concept_name_jp | 概念名(日本語) |
| trigger_context_en | トリガーコンテキスト(英語) |
| trigger_context_jp | トリガーコンテキスト(日本語) |
| abstract_structure_en | 抽象構造(英語) |
| abstract_structure_jp | 抽象構造(日本語) |
| action_implication_en | アクション含意(英語) |
| action_implication_jp | アクション含意(日本語) |
| summary_en | 要約(英語、Fullモードのみ) |
| summary_jp | 要約(日本語、Fullモードのみ) |
| logical_structure_en | 論理構造(英語、Fullモードのみ) |
| logical_structure_jp | 論理構造(日本語、Fullモードのみ) |
| implication_en | 含意(英語、Fullモードのみ) |
| implication_jp | 含意(日本語、Fullモードのみ) |
chapter_section の自動補完: 空のchapter_sectionセルは、前のチャンクのchapter_section値で自動補完されます。「N/A」「None」などのプレースホルダーは自動的に除去されます。
8.9 概念抽出のトラブルシューティング
| 問題 | 原因と対処法 |
|---|---|
| チャンクが1つしかできない | テキストに段落区切り(空行)がない場合、テキスト全体が1チャンクになります。「チャンク数指定」モードに切り替えてください |
| 抽出結果の日本語が不自然 | AIモデルの応答品質に依存します。概念名やトリガーコンテキストは、英語版を基準にしてモデル構築することを推奨します |
| 「Credits exhausted」で途中停止 | クレジットが不足しています。追加クレジットを購入して、残りのチャンクを再処理してください。処理済み分のCSVは保存されています |
| PDFの文字が正しく抽出されない | 画像ベースのPDF(スキャン文書)はテキスト抽出できません。OCR処理済みのPDFをご使用ください |
| サーバー処理のステータスが「失敗」 | エラーメッセージを確認してください。APIの一時的なエラーの場合、しばらく時間をおいて再実行してください |
| 「確認:未保存のアイテムがあります」ダイアログ | 現在の抽出結果がCSVに保存されていません。「続行」で破棄して新しい抽出を開始するか、「キャンセル」で戻って保存してください |