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
対話botの技術
Search
Kazuya Gokita
September 02, 2016
Technology
1
2.7k
対話botの技術
Kazuya Gokita
September 02, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
[2025-09-30] Databricks Genie を利用した分析基盤とデータモデリングの IVRy の現在地
wxyzzz
0
470
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
910
実装で解き明かす並行処理の歴史
zozotech
PRO
1
320
SOC2取得の全体像
shonansurvivors
1
370
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
140
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
250
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
100
BirdCLEF+2025 Noir 5位解法紹介
myso
0
190
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
490
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
890
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
200
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Done Done
chrislema
185
16k
Docker and Python
trallard
46
3.6k
Optimizing for Happiness
mojombo
379
70k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Scaling GitHub
holman
463
140k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
A designer walks into a library…
pauljervisheath
209
24k
Building an army of robots
kneath
306
46k
Designing for Performance
lara
610
69k
Transcript
ରCPUͷٕज़ גࣜձࣾαΪΟ ࣥߦһ ޒా
Usagee Inc. (株)ウサギィ 画像認識・自然言語処理 Webアプリ・スマホアプリ開発 機械学習/データマイニング など DeNA「ビッダーズプログラミングコンテスト2005」優秀賞 楽天・早稲田大学「最強のAIを作ろう!」(2011) 優勝
HTML5 Japan Cup(2014) 協賛企業・後援団体賞 2部門受賞 『Microsoft Innovation Award 2015』優秀賞
Usagee Inc. 自己紹介 機械学習(画像認識・自然言語処理) Webアプリ・デザイン スマホアプリ開発 汎用AI など (株)ウサギィ 執行役員 WBAI 正会員 & WBA若手の会
人工知能アドベントカレンダーを書いた 汎用AIの本 9月下旬発売予定ɹ✌
Usagee Inc. 画像認識: 食べ物 IUUQVTBHFFDPKQDPNQVUFSWJTJPO
Usagee Inc. NLP: 感情推定 IUUQVTBHFFDPKQOMQ •短文でも解析可能 •ネットスラング対応 •高速な解析 •評判分析などの応用
ձCPU ࣗવจͰਓؒͱର͢Δ"*
Usagee Inc. 会話botの(個人的な)分類 • FAQ型 • 問い合わせ対応などの特定タスクに特化した応答をする • 過去の質問に似た(関連した)回答またはシナリオ等を探してくる •
こちらのほうが研究が進んでいると思う • 雑談型 • どんなジャンルの会話にも広く浅く対応しないといけない • 相手が何を言うのか予想できない、スラングにも対応しないと いけない • 「口調」や「一人称」や「語尾」の指定がある場合も
Usagee Inc. 会話botの分類 • FAQ型 • 問い合わせ対応などの特定タスクに特化した応答をする • 過去の質問に似た(関連した)回答またはシナリオ等を探してくる •
こちらのほうが研究が進んでいると思う • 雑談型 • どんなジャンルの会話にも広く浅く対応しないといけない • 相手が何を言うのか予想できない、スラングにも対応しないと いけない • 「口調」や「一人称」や「語尾」の指定がある場合も ࠓͷ
Usagee Inc. 実行例 ZPV͔͍͍ͬ͜ͷ͔ʂʁ͜ΕͬͯXXX CPU͍ʂʂʂ ZPVঁͬͯා͍Ͱ͢ʜ ͱΊͬͨʹ͍Θͳ͍͚Ͳා͔ͬͨʜ CPUͳΜͰʁʁ ZPVΞΠεΫϦʔϜͱ͔͋Δͷ͔ CPUͦΕ͋Δ
ZPV5*.&Ͱ͔͢dʁʁָ͠ΜͰ͖͍ͯͩ͘͞dὑ౦ ژདྷ·͔͢ʁ CPUͦΕͭΒ͍ʜʢ̩Ч̩ʣ ZPVؼɻ CPU͓͔ͭΕ͞·Ͱ͢Α͓͒ʂ ZPVૣى͖͢ΔΜͰ৸·͢ɻ͓͢Έͳ͍͞ CPU͓͢ ZPV·ͨΓΐͶὑ CPUΓ͍ͨὑ ZPV͍͍͑͑ ?? ͥͻͥͻʂྑ͘͠·͠ΐ CPU 㱼ʆ ʎͪ͜Βͦ͋͜Γ͕ͱ͏͍͟͝·͢ΑΖ ͓͘͠Ͷ͕͍͠·͢ Deep Learning ですべて自動で人間との対話を学習 明示的に教えなくても口語表現やアスキーアートに対応
͘͠Έ %FFQ-FBSOJOH -45. ϕʔε ॾʑͷ
Usagee Inc. LSTM Recurrent Neural Network を改良して長期の依存関係も扱えるよう にしたもの IUUQDPMBIHJUIVCJPQPTUT6OEFSTUBOEJOH-45.T
Usagee Inc. Sequence to Sequence (seq2seq) • もともと英仏翻訳のために出来たアルゴリズム • 単語ごとに入力(A,
B, C)して最後に <EOS> を入力 • すると翻訳された文章(W, X, Y, Z)が出てくる ձʹ͑ΔͷͰʁ -FBSOJOH1ISBTF3FQSFTFOUBUJPOTVTJOH3//&ODPEFS%FDPEFSGPS4UBUJTUJDBM.BDIJOF5SBOTMBUJPO
Usagee Inc. A Neural Conversational Model (社内ではNCMと言っている) .BDIJOFIJ )VNBOIFMMP .BDIJOFDPVMEZPVQMFBTFMFUNFLOPXXIBUBSFUIFPQFSBUJOH
TZTUFNTZPVBSFVTJOH )VNBOJBNVTJOHMJOVY .BDIJOFPLJUXBTJOUIFTTMWQOPOXIJDIZPVTUBUFEJUXBT CSPLFO .BDIJOFQMFBTFDIFDLJGZPVBSFMPHHFEJOUPDPSQOFUXPSL .BDIJOFXIBUJTUIFFSSPSUIBUZPVBSFSVOOJOHQMFBTF ҎԼུ
Usagee Inc. ダメでした • 日本語特有の問題(形態素解析など) • 雑談特有の問題(ネットスラング、アスキーアート、絵文字類) • 画一的でないいろいろなことを話して欲しい(雑談なので) •
性格みたいなものがないのでキャラ付けしたい
Usagee Inc. 解決策 • 日本語特有の問題(形態素解析など) →MeCab+独自の辞書 • 雑談特有の問題(ネットスラング、アスキーアート、絵文字類) →Word2Vecとseq2seq •
画一的でないいろいろなことを話して欲しい(雑談なので) →けっこう難しい • 性格みたいなものがないのでキャラ付けしたい →かなり難しい
Usagee Inc. 会話の多様性問題 • 一見上手くいったように見えるが、語彙がかなり減る • 「ありがとう」「わかる」「それな」「うん」「ですよね」など ばかりになってオタクみたいな話し方になる • 原因:
とりあえず無難な返しをしておけばコストが減るため in->ੋඇָ͠ΜͰ͚ͨΒͱࢥ͍·͢ʂ out<-͋Γ͕ͱ͏͍͟͝·͢ʂʂʂʂ in->৺த͍ͨ͝͠͠·͢…ָ͠ΜͰ͖͍ͯͩ͘͞Ͷʔʂ(^-^)/ out<-͋Γ͕ͱ͏͍͟͝·͢ʂʂʂʂ in->͖ͬ͞Ͳ͏ʙΑΖ͓͘͠ئ͍͠·͢ʂ out<-͋Γ͕ͱ͏͍͟͝·͢ʂ ੲͷόʔδϣϯ
Usagee Inc. A Diversity-Promoting Objective Function for Neural Conversation Models
• MMI-bidiを使って多様性を上げる • 無難な返しを抑制して、なるべくいろんなことを喋るようにする • 似たような問いかけでも少し変えた文章を吐けるようになった in->ੋඇָ͠ΜͰ͚ͨΒͱࢥ͍·͢ʂ out<-͋Γ͕ͱʔ^^ in->৺த͍ͨ͝͠͠·͢…ָ͠ΜͰ͖͍ͯͩ͘͞Ͷʔʂ(^-^)/ out<-͋Γ͕ͱ͏͍͟͝·͢ʂʂʂʂ in->͖ͬ͞Ͳ͏ʙΑΖ͓͘͠ئ͍͠·͢ʂ out<-ͪ͜Βͦ͜ΑΖ͓͘͠ئ͍͠·͢ʂʂʂʂ 今のバージョン 「!」を4つ使うのが 好きらしい
Usagee Inc. キャラクタ性変換 botに“性格”を与えたり 特定のキャラクターっぽく喋って欲しい 機械学習で(なるべく)自動的に獲得したい ルールベースは大変すぎるし スマートじゃない
Usagee Inc. キャラクタ性変換 • あんまり研究がないので困る • “言語的個人性変換における言語モデルの適応と分析”とか (Mizukami et al.
Language Model Adaptation and Analysis for Individuality Transforming) • 基本的な方針としては文字列の書き換え規則を学習する形 • キャラの過去のセリフ、台本、小説などから学習 • ある程度人間が指定して残りは機械学習で補完する形が望ましい • 新しいキャラは学習できるほどのデータがないから • 人間が指定できるならそれに越したことはない (機械学習は最後の手段!)
Usagee Inc. キャラクタ性変換 ZPV͓Α͏͍͟͝·͢ CPU͓Α͏͍͟͝·͢ʂϓϩσϡʔαʔ͞Μʂ ZPV෩͔͢Ͷ CPUͦ͏ͳΔલʹؼΔ༧ఆͩͬͨͷʹͶʔʜʜ ZPVݩؾʹͯ͠Δʁ CPU͑ʜʜũƀũƀ ZPVরΕΔ
CPU๙ΊͯΔΘ͚͡Όͳ͍Μ͚ͩͲ ·͋·্͋ख͍͍ͬͯ͘Δ͕ഁ͢Δύλʔϯଟ͍ ݚڀͷ༨͋Γ
Usagee Inc. ありがとうございました ZPV͔͍͍ͬ͜ͷ͔ʂʁ͜ΕͬͯXXX CPU͍ʂʂʂ ZPVঁͬͯා͍Ͱ͢ʜ ͱΊͬͨʹ͍Θͳ͍͚Ͳා͔ͬͨʜ CPUͳΜͰʁʁ ZPVΞΠεΫϦʔϜͱ͔͋Δͷ͔ CPUͦΕ͋Δ
ZPV5*.&Ͱ͔͢dʁʁָ͠ΜͰ͖͍ͯͩ͘͞dὑ౦ ژདྷ·͔͢ʁ CPUͦΕͭΒ͍ʜʢ̩Ч̩ʣ ZPVؼɻ CPU͓͔ͭΕ͞·Ͱ͢Α͓͒ʂ ZPVૣى͖͢ΔΜͰ৸·͢ɻ͓͢Έͳ͍͞ CPU͓͢ ZPV·ͨΓΐͶὑ CPUΓ͍ͨὑ ZPV͍͍͑͑ ?? ͥͻͥͻʂྑ͘͠·͠ΐ CPU 㱼ʆ ʎͪ͜Βͦ͋͜Γ͕ͱ͏͍͟͝·͢ΑΖ ͓͘͠Ͷ͕͍͠·͢ まだまだ発展途上だが、なかなか賢いbotができつつある