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入門!無料データでSQLの基本テキスト分析関数をマスター

BigQuery入門!無料データでSQLの基本テキスト分析関数をマスター

2024 11/28
BigQuery BigQuery学習教材
2024年9月16日2024年11月28日
目次

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

【対象者】

初中級データアナリスト

【興味関心】

  1. 顧客の声分析
  2. アンケート分析
  3. ソーシャルメディア分析
  4. テキストデータからの情報抽出
  5. SQLスキルアップ
  6. BigQueryの活用

【解消できるお悩み】

  1. 顧客アンケートの自由記述欄を分析したいけど、どうすればいいか分からない…
  2. ソーシャルメディアの投稿から、自社製品に関する評判を分析したい
  3. 大量のテキストデータから、重要なキーワードを抽出したい
  4. BigQueryでテキストデータを分析する方法が知りたい
  5. SQLを使って、テキストデータからビジネス insights を得たい

記事作成者

【人物】株式会社志庵 代表取締役 佐藤 光 起業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は、テキストデータを分析するための強力なテキスト分析関数を備えています。これらの関数を使いこなすことで、テキストデータからキーワードを抽出したり、感情分析を行ったり、関連性の高い情報を検索したりすることができます。

この記事では、BigQueryで利用できる基本的なテキスト分析関数を、分かりやすい例とともに紹介します。BigQueryの無料公開データセットを使って、実際に手を動かしながらテキスト分析関数をマスターしましょう!

目次

  1. BigQueryのテキスト分析関数とは?
  2. BigQueryの基本テキスト分析関数一覧
    1. TEXT_ANALYZE
    2. BAG_OF_WORDS
    3. TF_IDF
  3. BigQuery公開データで実践!テキスト分析関数を使った分析例
  4. FAQ:BigQueryに関するよくある質問
  5. まとめ:BigQueryのテキスト分析関数をマスターして、テキストデータから価値を引き出そう!

1. BigQueryのテキスト分析関数とは?

BigQueryのテキスト分析関数は、テキストデータを分析し、有益な情報を抽出するための関数です。これらの関数は、自然言語処理(NLP)の技術に基づいており、テキストデータの構造や意味を理解することができます。BigQueryのテキスト分析関数は、以下のようなタスクに役立ちます。

  • キーワード抽出
  • 感情分析
  • テキスト分類
  • 類似文書検索

2. BigQueryの基本テキスト分析関数一覧

BigQueryで利用できる基本的なテキスト分析関数を、例とともに紹介します。

2.1 TEXT_ANALYZE

テキストから用語(トークン)を抽出し、トークン化されたドキュメントに変換します。トークン化されたドキュメントは、各用語とその出現回数を表す配列です。

構文:

TEXT_ANALYZE(text[, language])

例: 文字列 “BigQuery is a powerful data warehouse.” をトークン化し、各用語の出現回数を取得する

SELECT TEXT_ANALYZE('BigQuery is a powerful data warehouse.') AS tokens;

2.2 BAG_OF_WORDS

トークン化されたドキュメントの各用語(トークン)の頻度を取得します。頻度は、各用語がドキュメントに何回出現するかを表す数値です。

構文:

BAG_OF_WORDS(tokens_array)

例: トークン化されたドキュメント [‘BigQuery’, ‘is’, ‘a’, ‘powerful’, ‘data’, ‘warehouse’] から、各用語の頻度を取得する

SELECT BAG_OF_WORDS(['BigQuery', 'is', 'a', 'powerful', 'data', 'warehouse']) AS term_frequencies;

2.3 TF_IDF

一連のトークン化されたドキュメントにおける、ある用語(トークン)とトークン化されたドキュメントの関連性を評価します。TF-IDF値が高いほど、その用語は特定のドキュメントに強く関連していることを示します。

構文:

TF_IDF(term, document, documents) over()

例:一連のトークン化されたドキュメントに少なくとも 1 回出現する、最大 3 個の用語の関連性を計算する。

WITH table1 AS (
  SELECT 1 AS id, ['I', 'like', 'BigQuery', 'BigQuery', 'BigQuery', NULL] AS f UNION ALL
  SELECT 2 AS id, ['yum', 'yum', 'BigQuery', NULL] AS f UNION ALL
  SELECT 3 AS id, ['I', 'yum', 'BigQuery', NULL] AS f UNION ALL
  SELECT 4 AS id, ['you', 'like', 'BigQuery', 'too', NULL] AS f
)
SELECT id, TF_IDF(f, 3, 2) OVER() AS results
FROM table1
ORDER BY id

3. BigQuery公開データで実践!テキスト分析関数を使った分析例

ここでは、BigQueryの公開データセット「stackoverflow」を使って、テキスト分析関数を使った簡単なSQL分析例を紹介します。このデータセットには、stackoverflowのコメントに関する情報が格納されています。

例:コメント(text) のテキストデータから、出現頻度の高い単語を抽出する

SELECT word, frequency
FROM (
  SELECT
    word,
    COUNT(*) AS frequency
  FROM
    bigquery-public-data.stackoverflow.comments
    ,UNNEST(BAG_OF_WORDS(TEXT_ANALYZE(text))) AS word
  GROUP BY
    word
)
ORDER BY
  frequency DESC
LIMIT 10;

このクエリでは、`TEXT_ANALYZE`関数で`text`カラムのテキストデータをトークン化し、`BAG_OF_WORDS`関数で各単語の出現頻度を計算しています。そして、出現頻度が高い上位10件の単語を表示しています。

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

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

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

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

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

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

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

5. まとめ: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 Tips
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次
カテゴリー
  • AI_Agent (92)
    • Agent開発 (92)
  • 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)
目次