cho3の日記

プログラミングとか音楽とか効率化とか

サンタクロースの正体を暴く

こんにちは。Speeeのトレーディングデスクで運用型広告の設計/運用 をしている cho3 です。

この記事は Speee Advent Calendar 2017 の14日目の記事です。

昨日は @Tei1988 さんから、KubernetesでFactorio でした。

サンタクロースって誰なの??

世はクリスマス。誰もがこのギモンは抱きますよね。 今回はTwitterAPIを使用し、「ソーシャルリスニング」を行うことで、 サンタクロースの正体を暴いて行こうと思います。

f:id:numabe:20171212141946p:plain

ソーシャルリスニングとは

ソーシャルリスニングとは、ソーシャルメディアやブログなどで 人々が日常的に語っている会話や自然な行動に関するデータを収集、調査・分析を行ない、 「市場調査」「キャンペーン反響測定」「ブランド調査」などに利用するものです。

[引用] ソーシャルリスニングってなに?おすすめツール3選 | 調査ツールの最新情報や基礎知識 | 知る・学ぶ | Marketing Bank (マーケティングバンク) https://www.marketingbank.jp/special/cat01/15.php

ソーシャルリスニングによって

  • 市場調査
  • ブランド認知度調査
  • サービスに対する調査
  • 風評被害調査
  • ユーザーのニーズ調査

など様々な調査をかけることが出来ます。 普段はソーシャルリスニングによってこれらの調査を行い、マーケティングプランの設計などを行っています。

TwitterAPIとは

TwitterAPIは

  • 特定のキーワードを含むツイート取得
  • ツイートしたユーザーの情報

などいくつかの情報を返してくれるAPIです。

データ量など制限はありますが、無料で使えます。

API reference index — Twitter Developers

TwitterAPIを使用したツイート取得コード

今回はこちら ↓ のブログを参考にさせていただきました。

qiita.com

ツイート取得完了

こんなかんじで大量に取れました。

f:id:numabe:20171212185835p:plain

ツイートの精度を高めるため、以下の手順にて精査を行い、Rに食わせます。

  1. RT/http を含むツイート除外
  2. ツイートの重複削除

f:id:numabe:20171212190607p:plain

さあサンタクロースの正体を暴こう!!

ネットワーク図がこんな感じで描けました。 矢印で繋がっているキーワードが、一緒につぶやかれやすい「共起語」です。

f:id:numabe:20171212190925p:plain

※ネットワーク図の描画はこちら ↓ の書籍を参考にしています。

Rによるテキストマイニング入門

http://amzn.asia/8KOJmkC

存在すらも怪しい神的存在か!?

「存在」「信じる」「実在」等、どうやら実在するかも危うい存在のようです。

f:id:numabe:20171212191556p:plain

居住地と行動パターン判明??

フィンランド」「トナカイ」というキーワードがあるので、どうやら寒い地域に住んでいるようです。 「クリスマス → 前 → やってくる」とのことなので、クリスマスの前にやってくるのでしょうか

f:id:numabe:20171212191904p:plain

クリスマス前にやってくるのはあわてんぼうのサンタクロース

あわてんぼう → サンタクロース という情報も入ってきました。 クリスマス前にやってくるサンタクロースはあわてんぼうなのでしょうか。

f:id:numabe:20171212192344p:plain

良い子にすると何かが起こる??

「良い → 子 → する」とあります。良い子にしていることとサンタクロースの行動が何か関係があるようです。

f:id:numabe:20171212192703p:plain

さて気になるのはその「正体」!!

さて気になるのは「正体」ですが...

f:id:numabe:20171212193117p:plain

お父さん」というキーワードと一緒につぶやかれることが多いようです。一体どういうことでしょうか...

結局サンタクロースって誰なの...?

ここに答えがありました。

f:id:numabe:20171212193352p:plain

なるほど。今までの話は全て繋がりました。

  • お父さん:プロポーズが成功するかの鍵を握る登場人物
  • あわてんぼう:「まったく...あわてんぼうだなあ」のノロケ
  • 良い子:「良い子にしてるんだぞ」のノロケ
  • フィンランド:二人で旅行にでも行ったのでしょう
  • 実在/存在:恋人居ない歴の長い方々の貴重なご意見

f:id:numabe:20171212193843p:plain

恋人がサンタクロースですね。

みなさま良いクリスマスを。

May your Christmas wishes come true!!

明日は Reactでシンセサイザーを作った話 などを執筆した、 kosuke_nishaya さんの FM音源を作ろう です。

是非購読よろしくお願いします。

windows10で動画をカンタンにトリミングする方法

1:動画をフォトで開きます

ファイルを右クリック >> プログラムから開く >> フォト f:id:numabe:20171029133015p:plain

2:トリミングを実施します

画面右上、トリミングのボタンを押します。 f:id:numabe:20171029133250p:plain

画面下のバーで、トリミングする時間を選択します。 f:id:numabe:20171029133406p:plain

時間の選択が完了したら、画面右上、コピーを保存をクリックします。 f:id:numabe:20171029133520p:plain

保存先を選択し、保存を実行します。 f:id:numabe:20171029133626p:plain

