u++の備忘録

Instagramすらやってない20代エンジニアが、10代に人気の「Tik Tok」をやってみた(ダウンロードから投稿まで+感想)

Tik Tokとは

Tik Tokは、端的に言うと「15秒」という短時間限定の動画編集&投稿サイトです。短時間のため投稿や閲覧の障壁が低く、SNS的な要素も併せ持つことで、10代を中心に人気を博しているらしいです。

ダウンロード

AppStoreからダウンロードします。

f:id:upura:20180707000229p:plain

起動

起動した初期画面がこちらです。いきなり音楽とともに動画が流れて面食らいます。

特にアカウント設定をしなくても、動画の閲覧は可能なようです。

f:id:upura:20180707000308p:plain

アカウント設定

下部から別のタブを開こうとすると、アカウント設定を要求されました。今回はTwitter連携でアカウントを作成します。

f:id:upura:20180707000550p:plain
f:id:upura:20180707000602p:plain

無事に設定できました。自動でTwitterのアイコンを連携してくれていますが、なぜか画質がとても悪かったです。

f:id:upura:20180707000824p:plain

アカウント設定をしたことでフォローやダイレクトメッセージのタブも閲覧できるようになりました。単なる動画編集アプリではなく、SNS的な概念も取り込まれていると分かります。

f:id:upura:20180707001014p:plain
f:id:upura:20180707001019p:plain

動画編集

下部の中央にある+マークを選ぶと、動画を撮影できます。既存の動画をアップロードすることも可能です。

Tik Tokで投稿されている動画の大多数は自撮りなためか、いきなりインカメラ状態でカメラが起動して驚きました。需要に合わせて、こちらがデフォルト設定になっているのでしょう。

とはいえ僕には自撮りは無理なので、先日食べた「いきなりステーキ」の動画をアップロードします。

動画編集画面では、手軽に「フィルター効果」や「タイム効果」などの特殊効果を設定できます。

f:id:upura:20180707001421p:plain
f:id:upura:20180707001843p:plain

そして特徴的なのが、さまざまな楽曲を設定できることかと思います。この機能を活用して、ダンスや口パクの動画を投稿している人が多い印象を受けました。

個人的には、楽曲の権利まわりがどうなっているのか気になりました。

f:id:upura:20180707002141p:plain

動画投稿

動画の編集が終わったら、あとは他のSNSと同様に動画を投稿します。Twitterなど連携したSNSにも同時に投稿できます。

f:id:upura:20180707002409p:plain

動画の投稿が完了すると、自動的にスマホのライブラリにも動画が保存されていました。

今回投稿した動画はこちらです。


所感

今回一連の体験をしてみての所感ですが、「顔出しして友達とダンスや口パクの動画を投稿して盛り上がる」という文化に正直馴染めそうにありませんでした。たぶん僕のこの感想こそが、Tik Tokを10代に人気のあるものにしているのだと思いました。

既に市民権を得て幅広い世代に広がってしまったFacebook, Twitter, Instagramとは異なり、Tik Tokは一定の文化を共有する世代のみが集う場所になっています。ここでは親世代からの無用なツッコミを気にする必要もなく、思うがままに内輪で楽しむことができているのでしょう。

Tik Tokがなぜ流行っているか、なんとなく実感することができました。

『ウォールストリート・ジャーナル式図解表現のルール』第1章まとめ

下記の本の第1章をまとめて勉強会で発表した時の資料。

kanki-pub.co.jp

岡山県&三重県の魅力を語ったプレゼン資料

僕が所属していた研究室には、夏の合宿の行き先をプレゼンで決める文化がありました。

以下は、2年分の僕の発表資料です。こういう叙情的な資料も、たまには作ります。

【論文メモ】カリウムGICの水酸化処理によるグラフェンへの剥離

授業の一環でゴリゴリの化学系論文を読んでまとめたときの発表資料。


読んだ論文

www.jstage.jst.go.jp

2年前にAutoencoderをChainerで実装したときの発表資料とコード

Google Driveを整理していたら発掘された。研究室での「Deep Learning勉強会」での発表資料。当時もDeep Learning流行ってた気がするけど、ここまでブーム続くとは思っていなかった。


RとPythonで良さげなラベル付き散布図を書く

今回は、RとPythonで良さげなラベル付き散布図を書く方法についてまとめます。

良さげ=プロットした点とラベルの位置が重ならないよう、適当にズラして表示してくれる

R/ggplot2 にはggrepelというラベルの位置を自動調整してくれるパッケージがあったのですが、下記のツイートを見るまでPythonで同様のパッケージがあると知らなかったので、自分用まとめです。


可視化するデータセット

以下の記事で作成したデータセットを利用します。ちなみにGFは「1試合平均の得点数」、GAは「1試合平均の失点数」を示します。Groupは色分けのための列です。

upura.hatenablog.com

urawa.csv

Name GF GA Group
斉藤 和夫 2.21 1.12 1
ブッフバルト 2.08 1.06 1
ペトロヴィッチ 1.7 1.2 0
原 博実 1.69 1.49 1
ホルガー オジェック 1.62 1.14 1
ホルスト・ケッペル 1.59 1.41 1
ハンス オフト 1.58 1.33 1
チッタ 1.56 1.56 1
ゲルト エンゲルス 1.52 1.21 1
フォルカー フィンケ 1.34 1.24 1
ピッタ 1.33 1.5 1
横山 謙三 1.33 1.9 1
ア・デモス 1.2 1.67 1
ゼリコ・ペトロヴィッチ 1.07 1.21 1
堀 孝史 1 1.6 1
森 孝慈 0.72 2.17 1v

