kinoppyd.dev

blog

products

accounts & contact

実際のところ、お前らはどれだけ草を生やしてるのか調べてみた。

posted at 2013-05-28 21:09:11 +0900 by kinoppyd

ニコニコ動画のメタデータが公開された。

研究用にニコニコ動画のコメント約300GBを公開

中にはコメントのデータも含まれているので、こいつは格好の遊び……コーパスとして非常に優秀だろうと思って、形態素解析に突っ込む準備をしていた。

その過程で、どこのまとめブログだったか忘れたけど、こんな意見があったのを見た。

どうせ300Gのうちほとんどは「w」とかなんだろうな。

確かに。分からんでも無いくらいお前らは草を生やしている。だが、実際のところはどうなんだろうかと思ったので、実際に数えてみた。

検証用のコード

#!/usr/bin/perl

use strict;
use warnings;
use utf8;

use bignum;
use JSON::XS;
use Encode;

my @list = glob './thread/*/*';
my $max = 100000;

my $total;
my $kusa;

my $i = 1;
for my $f (@list){
	open my $FH, '<', $f;

	while(my $line = <$FH>){
		my $json = decode_json $line;
		my $cnt = scalar(() = $json->{'comment'} =~ /[wWwW]/g) if $json->{'comment'};

		$total += length $json->{'comment'} if $json->{'comment'};
		$kusa += $cnt if $cnt;
	}
	close $FH;

	if( $i % 1000 == 0 ){
		print "$i Files : $kusa / $total\n";
		print (($kusa/$total) * 100, " %\n");
	}
	$i++;
	last if $i > $max;
}

print "$i Files : $kusa / $total\n";
print (($kusa/$total) * 100, " %\n");

どう考えても全部のコメントを数えるのはアレというか、その時間を形態素解析の方に使いたいので、対象のコメントが入ったメタ情報ファイルを適当に選んで、100,000件分ぶん回し、「お前らの草生やし率」としてみた。(途中からほとんど確率が変わらなくなったので、残りを全部チェックしてもあまり変わらないと思う)

計算結果は、次の通り。上のコードでは1000ごとに出しているが、冗長なので10000ごとの出力だけ。

10000 Files : 26163690 / 130243514 20.0882863157393 % 20000 Files : 41760162 / 200956931 20.7806527459359 % 30000 Files : 56667642 / 279485995 20.2756642600285 % 40000 Files : 68407550 / 344193285 19.8747485733198 % 50000 Files : 79277398 / 397503488 19.9438244929312 % 60000 Files : 88432758 / 439688700 20.1125837439079 % 70000 Files : 94352123 / 467555733 20.1798665572132 % 80000 Files : 98566107 / 487969232 20.1992462918236 % 90000 Files : 102673266 / 507733873 20.2218665052509 % 100000 Files : 105534903 / 524719631 20.1126271565014 %

結論:お前らは口を開けば5回に1回は草を生やしてる