MENU
  • HOME
  • 取引実績
  • 会社概要
  • 資料DL
  • お問い合わせ
  • FAQ
  • BigQuery記事
  • Struccle記事
データ流通、検索エンジン開発のプロフェッショナル
DataStructor
  • HOME
  • 取引実績
  • 会社概要
  • 資料DL
  • お問い合わせ
  • FAQ
  • BigQuery記事
  • Struccle記事
DataStructor
  • HOME
  • 取引実績
  • 会社概要
  • 資料DL
  • お問い合わせ
  • FAQ
  • BigQuery記事
  • Struccle記事
  1. ホーム
  2. BigQuery
  3. BigQueryでデータ分析
  4. 【BigQuery公開データ分析】BBCニュースデータでトレンド分析!注目のトピックに着目

【BigQuery公開データ分析】BBCニュースデータでトレンド分析!注目のトピックに着目

2024 11/28
BigQuery BigQueryでデータ分析
2024年9月23日2024年11月28日
目次

記事の対象者と解消できるお悩み

【対象者】

初中級データアナリスト

【興味関心】

  1. 最新トレンドの把握
  2. 世の中の動向分析
  3. 情報収集の効率化
  4. ビジネスチャンス発見
  5. リスク予測

【解消できるお悩み】

  1. 最新のトレンド情報を知りたいけど、情報収集に時間がかかる…
  2. 膨大なニュース記事を効率的に分析する方法が知りたい
  3. 世の中の動きをいち早く察知して、ビジネスに活かしたい
  4. 将来のリスクを予測し、対策を立てたい

記事作成者

【人物】株式会社志庵 代表取締役 佐藤 光 起業6年目

【経歴】株式会社光通信➜光通信同期と起業➜データアナリスト転職➜SaaSで2度目起業

【会社実績】

SaaS 資金調達無しARR2億円

SaaS GMV200億円

【内容】自社AaaSであるStruccle、webスクレイピング、BigQueryに関する記事を作成

各種用語

  • ARR(Annual Recurring Revenue)
    • サブスクリプションサービスの年間売上※当社はSaaS売上
  • Struccle(ストラクル)
    • 株式会社志庵が独自開発しているAaaS
  • AaaS(アース)
    • Data Analytics as a Serviceの意
  • SaaS(サース)
    • Software as a Serviceの意
  • GoogleCloudPlatform
    • Googleが提供するクラウドプラットフォーム。この中に様々なサービスが存在する。
  • GCP(ジーシーピー)
    • GoogleCloudPlatformの略
  • BigQuery(ビッグクエリ)
    • 上記GCPの中に含まれるデータ分析基盤サービス
  • SQL(エスキューエル)
    • データベースを操作するプログラミング言語
  • クエリ
    • SQLで記述した命令文
    • クエリ例)
      • SQL構文のクエリ⬇
        • SELECT item_name, price FROM sales_table where price >= 1000;
        • 上記クエリ(命令文)の意味としては「売上テーブル(sales_table)から価格(price)が1000円以上の商品名(item_name)と価格(price)を抽出する」
  • ペタバイト
    • データの単位 ペタバイト=1000テラバイト=約100兆行のデータ

概要

世界で何が起こっているのか、どんな話題が注目されているのかを知ることは、ビジネスパーソンにとって非常に重要です。最新のニュース記事を分析することで、社会の動きや人々の関心の変化を捉え、ビジネスチャンスやリスクをいち早く察知することができます。しかし、膨大な量のニュース記事を人力で分析するのは時間と労力がかかり、現実的ではありません。

そこで今回は、Google Cloudのデータウェアハウス「BigQuery」と、BBCニュースの公開データを使って、注目トピックを分析してみましょう。BigQueryの強力な分析機能と自然言語処理技術を活用すれば、膨大なニュース記事から効率的にトレンドを抽出することができます。この記事では、BigQueryを使ったテキストデータの分析方法と、そこから得られるインサイトを紹介します。データ分析初心者の方でも、BigQueryを使えば、複雑な分析に挑戦し、世界で話題になっているトピックを把握することができるでしょう。

