2014/08/30

「ぴくかる」開発記録 番外編(2) タグごとの閲覧数調査

絵師さんの戦闘力@pixivを測定するブラウザ拡張機能
「pixiv skill calculator」(ぴくかる)を開発しています。
最新版はv.1.5.1です。

Google Chrome版ダウンロード:こちら
FireFox(+GreaseMonkey)版ダウンロード:
機能一覧:こちら

----

「ぴくかる」のスキルの計算式の調整に使えないかなと思い、
イラストに付けられたタグと閲覧数の関係を調べてみました。

収集イラスト数は10968枚。
使用された回数が10以上のタグについて、
平均閲覧数TOP20は次のようになります。

タグ名
極上の乳
平均閲覧数
13786
平均評価数
274
平均得点
2702
イラスト数
10
10点じゃ足りない 13492 560 5552 10
なにこれかっこいい 12854 511 5060 12
東方Project100users入り 12323 301 2978 12
ロリ 10244 180 1759 28
リヴァイ 8983 366 3635 12
裸足 8467 200 1971 14
黒バス【腐】 8097 305 3025 14
巨乳 7772 171 1681 36
おっぱい 7646 172 1693 53
メイド 6770 137 1344 12
進撃の腐人 6749 209 2072 16
R-18 6408 114 1126 385
Free! 6150 171 1698 10
HUNTER×HUNTER 6080 196 1944 12
6063 180 1764 10
イナイレ[腐] 6035 155 1550 11
なにこれかわいい 5879 195 1941 76
艦隊これくしょん 5791 156 1549 33
ゲイ 5770 106 1054 10

この表を見る限りでは、R-18系が多いような印象を受けます。
また、R-18タグそのものもイラスト数が多いのにもかかわらずTOP20に入っています。
あと腐ってるタグも多いですね。

ということで、「R-18」タグがついたイラストの閲覧数の分布、
そして比較対象として「オリジナル」の閲覧数分布も見てみます。



イラスト数は「オリジナル」の方が多いのですが、
割合で見ると「R-18」の分布はオリジナルタグの分布を右に一つ動かしたようなもの、
つまり「全体的に閲覧数が10倍」ということがわかりました。

R-18の方が平均閲覧数は高いだろうことは予想出来ていたのですが、
予想以上にインパクトのある結果となりました。





2014/08/29

あえて、今、特殊算。 -アイスを幾つ買うべきか-

とりあえず以下の掌編小説にお付き合いください。

-----

「……帰ってこないな」
30分ほど前に近くのスーパーへみんなの分のアイスを買いに行った生徒が帰ってこないのだ。

「菱野先生、ちょっと様子見てきますね。」
「じゃあお願いするわね円野くん」
「アイス食べたいって言ったの僕ですし。ちゃちゃっと行ってきます。」

今日は母校の小学校で行われている「夏休みの宿題消化大作戦!」というイベントに
僕、円野修はOBスタッフとして参加している。
菱野先生が元々担任で断りきれなかったっていうのもあるけれど、
一応謝礼金も出るらしいし、割のいいバイトみたいなものだ。

しゃれにならない温度と湿度に、まさか熱中症で倒れてたりしないだろうな等と心配しつつ
スーパーまでの一本道、徒歩2分ほど歩いて行く。
すれ違うことないまま到着。自動ドアの向こうの冷気にちょっとだけ癒される。

高校生男子がスーパーに来ることなどそう多いわけでもなく、
ちょっと迷いながらアイス売り場へとたどり着くと、

「300かける6たす100かける8は……ええと…」
「もうボーデン14個でいいから帰ろ?」
「いやだめだ、すぐに諦めるのは良くないって菱野先生も言ってただろ?」
「すぐ帰って来なさいとも言ってた……」
「数分の説教でダッツが食べられるなら、俺はダッツを選ぶ!」

と、アイスケースの前で騒ぐ二人の小6。
倒れてなくて良かったが…。アイスも食べてないのに若干痛い頭を抑えつつ二人の背中に手をあてる。

「もしもし、士覚くん?三華さん?」
「わっ、エンシュ-か。こんなところで何してんだ?サボり?」

「円野修」という名前から、僕は不本意ながら知り合いからはエンシューと呼ばれることが多い。
不本意ながら。

