Google Home(アシスタント)が買い物リストを認識しなくなった時の治し方

Pocket

少し前からGoogle HomeやGoogleアシスタントで「買い物リストに○○を追加」というと、見つからない、新規作成しますか?みたいな返事をするようになりました。「ショッピングリストに~」ならOKです。今までは「買い物リスト」でも「ショッピングリスト」でも同じリストにアイテムを追加できていました。どうも仕様変更があったようです。

https://shoppinglist.google.com/

にアクセスしてみると複数のリストが扱えるようになっており、以前から使っていた「ショッピングリスト」が存在しています(中身も残っています)。試しにこれを「買い物リスト」にしてみると「”買い物”リストというリストは存在しません。新規に~」みたいな返答になります。そこで「買い物」にリネームすると、今まで通り「買い物リストに○○を追加」が通るようになりました。

変更は左上のハンバーガー(三本線)メニューを開き、表示されるサイドバーから既存のリストの右端にある三点メニューをクリックすると「名前を変更」という項目があります。(写真は変更後。共有済みなので青いユーザアイコンが見えてますが基本は出てないはずです。)

しかしこの状態で「ショッピングリストに○○を追加」と言うと、存在しないので作成して○○を追加しました、みたいな返答になります。しかもWeb上では作成された形跡がありません、、まぁ、とりあえず「買い物リスト」と「ショッピングリスト」は完全に独立して扱われるようになってしまったようです。個人的には「買い物リスト」の方が言いやすいのでこちらで運用するようにしました。

 

 

IoTな加湿空気清浄機 SHARP KI-JS50(アプリで機種登録できない時のメモも)

Pocket

2月はまる2週間ちかく実査が続き、風邪やインフルで倒れたらヤバいことになるスケジュール。そこで少しでもリスクを抑えようと仕事部屋にも加湿空気清浄機を設置しようと決めました。

ちなみに現在はリビングにジアイーノBluair Classic、玄関入ってすぐの廊下に防疫用にDyson Pure Coolという我ながらなかなかの高級空気清浄機ラインナップ。寝室には同居人が買ったダイキンのものまであります。重度の花粉症持ちやペットがいる上、σ(^^)自身も最近ハウスダストに目覚めて鼻水がとまらない生活なので致し方なし。

さて仕事部屋ですが、前は安いヒーター式の加湿器をおいてましたがこういうのは切り忘れると湿度があがりつづけPCやNASなど電子機器満載の仕事部屋としては不安なので、きちんとセンサー制御されているものにしたいなとは思っていました。部屋の湿度は低すぎてもウィルスが活動するし、高すぎてもカビが湧きやすくなるので、インフルもハウスダストも防ぐのであれば適切な自動管理が欠かせません。ついでに半信半疑ながらウイルスを不活性化させるイオン系の機能はまぁあればあったで、というくらい。あとやはり意識したのはIoT機能、つまりスマホなどから遠隔制御したりモニタしたりできるといった部分。

てことでSHARPのAI+IoT=AIoT家電シリーズのKI-JS50をチョイス。COCORO AIRアプリでモニタリング、遠隔操作とクラウドAIによる最適化などが利用できます。一ヶ月ほど悩んでたんですが、たまたまノジマで10% OFFセールをやっていて、ヨドバシ/ビックより1万円ほど安く、Amazon最安値と同等レベルだったのでその場で決断。

サイズ(適用畳数)的には5.5畳の仕事部屋にはかなりオーバースペックでしたが、IoT機能がついた最小モデルがこれだったので仕方なし。とはいえフットプリントは抑えめで、手狭で散らかった仕事部屋にも余裕で設置できました。水タンクは右サイドから取り出す形だったのも我が家的には好都合でした。吸気口は背面で時々使い捨てのPET樹脂フィルター(換気扇のフィルターと同じ材質)を交換するか、フィルターを貼らない場合は掃除機で掃除してやる必要がありますが、キャスターがついてて向きが簡単に変えられるので狭いところでもそこそこメンテナンスはしやすそうです。

