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
44
勉強会1_SlackのAIチャットボットを作ってみた
社内勉強会資料です(2022/6/24)
milky04
May 19, 2024
Tweet
Share
More Decks by milky04
See All by milky04
勉強会2_機械学習のモデル学習と開発について
milky04
0
24
勉強会3_LLMを活用する技術について
milky04
0
35
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2.2k
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
210
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
480
C++でシェーダを書く
fadis
6
4.1k
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.8k
Quine, Polyglot, 良いコード
qnighy
4
650
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
150
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.3k
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Realtime API 入門
riofujimon
0
150
距離関数を極める! / SESSIONS 2024
gam0022
0
290
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
200
色々なIaCツールを実際に触って比較してみる
iriikeita
0
340
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
The Language of Interfaces
destraynor
154
24k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Music & Morning Musume
bryan
46
6.2k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Writing Fast Ruby
sferik
627
61k
Rails Girls Zürich Keynote
gr2m
94
13k
A better future with KSS
kneath
238
17k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
KATA
mclloyd
29
14k
The Invisible Side of Design
smashingmag
298
50k
Building an army of robots
kneath
302
43k
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/