ありまっくすのへっぽこ日記

アラフォーでへっぽこエンジニアをしております。へっぽこなりに頑張っています。

次世代UI (VUI & CUI) 設計思想の基本に参加してきました

ブログなかなか書けず、、、、。

 

2/14のバレンタインデーに「次世代UI (VUI & CUI) 設計思想の基本」という勉強会に参加しました。復習がてらレポートを。

 

uxdt.connpass.com

 

開催日時:2/14(水)

場所:ドワンゴ様オフィス

人数:70人ぐらい

スピーカー:菊池 聡氏(Web Directions East代表)

 

コンテンツ

  • VUIの基礎(座学)
  • VUIのミニワークショップ
  • CUIはなぜ習得すべきか 

VUIの基礎

まず、VUI(Voice User Interface)とは何かというところの基礎を座学で学びました。VUIとはAmazonEchoとかAlexaなど、声を使ったユーザーインターフェースのことです。

話すこととタイピングの違いは文字数です。理論上は話す方がタイピングの5倍効率がいいのです。

  • タイピング 30-40文字/分
  • 話すこと 125-130文字/分

VUIを使うのはこんな時とのこと

  • アラーム 
  • ドアロックを開ける 
  • 車をガレージから出す

ちょっとした操作の時が多いですね。VUIでは、ペルソナと同じように、場所に合わせたプレイソナを考えて設計していくそうです。

確かに声を出したくない場所ってありますが手が塞がっている時には声だけで動いてくれるのは便利です。

CUI BotNLP

CUIとはターミナルのことではなくて、Conversational User Interfaceのことで、会話型ユーザーインターフェースのことです。

つまり、CUI Botとはこちらが話しかけると自動的に返信をしてくれる仕組みのことです。しかし、こちらが発した言葉に対して決まったパターンでしかものを言わないので、却ってイライラすることも多いです。

ユーザーのコンテキストやIntent(真意)を理解していないせいで却って仕事が増えてしまうこともあります。

 

NLPとはNatural Language Processor(自然言語)のことで、ユーザーのコンテキストを理解した上でレスポンスをくれるもののことです。NLP付きVUIは開発中とのことですが、実現はまだまだ遠いです。

一番考えなくてはいけないのはJTBD(Jobs To Be Done)

CUIを設計する上で一番考えなくてはいけないのはJTBDです。恥ずかしながらよくわかっていなかったのですが、一例として有名なのは「ミルクシェークマーケティング」です。

  • あるお店のミルクシェークの売り上げが朝だけ高いことに着目
  • マーケターが年齢のセグメントを区切って、プロモーションして見たが、効果なし。
  • 朝に買うユーザーを観察(エスノグラフィー)
  • その後、その人たちにインタビュー。「なぜミルクシェークをのむか?」→「高速を飛ばしているときに手っ取り早く栄養を取れるから」

ここで重要なのは、年齢とかを区切って行うマーケティングが通用しないということだったのです。

 

チャットボットがうまくいかなかったのは、ユーザーの満たすべき目的を理解せずにキーワードだけに着目してレスポンスを返していたので、かえってユーザーをイライラさせてしまっていたのです。

お昼時に「お腹が空いたな」と呟いたところ、Botが「ではシリアルはどうですか?」とレスポンスしてきたらどうでしょうか。

f:id:ari_max:20180214193522j:plain

 

VUIのミニワークショップ(シェフロボット設計)

座学のあとはVUIのミニワークショップを行いました。時間は20分間で、課題は以下の通りです。

お題はシェフロボット(NLP機能付きロボット)の設計で以下の制限があります。

  • 10ヶ月でリリース予定(ビッグデータを使うことはできない)
  • 肉・魚・野菜のいずれかを料理する
  • 外観のデザインは設計済みで、CUIの設計を行う

6人のグループで行ったのですが、エンジニアばかりだったせいもあり、「前提は何?」という話ばかりでなかなか収束しませんでした。。

ジョブが全く見えていない状態ってこういうことをいうのかなと。

結局、「具体的な手順を提案」する機能と「おすすめをサジェスト」という機能をつけようというところしか決まりませんでした。

その後、会話のシナリオを作るという課題を出していただき、チームでシナリオを考えましたが、ここでもうまくまとまらず。。。

 

他のグループがロボット役と人間役に分けて

「焼き加減はどうします?」

「ミディアムで」

というように 実際にやりとりをしてくださいました。うまくできているチームは違うな。。。と思いました。

CUIはなぜ習得すべきか

最後に、なぜCUIを習得すべきかという説明を受けました。今後、Googleなどの企業は以下のような製品の実用化を目指しています。