Rでの実装

上述した通り、R/ggplot2 ではggrepelというパッケージを用いることで、良さげなラベル付き散布図を出力できます。

data <- read.csv("urawa.csv", row.names = 1, fileEncoding="CP932")
library(ggplot2)
library("ggrepel")

g <- ggplot(
  data,
  aes (
    x = data[,1],
    y = data[,2],
    colour = data[,3],
    label = rownames(data)
  )
)

g <- g +  geom_point(
  size = 3
)

g <- g + geom_text_repel(family = "HiraKakuPro-W3")
g <- g + xlab("Goal For per Game")
g <- g + ylab("Goal Against per Game")

plot(g)

f:id:upura:20180705150057p:plain

Pythonでの実装

adjustText というパッケージを利用します。使い方はREADMEやWikiが整備されています。

github.com

データの読み込み

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAPGothic'
import pandas as pd

df = pd.read_csv('urawa.csv', encoding="shift-jis")

x = df['GF per game']
y = df['GA per game']
text = df['Name']

通常の場合

プロットした点とラベルが重なってしまっています。

fig, ax = plt.subplots()
plt.plot(x, y, 'bo')
texts = [plt.text(x[i], y[i], text[i], ha='center', va='center') for i in range(len(x))]

f:id:upura:20180705173311p:plain

adjustTextを使った場合

importして、adjust_text()するだけです。

from adjustText import adjust_text
fig, ax = plt.subplots()
plt.plot(x, y, 'bo')
texts = [plt.text(x[i], y[i], text[i], ha='center', va='center') for i in range(len(x))]
adjust_text(texts)

f:id:upura:20180705173540p:plain

ipynbとcsvファイル

こちらに置いておきます。

github.com

W杯ポーランド戦で起きた「談合」を、経済学の「ナッシュ均衡」の視点で解説する

先ほど終わったロシアW杯の日本VSポーランド戦の終盤、お互いに全く攻撃をしない状況が発生しました。

今回はこの現象を、経済学の「ナッシュ均衡」という視点で解説します。

状況の整理

全般的な仮定として、簡単のため日本とポーランドに実力差がないものとします。

お互いが攻撃する

言うまでもなく、最も望ましい状況はお互いが攻撃し合うことでした。この場合の日本・ポーランドの「利得」(どの程度良い状況かを示す値)をそれぞれ4ポイントとします。

片方が攻撃する

しかし近代サッカーでは一般的に、相手が攻撃をしていない(=引いて守っている)状況で無理やり攻撃を仕掛けるのは、反撃のリスクを負うことになり、攻撃側が不利になることが多いです。今回、日本・ポーランドともに、不利な状況になって失点することを一番恐れていました。ここでは仮に(攻撃している側, 攻撃していない側)の利得をそれぞれ(1, 5)ポイントとします。

お互いが攻撃しない

最後に、お互いが攻撃しない場合を考えます。この場合お互いに利得の差は発生しませんが、もちろんお互いにとって良い状況ではないので、利得はそれぞれ2ポイントとしましょう。

これまでの議論を表でまとめると、以下の利得表が得られます。

ポーランド|攻撃する ポーランド|攻撃しない
日本|攻撃する (4, 4) (1, 5)
日本|攻撃しない (5, 1) (2, 2)

利得表の数値は(日本の利得, ポーランドの利得)を示す

なぜ「お互いが攻撃しない」状況が生まれたか?

この状況下、なぜ「お互いが攻撃しない」という状況が生まれたのでしょうか? 単純に日本とポーランドの利得を合計すると、下記のように「お互いが攻撃する」のが全体最適のように思えます。

  • 「お互いが攻撃する」:4+4=8
  • 「片方が攻撃する」:1+5=6
  • 「お互いが攻撃しない」:2+2=4
日本の視点に立ってみる

日本の視点に立って、ポーランドが「攻撃する」場合と「攻撃しない」場合で、それぞれどう行動すべきかを考えてみます。

まずポーランドが「攻撃する」場合、日本は「攻撃する」と利得が4ポイント、「攻撃しない」と利得が5ポイントです。

次にポーランドが「攻撃しない」場合、日本は「攻撃する」と利得が1ポイント、「攻撃しない」と利得が2ポイントです。

つまり、どちらの場合も日本は「攻撃しない」方が利得が高くなります。

ポーランドの視点に立ってみる

ポーランドの視点に立って、日本が「攻撃する」場合と「攻撃しない」場合で、それぞれどう行動すべきかを考えてみます。とはいえ、日本とポーランドを入れ替えただけで考え方は全く同じです。

まず日本が「攻撃する」場合、ポーランドは「攻撃する」と利得が4ポイント、「攻撃しない」と利得が5ポイントです。

次に日本が「攻撃しない」場合、ポーランドは「攻撃する」と利得が1ポイント、「攻撃しない」と利得が2ポイントです。

つまり、どちらの場合もポーランドは「攻撃しない」方が利得が高くなります。

ナッシュ均衡」とは

以上の考察から、日本もポーランドも「攻撃しない」のが、自分の利得を最大化する選択肢になります。全体最適を考えると「お互いが攻撃する」べきなのですが、個々の振る舞いを考えると「お互いが攻撃しない」という選択肢が正解になってしまうのです。

ナッシュ均衡」とはこのように、お互いがお互いに対して最適な戦略を取り合っているため、これ以上戦略を変更する理由がない(安定的な)状況のことを言います。

おわりに

状況を簡略化し過ぎている部分もありますが、今回は少し理論的な面から、W杯ポーランド戦で起きた出来事について解説してみました。