Claude Media
Claudeで卒論の参考文献と本文引用を点検する手順

Claudeで卒論の参考文献と本文引用を点検する手順

先行研究のPDFをClaudeのProjectsに溜め、卒論の本文引用と参考文献リストの食い違いを洗い出す手順。RAGで全文が読まれない場面の対処と、大学のAI利用規程の確認点も扱います。

卒論の提出直前に起きやすいのは、本文で引いたのに参考文献リストに無い論文と、リストにあるのに本文で一度も引いていない論文です。年号の食い違いやページ番号の取り違えも混ざります。ClaudeのProjectsに先行研究のPDFと自分の原稿を置けば、この突き合わせを下書き段階から何度でも回せます。

ただし、Claudeの指摘はそのまま信じられません。この記事では、指摘を「確かめる手がかり」として使うための置き方と聞き方を順に示します。最後に、大学のAI利用規程で先に確認しておく点もまとめます。

Projectsで引用点検をするとはどういうことか

Projectsは、チャット履歴とナレッジベース(知識ベース)を持つ独立した作業場です。アップロードした文書は、そのプロジェクト内のどのチャットからも参照されます。ただしプロジェクト内でも、チャットをまたいで共有されるのは知識ベースに入れた内容だけで、別のチャットでの会話は引き継がれません。

引用点検に向く理由は、先行研究のPDFを一度置けば、「この主張は誰のどの論文か」と何度でも聞き直せるからです。点検の対象は大きく3種類に分かれます。

点検対象

卒論の引用点検で見る3つの食い違い

  • 本文にあって一覧に無い

    (山田, 2020)と書いたのに、参考文献に山田の2020年の文献が無い状態です。

  • 一覧にあって本文に無い

    リストに載せた文献を、本文のどこでも引いていない状態です。

  • 書誌と内容の食い違い

    年・著者名の綴り・ページ番号が違う、または引いた主張がその論文に書かれていない状態です。

前の2つは書誌情報の照合で、機械的に確かめられます。3つ目だけが、PDFの中身を読む作業です。ここにClaudeの出番がありますが、確実さも一番低い部分です。

無料プランと有料プランで、置ける量が変わる

Projectsは無料アカウントでも使えます。無料プランで作れるプロジェクトは最大5つです。

有料プラン(Pro / Max / Team / Enterprise)では、知識ベースがコンテキストウィンドウの上限に近づくとRAGモードに自動で切り替わり、容量が最大10倍まで広がります。切り替えに設定は要らず、自分で入り切りを選ぶこともできません。

先行研究が30本、40本と増える卒論では、この違いが効いてきます。知識ベースの上限は「ファイルの数」ではなく、中身がコンテキストウィンドウに収まるかどうかで決まります。プロジェクトに置くファイルは、1ファイル30MBまでです。

条件知識ベースの扱い
無料プラン知識ベースの扱いコンテキストウィンドウに収まる範囲
有料プラン(小規模)知識ベースの扱い全文を読み込んで処理
有料プラン(上限に近い)知識ベースの扱いRAGモードで関連箇所を検索して処理

RAGモードで何が起きるか、点検の精度にどう響くか

RAGモードでは、Claudeは「project knowledge search」ツールで質問に関係する箇所だけを取り出します。知識ベース全体を毎回読み込むわけではありません。

ヘルプセンターは、RAGを有効にしても回答の質は文脈内処理と同程度だと説明しています。それでも、引用点検では次の2点を頭に置いておく必要があります。

  • 「リストの全文献が本文で引かれているか」のように全体を数え上げる質問は、検索で拾った断片だけでは数え間違えやすい
  • 「山田(2020)のこの主張は本当にある箇所か」のように、1本に絞った質問は検索と相性がいい

全体の数え上げと、1本ずつの内容確認では、勝手が違います。数え上げは次の節のように手元の台帳で行い、内容確認だけをPDFに向けると安定します。

RAGが働いているかどうかは、プロジェクトに表示されるインジケーターと、回答中にClaudeが検索ツールを使う様子で分かります。

手順1: 先行研究PDFの置き方を決める

置き方で精度が変わります。ヘルプセンターが勧めるのは、わかりやすいファイル名を付けること、関連する資料を同じプロジェクトにまとめること、質問のときに文書名を指定することです。

卒論では、次のようなファイル名の規則にしておくと、あとから「この1本だけ見て」と指定しやすくなります。

山田2020_習慣形成と学習.pdf
Smith2019_Habit_and_learning.pdf
鈴木2018_自己効力感の測定.pdf

書誌の「著者の姓 + 発行年」を先頭に置くと、本文の(山田, 2020)とそのまま対応づけられます。同じ著者が同じ年に2本あるときは、本文と同じく 2020a 2020b を付けます。

PDFの扱いについても、確認しておきたい点があります。

  • ページ数が100ページ以下のPDFは、本文テキストに加えて図表も解析される。101〜1000ページのPDFは、テキストのみ処理され、図表は見られない
  • プロジェクトのファイルは、テキスト抽出が基本(マルチモーダルPDFを除く)
  • ページを指定して聞くときは、PDFビューアに表示されるページ番号で伝える。論文の紙面に印刷されたページ番号とは、ずれることがある

