VOYAGE GROUP エンジニアブログ

voyagegroup_techのブログ
VOYAGE GROUPエンジニアブログです。

ad:tech 2010 に出展しました

fluct

みなさんはじめまして。株式会社adingoの小澤(@s_kozawa)です。 
adingoでは2010年10月28日、29日に開催されたad:tech Tokyo 2010に初めてブース出展をさせていただきました。このブログを読んでいただいている方の中にはお越しいただいた方もいらっしゃると思います。本当にありがとうございました。

 
ad:techは、その名にtechが付いていることからわかる通り、「アドテクノロジ」というものが1つのテーマになっています。

インターネットの情報量は莫大に増加し、広告手法もさまざまなものが出現し、「本当に効果的に広告を打つためにはどこに、どのような手法で広告を出せばいいのだろうか?」「自らの媒体収益性を最大限に高めるためにはいったいどのような広告をどのように掲載すればいいのだろうか?」その答えを導きだすことは非常に困難になってきています。まさに様々なプレイヤーや手法が入り乱れるカオスの世界です。

それを人々はテクノロジーの力を使って解決しようとしています。それがアドテクノロジーです。


一言でアドテクノロジーといっても、そのプレイヤーは大きく、

広告効果を最大化させることを目的とした広告主サイドのプレイヤー
広告収益を最大化させることを目的とした媒体社サイドのプレイヤー
中立的な立場でデータを提供するデータカンパニー

の3つに分かれます。

日本ではまだまだ始まったばかりの分野ですが、アメリカではクレジットカードの購買履歴情報と紐づけて広告配信をしたり、レコメンデーション機能を使って似たような人の行動から未来を予測して広告配信をしたりと、かなり進んだ分野になっています。(もちろんプライバシーの問題や、個人情報の問題があり、これらの行為そのものの是非についての議論はまだまだ存在します)

その中で今回のad:tech Tokyoは、ついにアドテクノロジーの波が日本にもやってきたなということを実感するカンファレンスとなりました。いままでは経験則や、人脈などでキャンペーンの内容や予算が決まっていたり、そもそもマスがあって、その補完としてのウェブ広告だったものが、インフラはクラウド化され、そのコストは限りなく安価になり、それにより膨大なデータ蓄積や高性能な集計処理が小さな規模の会社でも可能となり、それらのリソースを使って開発されたプロダクトがブラックボックスの仕組みの中で、最も効果が高いキャンペーンをはじき出して出稿される、最も収益性が高い広告をはじき出して掲載される、そんな世界がすぐそこまで来ています。

adingoもFluctという媒体社の収益最大化を目的としたプロダクトを先月リリースしました。裏側では、複雑な計算や膨大なデータを使った処理を高速で行うためにどのようにすればいいのか、秋葉原でパーツを買ってきてテストサーバーを組み立てたり、さまざまな新しい技術に関するテストを行ったりと、エンジニア同士の白熱した議論が日々行われています。まだまだ始まったばかりのこのアドテクノロジの分野は今後大きく成長する分野であることは間違いないでしょう。

実はECナビではajitoを使って定期的にアドテクノロジーに関する勉強会なども開催しています。興味がある方いらっしゃいましたら、一緒に議論できればいいなと思います。Fluctはまだまだリリースしたばかりの発展途上のプロダクトですが、より媒体社の方に使っていただけるようにすべく、開発を加速していきたいと思っています。

これからもadingoとFluctをよろしくお願いします。

【ミニセミナーの様子】

 

【当日の様子】

adtech_adingo_fluct12 adtech_adingo_fluct11
adtech_adingo_fluct10 adtech_adingo_fluct8
adtech_adingo_fluct7 adtech_adingo_fluct6
adtech_adingo_fluct5 adtech_adingo_fluct4
adtech_adingo_fluct2 adtech_adingo_fluct1

ECナビで勉強会

こんにちは, 株式会社ECナビ システム本部の春山(@haruyama)です.

2008年ごろに起こった勉強会ブームは衰える気配を見せず, エンジニアの間で勉強会に行くことが定着した感があります.

ECナビは勉強会の開催に適した設備を持っています.

