LoginSignup
4
3

More than 3 years have passed since last update.

PepperのDialogの閾値変更Boxを作ってみた

Last updated at Posted at 2016-07-31

多くの方から「pepperのDialogの閾値変えられないの?」という話があったので作ってみました。pythonの知識もいらないので以下を参考にしてみてください。

はじめに

  • PepperのDialogの閾値を変えるのにわざわざssh接続をするのは面倒
  • ChoregraphのBoxができればアプリ内に組み込める
  • それぞれのDialog Boxで閾値を設定できる(Speech Reco.みたいに)

Set Dialog CT ボックス

さっそくDialogのConfidence Thresholdを変更するBoxを作った。
BoxはGithubに公開している。

ダウンロードし、.pmlを開くと以下のように構成されたアプリが出てくる。
そのまま実行すればDialogの閾値を変更することができるようになっている。

Screen Shot 2016-07-27 at 20.44.59.png

具体的な使い方

作成したBoxはSet Dialog CTというBoxである。このBoxを少し覗いてみよう。

Screen Shot 2016-07-27 at 20.45.27.png

まず変数だが、どこかで見たことがあるだろう。そう、Speech Recoと全く同じあの閾値だ。デフォルトでは40%認識することができるようになっている。この値を0.5にすると閾値を50%に設定することができる。

Screen Shot 2016-07-27 at 22.01.06.png

Dialog Boxの前に配置するだけでいいので便利!

ボックスの中身

class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)

    def onLoad(self):
        try:
            self.dialog = ALProxy("ALDialog")
            self.value = self.getParameter("Confidence Threshold (%)")

        except:
            self.logger.warn("ALDialog is not available, language setting cannot be applied to dialog")
            self.dialog = None


    def onInput_input1(self):
        self.dialog.setASRConfidenceThreshold(self.value)
        self.logger.info(self.dialog.getASRConfidenceThreshold())
        self.output1()

できるだけシンプルに仕上げました。Choregrapheのログビューアでも閾値を確認できるようになっています。

おわりに

こんな感じにさらっとDialogの閾値は変更できます。これだとあの面倒なsshでつないで変更する手順を踏まなくていいです。
ぜび、役立ててください。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3