「君らを迎えに来たんだけど。」
「だから早く帰ろうって」
「嫌だ!俺はダッツを食べるんだ!」
「ダッツ14個買ったらお金足りないよ」
「でもボーデン14個買ったらもったいないだろ!せっかく美味しいアイスが食べられるチャンスなんだぞ!」
「そう、だけど」

「ちょっとストップ、」
僕は二人の会話を止める。
「状況を整理しようか。」
士覚から聞いたところによると、今の状況は次の通り。

・菱野先生から3000円でアイスを14個買ってくるように頼まれた。
・余りは全額回収されるので、極力全額使い切りたい。
・三華との相談の結果、ダッツ(300円)とボーデン(100円)の2種類を買うことにした。
・14個のアイスはランダムに一人一個分配されると考えられる。
・そのため士覚がダッツを食べるには、できるだけ多くダッツを買う必要がある。

「ということだね?」
「そうそう。」
「……ダッツ8個とボーデン6個で3000円ピッタシになるね」
「ホントか!じゃ、買ってくる!」
「やっと帰れる…」

自動ドアの向こうは相変わらずの熱気だった。
早く帰らないとひどいことになりそうだ。

「でも、どうしてあんなすぐに計算できた?士覚は30分かかっても解けなかったのに。」
「どうせたまたま選んだ組み合わせがあたりだったんだろ?」
「いや、そんなことはないよ。さすがに。中学校で習う方程式ってやつを使うんだ。」
「ホントかよ?エンシューのことだし中学校で習うって言っとけば大丈夫とか思ってるだろ?」
「エンシューだしね」
「……なんで、僕はそこまで信頼ないの?」
話しながら、ふと思い出す。
「そういえば、同じような問題が夏休みの宿題になかったっけ?文章題の所で。」
「「え。」」
「まあ、小学生でも解こうと思えば解けるしね」
「どうやるの?」

「例えばさ、ダッツを14個買ってたら合計金額っていくらになってた?」
「えっと、300×14だから…3200円?」
「おしい、繰り上がりを忘れてる。正解は4200円。」
「3000円越えちゃってるじゃん。」
「そう、1200円も越えちゃう。じゃあ、今度はダッツを13個、ボーデンを1個買ったらいくらになる?」
「えっと、えーっと…」
「これは暗算厳しいかもね、答えは4000円。」
「ぴったりになるまでやるつもり?」
「いやいや、それはしないよ。掛け算はこれで終わり。」
「うそだー。」
「ダッツ14個だと4200円、13個だと4000円。
 ってことはダッツをボーデンと一個取り替えるたびに200円安くなるってことになるよね?」
「それがどうしたんだ?」
「14個買った時っていくら越えちゃったんだっけ?」
「1200円」
「1個取り替えるといくら合計金額が減るんだっけ?」
「200円だろ」
「ってことは1200円÷200円=6となるから6回取り替えればいい、6回取り替えたらダッツは」
「あ、8個残る。」
「そういうことだね」

よしよし、分かってくれたか。
学校についたしちょうどいいタイミングか。

「どういうこと?」
「え?」
「取り替えたら200円安くなって……だめだ!よくわからん!」

ここで取れる道は2つある。
一つは頑張って同じことを説明すること、
もう一つは…

「じゃ、裏技教えてあげるよ」
「裏技?」
「この手の問題は図を書くと何も考えずに解けるんだよね」

僕はその辺の小枝を見つけてグラウンドに図を書く。
「横の長さが買うべきアイスの数、縦の長さが一個あたりの値段ということにしよう。
 そうすると、左側がダッツ分のお金、右側がボーデン分の値段ということになる。
 あと、横の長さがアイスの個数を表すわけだから、2つの四角形の横の長さの合計はアイスの合計と同じ14個ということを覚えておいて。」

「それで?」
「L字型の右上の部分に点線を引いて、四角形にしてやる。そうすると四角形の面積はいくつになる?」
「14×300は…4200だろ?さっきやったし覚えてるぞ。」
「そうだね。ところで、実際には3000円しか使えないわけだけど、L字型の部分が同じ値段になる。
 それぞれの四角形の横の長さが買うべき数なわけだから。」
「う…ん?そうなのか」
「まあ、L字型が手持ち金額の合計にしとけばいいと覚えておけばいいよ。それで解けるし。
 で、そうすると右上の点線の四角形の面積は4200-3200で1200になるね。」

