タグ別アーカイブ: 研究指導

論文ページからワンクリックでTeamsに共有できるChrome拡張を作った(というかほぼClaudeに作ってもらった)

はじめに

矢野雅貴さん(@masayano_)がXで「Claudeにお願いしたら,ジャーナル論文のウェブサイトでクリックするだけで,タイトルや簡単な概要・解説を研究室のDiscordに投稿するアドオン作れた」と投稿されていて,これめちゃくちゃ便利やんと思いました。

私はゼミではDiscordではなくTeamsを使っているので,Teamsで同じことができないかと試してみたところ,できました。Gemini APIの無料枠を使えば,論文の日本語解説まで自動生成して一緒に投稿できます。とはいえ,ウェブで取ってこれる情報に依存するので,論文全体を読んでの解説ができるものとできないものに分かれるのかなとは思います。「解説」は今の段階ではアブストの日本語訳って感じですね。

コードはGitHubに公開しています。

https://github.com/tam07pb915/paper-to-chat

完成イメージ

論文ページで拡張のアイコンをクリックすると,こんな感じのポップアップが出ます。

拡張のポップアップ画面(論文情報が表示された状態)

「投稿する」を押すと,TeamsのチャンネルにGeminiが生成した日本語解説付きで投稿されます。数秒かかりますが,Geminiが解説を生成しているのでしょうがないです。

Teamsに投稿された結果(解説が途中で省略されます)
Teamsに投稿された結果(詳細表示後はこうなります)

仕組み

やっていることはシンプルで,Chrome拡張が論文ページからメタデータ(タイトル,著者,DOIなど)を抽出して,Gemini APIで日本語解説を作って,Power AutomateのWebhook経由でTeamsに投稿する,という流れです。Highwire Press標準の citation_* メタタグに対応しているので,PubMed,Wiley,ScienceDirect,JSTAGE,CiNiiあたりはだいたい動くらしいです(あまりよくわかっていない)。

セットアップ

1. Chrome拡張のインストール

GitHubからZIPをダウンロードして解凍したら,chrome://extensions/ を開いてデベロッパーモードをONにし,「パッケージ化されていない拡張機能を読み込む」から解凍したフォルダを選ぶだけです。インストールできたら,アドレスバー右のパズルアイコンからピン留めしておくと使いやすいです。

2. Power Automateの設定(ここが一番面倒)

ここが一番の沼でした。2025年末にTeamsの旧Incoming Webhook(コネクタ方式)が廃止されていて,「to be retired」と表示されているのに新規追加しようとしてもできないようでした。Power Automate経由にするしかないんですね,今は。これも時間が経つと変わるかもです。

Power Automateにアクセスして,「インスタント クラウド フロー」を作成,トリガーに「Teams Webhook 要求を受信したとき」を選びます。

トリガーの下にアクションを追加して,「チャットまたはチャネルでメッセージを投稿する」を選択。投稿先のチームとチャンネルを設定して,メッセージ欄には fx(式)タブ から triggerBody()?['message'] と入力します。ここは⚡(動的コンテンツ)タブではなくfxタブです。最初そこで詰まりました。

保存したら,トリガーを展開してHTTP URLをコピーします。これがWebhook URLになります。

もう一点ハマったのが認証の話で,トリガーの認証設定が「すべてのユーザー」になっていないと拡張からの投稿がエラーになります。OAuth認証が求められる場合はトリガーの設定で認証を外してください。

あと,Power Automateには「カードを投稿する」(Adaptive Card)というアクションもあるんですが,外部からのJSONに対する制約が厳しくて何度もエラーが出たので,「メッセージを投稿する」のほうを使うのが無難らしいです。

私はブラウザ版Teamsを使っていますが,デスクトップ版でも「…」メニューに「ワークフロー」が表示されなかったので,そういうときはPower Automateに直接アクセスして設定したほうが早いとClaudeに言われてこういうめんどくさいことをやりました。

3. Gemini APIキーの取得(無料,カード不要)