なお、本機は加湿機能は補助的というか、自分で湿度を指定して加湿することはできません。あくまで室温などを加味して「いい感じにする」という形です。表示部には現在の湿度が出ますが、設定湿度ではないので注意。「うるおい」とかってマニュアルで湿度高めにするようなことはできません。夏などに加湿機能を無効化することはできます。あとは空気清浄機能とセットで「静音」などにはできます。ユーザがいじれるのは「する/しない」の二択ということですね。またヒーター式ではないので結露などのリスクは低いでしょう。目に見える水蒸気がモクモクと出るタイプではないです。その変わりこのタイプは適度にメンテナンスしないと水回りに雑菌がわいたりしやすいですね。それがフィルターやご自慢のプラズマクラスターでどの程度除菌されるのかですが、まぁ昔の製品ほどは気にしなくてもいいんじゃないかなと思っています。最悪でもジアイーノに定期的に排水、清掃しろって言われるのに慣れてきたので、こちらもきちんと衛生的に管理して使うのはそう苦ではないだろうと判断。

効果の程はまだ二日目なのでなんとも。しばらく運転させておいた部屋に入った瞬間にちょっと清涼感的なものは感じはしました。「おまかせ」モードでは比較的パワフルにぶん回し続けている印象。仕事をしたり寝る時にはわざわざ「おやすみ」モードや「静音」モードに切り替えないと気になる風量/音量かも知れません。まぁそこらへんもAIoTでだんだん学習して自動化してくれるようですが、寝室はともかくσ(^^)の仕事部屋の使い方は非常に不定期なので適用も難しかろうなという感じ。上位モデルなら人感センサーもついているようですが、JS50は連携アプリの入ったスマホのGPSで外出判定するのみです。家族ユーザも登録した場合、きちんと全員が外出であることを判断してくれるんでしょうかね?

■スマホアプリで機器登録ができない時のヒント(iOS / Android共通)

まずハマったのが、スマホへの登録。ステップは大きく3つあります。

  1. COCORO ID取得
  2. Wi-Fi接続
  3. アプリに機種登録(端末ごと)

2については最近では割と一般的な方式で、本体を設定モードにして、アプリからWi-Fi設定を流し込むタイプ。設定用一時SSIDにつなぎかえるのがアプリ内で完結する分、iOSよりAndroidの方がちょっと楽ですね。両方ある人はAndroid端末からやるといいでしょう。Wi-FiルーターがWPSに対応してる場合としてない場合で手順は違いますが、ここまではスムーズに進みました。

ところが3.ができない。同じWi-Fiネットワークにつながった状態で、アプリで機器登録をします。これはアカウント毎ではなく端末毎です。複数台のスマホで使う時は都度行わなければなりません。また台数制限もあるようです。で、これがとりあえず未設定機器として候補に登録はされ、名称やよみ、部屋などを入力して設定実行すると、本体もピっと反応し、そこで「パワフルショット」ボタンを3秒押せとアプリに指示が出るのですが、押しても登録に失敗。iOSでもAndroidでも何回やってもダメでハマりました。答えとしては「3秒で離すな、アプリで完了表示が出るまで押し続けろ」です。3秒くらいで本体がピピっとなるのでついボタンを離してしまうのですが、その状態では何度やっても成功しません。ピピっと言われようが我慢して押し続けるのがポイントです。なんでこんなわかりづらい仕様と説明文にしてるんでしょうね。上手くいかない方は是非参考にしてください。案の定、アプリのレビューでは機器登録できないとして低評価の嵐です。SHARP側でもこの不整合を認識してないんですかね。開発環境では3秒でピピっと鳴るよりはやく登録が完了するんでしょうか。とりあえずApp StoreとGoogle Playには書き込みしておきました。

Blueairの空気清浄機、故障により買い換え。IFTTT対応も。

Pocket

2014年に購入したBlueairの空気清浄機450Eが故障しました。スイッチパネル周りの故障らしく、触ってないのに頻繁に電源ON/OFFを繰り返すようになってしまいました。都度大きく「ピッ!」と鳴るので鬱陶しくてしかたありません。サポートに連絡し、

  • 電源を抜いてしばらく放置
  • 電源ケーブルがしっかり刺さっているか確認

