MMD杯問題で話題になっているマイリス投票の代替案 ※3/27追記
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

MMD杯問題で話題になっているマイリス投票の代替案 ※3/27追記

2018-03-22 19:27
  • 3

はじめに

私はMMDに触ったこともない一視聴者なので、MMD関連の運営に直接働きかけるようなことはしませんし、するつもりもありません。
ただ一つ気になったのが、MMD杯問題の様々な意見を見ているとマイリス工作はどうしようもないという意見が多かったように感じた点です。
そこにだけ意見を出してみようと思いこの記事を書かせていただきました。

マイリス工作とは

ここに関しては私の推測になりますが、ニコニコは、ロボットによるアカウント自動生成への対策を取っていないことと、非公式APIがわりと充実していることが、工作行為の敷居を下げていると思います。
スクリプトさえ組めれば、大量の一般会員アカウントを生成し、生成した大量のアカウントのマイリストをAPIを使って一斉に操作することが比較的容易にできてしまいます。
これがマイリス工作です。

この問題は、ランキング工作にも関わってくるので、いま改革を進めているニコニコには早期に取り組んでもらいたい問題の一つでもあります。
ランキング工作問題とMMD杯でのマイリス工作問題は、動画の評価の指標となるマイリスト登録数を操作されることで、動画の平等な評価ができなくなるという点で、実質同等の問題といえると思います。

マイリス投票の代替案

マイリス工作は、皆さんがおっしゃっているとおり、ニコニコの運営が対策すべき問題です。ニコニコの対策を待つしかありません。
しかし、MMD杯のような、いくつかの候補の動画の評価値を算出するという条件であれば、現状の機能でも出来ることがあります。

それが、プレミアム会員コメントの集計です。

これはマイリス工作が一般会員の動画再生数、コメント数、マイリスト登録数は好き放題操作できるが、プレミアム会員の操作は、アカウントごとに500円払ってプレミアムアカウントにしない限り操作できないため、工作対策としてはプレミアム会員の何らかの挙動を集計すれば、工作は難しいという考えに基づいています。

ニコニコのコメントAPIを利用すれば、動画のコメントデータを取得出来るのですが、取得したデータにはコメントごとに会員ID(または一週間で変わる匿名ID)、プレミアム会員フラグ、匿名投稿フラグ、投稿日時といった情報が含まれています。
それらの情報を以下のように処理します。

集計期間内の投稿日時のコメントをリストアップ

プレミアム会員のコメントと一般会員のコメントを分離

生ID投稿と匿名(184)投稿を分離

それぞれの重複する会員IDを除去

それぞれの会員IDの数を集計


すると、以下のような集計結果が得られます。

a) 動画に生IDで投稿したプレミアム会員IDの数
b) 動画に184で投稿したプレミアム会員の匿名IDの数
c) 動画に生IDで投稿した一般会員IDの数
d) 動画に184で投稿した一般会員の匿名IDの数


あとは、これらの結果に好きなように重みを付ければ新たな評価値を作ることができます。

例えば、このようなプレミアム会員の配点が高く、一般会員の配点が低い計算式にすることで、工作の妨害に一定の効果があると思います。

評価値の例)
評価値 = a × 1000 + b × 100 + c × 10 + d × 1


さらに、これらの値を応用して工作指数の算出が可能になります。

工作指数の例)
工作指数 = ( c + d + 1 ) ÷ ( a + b + 1 )


この例では、工作が起きて一般会員のコメントが大量に投稿されると、工作指数が大きくなり、工作が起きているか否かを判断する材料となりえます。(+1はゼロ除算回避用です)

集計方法

言うのは簡単だけど、実際集計するの大変なんじゃないの?と思うかもしれないので、実際に集計するスクリプトを書いてみました。

https://github.com/pettypechi/nicocc

第14回と第20回MMD杯を集計するサンプルを同梱してあります。
使い方は上記のページに書いてあるので、使ってみたい方は用法と用量を守ってご利用ください。
将来的にニコニコの仕様変更により動作しなくなる可能性があります。
コードのメンテナンスを出来る人がいないと、実際に運用するのは難しいかもしれません。

注意点

集計に非公開のAPIやスクレイピングを使うことに関して否定的な意見の方もいるかもしれません。
あまり良くわからない人は、岡崎図書館事件(通称Librahack事件)の記事なんかを見てみるといいかもしれません。悪意があったわけではないのに誤認逮捕されてしまった事例です。
これはかなりのレアケースですが、スクレイピングは一歩間違えれば、サーバーに負荷をかけることになるので、注意して使ってください。
一応、私の上述のスクリプトではサーバーとの通信の間隔を1秒間空けるように設定されています。
ただ、ニコニコは結構寛容なようで、公式放送で堂々とサードパーティ製のコメントビューアを使ったりしてるので、そんなに深く考えなくてもいいのかもしれません。私の個人的な見解では、無茶な使い方をしなければいいのかなというような認識です。

追記 (2018-03-27)

この記事のエゴサをしていたら、評価値をマイリストとプレミアム会員のユニークコメント数から算出したらどうかという意見があったのですが、この記事で私が例示したものよりこちらのほうが良さそうですね。
従来のマイリスト投票を維持したまま、プレミアム会員についてはコメントも投票になるという形にしたら、変化も大きくないので受け入れやすいのではないでしょうか。

M:マイリスト数
P:プレミアム会員非匿名ユニークコメント数
Pa:プレミアム会員匿名ユニークコメント数
a, b:係数
評価値 = M + P × a + Pa × b

これを、基本形にしてあとは係数をどうするかという感じですかね。

方針としては、2通りあると思います。
プレミアム会員コメントの倍率を高めにし、初めから工作行為を牽制する方針と、プレミアム会員コメントの倍率をあまり高くせず、ブレミアム会員コメントとマイリストの比率から明らかな工作行為の疑われる動画を運営判断で対処する方針です。

前者は、一般会員の投票の価値が低いため、一般会員の人たちにとっては盛り上がりにくいかもしれません。
後者は、これまでより明確に工作行為を可視化出来るようになるので、表立って対処しやすくなるとは思いますが、対処の仕方によっては荒れる原因になるので、運営の負担は大きくなると思われます。
広告
×
秀逸なエントリ。大変おつかれさまです。

マイリスト数評価自体を排除、という意見に十分な対案として機能します。
現在の運営側が、クローラを扱いきれるのかという点のみ懸念事項でしょう。
2週間前
×
個人的には自由にプレミアムになることの出来ない子供にも視聴し、好きなものを応援(マイリス)し、
それの結果も反映出来たらと思いますが、現状におけるマイリスト工作への対処としては素晴らしいと思います
特に
「ユーザーは特に手間をかける必要がない」
「運営にきちっと仕事をさせる」
「仮にこれでも工作してきたとしても、工作員には金銭的なダメージが少なからずある」
という点でとても素晴らしい考えだと思います
2週間前
×
現状では十分に実行可能の対策ですが、あの老害揃えの杯運営はなにもしないと思うので…
とりあえず、記事作成お疲れ様でした!
1週間前
コメントを書く
コメントをするには、
ログインして下さい。