nigoblog

技術系会社のCEOブログ~私的編~

「広告やメディアで人を動かそうとするのは~」という本を読みました

内容をがっつりネタバレしてもあれなので良かったところを
この本の良い所は広告やメディアではなく、じゃあなにが人を動かす要素なの?
というところを書いているところなのですが、
かつそれを動かす人数別に書かれているところが良かったなと。

1,000人から始まり、
10,000人
100,000人
...
10億人
までを動かした具体例から必要な要素を洗い出して書かれています。

印象に残ったのは人を動かそうとするために、広告をうつのではなく風潮を変えていくというところがありました。
これまでは
「Aという理由で〇〇は売れない」といったところを
「だけど本当はBだった」
なので
「〇〇を買いましょう」
というようなストーリーを展開する。
そのように人を動かすという方法が印象的でした。(本当はBだったまで持っていくための手段が秀逸、このへんは本を読んでいただければ)

内容とは関係無いですが、各章毎に「ざっくりいうと」というリード文があったことが良かったなと。
これはLivedoor newsにもありますよね。

というわけで気になる方は読んでみてはいかがでしょうか

キャッチコピーについて思うこと

最近は完全にアドテク界隈にいます。

こういつもアドテクの話をしていると、広告ってなんだっけということについて考える時間も増えていきます。

アドテクはインターネット広告の話。
アドテク界隈にいると、数値や技術だけに目を向けるような風潮(というか実際にそれが一番重要なのだけど)があるかと。
それはそれで全然問題ないどころか、あらゆるソリューションでどんどん改善していきたいという思いがあります。

アドテクから一歩引くと、広告業界全体という目線になります。
そこにはTVCMや、新聞雑誌、また駅のポスターまで色々あります。

そのなかで共通して重要なものはキャッチコピーであると感じています。

CMでは映像 + 音 + キャッチコピー
新聞雑誌では画像 + 文章 + キャッチコピー
駅のポスターも同様に画像 + 文章 + キャッチコピー

一方でインターネット広告の場合
配信面 + クリエイティブ
が重要かと。(その配信面やクリエイティブを最適化するのに最新のアドテクが使われている)
さらにインターネット広告の場合、
その効果も追えるので、テクノロジーだけで最適化が出来るという状態です。

別にそれが問題でもなく、かつ広告主側もいくらでどれくらいの効果が出ているか定量的に出る広告というのを求めています。
それに応えた形でアドテクは発展していきました。


というわけで何が言いたいのかをそろそろいっておくと、
「インターネット広告は本来ユーザーに何を伝えたいのかを失っている」
という感じがします。
よくインターネット広告は「ウザい」といわれております。(アドブロックみたいなエクステンションもあったり)
その要因が特にメッセージを伝えるわけでもなく「誰に何を表示させれば効果が上がる」ということに特化させすぎたというのが要因ではないかと。

じゃあどうすればいいか。
それはもう少しクリエイティブにメッセージを持たせられればいいのではないかと。

女子なら誰もが共感してしまう、せつないコピーと鮮やかな色彩が印象的な「ルミネ」の広告まとめ - NAVER まとめ
若者よ、旅へ出よう。青春18きっぷキャッチコピーまとめ14選 | 株式会社LIG

自分はこれらのまとめを見て、本来広告ってこういうものなのかなという認識をしました。

これほどメッセージ性のあるクリエイティブを自分はインターネット広告では見たことがありません。
今までインターネット広告で印象に残ったものってありますかね??
自分はないかなーって感じ。
(全部書き終わってから思い出したけど、Greenの「ちきしょう転職だ」と同じく転職系の「うわっ私の年収低すぎ...?」はインターネット広告発っぽいけど印象に残ってたw)

最終的になにが言いたいのかというと、インターネット広告においてもキャッチコピーというのを大事にして、一つの商材に対し強い印象をもたせたい。
そういった環境が出てくるとインターネット広告ももっと受け入れられる存在になる。
そんな気がします。

4月に読んだ本リスト、読んだ理由と感想

4月は比較的時間がとれたので本を読みました。
土曜日 or 日曜日にドトールで2時間ほどまとめて読書の時間をとるようにしています。

なので4月に読んだ本を紹介していきたいと思います。

技術・学術系

Bandit Algorithms for Website Optimization

Bandit Algorithms for Website Optimization

