Vibe CodingでRoB評価ツールを作成する

Vibe Coding というのは、プログラミング言語に則ってコードを入力してプログラムを作成するのではなく、プログラムの目的、機能や構成、変数、データ処理法、結果の表示法などを指定してAIにプログラミングさせることです。プログラム作成者は自分でプログラムを書く必要はありません。プログラミングの知識がある人ならスピーディーに効率的に様々なアプリケーションを作成することができます。

Google Gemini Proを使って Cochrane RoB2 for Cluster Randomized Trialsのガイダンスに従ったバイアスリスクの評価をするHTML-JavaScriptのツールを作成してみました。

ガイダンスのPDFファイルはこちらのサイトからダウンロードすることができます: URL https://sites.google.com/site/riskofbiastool/welcome/rob-2-0-tool/rob-2-for-cluster-randomized-trials

ダウンロードしたこのガイダンスのPDFファイルをGemini AIに読み込ませ、評価したい論文のPDFファイルをアップロードして評価させるという手順です。

標的論文のPDFは左側のパネルに画像として表示され、それぞれのドメインでAssessボタンをクリックして解析結果が表示されるようになっています。

URL https://stat.zanet.biz/sr/rob2-cluster.htm

Domain 1の評価結果はSome concernsで、上部にが表示されている。

それぞれのドメインの評価には2〜3分の時間を要します。一つのドメインが終わってから次のドメインの評価へと順番に進めていきます。最後にサマリーの評価を行います。結果はDocファイルとしてダウンロードすることができます。◯で表示される評価結果はCopyボタンで、数値データ(0, -1, -2)としてExcelシートに貼り付けられます。

論文の画像の中には、その根拠となる引用箇所にマークが付けられます。そのマークをクリックすると、判定とともに引用箇所の文章が表示されます。1ページごとに画像ファイルとして、後でまとめて記録のためにダウンロードして保存しておくことができます。

このツールを使うためにはGemini API Keyを設定する必要があります。Settings のメニューの中に Google AI Studio へのリンクがあるので、そこで API キーを発行してそれをコピーして貼り付けて使います。APIキーを設定したら、Usabel Gemini modelsをクリックし、モデル一覧からgemini-2.5-proを設定し、WebページのHTMLをダウンロードして保存し、以後はそのファイルを開いて使用します。APIキーは最初は無料枠で利用して、必要になったらTier 1の有料コースにアップグレードすればいいと思います。

引用文献のPMIDをPubMedを参照して調べる

論文の引用文献のフォーマットは様々で、PMIDとDOIが書かれていて、HTMLまたはPDFの場合はそれらにアクティブなリンクを設定してある場合もあります。PMIDが書かれていれば、それをPubMedで検索することで該当論文のAbstractを表示させることができますし、クリックするとその論文のAbstractを表示するURLのリンクを作成することもできます。

例えば、JAMAの論文のPDFをEdgeで開いて、引用文献の部分を1件だけコピーして貼り付けると以下の様になりました。JAMAのPDFの場合は、ジャーナル名以下のテキスト部分は青字でPubMedの該当論文へのリンクが設定されているので、その部分をクリックするとその論文のAbstractを表示することができます。PMIDが書かれていなくても、確認することができます。

  1. Nishihara R, Wu K, Lochhead P, et al. Long-term
    colorectal-cancer incidence and mortality after
    lower endoscopy. N Engl J Med. 2013;369(12):1095-
    1105.

さて、引用文献にPMIDが書かれておらずリンクも設定されていない場合、あるいは印刷物の場合、どのようにしてそれを調べたらいいでしょうか?いくつかの方法が考えられます。

方法1:
マニュアルで、著者名3名+[au]、タイトルの語句3つ+[ti]、ジャーナル名+[ta]、年度[dp]をANDで結合してPubMedを検索する。

例えば、上記の文献であれば、nishihara[au] AND wu[au] AND lochhead[au] AND n engl j med[ta] AND 2013[dp]でPubMedを検索すると、PMID: 24047059の該当文献のAbstractを表示することができます。

ブラウザーのURLアドレスを書き込むフィールドにhttps://pubmed.ncbi.nlm.nih.gov/?term=nishihara[au] AND wu[au] AND lochhead[au] AND n engl j med[ta] AND 2013[dp]と書き込んでEnterキーを押しても該当文献のAbstractを表示することができます。つまり、https://pubmed.ncbi.nlm.nih.gov/?term=以降に検索式を書いてブラウザーで検索を実行させることで、PubMedが開かれ検索結果が表示されます。