などを再チェックしても治らず、メーカー送りとなりました。巨大な箱は処分済みでしたがまずメーカーが梱包用の箱を佐川で送ってくれて、それに詰めたあとで集荷依頼をして発送すればOK。σ(^^)は近くの営業所に直接もっていきました。

そしてやはり故障で修理が必要ということになったわけですが、残念ながらせっかく3年と長めの保障期間も既に切れており有償修理となります。見積もりは2万円くらいとのことでしたが、Blueairにはフィルター定期交換を含むメンテナンスパックのようなものがあり、

  • ダストフィルターメンテナンス 19,440円
  • ニオイフィルターメンテナンス 27,000円

で各新品フィルター1つと必要な修理が受けられるというもの。つまり消耗品であるフィルター分くらいお得ということになります。参考にフィルターはこれくらいのお値段。見積り料や送料は無料なので見積もった結果修理を断念してもお金はかかりません。

基本的にはメンテナンスで行こうと思いつつ修理見積もりを待っていたのですが、その連絡の電話の中で第三の選択肢が提示されました。なんと、後継モデルの480iを4割引で買えるというのです(修理品はあちらで処分)。

後継モデルは見かけはほぼ同じながら各種センサーが充実し(ダスト&ニオイセンサー->PM2.5/VOC/温度/湿度センサー装備)、Wi-Fi/IoT機能もついたもの。能力的にもCADR(空気をぶん回す能力)や適用畳数が広がり、消費電力は69W->60Wへと下がっています。IoTに目がないσ(^^)的には羨ましいと思いつつさすがにそれだけに買い換えるにはちとお高いものだったので躊躇していました。どのみちかかる修理代をさっ引くと3万円台で新型が手に入ることになります。一旦電話を切って色々再確認した後、その選択肢を採る旨を伝えました。

■ハード周り

外観はほぼ同じですが細かいところで結構違います。

  • 本体上面の液晶パネルがなくなった
  • フィルター交換ドアが前面から背面に変更
  • 空気の向きが右から左だったのが左から右に逆転

など。新しい操作パネルは青色LEDのボタン列に非透明のフタ付きになり、夜に無駄に眩しいということがなくなりました。前面のロゴと並んだ動作ランプもスマホアプリから明るさ変更できます(タイマーで夜だけ消灯も可能)。

フィルタードアはたまに蹴飛ばして開いてしまう(電源が切れる)ことがあったので基本歓迎。たまにあけて掃除機でホコリを吸ってやるのは少し面倒になりますが。

風が出る向きがかわったのはやや誤算でした。今の設置位置だと割とダイレクトに風があたって寒いです。夏はいいかもですが追々設置位置を再検討しないとかも知れません。

それぞれの公式仕様はこちら。[450E / 480i]

■Wi-Fi設定に苦戦/IoT周り

期待のIoT周りですが、まずスマホアプリのレビューが☆1つのオンパレード。どうもみんなWi-Fiにつなげられないとのことらしい。実際σ(^^)も何度か失敗して悩みました。

要点1: 5GHzに対応してないのでスマホもあらかじめ2.4GHz側につないでおく必要がある

アプリが自動で今つながっているSSIDを読み取り、パスワード(暗号鍵)を入力してやると自動で本体に転送してくれる設計なのですが、SSIDは編集できません。「今つながっているのをそのまま」しか送れません。なのでスマホ自体が自宅の2.4GHz SSIDにつながっている必要があるのです。

要点2: 転送手段/手順の不明瞭さ

