Google カレンダーを使ってGoogle Home にゴミの日を聞けるようにした

f:id:Brezza:20190527110855j:plain

Photo by Robert V. Ruggiero on Unsplash

 

Google Home を設置してしばらく経過するが、Google Home にゴミの日を答えてほしいと思うようになってきた。

なぜ人間はゴミの日をよく忘れてしまうのだろうか?いや、人間じゃなくて自分が忘れるだけだった。主語を大きくしてスミマセン。

まずは調査

調べてみると 2017年ごろの Yahoo MAP! アプリにゴミの日を聞く方法とか、Diaglogflow で自作する話とか、Google Homeの拡張機能ゴミ捨てアプリ、などが出てきた。拡張機能については、行政が提供しているっぽいようなものもあった。

ひと通り見てみたが、Yahoo MAP! アプリは今は使えなくなったようだ。自作はさすがにコストが高すぎる。拡張機能は音声でゴミの日を登録しなければならなかったり、僕の一番尋ねたい「可燃ゴミは何曜日だっけ?」と質問できなかったり、メンテが終わっていたりしていた。

結局、これぞと感じるものが見つからない。

Google カレンダーを使う

結局色々考えた末、一番ストレートな手段は、Google カレンダーのリマインダーにゴミの日を登録してしまうことだと気がついた。むしろ拡張機能の知識がなければ、最初からこうしていたはずだ。何事も知識があれば良いというものではないと痛感する。

リマインダーを登録

たとえば次のスクショのような感じで「可燃ごみ」「資源ごみ」の予定を、毎週のリマインダーとしてGoogle カレンダーに追加する。

f:id:Brezza:20190527084336p:plain

f:id:Brezza:20190527085615p:plain

Google Home に尋ねる

追加したら、あとは Google Home に尋ねるだけだ。

「ねぇ、Google可燃ごみのリマインダーを教えて

と尋ねれば、

「1件あります、毎週 火曜日 金曜日 7時半 可燃ごみ です

のように答えてくれる。

「ねぇ、Google、今週のリマインダーを教えて

と尋ねれば、

「2件あります、毎週 火曜日 金曜日 7時半 可燃ごみ、毎週 水曜日 7時半 資源ごみ です

のように答えてくれる。いい感じ。

問題点

じつは「今週のリマインダーを教えて」という尋ね方には問題がある。他のリマインダーが登録されているとそれも一緒に列挙されてしまうのだ。「今週の資源ごみのリマインダーを教えて」は試してみたが、リマインダー登録モードになってしまった。

また、リマインダーに「不燃ごみ」と登録したところ、「不燃ごみのリマインダーを教えて」と尋ねても、認識されなかった。しかし、カタカナで「不燃ゴミ」と登録した場合は、認識される。謎である。

一方、「資源ごみ」の方は逆で「資源ゴミ」とカタカナで登録すると認識されない。困ったものである。

さらに「ごみのリマインダーを教えて」と尋ねると、カタカナの「ゴミ」を含むリマインダーのみが列挙されて、ひらがなの「ごみ」は列挙されない。

表にすると下のような感じ。 

登録名 ○○ごみのリマインダーを教えて ごみのリマインダーを教えて
可燃ごみ 認識する 認識しない
可燃ゴミ 認識する 認識する
資源ごみ 認識する 認識しない
資源ゴミ 認識しない 認識する
不燃ごみ 認識しない 認識しない
不燃ゴミ 認識する 認識する

憶測だが、Google 側の形態素解析エンジンで「○○ゴミ」や「○○ごみ」が1語になったり2語に別れたりしているのではないか。 

あとは、言い方をちょっとでも間違えたり、噛んだりすると、反応しないどころか、すぐリマインダーの登録モードになってしまう。まぁここは、ご愛嬌。

おわりに

ひとまず、やりたいことは無事できるようになった。

ひらがな・カタカナの認識のゆらぎがなく、「今週の資源ごみのリマインダー」とか「6月不燃ごみのリマインダー」というような尋ね方ができればパーフェクトだったが、ここは将来 Google Home 側で改良されると期待したい。

ところでこれは完全に脱線する話だが、 Google Home で利用するどうか以前に、日本の祝日のような一般公開 Google カレンダーを各自治体が提供してくれていたりしてもいい気がした。いや、統一フォーマット決めて json ファイルでもどっかに置いてくれるだけでも、いいのだが。

もちろん、すぐにアプリケーションが誕生するわけではない。そんなもん誰が使うんだよと思われるかもしれない。しかし、データがないことには良いアプリケーションは誕生しない。ITを重要な社会インフラだと考えるのであれば、プログラムからの読み込みが容易なフォーマットで公共データを供給することに、税金を投資して欲しいなぁと思う。

もしそうしていたら、少なくとも Google Home はデフォルトでゴミの日を教えてくれていた気がするし、きっとそれ以上の発展もあるはずだ。