Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hadoopエンタープライズソリューションセミナー2012: Hadoop&RabbitMQを利用したTwitter全量リアルタイム解析

Kenji Hara
December 10, 2012

Hadoopエンタープライズソリューションセミナー2012: Hadoop&RabbitMQを利用したTwitter全量リアルタイム解析

2012/12/20に東京コンファレンスセンター品川で開催された『Hadoopエンタープライズソリューションセミナー』(NTTデータ主催)での講演資料です。

講演概要
==
NTTコミュニケーションズはソーシャルメディアをリアルタイムに解析する大規模データ処理基盤を開発しており、クチコミ分析サービス「BuzzFinder」では日本語ツイートの全量をリアルタイムに分析しています。
本セッションではHadoopとRabbitMQを活用した大規模日本語データ解析の事例をご紹介します。

Kenji Hara

December 10, 2012
Tweet

More Decks by Kenji Hara

Other Decks in Technology

Transcript

  1. Copyright © 2012 NTT Communications Co., Ltd. All Rights Reserved.

    Hadoop&RabbitMQを利用した Twitter全量リアルタイム解析 原 謙治 NTTコミュニケーションズ株式会社 先端IPアーキテクチャセンタ 2012年12月10日
  2. 自己紹介 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 1 @haracane 原 謙治 NTTコミュニケーションズの先端IPアーキテクチャセンタという R&D部門での大規模データ処理を主に担当。 2010年頃からTwitterを中心としたソーシャルメディアの日本語解析 にHadoopを利用。 クチコミ分析サービスBuzzFinderの開発ではTwitter解析エンジンの アーキテクチャ設計・実装・テストを担当。 好きなものは「面白いデータ」
  3. 本日のアジェンダ • BuzzFinderについて • Twitterデータの特徴 • BuzzFinderでのTwitterデータ解析 – 日本語解析処理 –

    データ処理フロー • Twitter全量リアルタイム解析システム – Hadoopを使ったバッチ処理 – RabbitMQ/Hadoopを組み合わせたリアルタイム処理 • 解析例のご紹介 Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved. 2
  4. BuzzFinderとは Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 4 NTTコミュニケーションズグループが提供する 「国内最大級のクチコミ数を対象としたリアルタイム分析サービス」 http://www.nttcoms.com/service/buzzfinder.html BuzzFinderの特徴 Twitterの日本語ツイート全量と、 国内ブログサイトの90%以上を 対象に口コミを分析 クチコミデータを リアルタイムに分析 風評・炎上対策のために クチコミ数の動向から異変を検出 して担当者にメール通知 1 2 3
  5. ツイート量の傾向 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 6 23時~1時頃がツイート量が多く、3時頃~6時頃が少ない 0時がピーク 深夜に減少 午後に増加 19時頃から上昇 8時頃まで上昇
  6. Twitterデータからわかる情報 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 7 ツイート本文 ユーザ名 アカウント名 自己紹介文 場所 フォロワー数なども JSON ツイート本文だけでなくユーザの情報もツイート毎に取得できる
  7. Twitterデータの日本語解析 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 9 ツイート本文 自己紹介文 場所 JSON リッチインデクシング技術*を利用して多面的に各ツイートを解析 キーワード キーワードの関連語 ユーザの属性 (年齢/性別/職業) ユーザの居住地 キーワードの評判 (ポジティブ/ネガティブ) JSON 日 本 語 解 析 済 デ ー タ * リッチインデクシング技術はNTT研究所が開発した日本語解析技術
  8. ツイート本文の日本語解析 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 10 キーワード抽出 「地震」を解析対象 キーワードとして抽出 イタリアで地震予知 外すと禁錮6年かあ… イタリアで地震予知 外すと禁錮6年かあ… 関連語抽出 「禁錮6年」を「地震」の 関連語として抽出 コストコで地震は 怖すぎ… ポジネガ抽出 「怖い」を「地震」の ネガティブ語として抽出 ツイート本文からキーワード、関連語、ポジネガ語を抽出
  9. 自己紹介文・場所の日本語解析 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 11 年齢抽出 「三十路」から「30代」を 年齢として抽出 性別抽出 「腐女子」から「女性」を 性別として抽出 職業抽出 「OL」から「会社員」を 職業として抽出 自己紹介文から年齢、性別、職業を抽出 場所からは都道府県を抽出 三十路の腐女子OL やってます 三十路の腐女子OL やってます 三十路の腐女子OL やってます 地域抽出 「歌舞伎町」から「東京」を 地域として抽出 歌舞伎町の近く
  10. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    BuzzFinderでのTwitterデータ処理フロー 13 結果 出力 Twitter解析 クラスタ Twitter RDB Webサーバ 日本語全量 (Firehose) KVS Hadoop/RabbitMQで 日本語解析&統計 Cassandraで Twitter&解析データ保持 PostgreSQLで インデックス作成 &集計結果保持 Railsで検索&集計 分散処理システムを組み合わせて 大規模ソーシャルデータのリアルタイム解析を実現
  11. Twitter解析クラスタの構成 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 14 リアルタイム処理 クラスタ バッチ処理 クラスタ 速度優先のリアルタイム処理クラスタと データ網羅性優先のバッチ処理クラスタの二重構成でTwitterデータを解析 データ網羅性を重視 速報性を重視 リアルタイム データ蓄積 バッチ データ蓄積 KVS RDB
  12. Twitter解析バッチ処理クラスタ Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 15 リアルタイム処理 クラスタ バッチ処理 クラスタ リアルタイム データ蓄積 バッチ データ蓄積 KVS RDB データ網羅性を重視した MapReduce処理
  13. Twitter解析バッチ処理クラスタ Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 16 データ 蓄積 日本語全量 (Firehose) Map処理(HadoopStreaming) のみで日本語解析 MapReduceで 集計処理 日本語解析Map処理と集計MapReduce処理の2段構成で 全Twitterデータをバッチ処理 KVS RDB
  14. Twitter解析バッチ処理クラスタ Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 17 リアルタイム処理 クラスタ バッチ処理 クラスタ リアルタイム データ蓄積 バッチ データ蓄積 KVS RDB 速報性を重視した リアルタイム処理
  15. RabbitMQとは Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 18 受け取ったメッセージをその順番のまま出力する Message Queueソフトウェア ①メッセージA ②メッセージB ③メッセージC ①メッセージA ②メッセージB ③メッセージC Publish Subscribe
  16. Twitterリアルタイム処理クラスタ Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 19 日本語解析Map処理を RabbitMQ経由で ストリーム実行 MapReduceで 最新データを集計 Map処理をRabbitMQ経由で実行することで 日本語解析をストリーム処理 データ 蓄積 日本語全量 (Firehose) KVS RDB
  17. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    日本語解析&集計バッチ処理 21 日本語解析Map 解析済 データ Keywords Locations Topics Index Data Keywords Locations Topics Index Data キーワード ポジネガ ユーザ属性 関連語 検索 インデックス データ抽出Map キーワード 集計 関連語 集計 ポジネガ 集計 ユーザ属性 集計 集計Reduce Index Data Index Data ツイート データ Locations Locations 居住地 居住地 集計 KVS RDB 日本語解析Map処理が課題
  18. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    リアルタイム日本語解析&集計処理 22 日本語解析Map 解析済 データ Keywords Semtiment Locations Topics Index Data Keywords Semtiment Locations Topics Index Data キーワード ポジネガ ユーザ属性 関連語 検索 インデックス データ抽出Map キーワード 集計 関連語 集計 ポジネガ 集計 ユーザ属性 集計 集計Reduce Index Data Index Data ツイート データ Locations Locations 居住地 居住地 集計 (Hadoop実行していた) Mapperプログラムを 分散ストリーム処理 クラスタで実行 KVS RDB
  19. Map処理のRabbitMQ移行 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 23 入力1 入力2 入力3 出力1 出力2 出力3 Mapper プログラム 入力1 入力2 入力3 出力1 出力2 出力3 Mapper プログラム HDFS HDFS Message Queue Message Queue TaskTracker (Hadoop Streaming) Daemon Process ストリーム処理化 Hadoop Streamingで実行していたMapperプログラムを そのまま使ってストリーム処理を実行
  20. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    BuzzFinderでのTwitterデータ処理フロー 24 結果 出力 Twitter解析 クラスタ Twitter RDB Webサーバ 日本語全量 (Firehose) KVS バッチ&リアルタイム データを出力 分散処理システムを組み合わせて 大規模ソーシャルデータのリアルタイム解析を実現
  21. Tweet数の推移 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 26 10月以降の「地震」のTwitter上でのトレンド 10/19 10/26 11/2 11/9 11/16 11/23 11/30 首都圏の地震では大きくツイート数が伸びる M7.7@カナダ西海岸 M5.6@宮城県沖 M5.3@宮城県沖 M4.9@千葉県北西部 イタリア地震学者が 予知失敗で禁錮6年 ・中越地震発生日
  22. 関連語分析 Copyright © 2011 NTT Communications Co., Ltd. All Rights

    Reserved. 27 宮城沖地震 宮城県沖 怖い 多い 地震速報 宮城県 カナダ地震 カナダ 日本 日本時間 西海岸 マグニチュード7.7 イタリア裁判・ 中越地震発生日 禁錮6年 イタリア 地震予知失敗 新潟県中越地震 伊地裁 実際の地震では感情表現が増加する 首都圏・ 宮城沖地震 怖い 多い 震度4 地震速報 発生時刻 「地震」の関連語上位5件 「怖い」という 感情表現が1位 地震情報が中心 刑期のインパクト大 震源地に関心
  23. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    評判分析 「地震」に関する評判 首都圏地震の時が最もネガティブ 28 31.3% 68.7% 64.8% 35.2% 59.6% 40.4% 29.6% 70.4% イタリア裁判 宮城沖地震 カナダ地震 首都圏・ 宮城沖地震 ネガティブ ポジティブ
  24. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    地域分析 地震があると震源地のツイートが増加 29 宮城沖地震 東京 宮城 神奈川 埼玉 福島 カナダ地震 東京 神奈川 愛知 埼玉 千葉 イタリア裁判・ 中越地震発生日 東京 神奈川 新潟 千葉 埼玉 首都圏・ 宮城沖地震 東京 神奈川 埼玉 千葉 宮城 「地震」とつぶやいたユーザの場所上位5件 ほぼ人口順 全国に分布 新潟が上位に 震源地近辺が 上位に
  25. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    性別分析 「地震」についてつぶやいたユーザの男女比 実際の地震では女性率が上がる 30 男性 女性 54.7% 45.3% 64.4% 35.6% イタリア裁判 宮城沖地震 カナダ地震 首都圏・ 宮城沖地震 73.2% 26.7% 57.8% 42.2%
  26. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    年齢分析 「地震」についてつぶやいたユーザの年齢分布 実際の地震では若年層のつぶやきが多い (特に首都圏で起きた場合) 31 20代 10代 イタリア裁判 宮城沖地震 カナダ地震 首都圏・ 宮城沖地震 40代 30代 50代~ 50代以上が多い (9.9%) 10代が多い (38.6%) 10代が少ない (19.8%) 10代・20代が多い (31.2・31.6%)
  27. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    職業分析 「地震」についてつぶやいたユーザの職業分布 裁判の話題では公務員のつぶやきが多い 学生は若年層と同様の傾向 32 自営業 公務員 イタリア裁判 宮城沖地震 カナダ地震 首都圏・ 宮城沖地震 学生 専門職 その他 特徴なし 学生が多い (53.8%) 公務員が多い (9.2%) 学生が多い (48.0%) 会社員 アルバイト
  28. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    本日ご紹介した内容 • BuzzFinderのTwitter全量日本語解析の二つの仕組みの紹介 – バッチ処理 – リアルタイム処理 • Map処理のRabbitMQ移行によるストリーム処理化 • BuzzFinderでの「地震」解析例のご紹介 34
  29. Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved.

    Contacts • BuzzFinderについて – サービス紹介:http://www.nttcoms.com/service/buzzfinder.html • Hadoop等について – 原謙治 • [email protected] • Twitter @haracane • ブログ http://hard-hard-lazy.hateblo.jp/ 35
  30. Copyright © 2012 NTT Communications Co., Ltd. All Rights Reserved.

    Q&A Copyright © 2011 NTT Communications Co., Ltd. All Rights Reserved. 36