目次

  1. BigQueryでニュースデータ分析を行うメリット
  2. 分析に使用するBigQueryのデータセット
  3. BigQueryでニュース記事を分析する手順
    1. 1. データ確認
    2. 2. データ加工
    3. 3. キーワード抽出
    4. 4. トレンド分析
    5. 5. 考察と分析結果の活用
  4. BigQueryを使ったニュースデータ分析例
  5. FAQ:BigQueryに関するよくある質問
  6. まとめ:BigQueryでニュース分析を行い、時代の変化を先読みしよう!

1. BigQueryでニュースデータ分析を行うメリット

BigQueryは、ニュースデータ分析に最適なツールです。その理由は、以下の様なメリットがあるからです。

  • 大規模データの高速処理: 膨大なニュース記事を高速に分析できるため、トレンドをリアルタイムに把握できます。
  • 様々なデータソースとの連携: 公開データ、自社データ、外部データなど、様々なデータソースと連携できるため、ニュースデータと他のデータを組み合わせて分析できます。
  • 豊富な分析機能: SQL、機械学習、自然言語処理など、高度な分析機能を利用できるため、複雑な分析にも対応できます。
  • コストパフォーマンスの高さ: 従量課金制なので、必要な時に必要なだけ利用でき、コストを抑えられます。
  • 高いセキュリティ: Google Cloudの強固なセキュリティ基盤により、安心してデータを管理できます。

2. 分析に使用するBigQueryのデータセット

今回の分析では、BigQueryの公開データセット「BBC News Archive」を使用します。このデータセットには、BBCニュースが公開しているニュース記事データが格納されています。データの内容は、記事のタイトル、本文、カテゴリなどです。

3. BigQueryでニュース記事を分析する手順

BigQueryでニュース記事を分析し、注目トピックを抽出する手順は以下の通りです。

3.1 1. データ確認

まず、データセットの内容を確認します。BigQueryコンソールのUIでデータセットのスキーマを確認したり、サンプルデータをプレビューしたりすることで、データの構造や内容を理解することができます。`bbc` データセットには、 `stories` テーブルが含まれており、ニュース記事に関する詳細情報が記録されています。

3.2 2. データ加工

必要に応じて、データを加工します。例えば、日付データを年、月、日、曜日などに分割したり、特定のカテゴリの記事に絞り込んだり、特定の期間のデータのみを抽出したりします。BigQueryは、SQLを使ってデータ加工を行うための様々な関数を提供しています。

3.3 3. キーワード抽出

ニュース記事本文から、キーワードを抽出します。BigQuery MLの自然言語処理機能を利用して、記事本文から重要な単語を抽出することができます。また、特定のキーワードの出現頻度をカウントすることで、そのキーワードがどの程度注目されているのかを定量的に分析することも可能です。

3.4 4. トレンド分析

抽出されたキーワードや、記事の公開日時などを用いて、トレンド分析を行います。例えば、特定のキーワードの出現頻度の推移を分析することで、そのトピックへの関心がどのように変化しているのかを把握することができます。また、複数のキーワードの相関関係を分析することで、新たなトレンドを発見できる可能性もあります。

3.5 5. 考察と分析結果の活用

分析結果に基づいて、注目トピックを考察します。どのような社会問題が注目されているのか、人々の関心はどのような分野に移っているのか、ビジネスチャンスとなりそうなトピックは何かなどを分析し、レポートにまとめます。分析結果を基に、新たな商品やサービスの開発、マーケティング戦略の立案、投資判断など、ビジネス戦略に役立てることができます。

4. BigQueryを使ったニュースデータ分析例

今回は、BigQuery公開データセット bigquery-public-data.bbc_news.fulltext を使って、注目のトピックを探るトレンド分析に挑戦します。

このデータセットには、BBCニュース記事の全文がカテゴリ別に分類されて格納されています。

膨大なニュース記事から単語の出現頻度や変化を分析することで、社会の関心の移り変わりや、新たに注目を集めているテーマを浮き彫りにすることができます。

BigQuery分析例:カテゴリー別・単語出現頻度ランキング

ニュースのカテゴリー(category)ごとに、どのような単語が頻繁に使われているのかを分析するため、単語(word)の出現回数(word_count)を集計し、ランキング形式で表示します。