方法2:
さらに、PubMedのE-utilitiesを利用することでもPMIDを得ることができますが、それを利用して検索式を作成し、PubMedからPMIDを得るウェブツールを作成してみました。PubMed PMID Searchと言います。URL: https://stat.zanet.biz/sr/get_pmid.htm

このウェブツールを使う方法ですが、書誌情報の内、著者名、タイトル、ジャーナル名、年度のデータを抽出して上記のように検索式を作成し、PubMedのE-utilitiesでPMIDの情報を引き出し、リンクを提示します。

下のフィールドにサンプルのような形式で必要な情報を書き込んで、Get PMIDボタンをクリックするとボタンの下にPMIDがリンク付きで表示されます。著者名はコンマ区切りで、イニシャルを含めても含めなくてもよく、最後はピリオドで区切りを入れる;タイトルからできるだけ特徴的な語句を3つ程度スペースで並べ最後はピリオドで区切りを入れる;ジャーナル名はフルスペルでも短縮形でもいいがPubMedで用いられている形式で記述しスペースで区切って年度を続ける、というような形式で書き込みます。

上記のNishihara R 2013の例であれば、nishihara, wu, lochhead. colorectal cancer incidence. n engl j med 2013 と書き込んでGet PMIDをクリックするとリンク付きのPMIDがGet PMIDボタンの下に書き出されます。

また、以下の様なフォーマットの書誌情報でもOKです。
Dinubile MJ, Lupinacci RJ, Berman RS, Sable CA: Response and relapse rates of candidal esophagitis in HIV-infected patients treated with caspofungin. AIDS Res Hum Retroviruses 2002;18:903-8.

ジャーナルごとに様々なフォーマットが使われているので、今の所すべてに対応はできていませんが一か所を変えるだけで解読できる場合もあります。例えば、PubMedで一つの文献のAbstractを表示している状態で、Citeボタンから、AMAのフォーマットで文献情報をコピーできますが、このフォーマットの場合は、ジャーナル名の最後のピリオドを削除するだけで、解読できます。

複数の文献を参照したい場合は、各文献情報の最後に改行を2つ入れるようにしてください。

検索式に該当する文献が2つ以上ある場合、並べてPMIDが表示されるので、それらをクリックしてAbstractを表示して目的の文献を確認してください。

論文のPDFファイルの引用文献からテキストをコピーし上のフィールドに貼り付けて、形式を整えて、PMIDを得ることも可能です。

方法3:
画像として、文献情報をSnipping toolで取り込み、それを貼り付けて、OCRで文字情報に変換してからPMID情報を得る方法です。

たとえば、以下の文献情報は論文のPDFファイルの文献リストから得た画像です。

これをPubMed PMID Searchの上のフィールドをクリックして、Ctrl+Vで貼り付けます。あるいは、右クリックしてドロップダウンメニューから貼り付けを選んでも同じことができます。すると、上のフィールド内に画像がスケーリングされて表示され、すぐOCRで文字情報に変換され、下のフィールドに出力されます。OCRの精度は100%ではないので、マニュアルで修正が必要になることも多いです。

そのままでGet PMIDをクリックすると、この例ではnot foundあるいはnot parsedとなってしまいますので、マニュアルで少し修正します。ジャーナル名+スペース+年度にします。文献31はジャーナル名が改行されているので、これも修正し、ジャーナル名で短縮形にピリオドが使われているのも削除します。以下の図の様に修正したところ、3文献のPMIDが得られました。PMIDの部分をクリックすると各文献のAbstractをPubMedで表示することができます。

Get PMIDをクリックして、テキスト情報から検索式をうまく作れない場合は、not parsedと表示されます。PubMedを検索してもヒットしない場合はnot foundと表示されます。このような場合は、OCRで文字情報に変換する際に間違っている場合もありますし、ジャーナル名に今回の様にピリオドが入っているようなフォーマットの違いの場合などもあります。エラーを修正し、形式を整えれば、PMIDが得られるはずです。

以上文献情報からPMIDを調べる方法を紹介しました。

さて、PubMed PMID Searchは上のフィールドに文章を含む画像を貼り付けると、OCRで文字情報に変換しますが、英語と日本語に対応しています。OCRの機能はGoogleのTesseract.jsを利用しています。