論文調査における検索とRAG,翻訳の使い分け
概要
(1)検索,(2)RAG,(3)翻訳の順序で道具を使うことにより,文献を探し,絞り込み,読み込む労力を抑える.
https://scrapbox.io/files/68f07599398c39f2c66f077e.png
イメージ図(サンキー・ダイアグラム)|ChatGPT Canvas リンク
手順
1. 検索ツールを用いて文献リストを作成し,読みたい文献をリスト化
ツールで検索
例1)研究グループのリリースを確認
例2)Google Scholarなどで検索
例3)ChatGPTに検索依頼
内容違いなどのハルシネーションは次で弾くので,ここでは気にしない
興味を惹かれなかったものは読まない
検索結果から読みたいものはRAG対象とする
2. RAG(NotebookLM)で位置付けを把握
目的(問題意識),新規性,限界,分野への貢献などを把握
具体的な引用関係やデータなどのハルシネーションは次段階で詰めることとして,ここでは許容する
興味に適合しないものは除外
3. 全文を参照して詳細を確認
先行研究や実験条件,結果,考察などを確認
対訳生成ツールを用いて,翻訳と対応した原文を同時に参照する
具体例
ChatGPTで検索した論文の絞り込み
ーーー
イメージ図の生成プログラム
Claude Artifactとして生成後,ChatGPT Canvasで微調整
code:jsx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>文献調査プロセスのフロー(Sankey, Plotly)</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="https://cdn.plot.ly/plotly-2.32.0.min.js"></script>
<style>
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background: linear-gradient(135deg,#f9fafb,#eef2f7); margin:0; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 2rem; }
.card { background:#fff; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.06); padding: 2rem; }
h1 { margin: 0 0 .5rem; font-size: 28px; text-align:center; color:#1f2937; }
#plot { width: 100%; height: 520px; }
</style>
</head>
<body>
<div class="wrap">
<div class="card">
<h1>文献調査プロセスのフロー</h1>
<div id="plot"></div>
</div>
</div>
<script>
const data = [{
type: 'sankey',
orientation: 'h',
node: {
pad: 60,
thickness: 25,
line: { color: 'white', width: 2 },
label: [
'研究グループリリース',
'Google Scholar',
'ChatGPT検索',
'RAG分析',
'RAG対象としない',
'全文精読',
'全文精読しない'
],
color: [
'#3498db', '#3498db', '#3498db',
'#3498db', '#cccccc', '#3498db', '#cccccc'
]
},
link: {
source: 0, 1, 2, 0, 1, 2, 3, 3,
target: 3, 3, 3, 4, 4, 4, 6, 5,
value: 7, 45, 18, 3, 15, 12, 30, 40,
color: [
'rgba(52, 152, 219, 0.3)',
'rgba(52, 152, 219, 0.3)',
'rgba(52, 152, 219, 0.3)',
'rgba(204, 204, 204, 0.5)',
'rgba(204, 204, 204, 0.5)',
'rgba(204, 204, 204, 0.5)',
'rgba(204, 204, 204, 0.5)',
'rgba(52, 152, 219, 0.4)'
],
hovertemplate: '<b>%{source.label}</b> → <b>%{target.label}</b><br>件数: %{value}<extra></extra>'
}
}];
const layout = {
font: { size: 13, family: 'system-ui, -apple-system, sans-serif' },
margin: { l: 10, r: 10, t: 10, b: 10 },
paper_bgcolor: 'rgba(0,0,0,0)',
plot_bgcolor: 'rgba(0,0,0,0)'
};
const config = { responsive: true, displayModeBar: false };
Plotly.newPlot('plot', data, layout, config);
</script>
</body>
</html>