アプリ上でSSIDとパスワードが揃ったとして、一体それをどうやって本体に伝えるのでしょう?ありがちなのはBluetoothやNFCですがそれらしい手順も指示されないし、仕様をみても対応してる気配はありません。結論からいうとあるレビュー記事にある通り、設定時に本体から一時的に設定用のSSIDがとぶのでそれに接続します。まぁよくあるタイプなんですが、アプリ上にそのことがほとんど触れられていません。iOSでは自動で切り替わらないので自分で明示的に接続する必要があるはずなんですが。先にその情報があったので、「設定」アプリで見慣れぬSSIDが出てくるのを待ったりもしてたんですがそれもなかなか現れず。結局、アプリ側がタイムアウトすると、「今Wi-Fiボタンはどんな風に光ってる?」みたいな三択画面が出て、真ん中の点滅パターンを選んだ時だったかに「blueair-config」(うろ覚え)みたいな暗号化されていないSSIDが出ました。それにつないだ後にアプリに戻るとようやく設定完了。うーん、これ本当にアプリ内でいうとおり自動で完結することあるんだろうか…

アプリの作りはミニマムでスッキリしています。グラフもDysonより見やすいかも。

またIFTTTに対応しているのでGoogle Homeなどとも連携することができます。THEN側(アクション)のレシピとしては

  • 風量を0〜3の指定の値にする
  • 自動モードをON/OFFする
  • 風量を1段強くする(最強の時はOFFに)

の3つが利用可能です。

IF側(トリガ)のレシピは、

  • 温度、湿度、PM2.5レベル、VOCレベル、CO2レベルの各センサー値が指定値を上回った/下回った
  • 空気質測定値が更新された

があります。後者の場合、デバイス名、PM2.5値、VOC値をパラメーターとして使えるようです。例えば「リビングのPM2.5がxxを超えました」みたいな通知を出せるわけですが、実際どんな頻度で送られてくるのかは不明です。

IF側とTHEN側をBlueair同士で組み合わせるだけだとまぁそんなに面白くはないかもですね。自動のパラメーターを自分で調整できるという感じ。

とりあえずGoogle Homeに音声で「Blueairをオン」とか「リビングが匂う」とかいったら最強にするようにとか基本的なON/OFFレシピを作成しておきました。

 

480iの1.5倍もするくせにIoTどころか赤外線リモコンすらないジアイーノを買った時にも強く思いましたが、白モノ家電がこういうIFTTTのような汎用インターフェイスを装備してくれるだけで何かと便利になりますね。臨時支出としてはかなり痛かったですが、あまり値引きされることがないBlueairをちょっとお得に買える得がたい機会に恵まれて結果良かったかなと思います。

続・Google Homeから赤外線デバイス不要でBRAVIAを制御する

Pocket

間が空きましたが、以前の記事でBRAVIAをネットワーク経由で制御する方法をまとめました。Node.jsサーバーを建てて、alanreidさんのGitHubにある制御スクリプトをクローンして設置すると、

という感じでNode.jsスクリプトを叩けるAPIが構築できます。WakeUpの部分がBRAVIAリモコンのボタンに対応づいていて、

といったコマンドが使えるようです。

後はこれをポート開放してインターネットから叩けるようにすれば、ブラウザはもちろん、IFTTTのWebHookから呼び出すことが出来、つまるところGoogle Homeに向かって「OK Google、NHKにして」と言ったら、

を叩くようなレシピが書けるわけです。

ただし、実際に使ってみるとこれだけでは不十分だと気付きます。Num1は数字キーの1に相当しますが、試せばわかるように、例えばホーム画面が出ている時にNum1を押してもNHK(関東の場合)にはならないのです。あるいはBSを見ている時にNum1したらBS1になってしまいます。これらはあくまでリモコンのボタンと同等の機能しかもっていないので、実際にある目的の状態に遷移させるには複数のボタンをマクロで動作させる必要があります。例えば、ホーム画面にいることを想定すると、Exit(戻る)->Digital(地デジ)->Num1(数字キー1)を押す必要があります。これはIFTTT側では対応できません。そこで、あるGETパラメーターに対して連続的に上記コマンドを発行する別スクリプトを作りました。統一性に欠けますが個人的に使い慣れたPHPで書いています。

仕組みは簡単です。冒頭の関数send()が実際にNode.jsサーバーのAPIを叩く部分です。自宅内のNode.jsサーバーのIPアドレスとポート番号を適宜書き換えます。本PHPスクリプトを動かすサーバーと同じでも良いですし、別でもいいです。外部にポート公開するのは本PHPスクリプトを動かすApacheなどのポートのみでOKです。安全の為、Node.js側のポートは閉じておいた方が良いでしょう。