--テキストアナライザに関して参考にしたドキュメント
--https://cloud.google.com/bigquery/docs/reference/standard-sql/text-analysis?hl=ja#token_filters
--ストップワーズに関して参考にしたドキュメント
--https://gist.github.com/sebleier/554280
WITH words_by_category AS (
  SELECT
    category,
    word,
    COUNT(*) AS word_count
  FROM `bigquery-public-data.bbc_news.fulltext`
  , UNNEST(TEXT_ANALYZE(
      lower(body),
      analyzer=>'PATTERN_ANALYZER',
      analyzer_options=>'''
      {
        "patterns": ["[a-zA-Z]*"],
        "token_filters": [
          {
            "normalizer": {
              "mode": "LOWER"
            }
          },
          {
            "stop_words": ["i", "me", "my", "myself", "we", "our", "ours", "ourselves", "you", "your", "yours", "yourself", "yourselves", "he", "him", "his", "himself", "she", "her", "hers", "herself", "it", "its", "itself", "they", "them", "their", "theirs", "themselves", "what", "which", "who", "whom", "this", "that", "these", "those", "am", "is", "are", "was", "were", "be", "been", "being", "have", "has", "had", "having", "do", "does", "did", "doing", "a", "an", "the", "and", "but", "if", "or", "because", "as", "until", "while", "of", "at", "by", "for", "with", "about", "against", "between", "into", "through", "during", "before", "after", "above", "below", "to", "from", "up", "down", "in", "out", "on", "off", "over", "under", "again", "further", "then", "once", "here", "there", "when", "where", "why", "how", "all", "any", "both", "each", "few", "more", "most", "other", "some", "such", "no", "nor", "not", "only", "own", "same", "so", "than", "too", "very", "s", "t", "can", "will", "just", "don", "should", "now", "say", "said"]
          }
        ]
      }
      '''
      )
    ) AS word
  WHERE LENGTH(word) > 3
  GROUP BY 1, 2
)
SELECT
  category,
  word,
  word_count
FROM words_by_category
ORDER BY category, word_count DESC

【BigQuery SQL解説】

  • bigquery-public-data.bbc_news.fulltextテーブルから、ニュース記事のカテゴリ(category)と本文(body)を取得します。
  • lower(body)で、本文をすべて小文字に変換します。
  • TEXT_ANALYZE関数を使って、小文字に変換された本文を単語に分割します。
    • analyzer=>’PATTERN_ANALYZER’で、単語分割にパターンアナライザーを使用することを指定します。
    • analyzer_optionsで、パターンアナライザーの設定をJSON形式で指定します。
      • “patterns”: [“[a-zA-Z]*”]で、英字のみからなる単語を抽出するパターンを指定します。
      • “token_filters”で、単語に対するフィルタ処理を指定します。
        • “normalizer”で、単語を小文字に変換するフィルタを指定します。
        • “stop_words”で、一般的な単語(”the”, “a”, “is”など)を除外するフィルタを指定します。
  • UNNEST()関数で、TEXT_ANALYZE関数によって生成された単語の配列を展開します。
  • LENGTH(word) > 3で、3文字以下の単語を除外します。
  • COUNT(*) AS word_countで、カテゴリと単語ごとの出現回数をカウントします。
  • GROUP BY 1, 2で、カテゴリと単語ごとに集計します。
あわせて読みたい
BigQuery入門!無料データでSQLの基本テキスト分析関数をマスター 記事の対象者と解消できるお悩み 【対象者】 初中級データアナリスト 【興味関心】 顧客の声分析 アンケート分析 ソーシャルメディア分析 テキストデータからの情報抽出...

【BigQuery分析での活用例】

  • カテゴリーごとに、出現頻度の高い単語を抽出することで、各カテゴリーの主要なテーマや、注目されているキーワードを把握できます。
  • 特定の期間における単語の出現頻度の変化を比較することで、社会の関心の変化や、新たに注目を集めているトレンドを分析することができます。

