ソフトウェアエンジニア必見!TideDra/zotero-arxiv-dailyで論文キャッチアップを楽にする方法
今回は、ソフトウェアエンジニアの視点から「TideDra/zotero-arxiv-daily」いうツールについて、関西弁で解説させてもらうで。
「TideDra/zotero-arxiv-daily」っていうのはな、一言でいうたら「ZoteroをAIにして、自分好みの論文を毎日教えてくれるツール」やねん。
なんやそれ、って思うかもしれんけど、ソフトウェアエンジニアのあんさんにとっては、めっちゃ便利なんやで。
普段、仕事や趣味で論文を読んだり、技術動向を追いかけたりするやろ? でも、毎日大量に発表される論文を全部チェックするなんて無理やんな。
このツールは、あんさんのZoteroライブラリ(普段どんな論文を読んでるか)を分析して、その情報をもとに、新しくarXivで公開された論文の中から「あんさんが好きそうなやつ」を毎日自動で教えてくれるんや。
つまり、時間がない中でも、効率よく最先端の論文情報をゲットできるってことやねん。
具体的にどんな風に役に立つかというと、こんな感じや。
新しい技術やアルゴリズムのキャッチアップ
例えば、機械学習の分野で「Transformer」とか「Diffusion Model」とか、新しいアーキテクチャがどんどん出てくるやろ?
このツールを使えば、自分の関心がある分野の新しい論文を見逃さへんから、常に最新の技術トレンドを追いかけられるんや。
仕事で新しいプロジェクトを始める時なんかに、めっちゃ役立つで。
問題解決のヒント探し
開発中に「この問題をどう解決したらええねん?」って悩むこと、あるやろ?
そんな時、他の研究者が似たような問題をどう解決したか、論文からヒントを得られることがあるんや。
このツールが毎日教えてくれる論文の中に、思わぬ解決策が隠れてるかもしれへん。
アイデア出しのタネ
新しいサービスや機能を考えるとき、論文はめっちゃいいアイデアの宝庫やねん。
このツールが毎日届けてくれる論文を眺めるだけで、「こんなことできるんちゃうか?」って、新しい発想が生まれるきっかけになるかもしれへん。
要するに、あんさんの仕事の効率を上げて、スキルアップにも繋がるってわけや。
「ほな、どうやって使うんや?」って話やな。 これはな、GitHub Actionsを使うのが一番楽やねん。
GitHub Actionsってのは、GitHub上で自動でいろんなタスクを実行してくれる仕組みのことや。 これを使えば、サーバーを借りたり、PCをつけっぱなしにしとく必要もあらへん。
まずは、以下のステップでやってみて。
GitHubに新しいリポジトリを作る。名前はなんでもええで。
そのリポジトリに config.json と .github/workflows/main.yml の2つのファイルを作る。
config.json に、Zoteroの情報と、どんな論文を探したいか、ってのを書くねん。
// config.json
{
"zotero": {
"library_id": "あんさんのZoteroユーザーID",
"api_key": "あんさんのZotero APIキー"
},
"arxiv": {
"query": [
// 興味のあるキーワードをここに書く。
// 「all:」は論文全体、「ti:」はタイトルのみを検索する
"all:large language model",
"ti:computer vision",
"all:deep reinforcement learning"
],
"max_results": 10 // 1日に何件まで教えてほしいか
},
"output_path": "output.json" // 出力するファイル名
}
ZoteroユーザーIDとAPIキーの取得方法
Zoteroの公式サイトにログインして、Settings > Feeds/APIってところに行けば、ユーザーIDとAPIキーが手に入るで。
arxiv.query の設定
ここに書くキーワードが、論文を探すときのカギやねん。自分の興味のある分野をしっかり書いとこか。
all: は、論文の全文からキーワードを探すで。
ti: は、論文のタイトルだけから探すで。
次に、.github/workflows/main.yml に、GitHub Actionsを動かすための設定を書くねん。
# .github/workflows/main.yml
name: Daily Arxiv Paper Recommendation
on:
schedule:
# 毎日午前0時(UTC)に実行
- cron: '0 0 * * *'
jobs:
recommend:
runs-on: ubuntu-latest
steps:
- name: リポジトリをチェックアウト
uses: actions/checkout@v2
- name: Python環境をセットアップ
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: 必要なライブラリをインストール
run: |
pip install zotero-arxiv-daily
- name: 論文を推薦
run: |
zotero-arxiv-daily --config config.json
# ここでさらに、結果をメールで送ったり、Slackに通知したりするステップを追加してもええで
# 例えば、GitHub ActionsのSecretsに設定したトークンを使って、Slackに通知するんや
# みたいな感じで、いろいろカスタマイズできるんや
この設定で、毎日午前0時(UTC)になると、自動的にzotero-arxiv-dailyが実行されて、結果をoutput.jsonに出力してくれるんや。
このoutput.jsonをどうするかやけど、例えば…
別のGitHub Actionsを使って、Slackに通知する
メールで自分に送る
GitHub Pagesを使って、ウェブサイトとして表示する
みたいなことが考えられるな。
こんな風に、自分のワークフローに合わせて、いろんなカスタマイズができるんや。
「TideDra/zotero-arxiv-daily」は、ソフトウェアエンジニアのあんさんが、最先端の論文情報を効率よくキャッチアップするための、めっちゃ強力なツールや。
一度設定しちゃえば、あとは自動でやってくれるから、手間もかからへん。
ぜひ、これを機に導入して、あんさんのエンジニアライフをより豊かにしてみてな!