選択した時間でトリミングされた動画が、 新たに保存されました。 f:id:numabe:20171029133707p:plain

Excelで日付から曜日を出す関数のメモ

良く使うのでメモ

f:id:numabe:20170902162850p:plain

=IF($C2="","",MID("日月火水木金土",WEEKDAY(C2,1),1))

MID関数 と WEEKDAY関数 を組み合わせます。

MID関数↓

MID 関数、MIDB 関数 - Office サポート https://support.office.com/ja-jp/article/MID-%E9%96%A2%E6%95%B0%E3%80%81MIDB-%E9%96%A2%E6%95%B0-d5f9e25c-d7d6-472e-b568-4ecb12433028

WEEKDAY関数↓

WEEKDAY 関数 - Office サポート https://support.office.com/ja-jp/article/WEEKDAY-%E9%96%A2%E6%95%B0-60e44483-2ed1-439f-8bd0-e404c190949a

Excel内の改行置換が出来ない時はCODE関数を使う

Excel内における改行の置換

このように改行があるセルから、改行を削除したい場合、

f:id:numabe:20170827163807p:plain

検索する文字列 欄で「Ctrl + J」を入力し、 Alt + A にて置換を実行します。

f:id:numabe:20170827163846p:plain

置換出来ました。

f:id:numabe:20170827163952p:plain

改行コードが異なる場合の置換

改行コードが異なる場合、上記の方法では置換が実行出来ません。

f:id:numabe:20170827164129p:plain

その場合、以下2段階にて改行削除を行います。

①:改行コードに対応するコード番号を調べる

以下赤枠部分のコード番号を、CODE関数を使用して調べます。

f:id:numabe:20170827164446p:plain

CODE 関数 テキスト文字列内の先頭文字の数値コードを返します。 返されるコードは、コンピューターで使用されている文字セットに対応します。 (引用) CODE 関数 - Office サポート https://support.office.com/ja-jp/article/CODE-%E9%96%A2%E6%95%B0-c32b692b-2ed0-4a04-bdd9-75640144b928

このような形で。 =CODE(MID(B3,12,1))

f:id:numabe:20170827164636p:plain

13番のようです。

f:id:numabe:20170827164652p:plain

②:文字コード番号で置換する

こんな感じで13番を置換してやる。

=SUBSTITUTE(B3,CHAR(13),"")

f:id:numabe:20170827164807p:plain

無事改行が削除出来ました。

f:id:numabe:20170827164820p:plain

paint.netで画像を半透明化する話

paint.netとは

シンプルでありながらも高性能なペイントソフト。 Windows 標準の「ペイント」を、大幅に拡張したような感じの高機能グラフィックツールです。

(引用) Paint.NET のダウンロード - k本的に無料ソフト・フリーソフト http://www.gigafree.net/tool/paint/paintdotnet.html

画像を半透明化する

いらすとやの画像を半透明化してみます。

元画像 ↓↓

f:id:numabe:20170805175127p:plain

ハロウィンのイラスト「おばけ」 | かわいいフリー素材集 いらすとや http://www.irasutoya.com/2012/08/blog-post_18.html

paint.net で画像を開きます。

f:id:numabe:20170805175313p:plain

レイヤーのプロパティをクリックします。

f:id:numabe:20170805175354p:plain

レイヤーの不透明度を編集すると画像が透明化していきます。

f:id:numabe:20170805175443p:plain

保存。

f:id:numabe:20170805175521p:plain

無事画像を半透明化出来ました。

f:id:numabe:20170805175636p:plain

GTMのユーザー定義変数でGAにタイトルの文字数を渡す話

GTMとは

GoogleTagManagerの略(以降GTM)。

Google タグマネージャ公式サイト https://www.google.com/intl/ja/tagmanager/

ユーザー定義変数とは

GTM上で使用する変数を定義出来る。 jsを組むことも出来れば、cookie情報やDOM要素を指定することも出来る。

ユーザー定義変数でページのタイトルを取得してみる

今回はカスタムJavaScriptを使用。 f:id:numabe:20170730163729p:plain

例えばタイトルタグの文字数を渡すなら

function() {
    var x =document.getElementsByTagName("title");
    var titlelen = x[0].innerHTML.length;
    return titlelen;
  }

適当に名前をつけて保存 f:id:numabe:20170730185108p:plain

他にも… 例えばタイトルタグそのものを渡すなら

function() {
    var x =document.getElementsByTagName("title");
    var titletxt = x[0].innerHTML;
    return titletxt;
  }

例えば取得対象をセレクタで指定して渡すなら

function() {
    //取得したいセレクタに変える
    var x = $("#box2-inner > ..... ");
    var y = x[0].innerHTML;
    return y;
  }

ユーザー定義変数をGAにイベントとしてpushしてみる

タグタイプではGoogleAnalyticsを選択して↓↓

f:id:numabe:20170730185227p:plain

ラッキングタイプはイベントを選択↓↓

f:id:numabe:20170730185309p:plain

先程作成したユーザー定義変数を選択し公開。↓↓

f:id:numabe:20170730185409p:plain

無事GAで確認出来れば成功。

jsで取得できるデータの幅を上手く広げれば、分析の幅が広がるかも。