Google AI StudioにGoogleアカウントでログインして,「Create API Key」をクリックするだけです。無料枠が1日1,500リクエストまであるらしく,論文共有に使う分には全く問題ないと思います。

4. 拡張の設定

拡張のアイコン → ⚙ (歯車アイコン)設定を開いて,Webhook URLとGemini APIキーを貼り付けて,「Gemini APIで解説を自動生成」をONにして保存します。解説不要で素早く投稿したい場合はこれをOFFにすれば即投稿されます。

研究室での使い方

これはTeamsの使い方に依存すると思います。みんなが見れるチャンネルに情報共有的な意味合いで論文貼るみたいなことだと,全体のチャンネルに投稿することになるでしょう。私は,自分含めて学生の名前のついた個別のチャンネルを作って,そこに自分の研究の進捗だとかメモだとかそういうのを書き込んでいくという方針でやろうと思っています。私のチャンネルがあるのは,自分が率先して「思考をみんなが見れる場所に投稿していく」というモデルになれればという気持ちです。そういうわけで,私の個人チャンネルに投稿できるような設定にしました。もちろん,院生にも同じ拡張をインストールしてもらって各自のWebhook URLを設定すれば,院生が自分用メモとして自分のチャンネルに投稿できるようになります。文献共有の専用チャンネル作って各自がそのチャンネルのWebhook URLを共有して設定すれば,輪読候補の論文ストックとして扱うみたいなこともできるのかもしれません。「面白い論文見つけたけどそれをとりえあずどこかにストックしておくのが面倒」という摩擦を下げるのが目的なので,そこは運用してみないとわかりません。ちなみに,論文自体はZoteroとNotionDBを連携して学生にはそちらにストックしていくように指導にしようと思っているので,そういう意味では今後やってみて運用方針を変える可能性は大いにありそうです。

おわりに

矢野さんのアイデアはDiscord + Claude APIでしたが,Teamsに合わせてPower Automate経由にして,コスト面からGemini APIに差し替えました。アイデアをシェアしてくださった矢野さんに感謝します。

Chrome拡張を更新(リロード)した後は論文ページもF5で再読み込みしないとcontent scriptが再注入されないので注意です。これも地味に引っかかりました。

コードはGitHubに公開しています。改善提案やPull Requestも歓迎です。

GitHub: https://github.com/tam07pb915/paper-to-chat

なにをゆう たむらゆう

おしまい。

博士号の要件としての査読付き論文

はじめに

以前書いた,以下の記事に少し関連する話です。

いや,関連しないかもしれません。タイトルに書いたように,博士論文(博士号)と査読付き論文の関係についての話です。ググったところ,以下のような記事も見つけました。

博士号取得に査読付き論文は必要か否か

査読付き論文の「求められ方」

博士号取得の要件として,何らかの学術的業績(典型的には査読付き論文がX本,といったもの)が求められる場合,それが博士論文それ自体を構成する一部になっているかどうかということと,そういうものとは独立しているかどうかが一つ分かれ道になるのかなとなんとなく思います。

そして,博士論文研究の一部が外部の査読付き学術誌に公刊されていること,というのは,博士論文研究それ自体のクオリティを担保することなるというロジックからの制度設計なのかなと思います。

一方で,博士論文研究との関わりが必ずしも明示されない場合,それは博士論文研究のクオリティとは別に,「博士号取得者」としての適格性を判断する要素としての学術業績を求めているということなのかなと個人的には理解しています。

ちなみに,私の所属先は前者のパターンです。一方で,私自身が博士号を取得したときは後者のパターンでした。よって,私の博士論文を構成する主要な実験研究2本は,博士号取得後に就職してから学術誌にそれぞれ独立した研究として投稿して採択されました。博士課程時代に筆頭著者の査読付き論文はおそらく5本だったと思いますが,そのどれもが博士論文研究とは関係のないものでした。

博士論文が査読付き論文から構成されているときに起こり得る問題