Bandit Algorithms for Website Optimization

バンディットアルゴリズムを理解するために読みました。
久しぶりに英語の本を読んだので疲れました。
Bandit Algorithmの入門書。論文とかを読む前にまずはこちらからって感じの本。
基本的な3つのアルゴリズムが示されています。
最初に言葉の定義が書かれていたのが丁寧でよかったなと。

プログラミング Hive

プログラミング Hive

プログラミング Hive

Hadoopを使う際、Hiveを利用したので購入して読みました。
リファレンス代わりに使っております。チューニングW方法が示されているところがよかったなと。
(ただHadoopはHiveよりも効いてくるとこが多いので役に立つかといえば微妙なところ)

WEB+DB PRESS vo.80

WEB+DB PRESS Vol.80

WEB+DB PRESS Vol.80

とりあえず毎号買っているんですが、今回の注目はテスト駆動インフラ。serverspecに関してはvo.76
ですでにやっていたので特に新しい情報はなかったな…
一歩先ゆくRubyと理論で学ぶSQLがなくなって悲しんだのは自分だけじゃないはず。

統計学入門(基礎統計学)

統計学入門 (基礎統計学)

統計学入門 (基礎統計学)

学部時代にもやったけど、復習のため。忘れているところが多々あったので思い出せてよかったなと。
統計量に関してはRやPythonの関数を使うのもいいけど、あえてRubyで書いてみました。
分布の概念はデータのモデリングをするために重要だなと。

自然科学の統計学(基礎統計学)

自然科学の統計学 (基礎統計学)

自然科学の統計学 (基礎統計学)

こちらは具体的な利用例など。まだ全部は読めていないですが、統計学入門でさらっと流している分布について詳しく書かれています。

ビジネス・教養系

MEDIA MAKERS

MEDIA MAKERS―社会が動く「影響力」の正体

MEDIA MAKERS―社会が動く「影響力」の正体

前々から読んでみたいと思って購入。
ブログもやっているし、今後メディアも作っていきたいと思ったので。
内容は単純に面白かった。じゃらんのくだりで、部屋の露天風呂特集らへんの話が面白い。

仕事に効く 教養としての「世界史」

最近世界史にハマっていて、ビジネスにもつながるのかと思い購入。
ビジネスにつながるかどうかは別として面白かった。
高校・大学と数学・物理・専門教科ばかりに気を取られ、教養系や歴史系を軽視していたのを後悔しています。なので今世界史の本を読むと新たな発見が盛りだくさんですごく楽しい。

経済は世界史から学べ!

経済は世界史から学べ!

経済は世界史から学べ!

上記と同じ理由で購入。
ためになったっちゃあためになったけど、ある程度世界史の知識が身についた後に読んだので物足りない感がある一冊。
これからはもうちょいスコープを狭めディープな歴史を学んでいこうかなと思います。

まとめ

最近はベーシックな部分の本を読むようにしています。
教養系では世界史もそうだけど地理の本ももう少したくさん読みたいなと思っています。

新しく技術・知識を身に付けるためのやりかた

最近スキルの幅が広がったかなと思います。

理由としては
ビジネスで要件がでる。
-> とある技術を使わなければいけない。
-> その技術を理解する&使う。

こういうフローが経営に近くなるほど起こりやすいのでスキルの幅がかなり広がっています。

最近で身に付けた技術は

  • fluentd
  • Hadoop (EMR)
  • Hive
  • Bandit Algorithm

なんかを身に付けました。
どんなフローで身に付けていったかを簡単に書いていきます。

スライドシェアを見る

公式ドキュメントよりもまずはこっちを先に見るのがよいかと思います。
理由としては使い方以外に「なぜそれを使うのか」ということが同時にわかるケースが多いからです。

バンディットアルゴリズムの時には
バンディットアルゴリズム入門と実践
バンディットアルゴリズム概論

この2つがかなり参考になりました。

入門書を読む

イントロダクションはスライドシェアでなんとなくわかっていると思うので飛ばし、実装フェーズあたりから読む。
そして写経をする。

Hadoopの時には前回までの3つのブログでも書きましたが、

Hadoopファーストガイド

Hadoopファーストガイド

これがかなり良かったです。
まずコマンドを実行する -> 結果を見る -> そのコマンドがなんとなくわかる。