「で?」

「まあ、そう急がずに。この点線の四角形の縦の長さっていくつになる?」
「え?左のやつの縦が300で、右側のが100だから…200か。」
「そうそう。ってことはこの点線の四角形の横の長さは1200÷200で6になるね。
 ところで、この横の長さってどっかと同じじゃないっけ?」
「あ!下の方にボーデンの数って書いてあるぞ!」
「そう。ということはボーデンを6個買えばいいわけだね。」
「ふーん。なんとなくわかったような」
「まあ、慣れればこれ使えば何も考えなくても解けるからね。」

よしよし。
と、思っていたのだが…。

「…。」
三華が何も言わずに裾を掴んでくる。
「三華?」
「アイス」
「あ!」

「で、円野くんが行ったのにもかかわらずこれだけ時間がかかり、アイスもダメにした、と。」
「すみません……。」
「それで?」
「え?」
「今日の生徒13人と私の分のアイスは?」
「え、と、お金は…」
「ん?ダッツ14個買いに行かないんですか?」
「可及的速やかに戻ってまいりますっ!」

あとは、特に面白いこともありませんでした。
熱中症で倒れないぎりぎりの速度で徒歩2分のスーパーを往復し、
行き着く暇もないまま小学生の宿題の解説をして、
バイト代替わりに冷やし直したアイス14個を渡されて、
僕の夏休みのある日は過ぎて行きました。

そういえば、三華達はアイスを「14個」しか買ってなかったけど…。
まあ、気にしたら負けかな。

-----

ということで、
物語の中に解説をぶっこむ、ドラえもんの学習まんがメソッド小説版をお送りしました。

以下は今回扱った「アイスの個数問題」について
思うところをつらつらと。

今回紹介したのは「鶴亀算」という特殊算(文章題の難しいやつ)の中でもメジャーなやつです。
よくある例題は名前の通り、
「鶴と亀が併せてX匹います。足の数は併せてY本です。それぞれ何匹いるか答えなさい」
みたいな感じです。

文章題は実用上何の役に立つのかわからないみたいなツッコミはありがちなんですが、
鶴亀算を「決められた個数の中で予算を使い切る問題」と捉えると、
割と現実でも起こりうるシチュエーションに落とし込めるのかなあと思って書いてみました

解法に関するコメントとしては、
鶴亀算は特殊算解法の中でもグレーゾーンがかなり少ないという特徴を上げておきます。
特に中学受験において、こんなかんじの問題を方程式無しで解くことを要求されてるのですが、
ものによっては「これは本質的には方程式ではなかろうか」みたいなものがたくさん出てきます。
その中でも鶴亀算はそういうのなしで解けるので綺麗ですね。

ただ、これを綺麗と思うには多分中学数学を突破できる程度の「知識と感覚」は必要だと思いますし、
小説内での説明程度では小学生が一発で理解するのは無理な気がします。
(自分もそうでしたし。)

図による解法は覚えさえすれば超機械的に解けるので便利っちゃ便利なんですが、
少しひねられるといきなり使えなくなります。
例えば、こんな感じ。
「円野くんはあるクイズゲームをプレーしています。
 このゲームでは正解すると3点プラスされ、不正解だと1点マイナスされます。
 クイズが15問、円野くんの最終得点が25点のとき、円野くんの正答数を答えなさい」

マイナスが入ると図示作戦は崩壊します。
一方差に着目する方法では、一回「交換」する度に4点減るということさえ理解できれば、
同じ枠組みで解くことが可能です。
(小学生にマイナスの引き算の概念教えるのもそれはそれで大変なんですが)

2014/08/12

「ぴくかる」開発記録(7) -Firefoxに対応しました

絵師さんの戦闘力@pixivを測定するブラウザ拡張機能
「pixiv skill calculator」(ぴくかる)を開発しています。
最新版はv.1.5.1です。

Google Chrome版ダウンロード:こちら
FireFox(+GreaseMonkey)版ダウンロード:
機能一覧:こちら

今回のアップデートはFirefoxへの対応と軽微な修正及びバグフィックスです。

--前回との差分--
【機能追加】Firefoxに対応しました。

・Firefox版インストール手順

1. とりあえず「Greasemonkey」というアドオンをインストールしてください
 https://addons.mozilla.org/ja/firefox/addon/greasemonkey/

