Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう

Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう

Watson Speech to Text & pepper

こんにちは。

AI coordinatorの清水秀樹です。

Pepper単体でも音声認識機能は持っていますが、如何せん認識精度が悪いのは周知の事実ですよね。

Pepperと会話をしたければ、想定される会話をあらかじめSpeech Reco.やダイアログに登録しておく必要があります。

これはこれでPepperと会話が出来なくはないけど、かなり限定的な会話しかできません。

 

この問題の解決策の一つして、WatsonとPepperの連携があげられます。

Bluemix上にあるWatson APIの中にSpeech to Textというアプリがあり、これをPepperに組み込むだけで飛躍的に音声認識精度をあげることができます。

 

ここではPepperにWatsonのSpeech to Textを組み込む方法を紹介します。

 

Blumiexは30日間は無料で使用できるので、ぜひ試してみてください。

また、当記事最後にプロジェクトファイルのダウンロードリンクを貼ってあります。

手っ取り早く使ってみたい方は記事最後まで読み飛ばしてください。

 

事前準備

Pepperを使う以上はコレグラフのインストールは必須です。

また、Bluemix上でWatson Speech to Textアプリを作成しておく必要があります。

Speech to Textの作成方法は以下の記事を参考にしてください。

Watosn Speech to Text をPythonで使ってみよう

 

プロジェクトファイルの説明

コレグラフで実装するプロジェクトファイルの説明です。

ここで紹介するプロジェクトファイルは、人間が話した内容をPepperがオウム返ししてくれるというアプリケーションです。

非常に単純に作っていますので、特に実装に難しい部分はありません。

ボックスは全部で4つです。

  1. Speech Reco.ボックスはアプリを開始するために準備しただけです。
    ペッパーと声がけするとアプリがスタートします。
  2. Record SoundボックスはPepperに話しかけている内容を録音します。
    ここでは5秒間録音します。
    録音後はwav形式で保存し、次のボックスにファイルのパスを連携します。
  3. Watson STTはPythonボックスで実装しています。
    このボックス内で先ほど録音した音声ファイル(wav)をWatsonのSpeech to Textに渡し、そこでテキスト化された音声データを次のボックスに受け渡します。
  4. 最後のSay Textボックスはオウム返しするために準備しただけです。

以上です。

プロジェクトファイルのダウンロードはこちらから → Speech To Text.zip

 

実機で確認済みです。

ぜひお試しあれ。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

COMMENTS & TRACKBACKS

  • Comments ( 4 )
  • Trackbacks ( 2 )
  1. とても分かりやすい記事でした、ありがとうございます。
    実機のペッパーで試したみたところ、以下のようなエラーが出てしまいます。
    原因が分からないのですが、どうしたら良いのでしょうか。
    コードはurl,username,password以外の部分はいじっておりません。

    [ERROR] behavior.box :_safeCallOfUserMethod:125 _Behavior__lastUploadedChoregrapheBehaviorbehavior_1622976592:/Watson STT_2: Traceback (most recent call last):
    File “/usr/lib/python2.7/site-packages/albehavior.py”, line 113, in _safeCallOfUserMethod
    func(functionArg)
    File “”, line 35, in onInput_onStart
    KeyError: ‘results’

    • お問い合わせありがとうございます。

      watsonからのリターンをからうまく文章が抜き出せない感じでエラーになっているみたいですね。

      url,username,passwordに間違いはないでしょうか?

      • 返信ありがとうございます。
        エラーはそのような意味なのですね。ありがとうございます。
        url,username,passwordをもう一度確認しましたが、間違いはないようです。
        23-25行のみを変更すれば良いのですよね?

        • あ!?
          urlはそのままにして、変更する箇所はusername,passwordのみでやってみてください。
          サービス資格情報のurlはパラメータが不足しているので、サービス資格情報のurlをそのまま貼り付けただけでは動きません。

  1. […] 前回記事で紹介した「Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう」で、会話を聞き取れるPepperを開発できたら、次のステップアップとして質問に回答できるPepperを作ってみましょう。 […]

  2. […] 話しかけた言葉をしっかり認識できるPepperの開発方法は「Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう」で紹介していますので参考にしてみてください。 […]

LEAVE A REPLY

*
*
* (公開されません)