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
Node-REDを使ってシンプルな音声チャットボットを作る手順
Search
Kohei Nishikawa
July 23, 2021
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Node-REDを使ってシンプルな音声チャットボットを作る手順
Kohei Nishikawa
July 23, 2021
More Decks by Kohei Nishikawa
See All by Kohei Nishikawa
ClaudeとIBM Bobで業務アプリを作る ~SDDによる開発~
kolinz
0
7
IBM Bobとiac-spec-kitで、Code Engine上にNode-REDを立ち上げるまで
kolinz
0
9
メタバース空間作成講座 (2022年11月現在)
kolinz
0
350
Cloud Foundryの移行先はどこか? オープンソースPaaS探し
kolinz
0
1.6k
A3-1 IBM Championが本音で語る「IBM Cloud」
kolinz
0
680
IBM Cloudで、Node-REDとTeachable Machineで試す画像認識
kolinz
0
650
Watson Assistant Actions Skill によるノーコードチャットボット開発入門
kolinz
0
580
Watson Discoveryにおける文書削除はどうしているか
kolinz
0
790
地上用ドローン試作 ver1.0
kolinz
0
150
Other Decks in Programming
See All in Programming
霧の中の代数的エフェクト
funnyycat
1
490
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
5分で問診!Composer セキュリティ健康診断
codmoninc
0
910
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
600
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
300
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
300
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
340
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.6k
VibeCodingからAgenticWorkflowへ
starfish719
0
320
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
400
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
310
Automating Front-end Workflow
addyosmani
1370
210k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
840
Designing for humans not robots
tammielis
254
26k
Odyssey Design
rkendrick25
PRO
2
750
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
Transcript
2021 音声認識編 音声認識を活用したチャットボットを作ってみよう
p. 1 目次 Node-RED にノードを追加 ................................................................................................................................................... 3 node-red-dashboard の追加 .......................................................................................................................................
3 作業 ................................................................................................................................................................................ 4 IBM Cloud で音声認識サービスの有効化 ............................................................................................................................. 5 音声 – テキスト変換サービス (speech to text) .............................................................................................................. 5 API 鍵と URL の取得 ................................................................................................................................................... 6 テキスト – 音声変換サービス (text to speech) .............................................................................................................. 6 API 鍵と URL の取得 ................................................................................................................................................... 7 チャットボット会話エンジン ....................................................................................................................................................... 8 Watson Assistant の有効化 .......................................................................................................................................... 8 API 鍵と URL の取得 ....................................................................................................................................................... 8 skill の作成 ..................................................................................................................................................................... 9 skill ファイルのダウンロード............................................................................................................................................. 10 アップロードの実行 ....................................................................................................................................................... 11 Dialog の確認 ............................................................................................................................................................... 12 Skill ID(Workspace ID)の取得 .................................................................................................................................. 13 Node-RED サンプルの実行 ................................................................................................................................................ 14 Node-RED サンプルフローのダウンロード ........................................................................................................................... 14 サンプルのフローの読み込み .............................................................................................................................................. 14 各ノードの設定 ............................................................................................................................................................... 16 speech to text ........................................................................................................................................................ 16 assistant .................................................................................................................................................................. 17 text to speech ........................................................................................................................................................ 18 play audio ............................................................................................................................................................... 18
p. 2 デプロイによる動作確認 ................................................................................................................................................... 19 デバッグの表示 ............................................................................................................................................................ 19 デプロイの実行 ............................................................................................................................................................
19 Dashboard の表示 ................................................................................................................................................... 19 動作確認 ................................................................................................................................................................... 20
p. 3 Node-RED にノードを追加 node-red-dashboard の追加 Node-RED の画面右上の「三」>>「パレットの管理」の順にクリックします。 「パレット」が表示されます。「ノードを追加」タブをクリックします。 「ノードを検索」で、dashboard
と入力し、Enter キーを押します。
p. 4 インストールしたいノードは、node-red-dashboard です。「ノードを追加」をクリックします。既に追加されている場合は、「追加 しました」と表示されています。 画面中央上部に上図のように表示されます。「追加」をクリックします。しばらくし、問題なく追加が終われば、「ノードを追加」が「追 加しました。」に表示が変わります。 作業 同じ手順で、次のノードを追加してください。
node-red-node-ui-microphone node-red-contrib-play-audio
p. 5 IBM Cloud で音声認識サービスの有効化 音声 – テキスト変換 サービス (speech
to text) IBM Cloud にログインします。画面右上の「カタログ」をクリックします。「カタログ」>>「サービ ス」の順にクリックします。 カテゴリーの「AI/Machine Learning」にチェックを入れます。 「Speech to Text」を探し出し、クリックします。 初期値で、料金プランとして「ライト」が選ばれているはずです。ロケーションは「ダラス」のまま、「作成」をクリックします。
p. 6 Speech to Text のサービスが有効になります。Watson Speech to Text (STT)
とも言います。 「Speech to Text - ◦◦◦」と表示されます。〇の部分は人によって異なります。画面内の「管理」をクリックします。 API 鍵と URL の取得 「資格情報を表示」をクリックします。その後、「API 鍵」と「URL」の2つをメモ帳などにコピー/貼り付けしておきましょう。Node- RED では、API 鍵は、API Key、URL は、Service Endpoint の名称で呼ばれています。 テキスト – 音声変換サービス (text to speech) 画面右上の「カタログ」をクリックします。「カタログ」>>「サービス」の順にクリックします。カテゴリーの「AI/Machine Learning」に チェックを入れます。 「Text to Speech」を探し出し、クリックします。
p. 7 初期値で、料金プランとして「ライト」が選ばれているはずです。ロケーションは「ダラス」のまま、「作成」をクリックします。 Text to Speech のサービスが有効になります。Watson Text to Speech
(TTS) とも言います。 「Text to Speech - ◦◦◦」と表示されます。〇の部分は人によって異なります。画面内の「管理」をクリックします。 API 鍵と URL の取得 「資格情報を表示」をクリックします。その後、「API 鍵」と「URL」の2つをメモ帳などにコピー/貼り付けしておきましょう。Node- RED では、API 鍵は、API Key、URL は、Service Endpoint の名称で呼ばれています。
p. 8 チャットボット会話エンジン Watson Assistant の有効化 画面右上の「カタログ」をクリックします。「カタログ」>>「サービス」の順にクリックします。カテゴリーの「AI/Machine Learning」に チェックを入れます。 「assistant」を探し出し、クリックします。第
3 回で、Watson Assistant を有効化しており、今現在も、IBM Cloud のリ ソースリストに Watson Assistant が表示されている場合は、「有効化」の作業は飛ばしてください。 初期値で、料金プランとして「ライト」が選ばれているはずです。ロケーションは「ダラス」のまま、「作成」をクリックします。 Watson Assistant のサービスが有効になります。 API 鍵と URL の取得 「Watson Assistant - ◦◦◦」と表示されます。〇の部分は人によっ て異なります。画面内の「管理」をクリックします。 IBM Cloud のリソースリストに Watson Assistant が表示されている 場合は、サービス名をクリックすることで、「管理」の画面に移動できます。
p. 9 「資格情報を表示」をクリックします。その後、「API 鍵」と「URL」の2つをメモ帳などにコピー/貼り付けしておきましょう。Node- RED では、API 鍵は、API Key、URL は、Service Endpoint
の名称で呼ばれています。 skill の作成 「Watson Assistant」の起動をクリックします。 画面左側の「Skills」のアイコンをクリックします。 「Create skill」をクリックします。
p. 10 「Dialog skill」を選び、「Next」をクリックします。Actions Skill は、第 3 回で扱った内容です。 「Upload skill」をクリックします。
skill ファイルのダウンロード 作業中の Web ブラウザで、新規ウィンドウまたは新規タブで、本講座のサンプルデータを公開している下記にアク セスします。https://app.box.com/s/c0aaktqgrb2ctevcr8u57aitx19pl50w アクセス後、「skill-System-Help-Desk.json」をクリックし、ダウンロードを実行します。
p. 11 「skill-System-Help-Desk.json」は、Watson Assistant で作成した、ヘルプデスクのスキルデータです。 アップロードの実行 「Create dialog skill」の画面に戻ります。 Drag
and drop file here or click to select a file の点線の枠に、「skill-System-Help-Desk.json」をドラッグ&ド ロップします。すると、上図のように表示されます。「Upload」をクリックします。
p. 12 Dialog の確認 画面左側で、「Dialog」をクリックします。Dialog は、チャットボットによる会話の流れを制御しています。「>」をクリックするこ とで、階層となっている会話のルールを確認することができます。 今回は、動作確認だけ行うため、画面右上の「Try it」をクリックします。 チャットボットにおける、入出力について確認することができます。
p. 13 たとえば、「インターネットにつながらない」と入力すると、システムからの返答が返ってきますので、「はい」か「いいえ」で回答する ことで、次の会話となります。「Clear」をクリックすることで、会話を再実行できます。閉じる場合は、「X」をクリックします。 Skill ID(Workspace ID)の取得 画面左側の「Skills」のアイコンをクリックします。表示される「skill」のうち、「System Help Desk」において、「⁝」をクリックし、表
示される「View API Details」をクリックします。
p. 14 表示される「skill ID」ををメモ帳などにコピー/貼り付けしておきましょう。Node-RED では、Workspace ID とも言います。 NODE-RED サンプルの実行 Node-RED
サンプルフローのダウンロード 作業中の Web ブラウザで、新規ウィンドウまたは新規タブで、本講座のサンプルデータを公開している下記にアク セスします。https://app.box.com/s/c0aaktqgrb2ctevcr8u57aitx19pl50w アクセス後、「flows_node-red-voice-chatbot.json」をクリックし、ダウンロードを実行します。 サンプルのフローの読み込み Node-RED の画面右上の「三」>>「読み込み」の順にクリックします。 「フローを読み込み」で、「読み込むファイルの選択」をクリックします。 ダウンロードしておいた flows_node-red-voice-chatbot.json」を選びます。
p. 15 読み込み先として「新規タブ」を選び、「読み込み」をクリックします。 下記が表示された場合は、「コピーを読み込み」をクリックします。 「読み込みました」と表示されれば完了です。余白をクリックすると、メッセージは消えます。 「voice chatbot」タブをクリックします。
p. 16 各ノードの設定 下図のようにサンプルが読み込まれて表示されています。 ここからは、各ノードの設定について説明します。 speech to text 「speech to
text」有効化の際に取得した、API 鍵と URL を入力します。API Key に「API 鍵」を入力、Service Endpoint に「URL」を入力します。「Language」が「Japanese」であること確認し、「完了」をクリックします。
p. 17 assistant 「assistant」有効化の際に取得した、API 鍵と URL を入力します。また、skill 作成により取得した「Skill ID(Workspace ID)を入力します。
API Key に「API 鍵」を入力、Service Endpoint に「URL」を入力します。Workspace ID に「Skill ID」を入力します。各 項目を入力吾、「完了」をクリックします。
p. 18 text to speech 「text to speech」有効化の際に取得した、API 鍵と URL
を入力します。API Key に「API 鍵」を入力、Service Endpoint に「URL」を入力します。「Language」が「Japanese」であること確認し、「完了」をクリックします。 play audio 日本語の音声は、Google のもの以外に、Microsoft の音声に変えることも可能です。
p. 19 デプロイによる動作確認 デバッグの表示 画面右上の虫型のアイコンをクリックし、デバッグを表示します。ここに音声認識結果と出力結果が表示されます。 デプロイの実行 画面右上の「デプロイ」をクリックします。 Dashboard の表示 音声入力は、Node-RED
上で動作する「Dashboard」で行います。「Dashboard」にアクセスするためには、画面右上の「▼」 から、「Dashboard」をクリックします。
p. 20 動作確認 Web ブラウザで、下図のように表示されているかと思います。マイクのアイコンが表示されている箇所をクリックします。タッチ対応ディ スプレイの場合は、タッチします。 マイクの許可を求めてきた場合は、「許可」をクリック、あるいはタッチします。 下図のように、矢印が回転しているアイコンが表示されている間に、「インターネットにつながらない」と話します。音声認識により、チ ャットボットの会話ルールが起動し、返答が音声で出力されます。また、Node-RED のデバッグにも、一連の処理が表示されます
ので、確認します。