最後のずれは、卒論の引用ページ(p.12)にそのまま響きます。紙面のページ番号で引いている場合は、「PDF上では何ページ目か」を最初に台帳へ書いておくと確認が早くなります。

文字を選択できないスキャンPDFは、そもそも文字として読めているかを先に確かめます。引用の仕組みとの関係はClaudeのCitationsでスキャンPDFを引用できない理由と回避策にまとめています。

手順2: 文献台帳と原稿を同じプロジェクトに置く

PDFだけを置いても、「リストと本文の突き合わせ」はできません。次の2つのファイルを足します。

  • 文献台帳(文献台帳.txt): 参考文献リストを1文献1行で書き、ファイル名と対応づけたもの
  • 原稿(卒論原稿.txt): 本文をテキストにしたもの

対応形式として、アップロードの案内にはPDF・DOCX・CSV・TXT・HTML・ODT・RTF・EPUB・JSON・XLSXが並びます。Markdownは一覧に無いため、台帳はプレーンテキストにしておくのが手堅い選択です。

台帳の1行は、たとえば次のような形にします。

[山田2020] 山田太郎・鈴木花子(2020)『習慣形成と学習』○○出版 | PDF: 山田2020_習慣形成と学習.pdf | PDF p.12 = 紙面 p.5
[Smith2019] Smith, J. (2019). Habit and learning. Journal of X, 12(3), 45-60. | PDF: Smith2019_Habit_and_learning.pdf

先頭の [山田2020] が、台帳・ファイル名・本文引用をつなぐ共通のキーになります。点検の指示を出すときも、このキーで呼べば取り違えが減ります。

Project instructionsで点検の約束事を固定する

プロジェクト指示(Project instructions)には、毎回書くと長くなる約束事を入れておきます。指示は、そのプロジェクトのすべてのチャットで効きます。

このプロジェクトは卒業論文の引用点検に使う。
- 文献台帳.txt の [キー] が文献の正本。原稿の引用はこのキーに読み替えて照合する。
- 内容の確認は、PDFから該当箇所を逐語で引用し、PDFのページ番号を添える。
- 該当箇所が見つからないときは「見つからない」と答える。推測で補わない。
- 台帳に無い文献の書誌は作らない。

「見つからないときは見つからないと答える」の一文が要です。推測で埋めた回答を避けるための歯止めです。指示を入れても保証にはならないので、次の手順の確認は必ず残します。

手順3: 本文と一覧の突き合わせを手元で確定させる

書誌の照合は、Claudeに任せなくても確実に取れます。手元のPythonで、原稿の(著者, 年)と台帳の(著者, 年)を機械的に比べてしまう方法です。

import re
 
body = open("卒論原稿.txt", encoding="utf-8").read()
refs = open("文献台帳.txt", encoding="utf-8").read()
 
def first_author(s):
    s = re.split(r"[・&&、,]| et al| ほか", s.strip())[0]
    return s.strip()
 
# 本文: (山田・鈴木, 2020, p.12)や (Smith et al., 2019) を拾う
cited = {
    (first_author(a), y)
    for a, y in re.findall(r"[((]([^()()]+?)[,、]\s*(\d{4}[a-z]?)", body)
}
# 台帳: 行頭の [キー] を読み飛ばし、「山田太郎(2020)」「Smith, J. (2019)」の形を拾う
listed = {
    (first_author(a), y)
    for a, y in re.findall(r"^(?:\[[^\]]+\]\s*)?(.+?)[\s ]*[((](\d{4}[a-z]?)[))]", refs, re.M)
}
 
def match(x, pool):
    # 本文は姓だけ、一覧はフルネームのことがあるので前方一致で見る
    return any(
        x[1] == p[1] and (x[0].startswith(p[0]) or p[0].startswith(x[0]))
        for p in pool
    )
 
print("本文にあるが一覧に無い:", sorted(c for c in cited if not match(c, listed)))
print("一覧にあるが本文で引かれていない:", sorted(r for r in listed if not match(r, cited)))

台帳の行頭にある [山田2020] のキーは読み飛ばし、その後ろの「著者(年)」だけを拾います。| PDF: … の付記は著者と年の抽出に影響しません。これは(著者, 年)形式の引用を前提にした簡易版です。番号方式や脚注方式の卒論では、正規表現を書式に合わせて書き換えます。手順2の台帳2行と、本文例「(山田・鈴木, 2020, p.12)」「(Smith et al., 2019)」を入れて試すと、2つの出力はどちらも空のリストになります。自分の原稿でも、検出が漏れていないかをまず小さな例で試してください。

この出力を見ても分かるとおり、「あるか無いか」の判定は機械のほうが速く、数え間違えがありません。Claudeには、その結果をもとに次のことを頼みます。

次の2つの食い違いが見つかった。原因の候補を挙げてほしい。
- 本文にあるが一覧に無い: (佐藤, 2018)
- 一覧にあるが本文で引かれていない: 田中2021
原稿の該当箇所を示し、表記ゆれ(姓の綴り・年)の可能性があるかも見てほしい。

