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
49
勉強会1_SlackのAIチャットボットを作ってみた
社内勉強会資料です(2022/6/24)
milky04
May 19, 2024
Tweet
Share
More Decks by milky04
See All by milky04
勉強会2_機械学習のモデル学習と開発について
milky04
0
30
勉強会3_LLMを活用する技術について
milky04
0
42
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2.2k
Other Decks in Programming
See All in Programming
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
340
Kaigi on Railsに初参加したら、その日にLT登壇が決定した件について
tama50505
0
110
情報漏洩させないための設計
kubotak
4
830
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
7
1.5k
MCP with Cloudflare Workers
yusukebe
2
230
Recoilを剥がしている話
kirik
5
7.2k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
820
Online-Dokumentation, die hilft: Strukturen, Prozesse, Tools
ahus1
0
100
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
720
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
良いユニットテストを書こう
mototakatsu
8
3.1k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.4k
A better future with KSS
kneath
238
17k
Designing for Performance
lara
604
68k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
110
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/