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
2.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
対話botの技術
Kazuya Gokita
September 02, 2016
Other Decks in Technology
See All in Technology
新しい SLO が良い感じにハマっている話
z63d
0
120
自己解決や回答速度を上げる、サポート業務へのAIの組み込み方【SORACOM Discovery 2026】
soracom
PRO
0
110
NetBoxを利用した作業効率化の試み_NetDevNight4
tnoha
0
360
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
160
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
200
1台から試せる!Edge IoTを使った位置情報の活用設計【SORACOM Discovery 2026】
soracom
PRO
0
110
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
260
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
390
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
180
AI驚き屋発見器
yama3133
1
380
BigQuery を検索ソースとした AI Agent の作り方って 〇〇 通りあんねん
satohjohn
0
140
A Bag-of-Documents Model for Query Specificity
dtunkelang
0
170
Featured
See All Featured
Navigating Team Friction
lara
192
16k
We Are The Robots
honzajavorek
0
290
Optimizing for Happiness
mojombo
378
71k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Rails Girls Zürich Keynote
gr2m
96
14k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
920
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
230
YesSQL, Process and Tooling at Scale
rocio
174
15k
Being A Developer After 40
akosma
91
590k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
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ができつつある