例えばApacheのDocumentRootに本スクリプトをindex.phpなどという名前で配置した場合、呼び出し方は、

という感じになります。cmdコードはswitch文の中で色々と定義できます。例えば、先ほど書いたNHKの部分は、

なので、sleep(1)で1秒ずつ間隔を置きながら、Exit、Digital、Num1を発していることになります。これでホーム画面にいてもBSを見ていても地デジの1チャンネルとなるので、IFTTT側で「NHKにして」と言われたらWebHookで

を叩くようにすればOKです。MethodはGET、Content Typeはtext/plainでOKです。BSチャンネルの場合はDigitalの代わりにBSを指定します。

他にも、音量アップダウンは、

のようにして、同じ操作を5回繰り返して1単位としています。ここはsleep挟まなくてもいけてるぽいです。

なお、Netflixだけはリモコンにダイレクトボタンがあるのでcmd=Netflixで一発起動できます。うまくマクロを組めばユーザ選択くらいまでは自動化できるかも知れません。しかし他のYoutubeやAmazonプライムビデオといったアプリは対応できません。頑張ってHome、↓、↓、→、決定みたいなマクロを書けばできるかも知れませんが未検証です。

■セキュリティ的な配慮

caseのどれにも当てはまらない場合はDefaultセクションでそのまま送信することになっています。つまり、個別のボタンを直接叩くこともできます。可能性は低いと思いますがいたずらのリスクを抑えるのであれば、Defaultセクションは消しておいて、自分が定義したマクロ以外は無視するようにしてもいいかも知れません。電源はGoogle Homeから直接Chromecastエミュレーションでオンにできると思うので、電源だけはこのスクリプトからオンできなくしておくとか(あれ、でもNum1とかで電源はいっちゃうかな?)。その他、

  • パスを深くする
  • POSTにする
  • パラメーターで暗号キーを一緒に渡してチェックする
  • ソースIPをIFTTTのものに限定する

くらいの配慮はできるかもですが、IFTTTのWebHookから利用することを考えるとその辺りが限界でしょうか。Node.jsスクリプトを直接インターネットに公開するよりはマシかなとは思います。いずれにせよ本PHPスクリプトはあくまで実証スクリプトということで、ご利用は自己責任で。自宅アドレスを含むIFTTTレシピをそのまま共有しないようご注意ください(笑)。

■IFTTTのGoogleアシスタント用コマンドにチャンネル名を使う

以前の記事で固有名詞がGoogleアシスタントのコマンドに向かないよということを書きましたが、あれはあくまで自分のペットの名前などマイナーな固有名詞についてです。日本の代表的なテレビ局名くらいはきちんとGoogle側の辞書に入っているので、特に問題なく認識されると思います。「日テレ」などの略称でも大丈夫でした。「tvk」「MX」なども不安でしたが大丈夫なようです。Googleアシスタントアプリで確認したところ「ティーヴィーケー」と言うと「TVK」と出るので、そこは大文字でコマンドを定義しました。適宜Googleアシスタントアプリで聞き取り方を確認しつつIFTTTを設定してみてください。

■「?」を使ったレシピ集約

今回は主要チャンネルの数だけレシピを作ってしまいましたが結構手間です。IFTTTのGoogleアシスタントレシピでは「?」(「Say a phrase with a text ingredient」)を使って聞き取った文字列の一部をWebHookスクリプトにそのまま文字列として渡すことができますので、「チャンネルを ? にして」のようなレシピ1つで、あとはスクリプト側で分岐させる手もあると思います。そこら辺はAVアンプ制御編でチャレンジしてまうので、そちらも合わせてご覧ください。

 

Google Homeで設定したショートカットやIFTTTコマンドが認識されない時のチェックポイント

Pocket