2. その後こちらから「ぴくかる」をインスト-ルできます。

Firefox版はChrome版と違って自動アップデートができないので、
最新版が出た時は適宜手動でのアップデートをお願い致します。

【機能修正】吹き出し内の文字を修正しました。
【バグフィックス】吹き出しに表示するサムネイル画像の取得がうまくいかないバグを直しました。

--今後の課題--
【改良】適切なツールチップを表示させて、初見のユーザでも操作がわかるようにする

【改良】無視すべきタグ辞書の改良

【追加】chrome以外へのブラウザに対応させる
                →Firefoxが次のブラウザとして最有力
       →Operaは登録申請中
       →Safariは証明書が取得できればいけそう
       →IEなんてなかった。

【改良】ライバル登録ボタン使用時の(見た目の)挙動
       →まだ改良の余地多数あり。

【改良】計算式にフォロー・マイピクを加味する

【改良】吹き出し内の文字の位置がおかしい

【改良】絵ごとのスキル値を表示するようにする

【バグ】R-18を表示させないようにするユーザがR-18を含む絵師のページに行くと、
    スキル値が適切に計算出来ない

【バグ】サムネイル画像が正しく取得できない

【分析】Tinamiとの比較とか面白そう

【その他】もう少しスキル値を上げたい orz
現在7982/8355人@1596ポイント(上位95.5%) 

--その他--

Q.バグ/機能要望/質問等はどこへ?
この記事のコメントか、右側のtwitterに@なりDMなり飛ばしてください。
善処します。

2014/08/09

「ぴくかる」開発記録(6) -任意のタグによる「近い人」フィルタリング機能を追加

絵師さんの戦闘力@pixivを測定するchrome extension
「pixiv skill calculator」(ぴくかる)を開発しています。
最新版はv.1.5.0です。

ダウンロード:こちら
機能一覧:こちら

前回の機能を改良しました。

--前回との差分--
【機能追加】「近い人」表示時に任意のタグを使って絵師さんをフィルタリングできるようにしました。

前回のアップデート(v.1.5.0)で、
「近い人」表示時に表示中の絵師さんと少なくとも一つタグがかぶって居なければ
近い人リストから外すという機能を追加しました。

これの目的は、
タグ情報を使うことによりジャンルや方向性が近い絵師さん同士を
比較しやすくすることにあります。

しかし、「オリジナル」や「練習」のように汎用性が高過ぎるタグがあったり、
一度しか使っていない等情報として価値が疑わしいタグがあったりと、
どのタグを使用するべきかというのは難しい問題であると考えられます。

そこで、
今回のアップデートではどのタグを除外するかということをユーザが選べるようにしました。

アップデート後の画面はこちらになります。

管理ページで説明しますが、他のところでも使えます。
今回のアップデートで、
①「近い人」と一致しているタグが確認できるようになりました。
  *すごく見づらいですが、「オリジナル」(灰色)、「練習」(黒)とフキダシ中に書かれています。
②近い人の横に設定ボタンが追加されました。

設定ボタンをクリックすると

左下のようなテキストエリアが表示されます。
この中に【スペース区切りで】タグを入力して、【Enterを押す】と、近い人リストが更新されます。
テキストエリアに入力したタグは、近い人を探すときに無視されます。

無視されたタグは上の画像の「オリジナル」のように灰色で表示されます。

【機能改良】実は吹き出しの表示位置もいじりました。
【機能改良】ライバル登録ボタンの挙動を少し直しました。
【その他】DBの登録数を大幅に増やしました。

--今後の課題--
【改良】適切なツールチップを表示させて、初見のユーザでも操作がわかるようにする

【改良】無視すべきタグ辞書の改良

【追加】ユーザがタグ辞書を操作できるようにする

【追加】chrome以外へのブラウザに対応させる
                →Firefoxが次のブラウザとして最有力

【改良】ライバル登録ボタン使用時の(見た目の)挙動
       →まだ改良の余地多数あり。

【改良】計算式にフォロー・マイピクを加味する

【改良】吹き出し内の文字の位置がおかしい

【改良】絵ごとのスキル値を表示するようにする

【バグ】R-18を表示させないようにするユーザがR-18を含む絵師のページに行くと、
    スキル値が適切に計算出来ない

