明日の沖縄県の天気は?AIスピーカの制作


ラズパイで作る音声認識チャットボット

AIスピーカによる天気予報取得のプログラミング

図1 自然言語処理により「いつ」「どこ」の情報を正確に識別し,気象庁のWebサービスを通じてデータを取得.さらに音声合成技術を組み合わせて,スムーズな対話型天気予報システムを構築.画像クリックで動画を見る.または記事を読む.[提供・著]井上 祐寛
詳細[VOD/KIT] ラズベリー・パイで学ぶエッジAIプログラミング入門

音声認識と自然言語処理

AIスピーカが天気予報を取得する際には,音声認識と自然言語処理が重要な役割を果たします.

  1. 音声認識:Juliusを使用してユーザの発話をテキスト・データに変換
  2. 自然言語処理:GiNZA/spacyを用いて意図(Intent)やエンティティ(Entities)を抽出
  3. 問い合わせ文解析:「いつ」「どこ」の情報を識別し,適切な処理を実行

「明日の沖縄県の天気は?」という発話があった場合,以下のように処理されます.

  1. 音声認識でテキスト変換:「明日の沖縄県の天気は?」
  2. 自然言語処理で情報抽出:「明日」(いつ),「沖縄県」(どこ)
  3. 天気予報APIへ問い合わせ

天気予報データの取得方法

天気予報データは気象庁のWebサービスを利用して取得します.

  1. 気象庁のAPIにアクセスし,対象エリアの天気情報を取得
  2. 対象エリアはarea.jsonファイルに定義されており,対応するコードを利用
  3. スクレイピング技術(HTMLSession, BeautifulSoup)を活用し,天気情報を解析

沖縄県の天気を取得する場合,`https://www.jma.go.jp/bosai/forecast/#area_type=class20s&area_code=4710000` にアクセスすることで,最新の天気情報を取得できます.

AIスピーカにおける音声合成技術

音声合成の役割と実装

ユーザが天気を問い合わせた後,AIスピーカは合成音声を使って回答を行います.音声合成にはOpenJTalkを利用します.

  1. テキスト・データを合成音声用のフォーマットに変換
  2. OpenJTalkで音声ファイルを生成
  3. スピーカまたはイヤホンを通じて出力

「明日の沖縄県の天気は晴れ時々曇りです」というテキストをOpenJTalkに渡すと,合成音声が生成され,スピーカから発話されます.

音声合成の精度向上

自然な発話にするため,以下の技術を活用します.

  1. OpenJTalkの辞書をカスタマイズするイントネーション調整
  2. ユーザの発話に応じたレスポンスのバリエーション追加
  3. 音声スピードやピッチを調整し,聞き取りやすさを改善

〈著:ZEPマガジン〉

動画を見る,または記事を読む

著者紹介

  • 株式会社クレスコ入社後,銀行向けシステムなど数多の開発にリードエンジニアとして従事.後に自社ソリューションとなる統合認証システムの基礎を独力で開発するなど,アイデアと技術でクレスコを牽引する.技術研究所での機械学習研究を経て,人工知能を強みとする部門に異動.現在はテクニカルエバンジェリストとして企業が持つ業務課題へのAI適用に関するコンサルティング,機械学習に関する技術支援を行う一方,自ら研究テーマを持ち共同研究,実験システムの構築も担当.「SoftwareDesign」「やってみよう!機械学習」(技術評論社),「日経ソフトウェア」「AIプログラマになれる本」(日経BP)への記事寄稿,会津大学,はこだて未来大学,琉球大学,早稲田大学のほかWatson SummitやMicrosoftでの講演等,社外でも精力的に活動中.
  • 2022年9月 金沢工業大学 客員准教授に就任.詳細はこちら

著書

  1. [VOD/KIT]ラズベリー・パイで学ぶエッジAIプログラミング入門,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]世界の航空機を同時追跡!Flightradar24 ラズパイ・キット,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]人工知能カメラM5StickVで作って学ぶ画像解析AI開発入門,ZEPエンジニアリング株式会社.
  4. いろんなことを試して学ぶ! Pythonプログラミング,2021年,日経BP.
  5. エッジAIプログラミング M5StickV 活用編,日経ソフトウェア2020年11月号,日経BP.
  6. エッジAIプログラミング M5StickV 準備編,日経ソフトウェア2020年7月号,日経BP.
  7. Kaggleに参戦しよう(連載),日経ソフトウェア2020年1月号,日経BP.
  8. Kaggleに参戦しよう(連載),日経ソフトウェア2019年9月号,日経BP.
  9. Kaggleに参戦しよう(連載),日経ソフトウェア2019年7月号,日経BP.
  10. AIプログラマになれる本,2019年,日経BP.
  11. やってみよう! 機械学習 第2章 機械学習の始め方,2019年,技術評論社.
  12. 人工知能で画像生成 応用編,日経ソフトウェア2019年1月号,日経BP.
  13. 人工知能で画像生成 基本編,日経ソフトウェア2018年11月号,日経BP.
  14. 自分で構築するか,APIで機能を使うか 機械学習の始め方,Software Design2018年4月号,技術評論社.

参考文献

  1. [VOD/Pi3A KIT]ラズパイ・キットで学ぶLinux I/Oボードの作り方・探し方・動かし方,ZEPエンジニアリング株式会社.
  2. [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  3. [VOD/PiZero KIT]Python×ラズパイで初めての量子コンピュータ,ZEPエンジニアリング株式会社.
  4. [VOD/Pi400 KIT]SLAMロボット&ラズパイ付き!ROSプログラミング超入門,ZEPエンジニアリング株式会社.
  5. [VOD/Pi KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.