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
milky04
May 19, 2024
Programming
0
73
勉強会1_SlackのAIチャットボットを作ってみた
社内勉強会資料です(2022/6/24)
milky04
May 19, 2024
Tweet
Share
More Decks by milky04
See All by milky04
勉強会5_画像生成AIの仕組みと学習・i2i対策
milky04
0
6
勉強会2_機械学習のモデル学習と開発について
milky04
0
59
勉強会3_LLMを活用する技術について
milky04
0
70
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2.3k
Other Decks in Programming
See All in Programming
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
480
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
120
Perlで痩せる
yuukis
1
680
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
200
インターフェース設計のコツとツボ
togishima
2
690
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
110
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
100
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
230
衛星の軌道をWeb地図上に表示する
sankichi92
0
260
XSLTで作るBrainfuck処理系
makki_d
0
180
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
21
5.8k
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
730
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Scaling GitHub
holman
459
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The World Runs on Bad Software
bkeepers
PRO
68
11k
A designer walks into a library…
pauljervisheath
206
24k
Automating Front-end Workflow
addyosmani
1370
200k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Music & Morning Musume
bryan
46
6.6k
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/