注意点

  • ストップワードのリストは、分析の目的に合わせて変更する必要がある場合があります。
  • このクエリはあくまでも単語の出現頻度に基づいた分析であり、文脈や意味を考慮した分析は別途行う必要があります。
  • これらのクエリは、BigQuery公開データに基づいています。データの正確性や最新性については、実際のBigQuery公開データをご自身でご確認ください。
  • 当該分析は、様々な要因を総合的に判断する必要があります。これらのクエリは分析の一例であり、意思決定の根拠として単独で使用すべきではありません。

5. FAQ:BigQueryに関するよくある質問

Q1. BigQueryの無料枠を超えて利用すると、どのくらい費用がかかりますか?

A1. 無料枠を超えた場合、従量課金制で料金が発生します。料金は、処理したデータ量やストレージ容量などによって異なります。詳しくは、BigQueryの料金ページをご確認ください。

Q2. BigQueryで使えるSQLは、他のデータベースと同じですか?

A2. BigQueryは標準SQLをサポートしており、他のデータベースで学んだSQLの知識を活かすことができます。ただし、BigQuery独自の関数や構文も存在するため、BigQueryのドキュメントで詳細を確認することをおすすめします。

Q3. SQLの学習には、どのような教材がありますか?

A3. SQLの学習には、オンライン学習サイト、書籍、動画教材など、様々な教材があります。初心者向けの教材から、上級者向けの教材まで、レベルに合わせて選ぶことができます。Googleが提供するBigQueryのチュートリアルもSQLの学習に役立ちます。

6. まとめ:BigQueryでニュース分析を行い、時代の変化を先読みしよう!

BigQueryは、ニュースデータ分析に最適なツールです。BigQueryの高速な処理性能、豊富な分析機能、そして無料公開データセットを活用することで、誰でも簡単にニュース分析を行い、時代の変化を先読みすることができます。この記事で紹介した分析手順や分析例を参考に、BigQueryを使ったニュースデータ分析に挑戦し、ビジネスに役立つインサイトを得ましょう!

BigQuery導入サポート、転職検討中の方はお問い合わせフォームからご相談くださいませ。

誠心誠意精一杯対応いたします。

【参考URL】

GoogleCloudPlatform:https://console.cloud.google.com/welcome/new

BigQuery:https://cloud.google.com/bigquery?hl=ja

BigQueryリリース情報:https://cloud.google.com/bigquery/docs/release-notes

BigQuery料金:https://cloud.google.com/bigquery/pricing

BigQuery料金無料枠:https://cloud.google.com/bigquery/pricing?hl=ja#free-tier

Google Cloud活用事例:https://cloud.google.com/customers/index.html?hl=ja#

Looker Studio:https://cloud.google.com/looker-studio?hl=ja

Looker Studioサンプル:https://cloud.google.com/bigquery/docs/visualize-looker-studio?hl=ja

人気記事

  • BigQueryの無料枠を活用しよう!制限と注意点、活用方法を解説
  • BigQueryでエラー解決!よくあるエラーと対処法
  • BigQueryのレベル別学習リソースまとめ!初心者から上級者まで役立つ情報源
  • 【SUUMOスクレイピング】Struccleで物件データを全件収集
  • BigQuery入門!無料データでSQLの基本文字列関数をマスター
BigQuery BigQueryでデータ分析
BigQuery データ分析
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次
カテゴリー
  • AI_Agent (91)
    • Agent開発 (91)
  • BigQuery (100)
    • BigQueryTips (11)
    • BigQueryでデータ分析 (49)
    • BigQueryのFAQ (1)
    • BigQuery入門 (8)
    • BigQuery学習教材 (22)
    • BigQuery導入ガイド (3)
    • BigQuery最新情報 (3)
    • BigQuery活用事例 (4)
  • Struccle (145)
    • Struccleでスクレイピング (10)
      • suumoの物件データを収集&分析 (1)
      • アニマルジョブの電話番号、メールアドレスを全件収集 (1)
      • データ集計 (6)
      • ホットペッパービューティーのヘアサロンデータを収集&分析 (1)
      • 食べログの飲食店データを収集&分析 (1)
    • Struccleデータ料金事例 (134)
      • 商品分析 (15)
      • 営業リスト (80)
      • 競合分析&市場調査 (58)
      • 自動車 (11)
      • 自社活用 (7)
    • Struccle活用企業様の紹介 (1)
  • 当ブログのコーディング実行環境設定 (1)
目次