原因の多くは、姓の綴りの揺れ、同年の文献のa/b付け忘れ、書き換えの途中で消した引用の消し残しです。Claudeには、原稿の該当箇所の提示と、揺れの可能性の指摘を任せます。リストに載せるかどうかを決めるのは、自分です。

手順4: 引用した主張がPDFにあるかを1本ずつ確かめる

最も手間がかかる確認です。Claudeにまとめて頼むより、1文献ずつ区切るほうが安定します。RAGが働いていても、文書名を指定すれば検索の焦点が絞られます。

原稿の次の文は[山田2020]を根拠にしている。
「習慣形成には平均66日かかるとされる(山田・鈴木, 2020, p.12)」
山田2020_習慣形成と学習.pdf から、この主張の根拠になる箇所を逐語で引用してほしい。
PDFのページ番号も添えること。見つからなければ「見つからない」と答えること。

返ってきた引用は、次の順で自分で確かめます。

  1. 示されたページを、PDFビューアで開いて目で読む
  2. 逐語引用が、PDFの文面と一字一句合っているかを見る
  3. 主張の言い回しが、原文より強くなっていないかを見る
  4. 紙面のページ番号に直して、台帳の対応表と照らす

3番目は、卒論で一番指摘されやすい点です。原文は「傾向がある」なのに、本文では「である」と書いてしまう型の食い違いです。Claudeには、「原稿の主張と、引用箇所の強さを比べて、言い過ぎている箇所を挙げて」と頼めます。

逐語引用が返ってきても、それを信じ込まずに確認する理由は2つあります。1つ目は、RAGの検索が別の箇所を拾っていたとき、近い内容の別の段落を引用として返す可能性があること。2つ目は、PDFの抽出テキストと画面表示で、改行や数式が崩れることがあることです。

孫引き(他の文献に引かれた文を、元の文献を読まずに引くこと)が疑われる箇所も、同じ手順で確かめられます。「この文は[山田2020]自身の主張か、それとも山田が別の文献から引いた文か」と聞いて、脚注や引用の注記を見せてもらうやり方です。原典が手元に無いなら、卒論では孫引きだと明記するのが一般的です。

作業が止まったときの切り分け

症状考えられる原因確かめること
「見つからない」が続く考えられる原因文書名の指定ミス、スキャンPDF確かめることファイル名を正確に書く。PDFの文字が選択できるか見る
引用のページ番号が合わない考えられる原因PDFと紙面のページのずれ確かめること台帳に対応表を書き、PDFのページで聞く
全体の件数が毎回違う考えられる原因RAGの検索が断片しか拾っていない確かめること件数は手元のスクリプトで数える
ファイルが入らない考えられる原因1ファイル30MBを超える確かめること分割する、または別のPDFを軽量版にする

大学のAI利用規程で、先に確認しておくこと

ツールの使い方より先に、ゼミと大学の決まりを確かめます。卒論の指導は、学部や研究室ごとにAIの許容範囲が違うためです。

確認する点は次のとおりです。

  • 大学や学部の生成AI利用規程で、卒論での利用が許されているか、どの範囲までか
  • 指導教員が、AIで引用を点検することに同意しているか
  • AIを使った場合に、利用の申告や記録が求められていないか
  • PDFをクラウドのサービスに上げることが、情報の取り扱いで問題にならないか

先行研究のPDFには、図書館や出版社との契約で閲覧しているものが含まれます。契約によっては、外部サービスへのアップロードが想定されていない場合もあります。規程が見つからないときは、教員か図書館に聞くのが近道です。

国の通知を大学の規程にどう落とし込むかは、文科省の大学向け生成AI通知を大学のClaude利用ポリシーに落とし込むで扱っています。

自分の考察や主張の文章そのものをClaudeに書かせることは、点検とは別の問題です。点検は「自分が書いた引用が、正しい根拠に結びついているか」を確かめる作業で、論の中身は自分で書きます。

読書メモの置き場とは分けて作る

読書メモ用のプロジェクトがすでにあるなら、卒論の引用点検は別のプロジェクトに分けたほうが整理しやすくなります。読書メモは感想や要約を溜める場所で、引用点検では書誌と原稿の対応が主役になるためです。読書メモの置き方はClaudeで読書メモをプロジェクトに溜めて検索する方法で扱っています。

Team / Enterpriseプランなら、プロジェクトを他のメンバーと共有できます。ゼミ共有のプロジェクトにすると、先行研究のPDFを仲間と持ち寄れますが、指導教員の方針や個人情報の扱いは、共有前にそろえておきます。

まとめ

引用点検は、機械で確定できる部分と、人が読んで確かめる部分に分けるとうまく回ります。書誌の照合は手元のスクリプトに、PDFの内容確認は1文献ずつClaudeの逐語引用に頼り、最後の判断は自分の目で行います。

RAGは、先行研究が多いときに自動で働く仕組みです。全体の数え上げには向かず、文書名を指定した個別の確認には向く、と覚えておくと、聞き方を間違えにくくなります。

この記事を共有:XはてブLinkedIn