ホテルの画像を見せる→ホテルの空き情報を表示→OK予約してという→予約完了

ARとCUIをうまく組み合わせています。

 

つまり次にくるUIとして注目されているからなのです。

イベントを通じて学んだこと

次世代UIというキャッチーな言葉に惹かれていたのですが、実際に対話型UIの設計は一筋縄では行かないなというのを感じました。ユーザーが何を解決したいのかということを理解しないと、全く役に立たない邪魔なものが出来上がってしまうと。

Jobs To Be Doneを理解しないと。。。。と思いました

 

 

すっかり遅くなったけど2018年

すっかり遅くなってしまったけど、2018年が始まってから20日も経ってしまいました。

今年もよろしくお願いします。

 

今年の目標は一応立てていたのですが、ブログ書けずに。。。

30代最後の年になるので、悔いのない一年にしたいものです。

 

今年の目標はこんな感じ。

  • 株価予測システムを作る(AI勉強してたので、実践)
  • このBlogに技術情報をのせる。
  • UXの勉強・AIの勉強を継続する(スキルアップは大事)
  • 少しは痩せよう(夜遅い食事がいけないんだよな)
  • 案件は2件以上持つ
  • そろそろ情報処理とTOEICを受ける

 

SNSはなんだか照れ臭くて、スキルアップの情報を載せられないのですが、こちらには遠慮なくあげていこうとおもいます。

 

今年も頑張ります。

2017年も終わってしまう

いつの間にか、大晦日。

 

今年は色々種まきをした一年でした。

ここ数年、モバイルアプリの開発が多かったのですが、ちょっと飽きてきてしまって。。。今、お世話になっているところのアプリも大人の事情で配信停止になってしまったことで、すっかりココロが折れてしまったのもあって、新しいことは何かないかと模索していました。

そんな時、ずっと気になっていた、湯川塾の「ビジネスマンのためのAI講座」に参加させていただきました。

これをきっかけに、本格的にAIの勉強をすることになりました。

thewave.teamblog.jp

 

そして、10月からはAIジョブカレで実践的な勉強をしていたり。。

www.aijobcolle.com

 

今、タネをまいているものが仕事として収穫できるのは、数年後のことになるかと思うけどここは焦らずに。。

経験上、「回収してやるぞ」と意気込んでいるうちはなかなかうまくいかないので。

 (仕事としてやってみたい気持ちはもちろんあります)

 

後はUXの勉強も本格的にはじめました。

UX DAYS TOKYOの見習いスタッフとして、若手のUXデザイナーさんやWEBデザイナーさんに囲まれながら勉強しております。「ユーザー体験」って何だろうと模索する日々です。

www.facebook.com

「2月生まれは、今までのものを捨てて運を切り開く」(だったかな?)が電車内の広告(占いだけど)にありました。あながち間違っていないのかな?と思ったりするわけです。

 無駄に歳を食ったアラフォーだけど、新しいことにチャレンジして行こうと思っております。

2018年もいい年でありますように!!

AIジョブカレ4回目に参加して来ました

だいぶ前の話。

AIジョブカレの4回目に参加させていただきました。

まずはモデリング時のデータ処理について、復習。(あくまで自分むけ)

データ処理では、以下のことを行います。

  1. one-hotエンコーディング
  2. 欠損処理(Imputer)
  3. 特徴量選択(RFE)

 

今回のテーマは「前処理」

パラメータを最適化するためにはどうするかということですね。

学習させるデータは数値でなくてはいけないのですが、カテゴリ変数という場合もあります。そういうときにone-hotエンコーディングが必要になって来ます。

 

カテゴリ変数って何かというと2個以上の選択肢を持つもの。

colorという変数が以下の値を取りうるような感じです。

  1. red
  2. blue
  3. yellow

みたいな選択肢のようなもの。これを0か1で表現できるように変更するのがone-hotエンコーディングな訳です。

上の例だと、

  • color_red
  • color_blue
  • color_yellow

という3つの変数が出来上がります。

赤の場合はcolor_redのみが1となり、後の2つは0となるわけです。

 

お次は欠損値処理。

現実世界のデータは必ずしも全て埋まってくるわけではないので、欠損値を何かしらの値で埋める必要があります。

sklearnでone-hotエンコーディングをする際はencoding with dummy naをtrueにセットすると欠損を組み込んでくれます。

連続変数の保管は「平均値」で行うことが多いそうです。

 

そして、特徴量選択(RFE)。これも大事。

アルゴリズム投入前に、効果が低いと思われる変数を除去します。

 変数が多い(高次元)のものはオーバーフィッティングになりやすいですからね。

 

で、力尽きたので今日はここまで。

 

 

女子力アップな週末

 


