多くの方から「pepperのDialogの閾値変えられないの?」という話があったので作ってみました。pythonの知識もいらないので以下を参考にしてみてください。
はじめに
- PepperのDialogの閾値を変えるのにわざわざssh接続をするのは面倒
- ChoregraphのBoxができればアプリ内に組み込める
- それぞれのDialog Boxで閾値を設定できる(Speech Reco.みたいに)
Set Dialog CT ボックス
さっそくDialogのConfidence Thresholdを変更するBoxを作った。
BoxはGithubに公開している。
ダウンロードし、.pmlを開くと以下のように構成されたアプリが出てくる。
そのまま実行すればDialogの閾値を変更することができるようになっている。
具体的な使い方
作成したBoxはSet Dialog CTというBoxである。このBoxを少し覗いてみよう。
まず変数だが、どこかで見たことがあるだろう。そう、Speech Recoと全く同じあの閾値だ。デフォルトでは40%認識することができるようになっている。この値を0.5にすると閾値を50%に設定することができる。
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でつないで変更する手順を踏まなくていいです。
ぜび、役立ててください。