Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
勉強会1_SlackのAIチャットボットを作ってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
milky04
May 19, 2024
Programming
85
0
Share
勉強会1_SlackのAIチャットボットを作ってみた
社内勉強会資料です(2022/6/24)
milky04
May 19, 2024
More Decks by milky04
See All by milky04
勉強会5_画像生成AIの仕組みと学習・i2i対策
milky04
0
230
勉強会2_機械学習のモデル学習と開発について
milky04
0
83
勉強会3_LLMを活用する技術について
milky04
0
100
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2.5k
Other Decks in Programming
See All in Programming
空間オーディオの活用
objectiveaudio
0
170
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
2
650
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
190
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
200
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
1.4k
Moments When Things Go Wrong
aurimas
3
110
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
140
AgentCore Optimizationを始めよう!
licux
4
270
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
320
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
140
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
10
1.1k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
440
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.4k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
160
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
750
Fireside Chat
paigeccino
42
3.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
The Cult of Friendly URLs
andyhume
79
6.9k
Being A Developer After 40
akosma
91
590k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Scaling GitHub
holman
464
140k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Transcript
SlackのAIチャットボットを作って みた
はじめに(取り組んだ動機) • 自然言語処理への興味 • 「言語を理解するとはどういうことか」という言語理解の仕組みへの興味 • 文章作成が苦手なため自然言語処理を利用して将来的に自動化できたら いいなあという願望(DXにも繋がる) ⇒手始めに学習済みモデルを使用したチャットボットを作成して遊んでみよ う!
自然言語処理 (NLP:Natural Language Processing)とは • コンピュータで人間の言葉(自然言語)を処理する技術 • 機械・プログラミング言語と区別するために自然言語と呼ぶ • 機械学習を使うことが多い(特にニューラルネットワーク・深層学習と関わっ
てきます)
活用事例 身近なところでは… • 検索エンジン • DeepLなどの翻訳 • Alexa • Siri
• など
自然言語処理モデル • 事前に用意したデータを機械に学習させたものをモデルと呼びます • Transformer(BERTやGPTなどのベースとなるモデル。速くて精度が高い) • GPT-1/GPT-2/GPT-3(OpenAI ) • BERT(Google)
• など
GPT-1/GPT-2/GPT-3 • Generative Pre-trained Transformer(GPT) • 事前学習済み文章生成モデル • 要約や対話生成などの文章の生成が得意 •
GPT-1:パラメータ数1.1億 • GPT-2:パラメータ数15億(オープンソースとして公開されている) • GPT-3:パラメータ数1750億(オープンソース化はされておらず、利用に申請が必 要。無料期間とAPI利用回数に制限があり、それらを超えると有料になる)
rinna株式会社の日本語特化GPT言語モデル • りんな: https://www.rinna.jp/profile • オープンソースとして公開されている • OpenAIのGPTが元となっている • rinna/japanese-gpt2-medium:パラメータ数3.3億
• rinna/japanese-gpt-1b:パラメータ数13億 今回この2つのモデルを用意(比較しながら見ていきます)
作成したものを実際に動かしていきます • Slackアカウントをお持ちの方は良ければ参加してみてください! • Slackワークスペース
作成したもの • ソースコード • https://github.com/milky04/SlackChatBot • 言語:Python SlackAPI Python Rinna
メッセージ送信 メッセージ送信 生成テキスト送信 生成テキスト送信
こうしたAIは「言葉を理解している」と言えるのか? • 実際に動かして文章を生成させてみて、それっぽい/それっぽくないとなったように 理解出来てるかどうかの評価が主観的になりえて難しい(=定量的な評価が難し い)といった課題があります • それっぽい/それっぽくない(=機械が人間っぽく振舞えているかを判断)はチューリ ングテストと言います • 実際行っていることとしては与えられた文章からパターンを見つけ出して文章を生
成・解釈(予測)しているに過ぎない→本当に理解しているといえる? • プログラムにおける理解と人間における理解の違い(そもそもの仕組みが違う) • どうしたら理解出来てると判断できるかやその評価方法、理解の定義といった所 を考えたりすると面白いかも?
所感 • 開発や学んでいて非常に楽しく、自然言語処理(機械学習)の取っ掛かりとしても 良かった。開発を通じてより興味が深まり学んでいきたいと思いました。自然言語 処理の今後の発展にも期待(より高精度なモデルが登場すると考えられる)。 SlackAPIも今後利用する可能性があるので触れて良かった • 着手が遅かったため、発表までに理解しきれなかった部分があった点とプレゼン 準備にあまり時間を割けられなかった点が反省点(土曜夜着手) •
Transformerライブラリ等の細かい部分への理解とSlackAPI関連が苦労した点 • GPT-3も試してみたい(申請通ればcopilotも)。
終わりに 今回の発表を楽しんで頂けたならとても嬉しいです。 そして発表を通じて自然言語処理に少しでも興味を持って頂けたなら幸いで す。
おまけ:最近はこんなのもあります • Github copilot:https://0115765.com/archives/5632 • DALL-E:https://openai.com/blog/dall-e/ • DALL-E2:https://openai.com/dall-e-2/ • AIのべりすと:https://ai-novel.com/