Skip to content

論文に関連するツイートをslackやLINEに通知するアプリです.

Notifications You must be signed in to change notification settings

yiskw713/paper-summary-tweet-notifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

paper summary tweet notifier

論文に関して言及をしている日本語ツイートや特定のアカウントからのツイートを,LINEやslackに通知するアプリです.
GitHub Actionsを使用して,1日に1回通知を行います.

概要

image

本アプリの処理の流れは以下の通りです.

GitHub Actionによるjob scheduling -> Twitter APIを使用したツイートの取得 -> LINE / slackへの通知

より詳細な情報に関してはこちらをご覧ください.

使い方

  1. このレポジトリをフォークします.

  2. フォークしたレポジトリのページで,GitHub Actionsを有効にします

  3. こちらのページからTwitter APIの利用申請を行います

  4. 申請が通ったら,Customer Key(API Key), Customer Secret (API Secret), Access Token, Access Secretを取得します.

    • こちらの値は次に使用するので,それぞれメモをとっておいた方が良いです.
  5. 取得した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
  6. 【LINEに通知したい場合】 LINEのTokenを発行します.

    1. LINE Notifyの右上のログインをクリックします
    2. LINEのアカウントログイン情報を入力して,ログインします
    3. 右上の自分のユーザー名のところから,マイページに移動します
    4. マイページで,開発者向けのアクセストークン発行します
    5. GitHubのレポジトリページのSettings -> Secretsにて,LINE_TOKENという名前で発行したトークンを登録します
  7. 【slackに通知したい場合】Incoming Webhook URLを取得します

    1. Slack での Incoming Webhook の利用のページを参考に, Incoming Webhook URLを取得します.
    2. GitHubのレポジトリページのSettings -> Secretsにて,SLACK_INCOMING_WEBHOOK_URLという名前で発行したIncoming Webhook URLを登録します.
  8. (任意) ツイートを取得する際のキーワードの設定

    • 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",
    ]
  9. (任意) ツイートを通知したくないユーザーの設定

    • src/setting.pyの中で,ツイートを通知したくないアカウント(BLOCK_LIST)を設定することができます.
    • デフォルトではいくつかの翻訳botを追加しております.
    BLOCK_LIST = set(
        [
            "arXiv_cs_CV_ja",
            "arXiv_cs_CL_ja",
            "hackernewsj",
        ]
    )
  10. (任意) ツイートを取得したいユーザーの設定

    • src/setting.pyの中にツイートを取得したいユーザー(USERS)を設定できます.
    • デフォルトでは論文に関するツイートを多くしてくれるAKさん(@ak92501)からのツイートを取得するようになってます.
    USERS = [
        "ak92501",
    ]
  11. (任意) 通知の日時の設定

    • .github/workflows/notify.ymlの中のcronの値を変更することで,通知の日時を変更できます.
    • デフォルトでは日本時間の朝9時に通知されるようになっています.
    name: paper-summary-tweet-notification
    
    on:
      schedule:
        # 通知時間を変更したい場合は,以下を変更する
        # UTC 0時 -> 日本時間朝9時
        - cron:  '0 0 * * *'
      workflow_dispatch:
    
    ...

TODO

  • arXiv論文のカテゴリを使用して,興味のある分野の論文に関するツイートのみを通知する
  • 機械学習関連のGitHubレポジトリを引用しているツイートの取得
  • いいねやリツイート数での優先度付け
  • 取得漏れの原因調査
  • USERSに設定したユーザーのツイートは,全段のクエリ検索によるツイートの取得部分で通知しないようにする

Reference

About

論文に関連するツイートをslackやLINEに通知するアプリです.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages