ロボットと共に

Life with Robot

C#とドコモAPI「雑談対話API」を試してみる

今回はタイトル通りC#でドコモAPI「雑談対話API」を試してみたいと思います。
ドコモAPI「雑談対話API」は、NTTドコモdocomo Developer supportから提供されているAPIです。

提供さてれいるAPI

  • 雑談対話:自然な会話をします。
  • シナリオ対話:フローチャートに沿った流れのある対話をしてくれます。
  • 知識Q&A:今知りたいことにピンポイントで答えます。

利用方法

  1. 新規アカウント登録
  2. 使用したいAPI登録

詳しくはこちらから参考にして下さい。

dev.smt.docomo.ne.jp

実際に動かしてみた

以下は、動かしてみたサンプルコードです。

サンプルコード

実行結果

3回実行してみました。それぞれ違った正しい返答を返してくれていますが、適用感が強い返しで面白いです。雑談対話APIはなかなか面白そうですねw

1回目

{"utt":"あらこんにちは","yomi":"あらこんにちは","mode":"dialog","da":"0","context":"9thN6csXAcbqHXqNHgk6Ww"}

2回目

{"utt":"うっす","yomi":"うっす","mode":"dialog","da":"6","context":"WYdp5aFfsRUoHPMr15Yh6g"}

3回目

{"utt":"こんあり","yomi":"こんあり","mode":"dialog","da":"0","context":"TtEaB0tWxu--xp_x6OJBdw"}

商用利用に関して

APIの商用利用はこちらにまとまったものが記載されています。

割りと利用しても大丈夫な感じを受けましたが、実際に商用利用を考えている方は一度お問合せした方が無難ですねw

dev.smt.docomo.ne.jp

最後に

ドコモAPIは割りとすんなり利用できましたが、一部音声合成などは自分のスキル不足でよくわからなかったです...
あんまり情報ソースが少ないと感じました。特にC#でやっている方は見当たらなかったです。一番簡単そうな雑談対話APIでやってみましたが、動いてよかったです。 

サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい。
ご利用した方は、コメント頂けると個人的に励みになります。

OpenCVSharpでFace++を動かしてみる

 前回に引き続きC#でFace++を試してみました。

今回は、OpenCVで読み込んだ画像データをエンコードしてFace++へリクエストを投げれるコードを書いてみた。ついでにOpenCVの顔認識も入れてみました。

出力結果は、以下の画像です。

  • 青枠がOpenCVの顔検出結果
  • 赤枠がFace++の顔検出結果

なおサンプル画像とした彼女は、フリー素材アイドル「Mika+Rika」を利用させて頂きましたw 謝謝:D

f:id:Mikan6:20170418020835p:plain

mika-rika-free.jp

 

以下は、動かしてみたサンプルコードです。

 

 

最後に

OpenCVとFace++が連携できて、カメラ映像からFace++へリクエストを投げられるしくみが整いました。あとは顔を登録して、顔認証作業ですねw

サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい。
ご利用した方は、コメント頂けると個人的に励みになります。

顔認識・認証API『Face++ Ver3.0』をC#で動かしてみる

顔認識・認証APIをリサーチ

顔認識するライブラリはOpenCVをはじめいくつかあるが、顔認証や顔の評価(笑顔など)を提供するものは少ないです。

顔認証をAPIとして提供しているのは

  1. Face++
  2. PUX PDS(PUX Developers Site)
  3. Microsoft Azure Face API

などがある。

その中でもFace++は無料でいろいろな顔認識の機能を提供している。
中国製ということで、少し気にはなりますが、良いものは良いです。
Face++は下記でも紹介されています。

matome.naver.jp

 

Face++をC#で動かしてみる

タイトルにあるFace++をC#で動かく簡単なソースを作成する。
登録や基礎情報などは、下記の日本の方が書かれたサイトを参考にしました。

famirror.hateblo.jp

 

syncer.jp

C#でコーディングするにあたり、すでにFace++をC#SDKしてC#(WPF)で書いている人がいました。

 こちらの方が提供されているソースは、そのまま実行するすぐにでも使えるようになっています。ここで使っているキーはパブリックなのだろうか心配ですが...

github.com

このソースをもとにapi_keyとapi_secretを自分で発行したものに変えればすぐ終わりだと思ったが動かいない...
HTTPのリクエストが悪いようだ...
いろいろ調べました。上記の日本の方のサイトでは、下記のURLをブラウザーなどでやると書いてあったので、試してみるが駄目だった。ちなみに下記のURLのキーにfacepp-csharp-sdk-betaを使用すると正常に返ってきました。

https://apicn.faceplusplus.com/detection/detect?api_key=<API KEY>&api_secret=<API Secret>&url=http://cdn-ak.f.st-hatena.com/images/fotolife/f/famirror/20151213/20151213235438.jpg
そこで原点に戻り、提供元のリファレンスを確認するとRequest URLが「https://api-us.faceplusplus.com/facepp/v3/detect」とVer3.0仕様になていることに気が付きました。では、facepp-csharp-sdk-betaのRequest URLを変えてやれば良いということもなく、Request Parameterも変わっているので変更が必要です。実際に変更したものをfacepp-csharp-sdk-betaを参考に簡単なソースにまとめました。

f:id:Mikan6:20170413191246p:plain

 
FaceppTest.cs

 

Face++が提供しているサンプルコードもあります。javaPythonなどのソースコードがありますが、古いバージョンのようですねw
Face++のサインインした先のリファレンスのサンプルソースだとVer3.0のJavaPythonのシンプルなソースコードがありました。JavaPythonで考えている方はこちらを参考にしつつ、旧バージョンのFace++SDKに適用すれば下記は利用できそうです!!

github.com

最後に

久方ぶりの技術ブログの再開で何を書こうか悩みましたが、面白そうなツールを探して、今回Face++をC#で動かしてみました。今後も何か面白そうなものがあれば頑張って書いてみようかと思っています。


サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい