スマートスピーカーっていいですよね。スマホみたいに画面を開いたりすることなく情報をインプットできるので。
今回はとあるハッカソンでLINE Clovaを取り扱うことがあったのでその時に作ったClovaのスキルについて書いていきます。
システム構成

Clovaに知りたいゴミの捨て方を聞くとその情報が返ってくるという感じですね。ゴミの捨て方のデータは福島県会津若松市のオープンデータである会津若松市 家庭ごみ分別辞典から持ってきました。バックエンドで使用した言語はC#です。
スロットとインテントの設定
スロットとインテントの設定は以下のようにしました。スロットとインテントの詳細については割愛します。
スロット
49個全てをUIから入力するのは大変なので、tsv形式のデータを用意して読み込ませました。
また、終了に関するワードを取り扱うためにTerminateスロットとTerminateインテントも用意しました。
...Garbageのスペル間違ってた!
スクリプト
残念ながらハッカソンの時間内では複数検索結果が見つかった場合の処理は実装できませんでした。実装するとしたら、LINEのGUIで選ばせるという方法が考えられますね。
使用したパッケージ
いづれもVSCode内にてNugetを通して導入できます。なお、LINE botと連携するにはClovaスキルとMessaging APIのプロバイダーが同じである必要があります。
動作の様子

写真なのでわかりにくいのですが、ちゃんと要求したゴミの情報を汲み取ってくれてClovaが捨て方について話してくれます。また、長い情報で聞き逃してしまっても大丈夫なようにLINEにも通知が飛んでくれます。
参考文献
マンガでわかるLINE Clova開発 1話「どんな仕組みで動くの? サーバーレスって何?」|TECH PLAY Magazine[テックプレイマガジン]