Google Home + IFTTTでは好きな音声コマンドに対して様々な動作をさせるレシピを作ることができます。例えばIF側にGoogleアシスタント、出力側(THEN THAT側)にIFTTT赤外線家電コントローラーという組み合わせをすれば、「○○と言ったら家電のスイッチが入る」といったことができてしまうわけです。またGoogleアシスタント側の機能としてショートカットというものがあり、文字通りコマンドワードの短縮形や言い換えを定義することができます。例えば「Netflixでスタートレックディスカバリーを再生」と毎回つっかえずに言うのが大変なら、「スタートレックを見る」をショートカットにしておけば、Google側で自動的に言い換え(聞き換え)てくれるわけです。IFTTTのGoogleアシスタント入力では1つのレシピに3つの言い換えが割り当てられますが、ショートカットを使えばより多くのパターンを指定できます。例えば部屋の照明をつける1つでも「電気をつけて」「照明をつけて」「灯りをつけて」「明るくして」といくらでも言いようがあります。しかもまたGoogleさんの聞き分けが正確なので「電気をつけて」に対して「電気つけて」では反応せずそれぞれ登録しておかなければなりません。設定した自分だけならまだしも機械に疎い家族の言い方もカバーしようと思うと大変です。そんな時にはショートカットが便利です。

さてそんな自由な音声コマンドで様々な操作ができる素晴らしい技術ですが、使ってみるとどうにも上手くいかないことがあります。本記事ではσ(^^)の経験則からそんな時のチェックポイントをまとめてみました。基本は「Google Home(アシスタント)はまず聞き取った音声を“文字”に変換してから登録コマンドを参照する」ということです。

■Googleの聞き取り方に合わせる

例えばテレビのHDMI入力切替をApple TVに切り替えたいと「AppleTVに切り替え」ってコマンドを設定したいとします。しかし「AppleTV」も「切り替え」も文字にすると「アップルTV」「あっぷるてぃーびー」「切り替え」「切換」など様々な書き方ができます。AppleとTVの間にスペースを入れるかどうかということもあります。こういう場合、どういうルールでコマンド文を書けばいいかというと、「それをGoogleに言ってみて聞き取った通り」が答えです。Googleアシスタントアプリなら聞き取った音声を文字にして表示してくれますし、ショートカット設定画面ではわざわざ入力欄の端にマイクボタンがあり声で入力することができます。これらの方法でGoogleがどう書き取るかを調べ、そのままを音声コマンドにするのが無難でしょう。

■マイナーな固有名詞を避ける

もうひとつのポイントとしては単語や文章として一般的ではないものを避けるという点。我が家の猫は「たね」といいます。たねのベッドに敷いたペットヒーターをスマートコンセントで制御し、「たねヒーターをオン(オフ)」というコマンドで制御できるようにしようとしたのですがどうしても上手くいきません。そこでGoogleアシスタントで聞き取りを確認してみると「亀ヒーター」などとなりWeb検索結果を表示しようとします。こうしたSpeech To Text技術では、多少音声入力状態が悪くとも、一般的な会話として意味が通じる日本語文章を成立さえようと寄せてきます。つまり「たね/ヒーターかな?亀/ヒーターかな?」ってなった時に、後者の方が辞書(=ネット)によくある組み合わせだから言葉として正しいに違いない、と判断してしまうわけです。これはショートカットに登録しようとIFTTTでコマンドワードに指定しようと無意味です。それらはすべて一旦テキストに変換されてからマッチするものを探しているからです。順番として言えば、

  1. Speech-To-Text処理でテキスト化
  2. ショートカット設定からピッタリ同じテキストがないか探す
  3. IFTTTのコマンドワードからピッタリ同じテキストがないか探す
  4. Googleアシスタントのコマンドワードからピッタリ同じテキストがないか探す
  5. どれにもマッチしなければWeb検索に投げる

みたいなイメージです(2〜4の順番は実際には違うかも知れませんが)。だから2や3で固有名詞的な単語を登録しても1の段階で一般的な日本語として寄せられてしまうのでなかなか思った通りに認識されないというわけです。

