ドコモ Developer Application Contest 3rdに参加してきました


Pocket

NTTドコモとNTTドコモ・ベンチャーズが開催した「Developer Application Contest 3rd」に参加してきました。
※コンテストは既に終了しました

コンテストの概要は、下記3テーマの中からお題を選んで、それにあったアプリケーション、又は、サービスを、ドコモ提供APIを使って開発すると言うものです。

<お題>
・次のステージを切り開く! キュレーションサービス
・新しい形の生活支援型 エージェントサービス
・友だちとシェアしたくなる おもしろコンテンツ

その他にも、「アプリケーションアイデア部門」というのがあって、こちらは上記お題、又は、自由発想でも可という条件の企画書だけで応募できるというもの。

 
もちろん『アプリケーション開発部門』に参加してきました!
今回はその時のレポートです。

 

アイデア出し

まずは、ドコモ提供のAPIがどんなものなのかを、実際使ってみました。
Android端末で音声合成を使ってみる
Android端末でニュース記事取得APIを使ってみる
Android端末で対話API(しりとり)を使ってみる

その他にも、「画像認識」「文字認識」「発話理解」「知識Q&A」などなど、多彩なAPIが用意されています。

応募条件に、“ドコモAPIを使用すること”とあったので、基本的にはAPIから発想を膨らませて行こうかなと考えていました。
(お題はガン無視w)

 

案1:レシートからレシピ提案アプリ

買い物のレシートの写真を取るだけで、買った食材でできる料理レシピを検索できるというアプリ。

文字認識APIとレシピ検索API(楽天、ぐるなび等)を使ってできるかな思ったのですが…

既にありました。→あなたのレシートからレシピを提案! レシーピ!

ということで、早速ボツ

 

案2:栄養成分表で健康管理アプリ

コンビニおにぎりとかお弁当とかのパッケージに記載されている『栄養成分表』の写真を取るだけで、健康管理ができるというアプリ。

文字認識APIを使えば、1日の摂取カロリーとか塩分、脂質とかを記録・管理できるという。

とりあえず、ストック

 

案3:自分だけのニュース番組を自動生成できるアプリ

グノシーやSmartNewsを『自分だけの新聞』と考えると、『自分だけのニュース番組』ってのがあっても面白いよね。

トレンド記事取得APIのレコメンド機能と音声合成APIを使えばできそう。

とりあえず、ストック

 

案4:書道の臨書判定アプリ

臨書の精度を判定して、上達度を数値で見える化してくれるアプリ。

画像認識(オブジェクト認識)APIを使えばできるかも?

とりあえず、ストック

 
ひとまず形にできそうな案は3つほど出た。

 

アイデア決定。そしてモミモミ

ストックした3つの案から、今回のお題にあってそうなのは…
案3:自分だけのニュース番組を自動生成できるアプリが「キュレーションサービス」といえるかな。
その他は…
 
ということで、案3の『ニュース番組自動生成アプリ』を作ることにしました。

次に、コンセプトから具体的な機能を考えることにしました。
 
<コンセプト>
 自分だけのニュース番組
<機能>
 ・アナウンサーがニュースを読み上げる
 ・TVニュースみたいにテロップとかが出る
 ・TVニュースみたいにTwitterのコメントとか出る
 ・コメンテーターがコメントを言う(コメンテーターは20人とかw)
 ・自分の興味があるニュースだけ読まれる(レコメンドAPIを使用)
 
 
 
とここまで考えて、ふと気が付く…
これ別に『TVのニュース番組見ればいいじゃん』。最近はオンデマンド放送とかあるし…
 
 
じゃぁ、TVのニュース番組じゃ絶対できないことってなんだろうと考えてみる。
 
対話だ!
 
・ニュースで解らないことが出てきたら、アナウンサーに質問できる!
・聞きたいニュースをアナウンサーにリクエストできる!
などなど…『アナウンサーと対話によって進行するニュース番組』ができたら便利だし、新しい体験になるんじゃね?

 
ということで、そこら辺の思い付きも追加して、完成像が見えてきました。
 
<コンセプト>
 アナウンサーと会話できるニュース番組
