論文に関して言及をしている日本語ツイートや特定のアカウントからのツイートを,LINEやslackに通知するアプリです.
GitHub Actionsを使用して,1日に1回通知を行います.
本アプリの処理の流れは以下の通りです.
GitHub Actionによるjob scheduling
-> Twitter APIを使用したツイートの取得
-> LINE / slackへの通知
より詳細な情報に関してはこちらをご覧ください.
-
このレポジトリをフォークします.
-
フォークしたレポジトリのページで,GitHub Actionsを有効にします
-
こちらのページからTwitter APIの利用申請を行います
-
申請が通ったら,Customer Key(API Key), Customer Secret (API Secret), Access Token, Access Secretを取得します.
- こちらの値は次に使用するので,それぞれメモをとっておいた方が良いです.
-
取得したkeyとtokenをそれぞれCustomer Keys(API Key)とAccess Tokenを,GitHub Secretsとして登録します
- レポジトリのページのSettings -> Secretsから登録が行えます.
- それぞれのkeyとsecretの名前を,以下のようにします.valueは上で取得した値を使用します.
- Customer Key (API Key) ->
CUSTOMER_KEY
- Customer Secret (API Secret) ->
CUSTOMER_SECRET
- Access Token ->
ACCESS_TOKEN
- Access Secret ->
ACCESS_SECRET
- Customer Key (API Key) ->
-
【LINEに通知したい場合】 LINEのTokenを発行します.
- LINE Notifyの右上のログインをクリックします
- LINEのアカウントログイン情報を入力して,ログインします
- 右上の自分のユーザー名のところから,マイページに移動します
- マイページで,開発者向けのアクセストークン発行します
- GitHubのレポジトリページのSettings -> Secretsにて,
LINE_TOKEN
という名前で発行したトークンを登録します
-
【slackに通知したい場合】Incoming Webhook URLを取得します
- Slack での Incoming Webhook の利用のページを参考に, Incoming Webhook URLを取得します.
- GitHubのレポジトリページのSettings -> Secretsにて,
SLACK_INCOMING_WEBHOOK_URL
という名前で発行したIncoming Webhook URLを登録します.
-
(任意) ツイートを取得する際のキーワードの設定
src/setting.py
の中に検索したいキーワード(KEYWORDS
)を設定できます.- デフォルトではいくつかの学会,及びarXivのURLが記載されています.
github.com セグメンテーション
といったようなキーワードを追加することで,セグメンテーションと記述されているgithubのレポジトリを引用したツイートを取得することができます.
KEYWORDS = [ "openaccess.thecvf.com", "arxiv.org", "ojs.aaai.org", "iclr.cc", "nips.cc", "icml.cc", "aclweb.org", ]
-
(任意) ツイートを通知したくないユーザーの設定
src/setting.py
の中で,ツイートを通知したくないアカウント(BLOCK_LIST
)を設定することができます.- デフォルトではいくつかの翻訳botを追加しております.
BLOCK_LIST = set( [ "arXiv_cs_CV_ja", "arXiv_cs_CL_ja", "hackernewsj", ] )
-
(任意) ツイートを取得したいユーザーの設定
src/setting.py
の中にツイートを取得したいユーザー(USERS
)を設定できます.- デフォルトでは論文に関するツイートを多くしてくれるAKさん(@ak92501)からのツイートを取得するようになってます.
USERS = [ "ak92501", ]
-
(任意) 通知の日時の設定
.github/workflows/notify.yml
の中のcron
の値を変更することで,通知の日時を変更できます.- デフォルトでは日本時間の朝9時に通知されるようになっています.
name: paper-summary-tweet-notification on: schedule: # 通知時間を変更したい場合は,以下を変更する # UTC 0時 -> 日本時間朝9時 - cron: '0 0 * * *' workflow_dispatch: ...
- arXiv論文のカテゴリを使用して,興味のある分野の論文に関するツイートのみを通知する
- 機械学習関連のGitHubレポジトリを引用しているツイートの取得
- いいねやリツイート数での優先度付け
- 取得漏れの原因調査
-
USERS
に設定したユーザーのツイートは,全段のクエリ検索によるツイートの取得部分で通知しないようにする