先週末は女子力アップな週末でした。

まずは、仁香さんのビューティーレッスンに渋谷のgood juiceへ。

女子だらけ20人の会場に心拍数が上がり気味。

仁香さんからエクササイズとメイクのレッスンを受ける。一人一人見て回ってくださりました。他の人にメイクレッスンしているシーンも面白い。最近のトレンドは太眉ということで、なかなか抵抗がある人もいたみたいです。

 

仁香さんはサービス旺盛で、私物のメイクセットも見せてくださいました。

ETVOSは品薄状態らしいです。

f:id:ari_max:20171209132454j:plain

 

コールドプレスジュースとランチを。。。

f:id:ari_max:20171209130435j:plain

こんなヘルシーランチ。つくねが美味しい。

f:id:ari_max:20171209134030j:plain

イベント主催の渡辺佳恵さんと。とってもかっこいい女性で憧れです。

f:id:ari_max:20171209141843j:plain

 

仁香さんともツーショットを。何回かウォーキングレッスンに参加したせいか、覚えてくださっています。

f:id:ari_max:20171209141818j:plain

 

お土産も豪華すぎる。収支が心配になっちゃいます。

f:id:ari_max:20171209165720j:plain

 

先週末はつくばマラソン走って来ました

先週末はつくばマラソンを走って来ました。

結果は、3:39:04(3:39:00)で自己ベストを13分ほど更新しました。

本当はサブ3.5(フルマラソンで3時間半を切ること)を狙いたい気持ちもあったけど、今回はこれで満足です。

前日カーボローディングのせいか、10kmあたりから腸が動き出してハーフ過ぎに限界に。。。(普段は溜め込むヒトです)

「この状態だとサブ3.5は厳しいし、スッキリさせよう」という判断でトイレへ。。

34kmぐらいのエイドでちょっと休んでしまったこともあったので、「3時間40分切りもきついかな」とおもっていたので、ゴールした時に時計を見てびっくりしました。

良かったところ

背中で走れるようになった

背筋が弱かったのですが、ヨガのシルシアーサナを練習することで、背筋を鍛えられました。その結果、苦しくなっても肩甲骨周りを動かして粘ることができました。

スピードを1段階上げられた

残業ランなど、ちょっとハードなスピード練習に参加したことで、心肺機能をあげられました。心肺機能はまだ弱いので、鍛えていきたいです。

 

反省しているところ

体が重い状態で走るのに慣れていない

普段、何も食べない状態で走っているので、カーボローディングした状態では体が重くてきつかったです。25kmぐらいまで体が重かった。。。

減量のためには、食べない状態で走るのが効果的なんだけど、悩ましいところです。

まだスタミナがない

長い距離を走り始めたのが秋になってからだったので、30kmまでしか持たなかったです。ただ、以前に比べると落ち込みは抑えられました。

根岸森林公園や長沼公園のクロカン走は効果的なので、続けて行きたいです。

 

f:id:ari_max:20171128063918p:plain

 

 

 

 

f:id:ari_max:20171128065845j:plain

AIジョブカレ3回目に参加してきました

先々週の話ですが。。。

水曜日はAIジョブカレの第3回目に参加してきました。

 

今回のテーマは「分類」でした。例えば、「スパムメール」か「スパムメールでない」のようなものが挙げられます。

 

分類方法にはいくつか種類があります。

K近傍法

学習をしない方法(怠惰学習という)で、予測したいデータと距離の近いk個の訓練データの正解ラベルから予測を決定します。

「自分と周りは同じだろう」という前提の方法

ロジスティック回帰

以下の最小化問題を解き、重みパラメータ(w)を学習していきます。

機械学習は、損失関数を最小化していく

 

f:id:ari_max:20171202183422p:plain

http://scikit-learn.org/stable/modules/linear_model.html#logistic-regressionより


式の前半部分(+の前まで)はL2正則化といわれており、過学習を防ぐためにモデルに対してペナルティを与えています。(極端なデータが与えられた時にあまり学習しないようにする)

C の値が大きければ、正則化の効力が相対的に下がります。

yi=1(正しい例)のデータの戻り値が大きく、yi=-1(間違っている例)のデータの戻り値が小さくなるようなwを探していきます。 

最終的に、スコアはロジスティック関数によって確率に変換されます。 

ニューラルネットワーク 

入力されたデータによって発火する、脳のニューロンの仕組みを応用したもの。

下の図のように、入力層、隠れ層、出力層からなり、重みパラメータを学習していきます。

 

f:id:ari_max:20171202194024p:plain

http://scikit-learn.org/stable/modules/neural_networks_supervised.htmlより

力尽きたので、今日はここまで。