<機能>
 ・アナウンサーがニュースを読み上げる
 ・TVニュースみたいにテロップとかが出る
 ・TVニュースみたいにTwitterのコメントとか出る
 ・コメンテーターがコメントを言う(コメンテーターは20人とかw)
 ・自分の興味があるニュースだけ読まれる(レコメンドAPIを使用)
 ・アナウンサーに質問できる(知識Q&A APIを利用)
 ・アナウンサーにニュースをリクエストできる

 
 

設計

作りたいものが決まれば、後は作るだけ。
ざっくりシステム構成を決める。
 
<システム構成>
システム構成
 
最も肝心な部分は『ニュース台本作成サーバー』で、トレンド記事取得APIから取得したニュースとコメンテーターのコメントとTwitterのコメントから、ニューススクリプトを作成しています。

 
コメンテーターは今回用意できないのでw仮想的なキャラクターを4人作りました。
・【経済評論家】三橋 ガクポ
・【政治評論家】宮崎 キヨテル
・【天才子役】芦田 凛
・【エンタメ評論家】円 タメ子
ネーミングは使った画像から適当に(笑
音声合成APIでは、11人の音声が使えるので、それぞれ声を変えてます。

 
実装は、

台本作成サーバー:OpenShift(Django+cron)
ユーザーアプリ:アンドロイド

という、いつもの使い慣れた構成です。

今回はコンテスト応募作品ということもあり、サーバープログラムの方は、最低限の機能のみを実装することに。
アプリ側の設計は、基本的にはニュース番組を元にモデリング。
アナウンサー、コメンテーター、ディレクター、台本といったクラスで構成されています。

 
 

実装

頭のなかの設計に従い、ひたすら実装。

 

動作テスト

スクリプト作成やニュースの読み上げなど、基本的な機能の実装が終わったら一通りの動作テスト。
バグや改善箇所を洗い出していきました。

 

イテレーション2周目突入

動作テストの結果を踏まえ、もう一度設計からやり直し。
読み上げる文字数や句読点に合わせて口が動くようにしたり、リピート機能やチェックリスト機能の追加など、細部の作り込みと機能改善を行う。

 

完成&応募

こんなアプリになりました。

 

 
締切1日まえに完成したので、余裕を持って応募を行えました。
開発期間は、アイデア出しを始めてから約2週間程でした。

 

結果発表

2015/2/16結果発表で、
なんと優秀賞&お題賞を頂きました\(^o^)/
ありがとうございます。

 

あとがき

コンテストを終えての感想ですが、やっぱり開発は楽しい!
自分のアイデアを形にできるって楽しすぎますよ!
ソフトウェアエンジニアであって良かったと思います。

さてさてドコモのAPIですが、実際使ってみて良いところや不満があるところ、いろいろある訳ですが…
とにかく、音声合成APIは素晴らしい!と思いました。
・話者が多数
・いい感じに発音してくれる(※専門外なので上手く説明できませんが、棒読みでなくてより普通に近い感じで読んでくれる)
このクオリティの音声合成が使えるとか、本当に素晴らしいです。

 
今回音声で操作するっていう方法を取ったんですが、今後音声インターフェース(音声認識、音声合成)ってより身近になると思うんですよ。
IoT時代のインターフェースって、スペース的にもやっぱり音声がいいのかなと思ってます(まぁまだ分かりませんが。今のところは)。

Pepperくんのタッチパネルとか、やっぱりちょっとダサいと思っちゃうんですよね。ない方がいい。
ただ展示会で聞いた話だと、実際店頭とかでPepperくんが話しかけても、答えてくれるお客さんは少ないらしく、ロボットに対して話す
ということに抵抗ある人がほとんど。だから、使い慣れているタッチパネルを胸に付けたらしい。
確かに、ロボットと話すのもそうだし、メガネに話す、腕時計に話すのも抵抗あるなと。私もAndroid Wearを持ってますが、人前で
“OK Google”はちょっと言えないですし。(恥ずかしい)

でも、かなり前ですが『モニタリング』っていうTV番組見てて「自動販売機がいきなり話しかけて来たらどうなる」っての演ってたんです
が、大人はしゃべり返さないけど、小学生&高校生は普通にしゃべり返してたような気がするし。
音声で操作するモノ(家電、家具、服とか)が今後増えれば、そんな時代になっていくのかな~と思ったりもします。

 
ではでは~。
 
 

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>