Google Homeのスマートデバイスは部屋を割り当てることができます。例えば「たねヒーター」の所在地を「ベッドルーム」にすることで「ベッドルームのたねヒーターをオン」というコマンドが使えるようになります。常識的に考えれば「ベッドルームの」といってる時点で候補が狭まって認識率が向上しそうなものですが、実験してみた感じあまり違いはありませんでした。やはり一旦「ベッドルームの亀ヒーター」などとテキスト化され、結果としてWeb検索にいってしまうことが多いです(100%ダメでもなく上手くいくこともある)。

結局解決策としては「ペットヒーターをオン(オフ)」というように「たねヒーター」ではなく一般語としてありがちな「ペットヒーター」に寄せることでステップ1での認識率を上げるしかありませんでした。好きな固有名をつけられないのは悔しいですが、ステップ1に対してユーザ辞書的なものをもたせる仕組みがないので現状は仕方なさそうです。子供の名前やペット名など固有名をつけてる場合は試しに換えてみてください(強いていえばCMでやってるように「ドレンを呼び出してくれ」で電話帳のドレンさんを指定できるわけなので、電話帳にある名前はステップ1でユーザ辞書的に働く可能性はあります。iOSでもSiriで「おやゆびでお」というマイナーアプリ名がどうしても認識されなかった時、電話帳に登録することでいけたことがあります)。

■スマートホームデバイスは部屋名にも注意

上述のようにスマートデバイスに部屋を割り当てることができます。別の部屋に「照明」のような同じ名前のデバイスを設置した時に「ベッドルームの照明をオン」「リビングルームの照明をオン」などと言い分けるためのもののようです。スマートデバイスの設定手順の中でどの部屋にあるものか指定する画面がでます。ここも適当に流してるといつのまにかトラブルの元になりやすいので注意しましょう。我が家の場合、気付いたら「リビングルーム」が3つくらいあったり、「リビング」があったりしてました。ここもしっかり整理し意図せぬ部屋にデバイスが割り付けられてたり、同名の部屋が複数できてないか確認してみてください。ちなみに部屋名を削除するには割り付けられたデバイスをすべて他の部屋に割り付け直して空にする必要があります。またバグなのかAという部屋のaというデバイスをBという部屋に移動させたい場合、A部屋の一覧から他へ押しつけるような操作だとなぜか適用されません。B部屋の一覧に入って他から横取りするような手順で試してみると良いかも知れません。そしてここでもカスタム名は避けた方が無難なようです。例えば我が家に猫専用の部屋を割り当てられる余裕があったら「たね部屋」とかつけたくなるかも知れませんが、おそらく「たねヒーター」と同じ問題が起きることが想像に難くありません。

 

コマンド、デバイス名、部屋名に使い慣れたあだ名を割り当てたいのは人情ですが、現状の音声認識の仕組み上、一般的な日本語会話に登場しない言葉はなかなか難しいということ、日本語テキストにすることと、そこからコマンドとマッチさせることはかなり独立のプロセスであることを意識しておくと、認識率の高いコマンド設計ができるんじゃないかと思います。

余談ですが、「平沢進(ひらさわすすむ)」というσ(^^)の好きなアーティストをSiriやGoogleアシスタントで検索させた場合、きちんと見つけてくれる一方で、「はい、ひらさわしんを再生します」的なトークバックが返ってきます。こっちが「すすむ」と言ってちゃんとそれを認識してるのに、なぜ「しん」と読むんだ?とツッコミたくなりますよね。これこそがSpeech-To-Textとその後の検索処理、読み上げ処理がまったく独立でなされている証拠といえるのではないでしょうか。認識の辞書と読み上げの辞書が別々なんだろうということです。

さらに余談ですが、こうしたコンピュータが「言葉を理解する」ということについて専門家でなくてもわかる物語仕立ての解説をしている良書を紹介しておきます。σ(^^)もまだ読みかけですが大変オススメです。

働きたくないイタチと言葉がわかるロボット 人工知能から考える「人と言葉」

働きたくないイタチと言葉がわかるロボット 人工知能から考える「人と言葉」

川添愛
1,870円(10/20 15:38時点)
発売日: 2017/06/17
Amazonの情報を掲載しています