Help us understand the problem. What is going on with this article?

LINE Clova スキルでobniz IDを一発で全部取得する

はじめに

GW Advent Calendar の LINE Developer Community 1日目を担当しますnorippyです。
GW、旅行も行かずこんな記事を書いています。なんだかんだ、開発は楽しいですよね。

私は普段はハードウェアエンジニアでソフトの知識は大してありません。ただ、好きでAlexaスキルの開発をしているのですが、少しClovaスキルの開発もしてきました。
その中で、見つけたobniz IDを一発で全部取得する方法について書きます。(コードの話はないです)
ただこの内容は他にも応用ができて、この記事の内容を生かして設計をすれば、obnizに限らず音声認識率自体が向上すると考えています。

obnizって何?

obnizはESP32というWi-FiとBluetooth Low Energyが使えるマイコンが実装された開発ボードです。
ただこの開発ボードはとても便利で、普通のマイコンと違い、web上でコードを書くことで、ESP32の信号線の動作(電圧をHIGHにしたりLOWにする)ことができます。
つまり、ソフトウェアエンジニアがIoTを始めるには一番取っ掛かりが良いマイコンではないかと思います。

このobniz、もう一つの特徴は、8桁の数字から構成されるデバイスID で管理されており、このデバイスIDを使うことで、自分が所有しているマイコンを動かすことができるようになります。またobniz cloudサービスを利用することで、自分の作ったコードを自分だけで楽しむのではなく、みんなに使ってもらうこともできます。
ということは・・・

数字で管理 + 他の人のマイコンも動かせる環境が作れる = スマートスピーカーで利用できる!

わけです。
実際にclovaではobnizを使ったClovaスキルが作られ、公開されていますし、昨年のLINE BOOT AWARDS 2018ではエンジニア部門賞はobnizを使った作品でした。ありがたいことに、これ私なのですが、開発ではClova CEKでobnizのデバイスIDを認識するのに苦労しました。

Clova CEKでobnizのデバイスIDを認識してみる

ということで、早速CEKの話です。
最初にobnizのID 8桁のスロットを認識できるように、カスタムスロットを作ります。
カスタムスロットを作った理由ですが、
ビルドインスロットよりも決められた数字しか出ないのであれば限定してあげたほうが、その項目から判断しようとするので認識率が上がります

スクリーンショット 2019-04-27 11.52.14.png

次に、インテントを作ります。
このインテントの作り方が重要です!(マジです!)
開発の段階で色々トライしたのですが、インテントの作り方を間違えると、全く認識できなくなります。

動けフレンズロボットというobnizを使ったスキルのインテント一覧は以下になります
スクリーンショット 2019-04-27 12.08.21.png

inputNumIntentというのがありますね。
これの中身はこのようになっています

スクリーンショット 2019-04-27 11.51.50.png

このインテントの特徴は、これ以外のサンプル発話がありません。
例えばここに
「こんにちは」
「もう一度教えて」
など入れると、認識ができなくなります。
数字だけなら数字をとるためのインテントを作ります。これが大事です

この様に設計しないと認識ができないというのは、実際にLINEのエンジニアの方に教わりました。
どうも機械学習のアルゴリズムの話と絡んでいるようで、全く違う複数の認識結果の可能性を与えると、結果として認識ができないということになるようです。

まとめ

Alexaスキルと違い、細かくインテントを分けることでClovaスキルの認識率は向上します。
なんかうまくいかないなぁと思ったら、ぜひインテントをわけてみてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away