CEK縛りでハッカソンにでてみて感じたこと
はじめに
こんにちは 4geru です。09/01にサポーターズさんで開催されたLINE Bot&Clovaハッカソンに参加してきたのでまとめてみました。
はじめにCEKとは「Clova Extensions Kit」の略で2018年の7月にリリースされたClovaのAPIです。自分もちゃっかりリリースの4日後にRubyで軽くCEKの記事を書います。(参考 : 海の日なのでClovaでどうぶつスキルを作ってみた)
記事を書いてみたのですが、あまり理解できていかなったのですが、今回本格的にやるぞという思いで、CEK API縛りでハッカソンにでてみました。感想をKPT的にサクッと書きたいと思います。
CEKについて
でできること
文(intent)と類義語(slot)を登録できる
CEKでは文と類義語を登録することができます。intentとslotについては @imajoさんの記事に詳しく書かれています。(参考 : [入門]Clovaスキル(CEK)は作りながら覚えて行く(前提知識編))
mp3を返すことができる
音声データ以外にもmp3を返すことができます。mp3を利用することにより、効果音を流すことが可能になり、プロダクトとしての質が格段に上がります。 LINE Botで言う所のスタンプ(sticky) を返してくれるbotのような感じです。
また、setSimpleSpeech
ではなくsetSpeechList
を利用することにより、複数のボイスを返すことができます。サンプルのように、クイズbotの例だと正解の音を流して正解のアナウンスを流すことも可能です。
responseHelper.setSpeechList([ { "type": "URL", "lang": "" , "value": "https://e71ea8e2.ngrok.io/correct.mp3" }, { lang: 'ja', type: 'PlainText', value: '正解です。おめでとうございます!!', } ]);
できないこと
元の音声入力情報が取れない
プライバシーの観点から音声の生データ及びテキストデータを入力として受け取ることができません。
発音が悪いと受け取ってくれない
自分はあまり発音がいい方ではないので、トリガーアクションを取るのが難しかったです。チームメイトの声はスムーズに受け取ってくれていた。しかし、これから学習データが集まるに連れてスムーズな応答ができるようになっていくと思います。
参考にした資料たち
参考にした資料
- @imajoさん [入門]Clovaスキル(CEK)は作りながら覚えて行く(前提知識編) 実際に作りながら覚えていくので非常に読みやすかったです。超オススメ。
- @stachibanaさん CEKハンズオン
- @n0bisukeさん Clova CEKでのスキル開発の始め方〜Node.jsで開発スタート編〜
ハッカソンに参加してみて感想
やってみてよかったこと[Keep]
スマートスピーカーの開発をすることができた。
もともと作りたかったClovaスキルのMVP(Most Value Product)を完成させることができた。ことが非常に良かった。
ハッカソンに参加していたこともあり、LINEの方にすぐに質問をすることができたので、疑問が疑問のままではなく、発散でき、解決できたことも今回のハッカソンに参加して良かったことだと思います。
mp3をシュシュっと流せた
ngrokを繋いで、/public
いかに音声ファイルを置くことで、mp3で手元にあればどのような音楽でも流すことが可能です。
悪かったところ[Problem]
全くの知識不足で参加したところが一番大きかったです。知識不足については、次の通りです。
ビルドとコードの違いがわからなかった
@stachibanaさんのスライドでは、ビルドのスライドの次に完成したコードが記述されています。その点ビルドで何をビルドして、コードで何を記述するべきなのかがわからず困惑しました。
まとめてみると「ビルド=intent/slotの言葉の定義」「コード=intent/slotを受け取ってから返すまでの処理」のような感じです。
skillのコードに慣れていなかった
冒頭でもあったのですが、setSimpleSpeech
とsetSpeechList
の違い。
userIdの取得の方法/intent,slotの取り方/slotが取れなかった場合どうなるのか などなどハッカソン中に色々と戸惑う部分が多かったです。
あらかじめにコードを読む or 勉強会に参加すると格段に理解が上がってハッカソンでもスムーズにコーディングできると思います。
レスポンスが遅かった
会場にも寄ると思うのですが、通信のスピードが少しあるのかもしれません。LINEの時はスピードが早かったです。そのため、@stachibanaさんのハンズオンでは、herokuを使って動作させています。
次直すところ[Try]
動画を事前に録画する
動画を撮影するポイントは、2ポイントあります。
1つ目は、会場でデモするときに正常に動作しているかが重要になってきています。 発表中に100%動くのであれば問題はありませんが、100%動く自信がない&時間に余裕があれば、動画の撮影をオススメします。
もう一つは今回のLINE BOOT Awardでは、写真or動画の撮影が必須になっています。 ハッカソンでは動いていたけど後日動かすと動かない。メンバーが忙しくて集まれない等の事案が発生してしまいます。そのため、会場でなるべく動画に残して置くと良いと思います。
まとめ/感想
ハッカソンに参加して賞は取れない...悔しいという思いはあります。 しかし、自分が面白い!作ってみたい!!と思ったアイディアを一人ではなくチームとして短時間に形にすることは非常に楽しいです。また、ハッカソンで使った記述から学ぶことは非常にたくさんあります。
また、他のハッカソンにも参加するので、是非その際はお声がけください。 この記事を読んで見て面白いと思った方は周りのメンバーを誘って or 一人でも参加してみて下さい。