100人以上収容可能な大会議室「パンゲア」
もちろんプロジェクタは常設されています. プロジェクタをもう1つ並べることも可能です.
  • 酒を含む飲料が無料な社内バー「ajito」
  • 懇親会のために居酒屋などの予約する必要がありません. また少人数の勉強会はバーで飲みながらできます.

    設備を活かして, 私を含むECナビ社員がいくつかの勉強会を開催しています. すべてが社員の主催というわけではなく社外の方が主催しECナビが会場を貸していることも多いです. 勉強会ネタがあるが適当な会場がないという方は, @haruyamaまでご連絡下さい.

     

    春山は, 以下の2つの勉強会の開催をしています.

     

    Solr勉強会

    ECナビでも利用している全文検索システムSolrの勉強会を数ヶ月に1度開催しています. 2010年11月19日に第4回Solr勉強会を開催予定です.

    神泉セキュリティ勉強会

    2010年10月26日に, 第1回神泉セキュリティ勉強会を開催しました.

    HASHコンサルティング株式会社徳丸浩(@ockeghem)さん『PHPカンファレンスでやった文字コードの話を再演できる適当な場はないかな。(略)』に飛びついてご講演をお願いしました. またサイボウズ・ラボ竹迫良範(@takesako)さん奥一穂(@kazuho)さんにもご講演していただきました. ご講演, ご参加いただいた皆様, ありがとうございました.

    当日の様子などは, 竹迫さんのブログによくまとまっています. TAKESAKO @ Yet another Cybozu Labs: 第1回神泉セキュリティ勉強会

    以下に講演のスライドを列挙します.

    プログラムを騙す10の方法 – シグネチャマッチを回避する攻撃と防御 | Flickr - Photo Sharing! 竹迫良範さん

    Pokemon Clustering

    こんにちはECナビ システム本部の大竹(@tokosa)です。

    Pokemonの続きです。その後ポケットモンスターホワイトを購入し、先日クリアしました。

    前回の記事Pokemon Naive Bayesのテスト結果にて『アーケオス』が出ていましたが、がんばって『アーケオス』育てた結果
    最後のポケモンリーグでは大活躍してくれました!

    とはいえ新しいポケモンが150程増え、まだ全ての新ポケモンを理解していません。

    クリア後の楽しみとして、新ポケモンのみを使用し、バトルサブウェイで21連勝できるポケモンを育てたいと思います。

    しかし、バトルサブウェイの縛りとして伝説・幻系のポケモンが使用できません・・・

    そこで、今回は育成するポケモンを選ぶ為にRを使用し混合分布モデルによるクラスタリングを行います。

    今回使用するデータは下記のデータ(抜粋)

    >pokemon.test=read.csv("pokemon-test.csv") #CSVの読み込み
    > head(pokemon.test) #データ表示
      No       名前  HP こうげき ぼうぎょ とくこう とくぼう すばやさ    TYPE1    TYPE2 伝説
    1  0 ビクティニ 100      100      100      100      100      100 エスパー   ほのお   幻
    2  1 ツタージャ  45       45       55       45       55       63     くさ              
    3  2 ジャノビー  60       60       75       60       75       83     くさ              
    4  3 ジャローダ  75       75       95       75       95      113     くさ              
    5  4     ポカブ  65       63       45       45       45       45   ほのお              
    6  5 チャオブー  90       93       55       70       55       55   ほのお かくとう     
    > nrow(pokemon.test) #ポケモン数
    [1] 151
    

    ポケモンBWの151ポケモンデータにてクラスタリングを行います。

    ■モデルの選択

    Rのパッケージmclustを使用します。mclustにはいくつか関数が用意されています。

    まず、関数EMclustを使用し、クラスター数を推測します。

    install.packages("mclust")
    library(mclust)
    
    #ベイズ情報量基準BIC値を折れ線グラフで表現
    pokemon.emc <- EMclust(pokemon.test[,3:8])
    plot(pokemon.emc) 
    pokemon-emc
    グラフで見ると, VEIモデルのクラスター数4とVIIモデルのクラスター数7の時が値が大きいです。

    ■クラスタリング

    関数hcを使用し、クラスタリングをします。

    しかし関数hcにはモデルのVEIがないのでVIIモデルを使用します。

    そして関数hclassを使用し、クラスター数7で分類します。

    pokemon.mhc<-hc(modelName = "VII", data = pokemon.test[,3:8]) 
    pokemon.cl<-hclass(pokemon.mhc,7) 
    > pokemon.cl
           7
      [1,] 1
      [2,] 2
      [3,] 3
      [4,] 1
      [5,] 4
      [6,] 3
      [7,] 1
      [8,] 4
      [9,] 3
    

    ■結果の表示

    pokemon.result<-cbind(pokemon.test,cl=pokemon.cl[,1]) #clはクラス
    subset(pokemon.result,cl==1) #クラス1を選択
    > subset(pokemon.result,cl==1)
         No       名前  HP こうげき ぼうぎょ とくこう とくぼう すばやさ    TYPE1    TYPE2 伝説 cl
    1     0 ビクティニ 100      100      100      100      100      100 エスパー   ほのお   幻  1
    4     3 ジャローダ  75       75       95       75       95      113     くさ                1
    7     6 エンブオー 110      123       65      100       65       65   ほのお かくとう       1
    10    9 ダイケンキ  95      100       85      108       70       70     みず                1
    25   24 ムシャーナ 116       55       85      107       95       29 エスパー                1
    35   34 ココロモリ  67       57       55       77       55      114 エスパー   ひこう       1
    38   37   タブンネ 103       60       86       60       86       50 ノーマル                1
    44   43 ガマゲロゲ 105       85       75       85       75       74     みず   じめん       1
    54   53 エルフーン  60       67       85       77       75      116     くさ                1
    56   55 ドレディア  70       60       75      110       75       90     くさ                1
    63   62 マラカッチ  75       86       67      106       67       60     くさ                1
    68   67 シンボラー  72       58       80      103       80       97 エスパー   ひこう       1
    74   73 アーケオス  75      140       65      112       65      110     いわ   ひこう       1
    78   77 ゾロアーク  60      105       60      120       60      105     あく            幻  1
    83   82 ゴチルゼル  70       55       95       95      110       65 エスパー                1
    86   85 ランクルス 110       65       75      125       85       30 エスパー                1
    91   90 バイバニラ  71       95       85      110       95       79   こおり                1
    94   93   エモンガ  55       75       60       75       60      103   でんき   ひこう       1
    98   97 モロバレル 114       85       70       85       80       30     くさ     どく       1
    100  99 ブルンゲル 100       60       70       85      105       60     みず ゴースト       1
    101 100 ママンボウ 165       75       80       40       45       65     みず                1
    111 110 シビルドン  85      115       80      105       80       50   でんき                1
    113 112   オーベム  75       75       75      125       95       40 エスパー                1
    116 115 シャンデラ  60       55       90      145       90       80 ゴースト   ほのお       1
    122 121 フリージオ  70       50       30       95      135      105   こおり                1
    124 123 アギルダー  80       70       40      100       60      145     むし                1
    125 124   マッギョ 109       66       84       81       99       32   じめん   でんき       1
    127 126 コジョンド  65      125       60       95       60      105 かくとう                1
    137 136 バルジーナ 110       65      105       55       95       80     あく   ひこう       1
    138 137 クイタラン  85       97       66      105       66       65   ほのお                1
    142 141 サザンドラ  92      105       90      125       90       98     あく ドラゴン       1
    144 143 ウルガモス  85       60       65      135      105      100     むし   ほのお 伝説  1
    145 144 コバルオン  91       90      129       90       72      108   はがね かくとう 伝説  1
    147 146 ビリジオン  91       90       72       90      129      108     くさ かくとう 伝説  1
    148 147 トルネロス  79      115       70      125       80      111   ひこう          伝説  1
    149 148 ボルトロス  79      115       70      125       80      111   でんき   ひこう 伝説  1
    150 149   レシラム 100      120      100      150      120       90 ドラゴン   ほのお 伝説  1
    151 150   ゼクロム 100      150      120      120      100       90 ドラゴン   でんき 伝説  1
    

    他の分類では・・

     subset(pokemon.result,cl==6)#クラス6を選択
    > subset(pokemon.result,cl==6)
         No       名前 HP こうげき ぼうぎょ とくこう とくぼう すばやさ    TYPE1  TYPE2 伝説 cl
    17   16 レパルダス 64       88       50       88       50      106     あく              6
    19   18 ヤナッキー 75       98       63       98       63      101     くさ              6
    21   20 バオッキー 75       98       63       98       63      101   ほのお              6
    23   22 ヒヤッキー 75       98       63       98       63      101     みず              6
    30   29 ゼブライカ 75      100       63       80       63      116   でんき              6
    57   56   バスラオ 70       92       65       80       55       98     みず              6
    80   79 チラチーノ 75       95       60       65       60      115 ノーマル              6
    88   87   スワンナ 75       87       63       87       63       98     みず ひこう       6
    103 102 デンチュラ 70       77       60       97       60      108     むし でんき       6
    

    ■まとめ

    結果は、クラス1に伝説のポケモン全9のうち7が同分類されています。

    クラス6は同分類のポケモン(ヤ・バ・ヒヤッキー)が入ります。

    クラス1のポケモンはなかなか良さそうなポケモンが揃ったのではないでしょうか?

    この中から(伝説・幻以外で)育てるポケモンを選ぼうと思います。

    記事検索
    QRコード
    QRコード