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
60
勉強会1_SlackのAIチャットボットを作ってみた
社内勉強会資料です(2022/6/24)
milky04
May 19, 2024
Tweet
Share
More Decks by milky04
See All by milky04
勉強会2_機械学習のモデル学習と開発について
milky04
0
40
勉強会3_LLMを活用する技術について
milky04
0
54
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2.3k
Other Decks in Programming
See All in Programming
PEPCは何を変えようとしていたのか
ken7253
3
320
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
230
Rubyと自由とAIと
yotii23
6
1.9k
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
220
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
2
840
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
270
TCAを用いたAmebaのリアーキテクチャ
dazy
0
240
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.3k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
2.6k
JAWS Days 2025のインフラ
komakichi
1
370
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
140
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
9
1.6k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
YesSQL, Process and Tooling at Scale
rocio
172
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
A better future with KSS
kneath
238
17k
RailsConf 2023
tenderlove
29
1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
How GitHub (no longer) Works
holman
314
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.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/