【バグ】サムネイル画像が正しく取得できない

【分析】1000人分の絵師のデータがDBに記録されたので、ぼちぼち何かしたい

【分析】Tinamiとの比較とか面白そう

【その他】もう少しスキル値を上げたい
現在5619位/5947人@1595ポイント(上位94.5%)
 _| ̄|○

--その他--

Q.バグ/機能要望/質問等はどこへ?
この記事のコメントか、右側のtwitterに@なりDMなり飛ばしてください。
善処します。

2014/08/06

「ぴくかる」開発記録 番外編(1) 今までに集めたデータを見るためのページを作ってみた

「ぴくかる」についての全体的な説明はこちら

絵師さんの戦闘力@pixivを測定するchrome extension
「pixiv skill calculator」(ぴくかる)を開発しています。
最新版はv.1.4.1です。

とりあえず、ダウンロードはこちらから。

-----

今までに集めたデータを閲覧するためのページを作りました。
こちらからどうぞ。



現状では
・Skill Histogram:スキル値の分布
・Views per Picture:一枚あたりの閲覧数
・Skill vs View:スキル値と閲覧数(一枚あたり)の散布図 (両対数軸)
・Point vs View:評価点と閲覧数(どちらも一枚あたり)の散布図 (両対数軸)
が見れます。

そのうち他のものも増やそうと思います。

--その他--

Q.バグ/機能要望/質問等はどこへ?
この記事のコメントか、右側のtwitterに@なりDMなり飛ばしてください。
善処します。

2014/08/03

「ぴくかる」開発記録(5) -自分とジャンルが違いすぎる絵師を弾く機能を追加

初回:(任意の)絵師さんのpixiv力を記録して比較するchrome extensionを作ってみた
前回:「ぴくかる」開発記録(4)
(8/4追記:最新版の機能一覧はこちらから)

絵師さんの戦闘力@pixivを測定するchrome extension
「pixiv skill calculator」(ぴくかる)を開発しています。
最新版はv.1.4.1です。

とりあえず、ダウンロードはこちらから。

久しぶりの新機能です。

--前回との差分--
【機能追加】「近い人」表示時にジャンルが違いすぎる絵師さんを弾くようにしました。
【バグフィックス】スキル推移のグラフがたまに途切れるバグを修正しました。



最新版を入れた状態で自分の管理ページに行くとこんな感じになるはずです。



左側に自分のスキル値とその推移、そして自分のスキル値に近い人が表示されるのですが、
今までは単純にスキル値が近い人を表示させていました。

しかし、それだと
オリジナルしか描いてない人と版権しか描いてない人をスキル値で比較することになったり、
普通のユーザとpixiv事務局を比較することになったりして、
イマイチです。

そこで、あまりにもジャンルが違う人は近い人から除外することにしました。
これによってジャンルがある程度近い人と比較しやすくなると思われます。
具体的には各絵師さんの使用回数上位20個のタグが一つも一致していないユーザを除外しました。

しかし、それだけだと汎用性が高過ぎるタグの影響が大きくなってしまうので、
比較に使用しないタグ辞書を作成して、其処に入っているタグは無視するようにしました。
今のところ、「なにそれかわいい」しかタグ辞書に入れていませんが、
今後何を入れるべきかの検討も進めていけたらと思います。

--今後の課題--
【機能改良】無視すべきタグ辞書の改良
【機能追加】ユーザがタグ辞書を操作できるようにする
【機能追加】chrome以外へのブラウザに対応させる
                →Firefoxが次のブラウザとして最有力
【機能改善】ライバル登録ボタン使用時の(見た目の)挙動
【機能改善】計算式にフォロー・マイピクを加味する
【分析】1000人分の絵師のデータがDBに記録されたので、ぼちぼち何かしたい

【その他】もう少しスキル値を上げたい
現在1187位/1244人@1592ポイント(上位95.4%)
 _| ̄|○

--その他--

Q.バグ/機能要望/質問等はどこへ?
この記事のコメントか、右側のtwitterに@なりDMなり飛ばしてください。
善処します。

-----

Pixiv Skill Calculator(「ぴくかる」)は、
KNJ(ESHIES)さんの「pixivパワーチェッカー」(http://eshies.net/ppc)
を参考にして制作しています。

この場を借りてお礼申し上げます。