「ネット言論のダークサイド」を計算機で解析する ── データ分析による報道の技術とその再現性 ──
ニューズウィーク日本版 / 2016年5月10日 20時8分
names.csv. KENという語で検索をかけた例
さて、この時点で不明の1,268人分のデータの性別を判定するために、今度は以下の人名判定サービスにPerlスクリプト(この場合は、Perlというプログラミング言語で作業工程を記述した小さなプログラムのことです)で送信します:
・genderize.io: Determine the gender of a first name
このサービスを利用した後の時点で何名ぐらいが性別不明だったかはわかりませんが、なんとか人力で判定、つまり人名辞典やネット検索で人間が一つ一つ判定するのも不可能ではない程度の量にまで不明の数が減っていたので、残りは実際にそういう作業で仕分けされています。「データサイエンス」という言葉の響きとは対極にあるような作業ですが、現実はこんなものです。
ともあれ、この作業で一定のエラーは含まれているが、それなりに大きい数の男女別著者リストが得られたので、そのファイル(CSV)をAWSのS3というストレージサービスにアップロードしました。ここからはAWS上の計算機での作業になります。
Sparkでの分析
ガーディアン社はかねてより、こういった比較的大きなデータを分析することによる調査報道をやりたかったらしく、大規模な分散処理ではスタンダードな地位にあるApache Sparkを実際に使うプロジェクトを探していました。今回の解析はテストケースとして丁度良いものだったため、実際に利用しています。
Sparkとは何か?
Apache Sparkとはオープンソースで開発が続いている「並列分散処理のためのフレームワーク」です。これだけでは一体なんなのか分かりにくいと思いますが、要するに複数の計算機を利用して、巨大なデータを効率よく同時に処理するためのソフトウェアのことです。今日のデータ分析で巨大なデータを扱う時に高性能な計算機が必要な場合、一台の高性能なマシンに大きな投資をして使うことは稀で、基本的には比較的安価な計算機をたくさん集めて処理を分散させて行います。この作業を行う時には、一台の計算機で処理を行う際に比べてはるかに高度な技術が必要になります。この複雑な部分の面倒を見てくれるソフトウェアと考えてもらって概ね問題ないです。
若干技術寄りの話になりますが、かつてこのソフトウェアを使う時にはScalaという言語でRDDと呼ばれる比較的抽象度の低いデータ構造を使う必要があったのですが、最近ではRとDataFrame(スプレッドシートのシートのような感覚で各種データを扱えるデータ構造)という、データ解析を行う人々には馴染み深い、かなり抽象度の高いものを利用できるようになってきました。現時点でもScalaを使える人がもっともこのソフトウェアを効率よく使いこなすことができますが、そうでない人にも今後は門戸を開いていくという方針のようなので、大規模データ分析の世界ではSparkのさらなる普及が予想されます。
この記事に関連するニュース
-
dotData Feature Factory 1.2を発表 - Snowpark上の特徴量自動設計がSnowflakeのデータの価値を最大化を実現
PR TIMES / 2024年7月22日 14時15分
-
日立、高速・低コストなデータ利活用基盤をAzure上に短期間で構築可能な超高速データベースエンジンHADBのベストプラクティス構成を提供
PR TIMES / 2024年7月11日 13時45分
-
PingCAP、クラウド導入実績2,500社以上のアイレットとパートナー契約を締結
PR TIMES / 2024年7月3日 13時40分
-
オラクル、HeatWave GenAIによる業界初のインデータベースLLMと自動化されたインデータベース・ベクトル・ストアを発表
PR TIMES / 2024年6月30日 22時40分
-
世界最速、NTTのアルゴリズムにより「富岳」の大規模グラフ探索性能が約20%向上 ~スパコン性能ランキング「Graph500」における9期連続世界1位に貢献~
Digital PR Platform / 2024年6月25日 15時7分
ランキング
複数ページをまたぐ記事です
記事の最終ページでミッション達成してください
![](/pc/img/mission/mission_close_icon.png)