Zotero-arXiv-Dailyは、Zoteroの文献ベースに関連するお勧めのarXiv論文を、GitHub Actions経由で研究者が自動的に取得できるように設計されたオープンソースツールです。ユーザーはGitHub上でプロジェクトをフォークし、ZoteroのAPIキーとメールサービスを設定するだけで、自分の研究関心にマッチした新しい論文のリストを毎日受け取ることができる。このツールは、Zoteroリポジトリ内の文献を分析することで、AIを使って論文の要約(TL;DR)を生成し、関連性でソートされた推薦結果をユーザーのメールアドレスに送信する。このプロジェクトはGitHub Actionsの公開リポジトリ枠内で無料で実行され、ソフトウェアの追加インストールも必要ないため、アカデミック・フロンティアを追跡する必要のある研究者に適している。
機能一覧
- arXivから新しい論文を自動的に取得し、ユーザーのZoteroライブラリーの内容に基づいて関連論文を推薦する。
- AIを使用して各論文の短い要約(TL;DR)を作成し、迅速なスクリーニングを容易にした。
- AI、コンピュータビジョン、自然言語処理などのカスタムarXiv論文カテゴリーをサポート。
- GitHub Actionsを毎日自動実行し、おすすめ論文をユーザーのメールボックスに送信。
- medRxivからの医学分野の論文取得をサポート(関連する環境変数の設定が必要)。
- デバッグモード(Test-Workflow)が用意されており、いつでも一定数の論文を取り出すことができる。
- 推奨結果は、論文がZoteroライブラリに追加された時期を考慮し、関連性でソートされています。
- 無関係な推薦を避けるために、不要なZotero文献コレクションのフィルタリングをサポート。
ヘルプの使用
インストールと設定
Zotero-arXiv-DailyはGitHub Actionsを通じて動作し、ローカルにソフトウェアをインストールする必要はありません。詳しい設定方法は以下の通りです:
- フォーク倉庫
インタビューhttps://github.com/TideDr/zotero-arxiv-daily
GitHubアカウントにリポジトリをコピーするには、右上の「Fork」ボタンをクリックします。<你的用户名>/zotero-arxiv-daily
フォームは存在する。 - ZoteroのAPIキーを取得する
- Zoteroのウェブサイト(
https://www.zotero.org
)、"Settings "ページに進む。 - API Key "セクションで、読み取りアクセスを確実にするために新しいAPIキーを生成する。
- 生成されたキーをコピーし、後で使用するために保存します。
- Zoteroのウェブサイト(
- GitHub アクションの環境変数を設定する
- フォークリポジトリに行き、「設定」>「秘密と変数」>「アクション」>「新規リポジトリ秘密」をクリックします。「新しいリポジトリの秘密」をクリックします。
- 以下の環境変数を追加する:
ZOTERO_USER_ID
あなたのZoteroユーザーIDは、Zotero Settingsで確認できます。ZOTERO_API_KEY
前のステップで生成したZotero APIキー。ARXIV_QUERY
対象のarXiv論文のカテゴリーを "+"で連結したもの。cs.AI+cs.CV+cs.NLP
(カテゴリーの略称はarXivのウェブサイトを参照)。SMTP_SERVER
メールボックスのSMTPサーバーアドレス(例:Gmailの場合)smtp.gmail.com
).SMTP_PORT
SMTPポート番号(例:Gmailの場合)587
もしかしたら465
).SENDER_EMAIL
メールの送信先メールアドレス。SENDER_PASSWORD
メールボックスのSMTPサービスの認証パスワード(注:Gmailは「アプリケーション固有のパスワード」を使用する必要があります。)RECEIVER_EMAIL
推薦結果を受け取るメールアドレスMAX_PAPER_NUM
TL;DRの生成には時間がかかるため、5~10件に設定することをお勧めします。- オプションだ:
MEDRXIV_DAYS
歌で応えるMEDRXIV_SUBJECTS
medRxivの論文推薦を可能にするために使用されます。
- すべての変数を保存する。
- GitHub アクションを有効にする
- Forkリポジトリの "Actions "タブに行き、ワークフローを有効にする。
- デフォルトでは、マスターブランチ (
main
ワークフローSend-emails-daily
毎日自動的に実行され、前日に投稿された新しい論文を検索する。 - 手動でトリガー可能
Test-Workflow
固定5本の推薦を得るためのデバッグ。
- ログのチェック
- アクション」タブでワークフロー実行ログを確認する。週末や祝日に新しい論文がない場合、ログに「No new papers found」と表示されることがあります。
主な機能
- 日刊紙のおすすめ
このツールは、SentenceTransformerモデル(デフォルト)を使って、Zoteroライブラリーのアブストラクトを基に、arXivのAtomフィードから毎日新しい論文を取得する。avsolatorio/GIST-small-Embedding-v0
)が関連性を計算する。レコメンデーション結果はスコア順にソートされ、論文タイトル、著者名、アブストラクト、AIが生成したTL;DR、設定されたメールアドレスへのダウンロードリンクが含まれます。メールの内容はHTML形式で整理され、各論文の情報が明確に表示されます。 - AIがTL;DRを生成
各論文のTL;DRは、大規模な言語モデルによって生成され、1論文あたり約70秒かかります。TL;DRへのアクセスはMAX_PAPER_NUM
TL;DRは、ユーザーが深く読む必要があるかどうかを素早く判断できるように、論文の核となる内容を簡潔に要約する。 - medRxivをサポートする
を設定する。MEDRXIV_DAYS
(例7
(過去7日間を示す)とMEDRXIV_SUBJECTS
(例Clinical Research
)、medRxivから医学論文を取得することができる。レコメンデーション結果は、読みやすいようにソース(arXivとmedRxiv)ごとにグループ化されてメールに添付される。 - デバッグモード
Test-Workflow
ユーザーはいつでもワークフローを実行し、設定が正しいかどうかをテストするために5つの固定論文を取得することができます。実行結果はメールアドレスに送信され、ログはGitHub Actionsで閲覧できる。
ほら
- 推薦の精度を高めるために、Zoteroライブラリに十分な論文(特に抄録を含むもの)があるようにする。
- SMTPコンフィギュレーションは正確である必要があり、セキュリティの問題を避けるために、頻繁に使用されない電子メールアカウントを使用することをお勧めします。
- 定期的にForkリポジトリをチェックし、上流の更新をマージする(
TideDra/zotero-arxiv-daily
を参照)。 - GitHub Actionsの公開リポジトリには実行時間の制限があります。
MAX_PAPER_NUM
(例:5)。
アプリケーションシナリオ
- アカデミックな研究者がこの分野の発展を追う
研究者はこのツールを使って、自分の研究の方向性(AIや物理学など)に関連する新しい論文のレコメンデーションを毎日受け取ることができ、手作業でarXivを閲覧する時間を節約し、最新の研究進捗状況を素早く理解することができる。 - 文献レビューの準備
大学院生は、このツールを使って関連分野の最新論文を収集し、AIが生成したTL;DRと組み合わせることで、論文執筆やレビューの準備に役立つ貴重な文献を素早く選別することができる。 - 学際的研究者のための拡張リーディング
学際的な研究者は、複数のarXivカテゴリーを設定することができる(例cs.AI+physics.astro-ph
)、異分野の推薦論文を獲得し、研究の視野を広げた。 - 医学研究者がmedRxivをフォローする
医学分野の研究者は、medRxivのサポートを利用して、臨床研究や公衆衛生関連の論文にアクセスし、最先端の医学動向を把握することができます。
品質保証
- 推薦された論文が私の研究関心に関連したものであることを確認するにはどうすればよいですか?
このツールは、Zoteroライブラリにある論文の抄録をSentenceTransformerモデルと組み合わせて分析することで、新しい論文の関連性を計算します。Zoteroライブラリに研究の方向性に関連する論文が含まれていることを確認し、定期的に関連性のない文献をパージして推薦精度を向上させます。 - なぜ週末にメールが届かなかったのか?
arXivは通常、土日祝日は新しい論文を発表しないため、ログに「No new papers found」と表示されることがあります。これは通常の現象で、平日には推薦が再開されます。 - medRxivのサポートを追加するには?
GitHub Actions環境変数をMEDRXIV_DAYS
(例7
そしてMEDRXIV_SUBJECTS
(例Epidemiology
)をクリックして、medRxiv論文の推薦を有効にしてください。メールはarXivとmedRxivの論文を別々に表示します。 - 走行時間が長すぎる場合は?
TL;DRを作成するのは時間がかかるので、次のことをお勧めします。MAX_PAPER_NUM
それでもタイムアウトする場合は、用紙の枚数を減らすか、あるいはdev
ブランチの最適化バージョン。 - 新機能のためにリポジトリを更新するにはどうすればよいですか?
定期訪問https://github.com/TideDr/zotero-arxiv-daily
アップデートがないか確認してください。新しい機能があれば、GitHubのドキュメントにあるように、アップストリームリポジトリをあなたのForkリポジトリにマージしてください。