博士論文研究の一部が査読付き論文で構成されているということは,一見,その研究の質がある種外部査読というシステムによって担保されているという見方ができそうです。一方で,査読付き論文といってもその中身には当然のことながらばらつきが多く見られます。ジャーナルのランキングのようなものを持ち出すまでもなく,です。先行研究として世の中に存在する査読付き論文はすべて正しいという前提で研究を進めていくことができないのと同じように,博士論文の一部が査読を通過した論文に基づいたものであっても,見る人が変わればその評価は変わる可能性があると私は思います。

人によって評価が変わるなんてそんな属人的な基準で評価されたら博士号を取得しようともう人も「たまったもんじゃない」と思うでしょうね。しかしながら,そもそも査読というシステムは完璧でもなんでもありませんし,限界があります。仮に同じ「国際誌」という名前で括られるジャーナルでも,査読の厳しさが違いますし,同じ雑誌でも,査読する人が違えば通ったり通らなかったりすることは普通にあります。むしろ,そこは運の要素もあるでしょう。もちろん,学生の立場にたてば,複数回の査読のやりとりがあり,審査に時間もかかる国際誌に掲載するハードルが高いことは間違いないでしょう。しかも,そこを博士課程在籍中に超えていくことを奨励しているのだから,そして,なおさらそれを超えたのだから,それがそのまま博士論文の研究を前に進めることに繋がっているという感覚になって当然だと思います。

しかしながら,ある研究が査読付き論文に掲載されている,ということは,博士論文の審査とは別のモノとして考えるべきだと私は思っています。少なくとも私が審査をする側の立場にたったと仮定して,その研究が業界のトップジャーナルに掲載されていたら審査の基準が緩くなるとか,あるいは「まあここはざっくり流して読めばいいか」みたいになるかと言われると,絶対にそうはならないと思います。専門的なところのドメイン知識が要求されるところは一旦置いておいて,次のようなところを考えながら読むでしょう。

  • 書いてあることの曖昧性がないかどうか(Aという解釈でも読めるしBという解釈でも読めるみたいなことがない)
  • 基本的なロジック(論理関係)の破綻がない
  • 因果推論に対して慎重である

上の3つのどこかで引っ掛かれば,その研究が査読付き論文として公刊されているかどうかには関係なくコメントつけますし,それが改善されないのなら改善されるまで私は「納得」しないと思います。

自分が審査の立場になるということは,それすなわちそれがレコードとして一生残り続けるということです。ブラインドの向こう側にいる査読者とはそういう意味で立場が違うのです。もちろん,昨今では査読者が身分を明かした状態で査読を行うジャーナルもありますし,査読プロセス自体はブラインドでも,あとから査読のレコードをオープンに公開するジャーナルも出てきています。それでも,まだまだダブルブラインドまたはシングルブラインドの査読の方が多いでしょう(少なくとも私の経験している範囲ではそうだと思います)。

また,査読者が担保するのは,広い意味では学術界の研究の質担保ですが,もう少し狭い視野ではジャーナルの質を守っています。つまり,同じ査読者でもジャーナルが違えば当然審査の基準も(場合によっては観点も)違うわけです。それぞれのジャーナルがそれぞれのスタンダードを持っていますからね。一方で,学位論文の審査員は,自分の所属機関(外部審査であれば依頼を受けた先の機関)が授与する学位の質の責任を負っているわけです。それを「他のジャーナルが認めたから」という理由で,博士論文審査の基準を動かすようなことをすれば,自分たちの機関では学位に値するかどうかを審査できないという宣言にもなりかねません。

おわりに

この記事は,査読付き論文が学位審査の要件になる際に,個人的に感じた問題点を書きました。査読付き論文そのもの自体を否定したいわけではまったくなく,博士論文の審査と学術誌の査読は役割が違うのではないかというのが私の今の段階での考えです。では,博士論文の審査において実際に問われているものは何なのでしょうか。また,査読付き論文が博士論文の一部になるような要件として課されている場合に,その経験は博士論文のどの側面の保証として機能しうるのでしょうか。このあたりについては,また機会があれば改めて考えてみたいと思います。

なにをゆう たむらゆう

おしまい。