More Related Content
Similar to 掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
Similar to 掲示板時間軸コーパスを用いたワードトレンド解析(公開版) (20)
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
- 2. 1 はじめに
検索大手の「バイドゥジャパン1」は対外的に「Baidu ブログ・掲示板時間軸コーパス」を公開して
おり、Baidu コーパスダウンロード広場2より入手可能である。当該データを用いる事で時系列での
トレンドワードの解析を行えるため非常に有益であるが、当該データを用いた解析アプリが公知の
ものが存在しないため、今回作成を試みた。
2 本論の流れ
本論では、実際に作成したアプリケーションの紹介を行った上で、コーパスデータや解析に用い
た技術などの背景的な内容について説明を行う。
3 アプリケーションについて
3.1 URL
以下の URL で公開をしている。
http://nd-ilab.jp/timeline/word/detail
3.2 スクリーンショット
下記は、過去約10年間における「モーニング娘」と「AKB48」、それぞれのワードの出現傾向を
可視化したものである。(黄色が AKB48,緑がモーニング娘)
図 1
3.3 機能概要
・ 時系列でのワードトレンドの表示
2000 年7月から 2010 年7月までのデータを表示対象として、調べたいワードの出現傾向の確
認ができる。ワードは最大で5つまで入力可能である。
グラフは「出現頻度」と「比率」の2種類の表示が可能である。
「出現頻度」はコーパス上に記載されている数値をそのまま用いたもの、「比率」は各月の総単
語出現数との比率を計算した上でグラフ表示したものである。
1 http://www.baidu.jp/
2 http://www.baidu.jp/corpus/
2
- 3. 各月ごとにブログ・掲示板で書かれた記事数、ワード数や、バイドゥ社のクロール対象の範囲
も異なると思われるため、相対的な比較を行ないたい場合は「比率」を参照することが望まし
い。
・ ワードサジェスト
補助機能であるが、検索ワード入力時の入力サポートとしてサジェスト機能を実装している。
図 2
3.4 結果サンプル
・ 「ワールドカップ」「オリンピック」「WBC」
図 3
黄色がワールドカップ、緑がオリンピック、青が WBC である。
それぞれのワードとも開催時期が一番ワードの言及される可能性が高いため、グラフ化す
ると開催時期が一目瞭然となっている。
・ 「逝ってよし」「ショボーン」「ktkr」
掲示板サイト「2チャンネル」で有名なネットスラング各種である。
古目の「逝ってよし(黄)」が最近はあまり用いられなくなり、「ショボーン(緑)」は 2002 年ころか
ら、「ktkr(青)」は 2007 年頃から使われ始めていることが分かる。
3
- 4. 図 4
4 背景
4.1 Baidu ブログ・掲示板時間軸コーパス
先述の通りバイドゥ社が対外的に提供しているコーパスデータで、営利目的での使用は不可能
だが誰でも自由に入手が可能なデータである。
当該データは以下説明にあるように、バイドゥ社がクロールしたブログや掲示板などの CGM サ
ービス上の書き込みを元に作成したコーパスである。
Baidu のクロールしたウェブデータから、 掲示板の書き込みおよびブログの本文を、
書き込まれた正確な時間とともに抽出し時系列に並べたデータを元にして作成し
たコーパスです。
2000 年 1 月~2010 年 7 月の期間に対して、各 1 ヶ月ごとにスライスし、N グラム
(1 グラム~3 グラム)の統計を計算しています。1
当該データを用いることで、約 10 年分の CGM サイトへの書き込み内容のスナップショットを時
系列で解析することが可能となり、トレンドワードの変遷などの解析を行うのに有用である。
データの詳細については説明(ReadMe.txt)を参照されたい。2
データの中身は以下のようになっている。(2000 年 1 月、3グラムデータより抜粋)
は プログラム だ 2
は 一般 的 2
は 利用 を 2
は 好き だ 2
は 少し 寝坊 2
は 思え ない 2
は 無 差別 2
は 無料 。 2
1 「Baidu コーパスダウンロード広場」内の説明書きより引用
2 http://www.baidu.jp/corpus/blogforum/readme.txt
4
- 5. 4.2 データ解析
4.2.1 固有表現の抽出
コーパスデータ記載のワードは形態素解析器を用いて機械的に単語分割を実施済みのものな
ので、公知の固有名詞、人名などが細かく分割され過ぎている傾向がある。そのためコーパスデー
タをそのまま使用するのではなく、より一般的な固有表現の抽出を試みた。
今回は、日本語版 Wikipedia1の項目名を教師データとして、項目名として存在するワード群の
みを解析対象とした。データは Wikipedia サイトから提供されている MySQL ダンプデータ(2010
年9月10日版)を用いた2。
さだ 361 …1-gram
さだ まさし 227 …2-gram
さだ まさし の 127 …3-gram
3
例えば上記のようなデータがコーパスに存在する場合、単語分割されているものを前方から結
合し「さだ(1-gram)」「さだまさし(2-gram)」「さだまさしの(3-gram)」という単語に再構成する。その
上で、Wikipedia の項目名と完全一致するものだけを解析対象とした(この場合は「さだまさし4」の
みが対象となる)。
4.2.2 各月のコーパスデータ統合
提供されているコーパスデータは1グラム~3グラムそれぞれファイルが分かれている為、上述の
固有表現の抽出を行った上で一つのファイルにまとめた。
解析処理には Hadoop(0.20.2:CDH3 Beta25)を用い、各月について単語と出現頻度の対と
なるデータを生成した。
なお、今回は任意の出現頻度閾値でデータの足切りをしている。
解析した結果、各月のワード異なり数は以下となった(抜粋して紹介)。
2000 年7月 969
2002 年7月 4,027
2004 年7月 6,059
2006 年7月 13,923
2008 年7月 20,093
2010 年7月 29,889
4.2.3 データの保存
データの保存先には今回は MySQL5.0 系を用いた。ただし通常の使い方ではなく、MyISAM
形のテーブルを Key-Value ストアのようなテーブル構成にして用いている。
具体的なテーブル定義は以下である。
1 http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%
82%B8
2 http://download.wikimedia.org/jawiki/
3 数値ならびに語の組み合わせは仮のものである。
4 http://www.sada.co.jp/index.html
5 https://wiki.cloudera.com/display/DOC/Downloading+CDH+Releases#DownloadingCDHReleases-id4
65778
5
- 6. 図 5
データアクセスのための簡易的なアプリケーションフレームワークを用意しており、ユーザーが直
接値を書き込むのは「id(Key)」「json(Value)」部のみに制限している。Value 部に構造的なデー
タを格納したい場合は JSON を用いたテキスト形式か MessagePack1を用いたバイナリ形式を用
いる事ができるようになっている。
今回については各年・月ごとにテーブルを用意し、それぞれの月のデータをそれぞれのテーブ
ルに格納している(ex. 2010 年7月→ ngram201007)
4.2.4 サジェスト用辞書作成
一般的なワードと思われるものについてはワード入力欄でサジェストを行っている。そのための
辞書の作成を行った。
今回は、各月のコーパスデータを元に獲得したワード全てを対象とし、そのうち以下のようなヒュ
ーリスティックなルールで足切りを行った。
・ 出現頻度
・ 単語長(今回は2文字以上入力されたらサジェストするようにしているため、3文字以上の単
語のみをサジェスト候補とした)
サジェストワードの候補語は、今回は 8,975 語となった。 当該データを、Trie 木2をベースとした自
作の簡易フレームワークを用いて候補語データを格納しサジェスト機能を実現している。
4.3 アプリケーション
UI のアプリケーションは既存の枯れた技術の採用となり、目新しいところは特に無い。
以下使用技術を羅列する。
実行環境・ミドルウェア
Java(1.6)
Tomcat(6.0.29)
MySQL(5.0.77)
Java ライブラリ
SpringFramework(2.5、コアならびに SpringMVC)3
MySQL Connector(5.1.6)4
FreeMarker(2.3.8) 5
Apache Commons ライブラリ6各種 等
JavaScript ライブラリ
1 http://msgpack.org/
2 http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%82%A4%E6%9C%A8
3 http://www.springsource.org/
4 http://www.mysql.com/
5 http://freemarker.sourceforge.net/
6 http://commons.apache.org/
6
- 7. JQuery1
Google Visualization API(dygraphs)2 等
5 まとめと考察
バイドゥ社が提供するコーパスデータを用いて、過去のトレンドワードの傾向を可視化するアプリ
ケーションの開発を行った。時系列コーパスデータを用いることでこういったアプリが比較的容易に
開発が可能であることが確認できた。
ナイーブな解析しか行っていないため細かい精度については課題があると思われるが、大枠で
は非常に有益なデータベースとなっていると思われるため、社内の多くの人に参考にして欲しいと
考えている。また、自社データを用いて同様のアプリ開発が可能であれば検討したい。
6 おわりにかえて
同種のアプリケーションで、世間に公開されているものに Google トレンドがある。3
こちらのアプリケーションは、Google が抱える膨大なクロールデータ、クリックデータ等を用いて解
析を行っているため、より高度な解析結果が提供されている。
ワードのバースト地点で何が起こったのかの理解補助のために当該地点での関連ニュースが表
示されるなど、マイニングツールとしての完成度は高い。
図 6
同じようなクオリティのアプリケーションを作るためには膨大なデータと高度な解析推論アプロー
チが必要と思われるが、弊社でも同水準のアプリケーションが開発できるよう、日々研鑽をしていき
たいと考えている。
7 参考文献・URL
[1] Baidu ブログ・掲示板時間軸コーパス」公開、「藁」の激減傾向もくっきり
http://internet.watch.impress.co.jp/docs/news/20100831_390579.html
[2] 次の 10 年、「統計分析」こそテクノロジー分野でいちばんホットな職業になる
http://www.publickey1.jp/blog/10/10_3.html
1 http://jquery.com/
2 http://danvk.org/dygraphs/
3 http://www.google.co.jp/trends
7