データマイニングに必要なスキルは?
近年、「ビッグデータ」の注目に伴い、ビッグデータを活用するための手段として、「データマイニング」にもよく耳にします。「データマイニング」とは、そもそもどのようなものなのでしょうか?
データマイニングとは
データマイニング(Data mining)とは、その言葉の示す通り、膨大なデータから有効な情報を採掘(マイニング)する技術です。大量のデータを統計学や人工知能などの分析手法を駆使して、データの相関関係や隠れたパターンなどを見つけるための解析方法です。
データマイニングはデータサイエンスの分野における重要な技術です。Glassdoorの「アメリカの仕事ベスト50」のリストでは、データマイニングは、2016年から2018年にかけてアメリカで第1位の最高の仕事としてランクされています。
その上、2016年の1700件の求人情報と比べて、求人の数は2年間で160%大幅に増加しました。データサイエンティストやデータ分析スキルを持っている人に対する需要は今後数年間で増加し続けると予想することができます。
この記事では、データマイニングについての基本的なことから、データマイニングに必要なスキルについてご説明します。
コンピュータサイエンススキル
1. プログラミング/統計言語:R、Python、C ++、Java、Matlab、SQL、SAS、Unixシェル/ awk / sed…
データマイニングはプログラミングに大きく依存していますが、データマイニングに最適な言語はどちらという疑問についての結論はありません。もちろん、どちらかというと、扱うデータセットの次第です。KD Nuggetsの調査によると、RとPythonはデータサイエンスに最も人気のあるプログラミング言語です。
より多くのリソース: データサイエンスのためにどの言語を学ぶべきか [Freecode Camp] Rにおけるデータマイニングアルゴリズム [Wikibooks] データマイニングに最適なPythonモジュール [KD Nuggets] |
2. ビッグデータプロセッシングフレームワーク:Hadoop、Storm、Samza、Spark、Flink
プロセッシングフレームワークは、不揮発性メモリからデータを読み取り、データをデータシステムに取り込むように、システム内のデータを計算します。これは、大量の個々のデータポイントから情報を抽出し、洞察を得るプロセスです。batch-only、stream-only、hybridの3つに分類できます。
HadoopとSparkは今まで最も実装されているフレームワークです。Hadoopは、時間に左右されないバッチワークロードに適したオプションであり、他のものよりも実装コストが低いです。一方、Sparkは混在するワークロードに適したオプションであり、ストリームの高速バッチ処理とマイクロバッチ処理を提供します。
より多くのリソース: Hadoop、Storm、Samza、Spark、Flink:ビッグデータフレームワークの比較 [Digital Ocean] データマイニングのためのデータプロセッシングフレームワーク[Google Scholar] |
Linuxはデータマイニング科学者に人気のあるオペレーティングシステムで、より安定で効率で大規模なデータセットを操作することができます。Linuxの一般的なコマンドについて知っていて、LinuxにSpark分散型機械学習システムを導入できれば、それはプラスになります。
より多くのリソース: なぜデータサイエンスとRにLinuxを使うべきなのか [PATRICK SCHRATZ] |
4. データベースの知識:リレーショナルデータベースと非リレーショナルデータベース
大規模なデータセットを管理および処理するには、SQLやOracleなどのリレーショナルデータベース、または非リレーショナルデータベースに関する知識が必要です。非リレーショナルデータベースの主な種類は:列:Cassandra、HBase;ドキュメント:MongoDB、CouchDB;キー値:Redis、Dynamo。
統計とアルゴリズムのスキル
5. 基本的な統計知識:確率、確率分布、相関、回帰、線形代数、確率過程…
データマイニングの定義を思い出してください。データマイニングはコーディングやコンピュータサイエンスに関するものだけではなく、複数の分野の間にある接点であることがわかっています。統計学は、データマイナーにとって不可欠な基本的な知識です。これにより、質問を特定し、より正確な結論を導き、因果関係と相関関係を区別し、さらに発見事項の確実性を定量化することができます。
より多くのリソース: データサイエンスを行うために知っておくべき統計学 [Quora] データマイニングのための統計手法 [Research Gate] |
6. データ構造とアルゴリズム
データ構造には、配列、連結リスト、スタック、キュー、木構造、ハッシュテーブル、セットなどがあります。一般的なアルゴリズムには、ソートアル、検索、動的計画法、再帰などがあります。
データ構造とアルゴリズムに熟達すれば、データマイニングに非常に役立ちます。これは、大量のデータを処理するときに、より創造的で効率的なアルゴリズムソリューションを思い付くのに役立ちます。
より多くのリソース: データ、構造、およびデータサイエンスパイプライン [IBM Developer] Coursera:データ構造とアルゴリズム [UNIVERSITY OF CALIFORNIA SAN DIEGO] |
これはデータマイニングの最も重要な部分の1つです。機械学習アルゴリズムは、タスクを実行するように明示的にプログラムされることなく、予測または決定を行うためにサンプルデータの数学モデルを構築します。そして、ディープラーニングは、より幅広い機械学習手法の一部です。機械学習とデータマイニングは常に同じ方法を採用し、かなり重複します。
より多くのリソース: PythonおよびRコードを使用した機械学習アルゴリズムの要領 [Analytics Vidhya] 素晴らしい機械学習フレームワーク、ライブラリ、およびソフトウェアのキュレーションリスト(言語別) [Github josephmisiti] |
8. 自然言語処理
自然言語処理(NLP)は、コンピュータサイエンスと人工知能のサブフィールドとして、コンピュータが人間の言語を理解し、解釈し、操作するのを助けます。NLPは、単語のセグメンテーション、構文および意味分析、自動要約、およびテキスト含意に広く使用されています。大量のテキストを処理する必要があるデータマイナーにとって、NLPアルゴリズムを知ることは必須のスキルです。
より多くのリソース: データサイエンティスト向けの10のNLPタスク [Analytics Vidhya] 素晴らしい機械学習フレームワーク、ライブラリ、およびソフトウェアのキュレーションリスト(言語別) [Github josephmisiti] オープンソースのNLPライブラリ: Standford NLP; Apache OpenNLP; Naturel Language Toolkit |
その他
9. プロジェクト経験
プロジェクト経験はあなたのデータマイニングスキルを一番楽な証明です。DataCampのチーフデータサイエンティスト、デービッドロビンソン氏は次のように述べています。「私にとって最も効果的な戦略は公共事業を行うことでした。私は博士号の後半にブログを書き、多くのオープンソース開発を行いました。これらは私のデータサイエンススキルの公開証拠を与えるのを助けました。」
10. コミュニケーションとプレゼンテーションのスキル
データマイナーはデータを扱うだけでなく、データから引き出された結果や洞察を他の人、さらにはマーケティングチームなどの非技術者にも説明する責任があります。ですから、データの結果を解釈し、物語を口頭で、書面で、そしてプレゼンテーションでうまく伝えることができるはずです。
注目のWebスクレイピングツール5選を徹底比較!
Webスクレイピングツールとは?
Webスクレイピングツールは、Web上に表示されるデータをすばやく取得してExcel、テキスト、CVSなどの構造化形式に変換するのに役立つツールとして簡単に理解できます。Webスクレイピングツールの最も認識されている価値の1つは、面倒なコピペ作業から解放されることです。このプロセスは、必要なデータが必要な形式でスケジュールどおりに配信されるまで自動化できます。
利用可能なWebスクレイピングツールがさまざまあり、一部分はより技術的な背景を必要とし、一部分は非プログラマーのために開発されます。使ったことがある上位5つのWebスクレイピングツールを比較して、詳細に説明します。
データを収集してできることは何か?
- 私は学生です。個人研究/論文執筆を支援するためにデータが必要です。
- 私はマーケティングアナリストです。マーケティング戦略をサポートするためにデータを収集する必要があります。
- 私はプロジェクトマネージャーです。さまざまな製品の競合分析のためのデータが必要です。
- 私はCEOです。戦略の意思決定プロセスを支援するためには、すべての事業部門に関するデータが必要です。
- 私はデータアナリストなので、データなしで仕事をすることはできません。
- 私はeコマースの経営者です。販売している商品の価格がどのように変動するのかを知る必要があります。
- 私はトレーダーです。次のマーケットの動きを導くためには無限の財務データが必要です。
- 私は機械学習/ディープラーニングの分野にいます。ボットモデルをトレーニングするには大量のデータが必要です。
データが必要になる場合は、数え切れないほど多くあります。
注目のWebスクレイピングツール5選
1. Octoparse
Octoparseは、非プログラマー向けの使いやすいWebスクレイピングツールです。動的Webサイトを扱い、ログイン認証、テキスト入力、ドロップダウンメニューからの選択、マウスオーバーで表示されるメニューの対応、スクロールダウンなど、さまざまな方法であらゆるサイトに対応するのに十分強力です。Octoparseはクラウドベースの抽出(有料機能)とローカル抽出(無料)を提供しています。より正確なスクレイピングのために、OctoparseにはXPathと正規表現のツールが組み込まれており、高い精度でスクレイピングするのに役に立ちます。それに、超初心者に向けのクローラーテンプレートもたくさん提供しています。タスクテンプレートを使うと、パラメータ(ターゲットページのURL、検索キーワードなど)を入力するだけで、データがどんどん抽出されてきます。
2. Parsehub
Parsehubは、非プログラマーにはやさしいWebスクレイピングソフトウェアです。デスクトップアプリケーションであるParsehubは、Windows、Mac OS X、Linuxなどのさまざまなシステムでサポートされています。Octoparseと同じ、Parsehubは前述の複雑なWebスクレイピングのシナリオを扱うことができます。Parsehubは簡単なWebスクレイピング体験を提供するつもりですが、その高度な機能の多くを完全に把握するためにユーザーはまだ少し勉強する必要があります。
3. Dexi.io
Dexi.ioは、開発、ホスティング、およびスケジューリングサービスを提供するクラウドベースのWebスクレーパーです。Dexi.ioは非常に強力ですが、OctoparseやParsehubと比べると、より高度なプログラミングスキルが必要です。Dexiでは、3種類のロボット(エクストラクタ、クローラー、パイプ)を利用できます。Dexiは、キャプチャソルバー、クラウドストレージなど、さまざまなサードパーティサービスとの統合をサポートしています。
4. Mozenda
Mozendaは、Octoparseクラウド抽出と同じのクラウドベースのWebスクレイピングサービスを提供しています。市場で「最も古い」Webスクレイピングソフトウェアの1つであるMozendaは、高いレベルの一貫性で実行され、見栄えの良いUIを持ち、Webスクレイピングプロジェクトを始めるために必要なものを備えています。Mozendaには、Mozenda Webコンソールとエージェントビルダーの2つの部分があります。Mozendaエージェントビルダーはスクレイピングプロジェクトを構築するために使用されるWindowsアプリケーションであり、Webコンソールはユーザーがプロジェクトを実行するスケジュールまたは抽出されたデータへのアクセスを設定することを可能にするWebアプリケーションです。Octoparseと同じ、MozendaもWindowsシステムに依存しており、Macユーザーにとっては少し面倒です。
5. Import.io
「マジック」で有名 - 自動的にあらゆるWebサイトを構造化データに変える、Import.ioは人気を集めています。しかし、多くのユーザーは、それがさまざまな種類のWebサイトを処理するのに十分に「魔法のような」ものではないことを発見しました。それに加えて、Import.ioは良いガイド付きインターフェースを持っていて、JSON RESTベースとストリーミングAPIを通してリアルタイムのデータ検索をサポートし、様々なシステムで動くことができるWebアプリケーションです。
特徴の徹底比較
まとめ
世の中では完璧なツールは1つもありません。すべてのツールには長所と短所があり、人々のニーズやスキルにより適しています。OctoparseとMozendaは他のスクレイピングツールよりもはるかに使いやすいです。これらは、非プログラマーがWebスクレイピングを可能にするために作成されたものです。そのため、いくつかのビデオチュートリアルを見ることで、すぐに問題を解決することが期待できます。Import.ioも使い始めるのが簡単ですが、単純なWeb構造でのみ最もよく機能します。Dexi.ioとParsehubはどちらも強力な機能を備えた強力なスクレーパーです。しかし、マスターするためにプログラミングスキルを必要とします。
元記事:https://www.octoparse.jp/blog/top-5-web-scraping-tools-comparison/
Webスクレイピングを用いたEコマース価格戦略
ここ数年、ネット通販を副業として、個人事業を立ち上げたサラリーマンや主婦の方が増えてきています。ネットショップの開設が簡単であることは間違いありませんが、もちろん誰でも簡単に成功する訳ではありません。
特に「価格戦略」や「価格設定」は簡単に身につけることではありません。皆さんが知っているように、正しい価格設定がeコマースにとって従来以上に重要になっています。約90%の消費者は、オンラインで商品を購入する前に、さまざまなネットショップで価格を比較すると答えています。eコマースの経営者として、まともな利益を上げながら競争力を維持する最適な価格をどのように設定すればよいでしょうか?
この記事では、新規販売者がeコマースビジネスを習得するための3つの戦略と紹介したいと思います。
ステップ1. 最適な価格を設定する
経営者としては、「できる限り高く売って、利益を多くとりたい」と考えているでしょう。しかし、「値段を高めに設定したり、値上げをしたりするとお客さんが離れていくの……?」という不安もあるでしょう。
利益を最大化するためには、「適切」な価格を探る必要があります。
例えば、製造コスト0.7ドル/本のThug lifeサングラスを販売するつもりです。eコマースの「コストプラス方式価格設定」に基づいて、製造時の原材料費、人件費、設備費から割り出した1商品あたりの原価に対して、利益を上乗せする形で価格を設定します。
コスト+利益=販売価格
もし、50%の利益を作ろうとした場合、計算すると、
材料費:$0.7
送料:$4.39
販売価格:($ 0.7 + $ 4.39)*150% = $ 7.63
この価格で売れるかな?
普通には、自分の感覚ではなく、まず市場データを集めながら俯瞰的に見て価格を設定しますね。実際にやってみましょう。
まず、Octoparseを使ってeBayをスクレイピングし、Thug lifeサングラス/ 8ビットピクセルサングラス(異なるタグを持つ同じ製品)の価格、販売数、および販売者についてのデータを収集します。
次、それらのデータを整理します。最も人気のある価格は$ 0.99で、4502点が販売されました。2番目に人気があるのは$ 1.99で、2331点が販売されました。2つの間の価格帯、そして1.99ドルを超えてはそれほど人気ではありません。その中では、$0.99を設定する販売者が24人、$4.99ドルのは13人、$1.99のは9人がいます。もし先のように$ 7.63に設定すれば、高すぎであまり売れませんよね。
それから、売り上げを計算をしてみましょう。
$0.99のサングラスは最大の市場需要を持っていますが、成長する余地はほとんどなく、それに$1.99と比べると、売り上げも少なくなります。結論として、$1.99が最適な価格です。
ステップ2. 動的価格を設定する
前述のように、コストプラス方式価格設定は、単に商品原価に利益を加えて、価格を決定する最も簡単な方法で、多くの企業で用いられているプライシング手法です。しかし、このような単純な手法は、経営者を市場の他の競争相手を無視するようにさせるかもしれません。たとえば、価格1で固定価格を保持している場合、Xの金額の収益しか得られず、YとZの部分を見逃すことになります。
動的価格設定は、現在の市場での需要や競合状況に応じて柔軟に設定価格を変える価格戦略のことです。つまり、常に市場を監視することで最適な価格で設定することができます。理想的には、価格1,2,3,4…で市場をカバーしていれば、売り上げはX、Y、Zなどの合計です。
動的価格を設定するには、次のことが必要です。
- 二重価格表示
ネットショップでは元の通常販売価格と、割引き後の価格を並べて表示することを二重価格表示と呼んでいます。セール期間中などは特によく見かける表記ですよね。もちろん消費者に対し、セール価格が「安い」との誤認を与える場合があり得ます。ですから、景品表示法違反とならないように注意すべきです。
- 抱き合わせ価格
複数の製品やサービスを一緒にして合わせて付けられた価格で、抱合せ販売されるのは非常に一般的です。金額を安くするので損するような感じがますが、単体で販売するよりセットの方がたくさんの商品を買ってもらえるので、全体的には売上は上がるのです。
- おとり商品
利益ゼロ、あるいはコスト割れの価格をつけた商品をいくつかして、お客さんを自分のネットショップにひきつけることで、他の商品の販売を増進させることができます。こうした商品をおとり商品、あるいはロス・リーダー(損失先導商品)といいます。おとり商品の選定については、知名度が高くしかも必要度の高いものが選ばれるのが通例です。
- 浸透価格
浸透価格とは、新製品の発売初期の価格を比較的低い水準に設定し、できるだけ早く市場全体への漫透をはかり、市場シェア(マーケット・シェア)を拡大することによって長期的な収益を上げるためによく採用され戦略です。当初はたとえ儲からなくても、インパクトのある低価格で消費者を魅了し、販売量を急激に増加させてマーケットシェアNo.1を確保したところで、大量生産によって生産コストを大幅に削減し、収益を拡大するシナリオを描いていくのです。
ステップ3. 経費を管理する
経費は利益を減らす直接の要素となりますので、利益を最大化するために、その用途は誰でもわかるように費目別に管理しなければなりません。そうすると、価格戦略をより良い把握できます。最も一般的な経費は次のとおりです。
- 家賃
- 管理費
- 人件費
- 税金
- 保険
- マーケティング
まとめ
価格設定はeコマースの経営者にとって不可欠です。したがって、1日ごとまたは一週間ごとに価格を監視することが重要です。Octoparseは、Amazon、eBay、Yahooショッピングなど、あらゆるECサイトからデータを収集するための優れた無料ツールです。リアルタイムの価格監視を達成するには、スクレイピング作業をスケジュールすることもできます。あなたの製品やサービスですぐに使えそうな価格戦略がありましたら、ぜひ活用してみてください。
Facebookからデータを収集する前に知っておくべき5つのこと
1. 実際、robots.txtファイルによると、Facebookはスクレイピングを禁止している
Webサイトをスクレイピングするする前に、必ずrobots.txtを確認してください。Robots.txt は、Googleなどのロボット型検索エンジンのクローラーの巡回を指示するファイルです。ターゲットWebサイトのURLの最後に「/robots.txt」を加えることによってファイルにアクセスすることができます。
ブラウザにhttps://www.facebook.com/robots.txtを入力して、Facebookのrobotsファイルを確認しましょう。この2行はファイルの末尾にあります。
それは、Facebookがすべてのデータスクレイピングを禁止すると表示しています。つまり、Webサイトのどの部分にも自動クローラーがアクセスすることはできません。
なぜrobots.txtの規則に従うべきですか?
robots.txtを利用すると、「指定したWebページやファイルに対するアクセス可否」をクローラーの種類別に指定することが可能です。robots.txtファイルに従うことは、非公開の情報を盗むため使ったり、スクレイピング禁止するWebサイトを無断でスクレイピングしたり、著作権者の同意なく著作物をコピーするなどの非倫理的なデータ収集や法的な問題を回避することができます。
2. Facebookからデータを収集する唯一の合法的な方法は、事前に書面の許可を得ることだ
Facebookは、robots.txtファイルの冒頭で次のように警告しています。「明示的な書面による許可がない限り、Facebookのスクレイピングは禁止されています。」
2行目のリンクを確認すると、FacebookのAutomated Data Collection Terms(自動データ収集規約)が見つかります。これは2010年4月15日に改訂されました。
ソーシャルメディアの巨人として、Facebookには資金、時間、そして専任の法務チームを持っています。自動データ収集規約を無視してFacebookのスクレイピングを進めても大丈夫ですが、少なくとも「書面による許可」を得るように警告されます。時には彼らは違法なスクレイピングに対してかなり攻撃的である可能性もあります。
3. GDPRが施行された後は、個人データをスクレイピングしようとしている場合に訴訟を起こす可能性が高くなる
GDPR(EU一般データ保護規則)が2018年5月25日から施行されます。これはこの20年以来データプライバシー規制の最も重要な変更であると言われています。テクノロジーから広告、そして医療から銀行業務に至るまで、あらゆる面で大きな変化を強いることになります。
Facebookのようなテクノロジー企業のように、大量の消費者データを保管し処理する企業や組織は、GDPRの下で最も影響を受けます。以前は、ユーザーデータを保護するために、会社は規則を強制していました。今GDPRの下で、彼らは法律を完全に遵守していることを確認する必要があります。
ただし、良いことはGDPRは個人データにのみ適用されるのです。
ここで「個人データ」とは、特定の個人を直接的または間接的に識別するために使用される可能性があるデータを指します。このような情報は、個人の識別情報(PII)と呼ばれ、個人の名前、住所、メールアドレス、電話番号、IPアドレス、生年月日、雇用情報、さらにはビデオ/オーディオの記録も含まれます。
もし個人データをスクレイピングしていない場合、GDPRは適用されません。
簡単に言えば、本人の明示的な同意を得ていない限り、GDPRの下でEU居住者の個人データをこすることは現在違法です。
4. 必要に応じてFacebookからデータを収集することができる
robots.txtを無視してクローリングを行ったことがあれば、ルール違反のために法的な問題が起こるわけではありません。
ソーシャルメディアから収集されたデータは、間違いなく人間の行動や現実の出来事に関する最大かつ最も活躍ななデータセットです。10年以上にわたり、世界中の研究者やビジネス専門家がスクレイピング技術を利用してFacebookから収集した情報で、個人、グループ、社会を理解できる代表的なサンプルを作成し、データに隠されたまったく新しい機会を探っています。
ユーザーにとっては、ソーシャルデータの使用は必ずしも悪いことではないことに同意するでしょう。たとえば、マーケティングをパーソナライズするためのソーシャルデータを使って、パーソナライズマーケティングを実施するのは、インターネットを自由に保ち、広告やコンテンツをより関連性の高いものにすることができます。
Facebookは昨年4月からAPIのアクセス制限を実施しました。APIがなければ、ユーザーインターフェース、つまりWebページを介してのみFacebookのデータを取得できます。この時はスクレイピングツールの出番です。「2018年ソーシャルメディアスクレイピングツールトップ5」という記事をご参考ください。
5. Facebookの代替ソースを探しよう
前述のように、Facebookではすべての自動クローラーを禁止していますが、技術的にサイトからデータを収集することは依然として可能です。もちろんこれは危険です。
法的な影響以外にも、Facebookが不審なIPをブロックするため、定期的に目標データを取得することが難しくなります。そして厳しいブロッキングメカニズムを実装する可能性さえあり、それはサイトからのデータスクレイピングを全く不可能にするかもしれません。
ですから、TwitterやInstagramなど信頼性の高いソースからソーシャルメディアデータをスクレイピングすることをお勧めします。
【Python】マーベル映画における男女格差を調べてみた
11年続いたマーベル・シネマティック・ユニバース(MCU)の「アベンジャーズ」シリーズがいよいよ完結しました。待ちに待った「アベンジャーズ エンドゲーム」が4月26日に公開され、MCUファンではない私も観に行ってきました。さすが集大成の作品です!MCU史上最高傑作と断言してもいいでしょう。
マーベル映画といえば、今年もう1本の作品「キャプテン・マーベル」が3月15日公開されました。この作は、マーベル・シネマティック・ユニバース初の女性ヒーローの単独主演作です。これまで「ワンダーウーマン」、「ジェシカ・ジョーンズ」や「ブラック・ウィドウ」など、女性ヒーローも登場してきました。それは、映画業界ににおける女性の立場の変革を、マーベル作品を通じて訴えると思います。
この記事では、この20年間の2000本映画作品に出る俳優の名前に性別分析を行い、Pythonを使って毎年各映画の男女比率を計算し、映画業界における女性登場人物の変化を見たいと思います。
まず、Octoparseを使って「Box Office Mojo」から2000年ー2019年の映画情報をスクレイピングします。この20年間のURLをOctoparseに入力して、ループ抽出リストを作成します。
抽出されるデータフィールドは「Title, Actors, Distributors, Domestic_Total_Gross, Foreign_Gross」です。約20分後、20年間で2000本映画の詳細をすべて入手できます。
次に、テキストがトークン化されるように、Pythonでデータを整理します。
それから、一年の映画の中で女性と男性の俳優の人数を取得します。これを行うために、名前分析を通じて性別を分かる性別辞書リストをロードしました。
完全のコードはこちらからダウンロードできます。
リストを取得した後、以下のようにデータを視覚化してみました。実線は実際の数を示し、 点線は発展傾向を示しています。
2本の線が同じ方向に動いていて、2010年までに上昇し、2011年にピークに達し、それから落ちました。俳優の人数は減っていることを明らかに見えます。このデータから、映画業界は明らかな男女格差が生じていると推察できますが、この数年、この格差がだんだん縮小していることも分かります。
マーベル映画はどうですか?
対照的に、どちらの線も2012年以降上昇しており、2012年から2013年の間に急増しています。さらに、女性俳優もこの時期から増えています。それは、映画業界がより多くの女性俳優をヒーローシリーズに紹介しようとしているという事実に言えます。2012年からの景気回復期はヒーロー映画の流行と男女俳優人数のバランスで重要な役割を果たしています。ヒーローのイメージ、「自由」と「民主主義」の概念を含む国民的アイデンティティを表しています。女性俳優は主人公ではないかもしれませんが、ストーリーラインを前進させ始めているから。ハンガーゲーム(2012)、ダイバージェント(2014)、ルーシー(2014)、マッドマックス:フューリーロード(2015)、ローグワン:スターウォーズストーリー(2016)、ワンダーウーマン(2017)など、映画に登場する異なるタイプのスーパーヒロインはますます増えています。スーパーヒロインの人気は女性の権利をまた一歩前進させるでしょう。
映画業界は、まだまだ発展できるので、もっと魅力的で斬新な映画が観られるのです。女性の活躍を描くような映画も増えると感じられますね。
【Python】ドナルド・トランプにおけるTwitter民の感情分析
今世界で最も話題の人、ドナルド・トランプ米大統領は就任から3年目になりました。大統領就任後、相次いで発信されるツイートがさまざまな波紋を引き起こしています。トランプの「迷」言集はいつもニュースやソーシャルメディアで響いて、日本のマスコミでも、彼の失言や暴言を切り取って面白おかしく報じています。トランプは馬鹿か、戦略家かって、市場の評価も両極端です。
この記事では、Webスクレイピングツールを使って、ドナルド・トランプに関するツイートを抽出します。それからPythonを使ってデータマイニングと感情分析を行い、大統領についての公衆の声を見つけます。最後に、Tableau publicを使ってそれらのデータを視覚化します。
それでは、早速スタートです!
Webスクレイピングでデータを収集する
Octoparseを使ってスクレイピングから始めます。公式サイトから最新バージョンをダウンロードし、指示に従って登録を完了しました。ログインしたら、組み込みのTwitterテンプレートを開きます。
抽出されるデータ
投稿者
投稿時間
コンテンツ
画像のURL
ツイートURL
コメント数、リツイート数、いいね数など
Webクローラーにキーワードを伝えるためにパラメータフィールドに「Donald Trump」と入力します。見た目と同じくらい簡単で、私は約1万件のツイートを得ました。もちろんあなたはできるだけ多くのツイートをスクレイピングすることができます。ツイートを取得したら、データをテキストファイルとしてエクスポートし、ファイルに「data.txt」という名前を付けます。
始める前に、Pythonとテキストエディタがコンピュータにインストールされていることを確認してください。私はPython 2.7とNotepad ++を使います。
それに、2つの意見単語リスト(ダウンロードはこちら)を使用して、抽出されたツイートを分析します。これら2つのリストには、Minqing HuとBing Liuによってソーシャルメディアで出た意見語についての調査研究からまとめた肯定的な単語と否定的な単語(感情の単語)が含まれています。
ここでは、リストから各意見語を取り出し、ツイートに戻り、ツイートの中の各意見語の頻度を数えたいと思います。その結果、ツイートから対応する意見語とその数を収集します。
まず、ダウンロードした2つの単語リストによって、肯定的なリストと否定的なリストを作成します。それらのリストはテキストファイルから解析されたすべての単語を保存します。
次に、次のコードを使って句読点、記号、および数字をすべて削除してテキストを前処理し、データをまとめます。
分析を容易するために、データはトークン化された単語のみで構成されます。その後、word_count_dict、word_count_positive、およびword_count_negativeの3つの辞書を作成します。
それから、各辞書を定義します。データに意見語がある場合は、word_count_dictの値を1増やして数えます。
計算した後、単語が肯定的か否定的かを判断します。それが肯定的な単語である場合、word_count_positiveはその値を「1」増加させます。それ以外の場合、肯定的な辞書は同じ値のままです。同じように、word_count_negativeはその値を増やすか、同じ値のままにします。その単語が肯定的なリストにも否定的なリストにも存在しない場合、それは合格です。
コードの完全版については、ここからダウンロードできます。
感情:肯定的 vs. 否定的
その結果、5352個の否定的な単語と3894個の肯定的な単語を得ました。それらをTableau publicで開き、バブルチャートを作成しました。Tablau publicでバブルチャートを作成する方法をご参考ください。
肯定的な言葉の使用は一面的で、使用されている肯定的な単語は404種類だけです。最も頻繁に使用される単語は「like」、「great」、「right」で、ほとんどの単語の選択は「wow」や「cool」など基本的な口語です。しかし、否定的な単語の使用はより多面的で、809種類の否定的な単語があり、それらのほとんどは正式で高級なものです。最も頻繁に使用されるのは「illegal」、「lies」、「racist」です。「delinquent」、「inflammatory」、「hypocrites」などの他の高級な単語も存在しています。
まとめ
今回の分析により、ドナルド・トランプはTwitterユーザーの間ではあまり歓迎されていないことを明らかに示しています。ただし、15000件のツイートをスクレイピングしたが、スクレイピングされたデータの中には、テキストの内容がない、意見がまったく表示されないツイートが5000件ありますので、その結果は適切ではないところがあるかもしれません。また、この記事の分析では、偏りのある意見(否定的または肯定的)にのみ焦点を当てています。きめ細かい感情分析は、さまざまな程度に、より正確であるべきです。
2019年スクレイピングツールトップ10
Webクローリング、またはWebデータ抽出とも呼ばれるWebスクレイピングは、単にWebサイトからデータを収集してローカルデータベースまたはスプレッドシートに保存するプロセスです。Webスクレイピングを初心者が聞いたら、遠ざけていく専門用語だと思われるかもしれないですが、実はあなたが思っている以上、実用しやすいものです。スクレイピングツールは、求人情報だけでなく、マーケティング、経済やeコマース、および数多くの他業界でも役割を果たしています。
Webスクレイピングツールはさまざまありますが、どれが一番なのかという疑問がある人はたくさんいるでしょう。ネットにあるほとんどのスクレイピングツールは極めて通用され、主に一般的で簡単なタスクを実行するように設計されているのです。つまり、期待しているほどカスタマイズ性や通用性に富んだものではないかもしれません。ご参考のために、この記事では人気のWebスクレイピングツールを10選まとめて、それぞれの特徴を紹介したいと思います。
1. Octoparse
Octoparse はWebサイトから必要とするあらゆるデータを抽出するために使用される、豊富な機能を備えた強力で無料なWebスクレイピングツールです。コーディングせず、インターフェースで簡単なポイントアンドクリック操作をして、Webサイトからすべてのテキストを収集ことが可能です。取得したデータはExcel、HTML、CSV、またはご指定のデータベースのような構造化フォーマットに保存されます。そのほかに、仕組まれたRegexツールでWebサイトにある難しく加工されたデータブロックにでき、仕組まれたXpathツールでWeb要素を正確に見つけることができます。さらにIPブロッキングに悩まされることはもうありません。OctoparseはIPプロキシサーバーが仕組まれているので、積極的なWebサイトに検出されずにIPの自動ローテーションが可能になりました。最後にOctoparseの新しいバージョンはAmazon、TwitterやIndeedなど、さまざまなのWebサイトからデータを抽出するために、すぐに使えるタスクテンプレートを提供しています。
メリット:Octoparseは私が今まで出会った最高の無料データスクレイピングツールです。これから話す他のツールより、Octoparse無料版は取得ページ数の制限なしで最も強力な機能を提供しています。タスクテンプレートでは、パラメータ(ターゲットページURL、検索用のキーワードなど)を入力し、データ収集を待つことだけです。
デメリット:残念ながら、OctoparseはPDFからデータを収集することも画像を直接ダウンロードすることもできません。でも、画像のURLを抽出することができます。
2. Mozenda
Mozendaは、データ抽出に役立つ機能を備えたクラウドWebスクレイピングサービス(SaaS)です。Mozendaのスクレイピングソフトウェアには、WebコンソールとAgent Builderの2つの部分があります。Mozenda WebコンソールはWebベースのアプリケーションで、エージェントの実行(プロジェクトのスクレイピング)、結果の表示と整理、および抽出したデータのDropbox、Amazon、Microsoft Azureなどのクラウドストレージへのエクスポートまたは公開することをサポートしています。Agent Builderは、データプロジェクトを構築するために使用されるWindowsアプリケーションです。データ抽出はMozendaデータセンター内の最適化されたハーベスティングサーバーでで処理されるため、Webリソースの読み込みからクライアントを解放したり、IPアドレスの禁止が検出された場合の脅威を軽減します。
メリット:MozendaはAJAXとiFramesのデータを簡単にキャプチャする包括的なAction Barを提供し、ドキュメントと画像の抽出もサポートしています。さらに、マルチスレッド抽出とスマートデータ集約に加えて、MozendaはIP禁止を防ぐためのGeolocation、バグを修正するためのテストモードとエラー処理を提供します。
デメリット:Mozendaは5000ページあたり99ドルで少し高いです。十分な論理機能を持てず、実行するためにWindows PCを必要とし、大型Webサイトを扱うとき安定性の問題も抱えています。
3. 80legs
80legsは、カスタマイズされた要件に基づいて構成できる強力で柔軟なデータスクレイピングツールです。それは膨大な量のデータの取得と共に、抽出されたデータを即時にダウンロードするオプションをサポートしています。 80legsは、高速に機動し、わずか数秒で必要なデータを取得する高性能のWebクローリングを提供します。開発者は、クローリングネットを広げるために80legs APIを自分のアプリケーションに組み込むことができます。
メリット:80legsは、専用線アクセスを許可し、顧客がクローリングした分だけを支払うようにすることで、Webスクレイピングテクノロジを小規模企業や個人にとってより利用しやすくします。
デメリット:80legsは前に述べたほかのツールほどの適応性がありません。大量のデータを取得したい場合は、カスタマイズ取得するデータ、作成済みのAPI、およびクロールアプリケーションのいずれかを選択する必要があります。
4. Import.Io
Import.Ioは、Webページ内の半構造化情報から構造化データへの変換に役たつWebスクレイピングプラットフォームです。これはビジネス上の意思決定の推進からアプリケーションや他のプラットフォームとの統合まで、あらゆる用途に使用できます。ストレージとテクノロジはすべてクラウドシステムに基づき、Webブラウザ拡張機能を追加するだけでツールを使用できます。シンプルで直感的なポイント&クリックの操作スタイルは、ページとデータフィールドを簡単に選択することができます。JSON RESTベースおよびストリーミングAPIを介したリアルタイムのデータ検索、多くの一般的なプログラミング言語およびデータ操作ツールとの統合を提供します。
メリット:Import.ioは、ほぼすべてのシステムをサポートする最先端のテクノロジを使用して、何百万ものデータが取得できます。洗練されたインターフェース、シンプルなダッシュボード、スクリーンキャプチャ、そしてユーザーフレンドリーな操作ガイドビデオのおかげで、さらに使いやすくしてくれます。
デメリット:無料プランはもう利用できません。各サブページにも費用がかかるので、多数のサブページからデータを抽出していると、コストがすぐに高まる恐れがあります。それに、Webサイトの構造に大きく依存するから、すべてのWebサイトでは動作するわけではありません。
5. Content Grabber
Content Grabberは、Webからのコンテンツ抽出に使用される視覚的で強力なWebスクレイピングツールです。商品カタログや検索結果などの完全なコンテンツ構造を自動的に収集できます。それはユーザーにとって非常にフレンドリーでありながら、AJAX が使われたWebサイトを含む動的なWebサイトからデータを抽出するのに十分洗練されています。
Content Grabberは、高度なプログラミングスキルを持つ人々により適しています。強力なスクリプト編集、デバッグインターフェースを数多く提供しています。ユーザーはC#またはVB.NETを使用してスクリプトをデバッグまたは作成し、クローリングプロセスをプログラミングによって制御することができます。たとえば、Content GrabberをVisual Studio 2013と統合して、ユーザーの特定のニーズに合わせて、高度なカスタマイズクローラーに最も強力なスクリプト編集、デバッグ、および単体テストすることができます。
メリット:Content Grabberは、サードパーティ製ツールを使用している多くのユーザーにさらに多くのオプションを提供します。ユーザーはOctoparseやParsehubでサポートされていないスクリプトをデバッグすることができます。
デメリット:Content Grabberは無料版を提供しておらず、最低月額149ドルから始まります。旧バージョン機能はOctoparseの無料版で利用可能であることを考えると、かなりの高価です。その上、OctoparseやParsehubのように使いやすいものではなく、最初の扱いには少し理解しがたいかもしれません。
6. Scraper
Scraperはオンライン調査を促進、データをすばやくGoogleスプレッドシートにエクスポートすることができるわずかなデータ抽出機能を備えたChromeの拡張機能です。Scraperは初心者だけでなく、OAuthを使用してデータをクリップボードにコピー、またはスプレッドシートに保存できる専門家を対象としています。Scraperはブラウザで機能し、対象URLを定義できるXPathを自動生成できる無料のWebクローラーツールです。包括的なクロールサービスは提供されないかもしれませんが、初心者には面倒な設定に取り組む必要はありません。
その仕組みは次のとおりです。特定のデータポイント、価格やランキングなどを選択して、ブラウザのメニューから[Scrape Similar]をクリックすると、データをExcelかGoogle Docsにエクスポートまたはコピーできます。このプラグインは基本的なものですが、素早く簡単にページをスクレイピングするために作られたものです。
メリット:Chromeの拡張機能として、簡単なスクレイピング作業だとScraperがすぐにできることは魅力です。
デメリット:Scraperはただの基本的なクローラーですから、簡単なWebページのみに、限られた抽出機能が持つ単純なクローリングプロジェクトを提供できます。
7. Parsehub
ParseHubはインタラクティブマップ、カレンダー、検索、フォーラム、ネスト化されたコメント、無限スクロール、認証、ドロップダウン、フォーム、Javascript、Ajaxなどを簡単に処理できる視覚的なデータ抽出ツールです。ParsehubのデスクトップクライアントはWindows、Mac OS X、Linuxなどをサポートしています。ブラウザ内に組み込まれているWebアプリケーションを使用することもできます。ParseHubは無料プランのほか、大量のデータ抽出ためのカスタマイズ法人プランも提供しています。
メリット:ParseHubはOctoparseのように、様々なニーズに適応してオンラインデータを収集できます。その利点といえば、Octoparseより多くのデスクトップシステムをサポートするところです。
デメリット:だが、 ParsehubはAPIアクセス権限を持つプログラマーによりフレンドリーです。無料版には5つのプロジェクトと最大200ページまでの制限があります。Octoparseのように、それはドキュメンテーション抽出をサポートしていません。そして、アドバンスアプションを使う時に問題が出るからもしれないので、注意する必要があります。
8. WebHarvy
WebHarvyは、軽くて視覚的なポイント&クリック式のWebスクレイピングツールです。各種類のWebサイトからテキスト、URL、および画像を抽出することが可能です。抽出されたデータは一般的なフォーマット(CSV、Txt、XML)とデータベース入力用のSQLに保存することができます。また、匿名でスクレイピングし、Webサーバーによるブロック防ぐためのプロキシサーバー/ VPNも提供します。
メリット:WebHarvyは使いやすく覚えやすく安定です。いくつかのエクスポートデータ形式に対応でき、すばやくWebスクレイピングすることに優れています。
デメリット:ドキュメントの抽出をサポートしていないほか、無料版も提供していません。
9. Scrapinghub
Scrapinghubは、インターネットから構造化された情報を抽出するために、いくつかの便利なサービスを提供している開発者向けのWebスクレイピングプラットフォームです。ScrapinghubにはScrapy Cloud、Portia、Crawlera、Splashという4つの主要なツールがあります。Scrapy CloudはScrapy(オープンソースのデータ抽出フレームワーク)Webクローラーのアクティビティを自動化・視覚化することができます。Portiaは機能が制限されていて、非プログラマー向けのWebスクレイピングツールです。Crawleraは、50カ国以上のIPアドレスを持ち、IP禁止問題の解決策です。SplashはScrapinghubによって開発されたオープンソースのJavaScriptレンダリングサービスです。Splashブラウザを使うと、JSを使用しているWebページをより適切にスクレイピングすることができます。
メリット:Scrapinghubは、オープンソースフレームワークScrapyや視覚データスクレイピングツールPortiaなど、さまざまな地域の人々に合わせて適切なWebサービスを提供する強力なWebスクレイピングプラットフォームです。
デメリット:Scrapyはプログラマーに向け、Portiaも複雑なWebサイトを扱う場合では数多くのアドオンを追加する必要があるので、簡単に利用できません。
10. Dexi.io
Dexi.Ioは、開発、ホスティング、およびスケジューリングサービスを提供するクラウドベースのWebスクレイピングツールです。なしでポイント&クリックのUIを備え、コーディングする必要がありません。簡単なタスクを作成するために、Extractor、Crawler、およびPipes、3種類のロボットがあります。取得したデータはJSON / CSVデータとして利用可能であり、またReSTを通して外部アプリケーションからアクセスすることもできます。このWebスイートは、CAPTCHA解決、プロキシソケット、ドロップダウンを含むフォームへの記入、正規表現のサポートなど、最新のWebスクレイピング機能のほとんどを提供しています。また、取得したコードのJavaScript評価もサポートしています。
メリット:ブラウザベースであるため、Dexi.io CAPTCHA解決はより便利なことです。それに、多くの第三者サービス(キャプチャソルバー、クラウドストレージなど)をサポートするから、それらをボットに簡単に統合できます。
デメリット:商用サービスとしてもちろん、無料版を提供していません。また、フローを理解するにはかなり複雑で、デバッグする場合もあるので面倒だと感じます。
いかがでしょうか?あなたのニーズに合わせて最適なスクレイピングツールを見つけましょう!