Slide 1

Slide 1 text

新着論文をChatGPTに要約してもらって Slackに通知する(RSS編) データラーニングギルドLT会 2024/05/26 Takuma Yoshioka あっと バンコク

Slide 2

Slide 2 text

Takuma Yoshioka あっと バンコク バンコクに住んで5年になりました 自動車業界/海外IT子会社/DX推進/現地採用 数理最適化/NoCode開発/新規事業開発 中期目標設定のコーチングで絶賛迷走中 自己紹介 @daikichidaze @daikichidaze resume 1

Slide 3

Slide 3 text

01 妻(顧客)からの要望 02 新着論文の要約をSlackへ通知する 03 (おまけ)開発中でのChatGPTの使いどころ 目次 2

Slide 4

Slide 4 text

01 妻(顧客)からの要望 3

Slide 5

Slide 5 text

妻(顧客)からの要望 複数の論文雑誌を頻繁にチェックするのが大変 妻:国際政治の研究者 4

Slide 6

Slide 6 text

妻(顧客)からの要望 複数の論文雑誌を頻繁にチェックするのが大変 妻:国際政治の研究者 専門分野以外の論文もチェックしたいけど、 英語で斜め読みするのは大変 4

Slide 7

Slide 7 text

妻(顧客)からの要望 複数の論文雑誌を頻繁にチェックするのが大変 妻:国際政治の研究者 専門分野以外の論文もチェックしたいけど、 英語で斜め読みするのは大変 私 ChatGPTで論文要約した事例見たしやってみるか 4

Slide 8

Slide 8 text

02 新着論文の要約をSlackへ通知する 5

Slide 9

Slide 9 text

新着論文の要約をSlackへ通知する 開発したスクリプト概要 論文雑誌ページ1 論文雑誌ページ2 雑誌毎のRSS/Webpage OpenAI API Slack Webhook RSS取得(更新リストXML) 新しい論文のAbstract取得 Abstract内容をPOST WebhookへPOST Local Python Script 投稿 和訳・要約の結果 1 2 3 4 rss-journal-summarizer 6

Slide 10

Slide 10 text

新着論文の要約をSlackへ通知する 開発したスクリプト概要 論文雑誌ページ1 論文雑誌ページ2 雑誌毎のRSS/Webpage OpenAI API Slack Webhook 文章和訳+要約 RSS取得(更新リストXML) 新しい論文のAbstract取得 Abstract内容をPOST WebhookへPOST Local Python Script 投稿 和訳・要約の結果 1 2 3 4 rss-journal-summarizer 6

Slide 11

Slide 11 text

section title OpenAI APIの呼び出し 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 from import def = = = = = return openai OpenAI (abstract, model ,): client OpenAI() completion client.chat.completions.create( model, [ { : , : }, { : , : abstract } ] ) completion.choices[ ].message.content summarize_abstract 'gpt-3.5-turbo' 'role' 'system' 'content' 'あなたは優れた社会科学の研究者です。' '与えられた論文のアブストラクトを要約した上で、内容を簡単に解説してください。' 'ただし、出力は以下の制約条件とフォーマットに従ってください。 ' '[制約条件] ' '- 要約は箇条書きで3行で出力する ' '- 要約には筆者独自の検討や重要な結論をかならず含める ' '- 解説は1行で出力する ' '- 解説には専門用語の説明を加えて、専門外の人にも分かるようにする ' '- 日本語に翻訳して出力する ' '- なるべく体言止めを使う(例:~を提案する。 → ~を提案。) ' '- 「です・ます」調ではなく「だ・である」調を使う(例:~できます → ~できる) ' '[フォーマット] ' '## 要約 ' '- 項目1 ' '- 項目2 ' '- 項目3 ' '## 解説 ' '解説内容' 'role' 'user' 'content' model messages \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n 0 処理フロ0 68 OpenAI クラ イ ア ン トの 立ち 上 1 8 Sytemプロンプ トの 作Ç Å8 Userプロンプ トの 作Ç Â8 APIへ の リ ク エ スト System 会 話全 体 へ の ハイレベル な 指示 ChatGPT と会 話 する User による 指示 参考プロンプ ト User 1 2 3 7 4

Slide 12

Slide 12 text

新着論文の要約をSlackへ通知する 出力結果 8

Slide 13

Slide 13 text

感想 9

Slide 14

Slide 14 text

生成AIを使っても、
 データ分析は
 「前処理が9割」 10

Slide 15

Slide 15 text

新着論文の要約をSlackへ通知する 開発したスクリプト概要 文章和訳+要約 論文雑誌ページ1 論文雑誌ページ2 雑誌毎のRSS/Webpage OpenAI API Slack Webhook RSS取得(更新リストXML) 新しい論文のAbstract取得 Abstract内容をPOST WebhookへPOST Local Python Script 投稿 和訳・要約の結果 1 2 3 4 rss-journal-summarizer ここが一番時間かかる こっちは一瞬 11

Slide 16

Slide 16 text

03 (おまけ)開発中でのChatGPTの使いどころ 12

Slide 17

Slide 17 text

01 エラー内容の原因を対策を教えてもらう 02 サンプルコードを解説してもらう 03 設計で悩んだときにアイデアをもらう 04 実装方針の相談に乗ってもらう 05 単純作業を代行してもらう 06 READMEを作成してもらう (おまけ) 開発中でのChatGPTの使いどころ ※すべてGPT4を用いた結果です 13

Slide 18

Slide 18 text

01 エラー内容の原因を対策を教えてもらう (おまけ) 開発中でのChatGPTの使いどころ ※すべてGPT4を用いた結果です 14

Slide 19

Slide 19 text

02 サンプルコードを解説してもらう (おまけ) 開発中でのChatGPTの使いどころ ※すべてGPT4を用いた結果です 15

Slide 20

Slide 20 text

03 設計で悩んだときにアイデアをもらう (おまけ) 開発中でのChatGPTの使いどころ ※すべてGPT4を用いた結果です 16

Slide 21

Slide 21 text

04 実装方針の相談に乗ってもらう (おまけ) 開発中でのChatGPTの使いどころ ※すべてGPT4を用いた結果です 17

Slide 22

Slide 22 text

05 単純作業を代行してもらう (おまけ) 開発中でのChatGPTの使いどころ ※すべてGPT4を用いた結果です 18

Slide 23

Slide 23 text

06 READMEを作成してもらう (おまけ) 開発中でのChatGPTの使いどころ ※すべてGPT4を用いた結果です 19

Slide 24

Slide 24 text

開発ツールのソースコード 最新論文をGPTで要約してDiscordに通知してくれるBotを作ってみた 【ChatGPT API】RSSフィードのページ内容を要約するPythonアプリを作る Moving from Completions to Chat Completions in the OpenAI API 参考文献 20