バンディットアルゴリズムの時には

Bandit Algorithms for Website Optimization

Bandit Algorithms for Website Optimization

こちらを読みました。
とりあえず写経する -> 結果を見る -> パラメータを変えてみる -> そのアルゴリズムがなんとなくわかる

公式ドキュメントを読む

ここでやっと公式ドキュメントが出てきます。
公式ドキュメントは新しく学ぶためというより、ある程度わかってきた時のリファレンス感覚で使うのが良いかなと。
EMRは
開発者用リソース - Amazon Elastic MapReduce(Hadoopクラスター Amazon EMR) | アマゾン ウェブ サービス(AWS 日本語)
この辺。
Hiveは
Apache Hive TM
この辺。
今回のやつはググったら公式ドキュメントが多く出てきた気がします。

ググる

これも公式ドキュメントと同じ使い方ですね。
なんか躓いたり、これも出来ないかなと思ったらググる
より正確な情報を得るために、公式ドキュメントで探してそれでもダメだったらググるほうがよいかと思っています。

誰かに教える

誰かに教えたり、発表すると記憶が定着します。
資料作ってる時に使ってたコマンドを参照したり、なんとなく理解していたものを質問されて詳しく調べたりなど。
結構質問の時に新しい発見あったりするんだよね。

使い続ける・チューニングし続ける

そうしないとすぐに忘れてしまうので。


というわけでかなり個人的ですが、新しく技術や知識を身に付ける手順でした。

ビッグデータ取り扱いまでの流れ3 自動化編

今回はhiveの動作を自動化させる方法に書いていきます。

前回の記事
ビッグデータ取り扱いまでの流れ2 解析編 - nigoblog
ではsshでEMRのmasterインスタンスにログインし、hiveの動作を行います。

基本的にはこの作業をrailsで自動化させます。(もっとうまいやり方があると思うが…)

というわけで早速やり方を見ていきます。

net/sshの利用

net/sshというgemを利用します。
Net::SSH、Net::SCP RubyでSSH/SCPコマンドを実行 [Ruby] - 酒と泪とRubyとRailsと
詳しい使い方はこちらの記事に。

このように利用します

require 'net/ssh'

Net::SSH.start(HOST, USER, opt) do |ssh|
    ssh.exec!("[何かしらのコマンド]") do |channel, stream, data|
      p data if stream == :stdout 
      p data if stream == :stderr
    end
end

ここでHOSTはEMR masterのpublic DNS
USERはhadoop, optは

opt = {
 keys: [公開鍵のパス]
 port: [sshのポート(普通は22)]
}

と定義しておきます。

感のいい方ならお気づきかもしれませんが、[何かしらコマンド]に

hive -e "[hiveのhql]"

とすることでhiveのコマンドを実行出来ます。

確認方法

テストコードを書ければ問題ないのですが、hiveを使うこともあってかなりしんどいです。
なので手動テストの方法を書いていきます。
先ほどのコードは

class Hoge < ApplicationController
  def fuga
     [hiveを実行する処理]
  end
end

のようにあるクラスのインスタンスメソッド内で行っているとします。

Railsのルートで

rails c

とするとirbが立ち上がります。
そこで

hoge = Hoge.new
hoge.fuga

とすると処理が走ります。
これで確認していきます。

(将来的にはhiveのテストコードを作りたい。hive_spec的な)

自動化

これはwheneverというgemを利用します。
wheneverの詳しい使い方はこちら
Wheneverは導入が超簡単なcrontab管理ライブラリGemです![Rails] - 酒と泪とRubyとRailsと
(本日2度目の引用です。いつもありがとうございます。(面識はありませんが笑))

gemをインストールすると
config/schedule.rbに

every '00 * * * *' do
  runner "Hoge.new.fuga"
end

とします。
なんとこれだけでオッケー。内部的にはcrontabの内容が書き換わっています。
確認には

crontab -e

で。
(cron系をやったことない人は何も知らずにこれをやると危険というかダメな気がするのでcronについて調べてみましょう)

というわけでhiveの処理を自動化しました。
あとはS3の内容を取得してRDS等、データベースに書き込む処理を同メソッド内に記述すればオッケー。

ここまででビッグデータの取り扱いまでの流れを書いていきました。
いずれ、得られたデータを解析するシステムについても書いていこうと思います。