Top Banner
40

Tokyotextmining#1 kaneyama genta

Jan 15, 2015

Download

Technology

genta kaneyama

tagging tweet with lda
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tokyotextmining#1 kaneyama genta
Page 2: Tokyotextmining#1 kaneyama genta

自己紹介   @PENGUINANA_  (genta  kaneyama)  

http://pcod.no-­‐ip.org/  

  興味:評判システム/自然言語処理/画像検索/visualization  

  自然言語処理ぶくま:http://b.hatena.ne.jp/pcod/nlp/  

  twitter検索(yats)を公開中  

  2009年よりWebエンジニア  

Page 3: Tokyotextmining#1 kaneyama genta

今日やります   内容

  発 表の内容は、自然言語処理に関係していれば何でもありです。形式としては以下のようなものを想定しています。

  輪読 形式(教科書を1章ずつくらい発表)

  論文紹介、手法紹介、ライブラリ紹介など

  実装してみました系、コードリーディン グ、ライブコーディング

  実験系、手持ちのデータに適用してみました系

  研究紹介、システム紹介、実務経験のシェア

  そ の他

Page 4: Tokyotextmining#1 kaneyama genta

今後やりたいです   内容

  発 表の内容は、自然言語処理に関係していれば何でもありです。形式としては以下のようなものを想定しています。

  輪読 形式(教科書を1章ずつくらい発表)

  論文紹介、手法紹介、ライブラリ紹介など

  実装してみました系、コードリーディン グ、ライブコーディング

  実験系、手持ちのデータに適用してみました系

  研究紹介、システム紹介、実務経験のシェア

  そ の他

Page 5: Tokyotextmining#1 kaneyama genta

今日はつぶやきのタギングの話を

Page 6: Tokyotextmining#1 kaneyama genta

なんで?   900万tweet/日    60万アクティブユーザー  

  3週間以内につぶやいてる  AND  >400投稿  

  誰がどんなこと話してるのか想像できない…知りたい  

  嗜好の近いユーザーをみつける  

Page 7: Tokyotextmining#1 kaneyama genta

紹介する論文   Learning  to  Classify  Short  and  Sparse  Text  &  Web  with  

Hidden  Topics  from  Large-­‐scale  Data  Collections  (WWW2008)  

  Wikipedia,  MEDLINEをLDAで次元縮約して分類器を作るという内容  

  Wikipediaは”universal  corpus”  

  短いテキストでもいい感じにできました。という内容  

Page 8: Tokyotextmining#1 kaneyama genta

飛びつかざるをえない…

http://www.baidu.jp/unlp/#omake

Page 9: Tokyotextmining#1 kaneyama genta

APIにしました http://pcod.no-­‐ip.org/yats/genre  

Page 10: Tokyotextmining#1 kaneyama genta

デモ http://pcod.no-­‐ip.org/yats/  

Page 11: Tokyotextmining#1 kaneyama genta

アジェンダ

論文の紹介

  短いテキスト?  

  提案されたメソッド  

  実験結果  

実装した話

  環境を準備  

  データを準備  

  モデルを作成・評価  

  ラベリング  

  API化  

  教訓  

  関連文献

Page 12: Tokyotextmining#1 kaneyama genta

論文の紹介 Learning  to  Classify  Short  and  Sparse  Text  &  Web  with  Hidden  Topics  from  

Large-­‐scale  Data  Collections  (WWW2008)  

Page 13: Tokyotextmining#1 kaneyama genta

短いテキスト?   Unlike  normal  documents,  these  text  &  Web  segments  are  

usually  noisier,  less  topic-­‐focused,  and  much  shorter,  that  is,  they  consist  of  from  a  dozen  words  to  a  few  sentences.  Because  of  the  short  length,  they  do  not  provide  enough  word  co-­‐  occurrence  or  shared  context  for  a  good  similarity  measure.  

  普通のドキュメントと違い、膨大な種類の言葉から、単語が数個ならぶだけ。  →共起情報や文脈情報が載ってない

Page 14: Tokyotextmining#1 kaneyama genta
Page 15: Tokyotextmining#1 kaneyama genta

流れ   (Wikipediaから)網羅的なコーパスを作る  

  LDAでモデルを作る  

  (Wikipediaから)トレーニングデータ作る  

  ME(maximum  entropy)で分類器を作る  

  分類:    LDAで作ったモデルで特徴ベクトルを作る    作った分類器で分類する  

Page 16: Tokyotextmining#1 kaneyama genta

LDA(model)  -­‐>  MaxEnt(classifier)   LDAはsparse  textで効くらしい根拠  →D.  Blei,  A.  Ng,  and  M.  Jordan.  Latent  Dirichlet  Allocation.  JMLR,  3:993–1022,  2003.  

  SVMよりもMEを選んだ根拠    SVM遅い  

  SVMより精度が良かった(そうなの?)  

Page 17: Tokyotextmining#1 kaneyama genta

実験   Wikipediaで作ったモデルと分類器  

  検索エンジンのスニペットを分類する    ベースラインと比較    Hidden  topicの数を変えて確認    イテレーションの回数を変えて確認  

  同じことを医療系のデータで疾病分類タスクとして実施

Page 18: Tokyotextmining#1 kaneyama genta

Univarsal  corpus   Final  data:          =240MB;  

|docs|                              =  71,986;  |paragraphs|  =  882,376;  |vocabulary|    =  60,649;  |total  words|  =  30,492,305;  

  WikipediaダンプからHTML等削除  

  Stop  word除外、頻度30以下除外

Page 19: Tokyotextmining#1 kaneyama genta

分類対象   検索結果スニペットが分類対象  

  Universal  corpusとは無関係  

Page 20: Tokyotextmining#1 kaneyama genta

結果   トレーニングデータの数は少なくてもいい

Page 21: Tokyotextmining#1 kaneyama genta

結果   トレーニングデータの数は少なくてもいい(MEDLINE)

Page 22: Tokyotextmining#1 kaneyama genta

結果   Topic数は多いほどよいというわけではない

Page 23: Tokyotextmining#1 kaneyama genta

結果   イテレーション200回くらいでstableになる

Page 24: Tokyotextmining#1 kaneyama genta
Page 25: Tokyotextmining#1 kaneyama genta

実装した話 環境を準備  データを準備  

モデルを作成・評価  ラベリング  

API化

Page 26: Tokyotextmining#1 kaneyama genta

環境を準備する   データのために:  

   MySQL  +  Python  +  TokyoCabinet    

  言語処理のために:    MeCab(+辞書)  +  Python  +  MPICH2  

  APIのために    Python  +  Django(or  tornado)  +  apache(or  nginx)  +  redis  

Page 27: Tokyotextmining#1 kaneyama genta

データを準備する   クリーニングする  

  品詞で限定,数値除外,URL除外    if  ('名詞'  in  n.feature  and  not  '名詞,数'  in  n.feature  and  not  

'非自立'  in  n.feature)  

  頻度を数える(Python+TokyoCabinet)    cat  dump.txt  |  python  loadtoTC.py    >df.addint(key,1)  

  サンプリングする(てきとー)    頻度が100以下の単語はカットオフ    語数が極端に低いつぶやきは除外    みんなのつぶやきを均等に拾う  

Page 28: Tokyotextmining#1 kaneyama genta

モデルを作成する   出来上がったデータからpldaでモデルを作りましょう…  

  http://code.google.com/p/plda/  

  パラメータ:    N=50,alpha=0.5,beta=0.1    Alpha:*empirically*  MIN(1,50/num_topics)      beta:    *empirically*  0.1  

Master>  mpd  -­‐-­‐daemon  -­‐-­‐listenport=55555  

Slave>  mpd  -­‐-­‐daemon  -­‐h  master  -­‐p  55555  

構築できたかチェック:mpdtrace;  mpdringtest  

mpiexec  -­‐n  8  ./mpi_lda  -­‐-­‐num_topics  50  -­‐-­‐total_iterations  150  -­‐-­‐alpha  1  -­‐-­‐beta  0.1  -­‐-­‐training_data_file  ~/201005.txt  -­‐-­‐model_file  /tmp/lda_model201005.txt  

Page 29: Tokyotextmining#1 kaneyama genta

とりあえず目検や…

Page 30: Tokyotextmining#1 kaneyama genta

パン 9249.0  クリーム 8833.0  チョコ 7755.0  アイス 6846.0  ケーキ 5895.0  チーズ 4765.0  ミルク 4075.0  お菓子 3669.0  スイーツ 3399.0  プリン 3340.0  バナナ 3297.0  ドーナツ 3223.0  コーヒー 3152.0  ティー 3053.0  ジュース 3044.0  フルーツ 2926.0  おやつ 2812.0  オレンジ 2670.0  ヨーグルト 2613.0  クッキー 2607.0  チョコレート 2443.0  うまい 2428.0  牛乳 2330.0  レモン 2244.0  バター 2234.0  いちご 2219.0  コンビニ 2150.0  トマト 2058.0  ソース 2041.0  シュー 1956.0  なう 1887.0  ロール 1855.0  キャラメル 1772.0  トー 1765.0  サンド 1759.0  たっぷり 1741.0  パスタ 1739.0  ジャム 1685.0  イチゴ 1599.0  砂糖 1582.0  抹茶 1538.0  >ロールケーキ 1535.0  オイル 1535.0  デザート 1524.0  レシピ 1513.0  紅茶 1500.0  ピザ 1500.0  チン 1471.0  コーン 1468.0  クリスピー 1464.0  セブン 1390.0  バニラ 1358.0  マヨネーズ 1307.0  オリーブ 1280.0  トー>スト 1275.0  チーズケーキ 1268.0  カロリー 1242.0  パイ 1204.0  ゼリー 1184.0  スーパー 1151.0  生地 1145.0  種類 1132.0  グレープ 1128.0  マンゴー 1107.0  おにぎり 1107.0  簡単 1106.0  チップ 1096.0  ミックス 1092.0  生クリーム 1060.0  お腹 1057.0  サラダ 1046.0  今度 1041.0  菓子 1029.0  風味 1025.0  ホット 1025.0  りんご 1015.0  ミント 1013.0  リンゴ 1000.0  最近 939.0  お茶 922.0  ホットケーキ 906.0  ブルーベリー 906.0  普通 904.0  ホワイト 900.0  ショコラ 899.0  レンジ 898.0  ハム 892.0  パン屋 891.0  スプーン 879.0  シナモン 877.0  オーブン 867.0  ブラック 865.0  野菜 863.0  土産 858.0  料理 852.0  ミスド 852.0  シロップ 844.0  パフェ 840.0  チー 831.0  購入 821.0  label,4,食べ物

Page 31: Tokyotextmining#1 kaneyama genta

ライブ 20262.0  発売 5296.0  ツアー 4542.0  アルバム 4439.0  ファン 4352.0  イベント 4295.0  チケット 4266.0  バンド 3585.0  メンバー 3554.0  今年 3217.0  公演 3190.0  月日 3165.0  シングル 2812.0  ステージ 2630.0  出演 2541.0  発表 2486.0  決定 2456.0  アイドル 2371.0  フェス 2324.0  会場 2135.0  アーティスト 2084.0  リリース 2044.0  デビュー 2030.0  ニュー 1962.0  本日 1910.0  今回 1866.0  東京 1769.0  収録 1734.0  渋谷 1679.0  ライヴ 1662.0  大阪 1575.0  予定 1557.0  去年 1486.0  ホール 1465.0  参加 1441.0  映像 1403.0  公開 1302.0  アラバキ 1280.0  ゲスト 1278.0  クイーン 1271.0  コンサート 1268.0  終了 1267.0  参戦 1245.0  タワ レコ 1214.0  スタジオ 1208.0  フジ 1159.0  ヤマ 1154.0  明日 1129.0  ニュース 1122.0  ソロ 1104.0  チケ 1096.0  予約 1095.0  記念 1075.0  期待 1050.0  スフィア 1035.0  登場 1032.0  追加 1029.0  レポ 1024.0  みのり>ん 1021.0  ゼブラ 1010.0  音楽 963.0  豪華 946.0  先行 940.0  サン 860.0  周年 858.0  もと 855.0  スタッフ 843.0  リッツ 808.0  開催 794.0  は行 789.0  タイトル 781.0  ワンマン 779.0  レコード 777.0  単独 769.0  公>式 768.0  ベスト 763.0  絶対 761.0  舞台 752.0  当日 750.0  ユニット 750.0  一緒 748.0  フジロック 746.0  サニーデイ 742.0  フリー 737.0  解散 724.0  新曲 724.0  名古屋 720.0  メジャー 717.0  演者 716.0  アリーナ 706.0  コラボ 702.0  新作 686.0  トリ 686.0  残念 680.0  デモ 678.0  サイン会 678.0  チャット 660.0  新宿 650.0  初日 642.0  チェック 637.0  label,1,音楽

Page 32: Tokyotextmining#1 kaneyama genta

ブログ 56227.0  更新 22429.0  ランキング 12037.0  情報 10790.0  エントリ 8672.0  商品 7979.0  無料 4682.0  税込 4612.0  記事 4376.0  時間 4356.0  送料 4010.0  検索 2891.0  ダイエット 2700.0  美容 2637.0  価格 2588.0  日記 2579.0  コスメ 2482.0  女性 2477.0  セット 2426.0  人気 2384.0  タイトル 2353.0  ランク 2331.0  男性 2326.0  取得 2194.0  新品 2191.0  楽天 2149.0  紹介 2128.0  アップ 2078.0  スカルプ 2045.0  メディ 2030.0  薬用 2025.0  ケア 1876.0  香水 1873.0  ヘアケア 1841.0  ポイント 1833.0  発売 1776.0  関連 1715.0  ヘア 1713.0  現在 1666.0  シャンプー 1593.0  キーワード 1577.0  注目 1532.0  頭皮 1513.0  レビュー 1407.0  ショ>ッピング 1396.0  ヒット 1374.0  週間 1370.0  アメブロ 1370.0  突破 1358.0  秋葉原 1316.0  スタッフ 1226.0  リニューアル 1218.0  総合 1151.0  感想 1105.0  売上 1086.0  スキンケア 1034.0  プライス 979.0  売れ筋 967.0  出典 947.0  石鹸 945.0  投稿 930.0  ネット 927.0  エスカレータ 886.0  話題 882.0  メイク 872.0  コミケ 871.0  ホームページ 850.0  上位 840.0  オフィシャル 831.0  ヒント 825.0  ゲル 808.0  健康 799.0  プラ 793.0  今回 792.0  急上昇 783.0  テーマ 762.0  アクセス 759.0  エステ 758.0  パック 753.0  新着 751.0  乾燥 741.0  化粧品 733.0  ワード 732.0  クリーム 714.0  配合 713.0  レス 708.0  正式 705.0  ソープ 700.0  別館 686.0  医薬品 660.0  ファンデ 659.0  過去 641.0  参考 633.0  口コミ 625.0  毎日 622.0  プロ 617.0  ボディ 615.0  ベストセラー 610.0  サン 610.0  リート 608.0  label,2,???  

Page 33: Tokyotextmining#1 kaneyama genta

ブログ 56227.0  更新 22429.0  ランキング 12037.0  情報 10790.0  エントリ 8672.0  商品 7979.0  無料 4682.0  税込 4612.0  記事 4376.0  時間 4356.0  送料 4010.0  検索 2891.0  ダイエット 2700.0  美容 2637.0  価格 2588.0  日記 2579.0  コスメ 2482.0  女性 2477.0  セット 2426.0  人気 2384.0  タイトル 2353.0  ランク 2331.0  男性 2326.0  取得 2194.0  新品 2191.0  楽天 2149.0  紹介 2128.0  アップ 2078.0  スカルプ 2045.0  メディ 2030.0  薬用 2025.0  ケア 1876.0  香水 1873.0  ヘアケア 1841.0  ポイント 1833.0  発売 1776.0  関連 1715.0  ヘア 1713.0  現在 1666.0  シャンプー 1593.0  キーワード 1577.0  注目 1532.0  頭皮 1513.0  レビュー 1407.0  ショ>ッピング 1396.0  ヒット 1374.0  週間 1370.0  アメブロ 1370.0  突破 1358.0  秋葉原 1316.0  スタッフ 1226.0  リニューアル 1218.0  総合 1151.0  感想 1105.0  売上 1086.0  スキンケア 1034.0  プライス 979.0  売れ筋 967.0  出典 947.0  石鹸 945.0  投稿 930.0  ネット 927.0  エスカレータ 886.0  話題 882.0  メイク 872.0  コミケ 871.0  ホームページ 850.0  上位 840.0  オフィシャル 831.0  ヒント 825.0  ゲル 808.0  健康 799.0  プラ 793.0  今回 792.0  急上昇 783.0  テーマ 762.0  アクセス 759.0  エステ 758.0  パック 753.0  新着 751.0  乾燥 741.0  化粧品 733.0  ワード 732.0  クリーム 714.0  配合 713.0  レス 708.0  正式 705.0  ソープ 700.0  別館 686.0  医薬品 660.0  ファンデ 659.0  過去 641.0  参考 633.0  口コミ 625.0  毎日 622.0  プロ 617.0  ボディ 615.0  ベストセラー 610.0  サン 610.0  リート 608.0  label,2,???  

Page 34: Tokyotextmining#1 kaneyama genta

ピンク 8448.0  シャツ 7233.0  ロング 6245.0  ショート 6119.0  ワンピース 5919.0  パンツ 4790.0  ミニスカ 4294.0  スーツ 4212.0  カラー 3958.0  カット 3814.0  ブーツ 3676.0  ファッション 3196.0  スカート 3032.0  >ブルー 2861.0  かわいい 2851.0  ユニクロ 2812.0  可愛い 2605.0  タイツ 2588.0  髪型 2413.0  クール 2383.0  サイズ 2302.0  衣装 1833.0  グリーン 1817.0  スニーカー 1786.0  ワンピ 1662.0  服装 1637.0  コート 1623.0  ジャケット 1617.0  ドレス 1613.0  帽子 1546.0  黒髪 1539.0  金髪 1500.0  美少女 1488.0  セミ 1469.0  ボブ 1463.0  シルバー 1463.0  リボン 1459.0  ウサギ 1450.0  身長 1448.0  ジャージ 1395.0  着物 1350.0  女の子 1328.0  ズボン 1311.0  格好 1298.0  ラメ 1290.0  制服 1285.0  カップ 1269.0  メイク 1247.0  ライン 1232.0  メイド 1216.0  イメージ 1215.0  パーカー 1207.0  コスプレ 1204.0  Tシャツ 1191.0  パステル 1162.0  シバ 1155.0  オレンジ 1152.0  メンズ 1146.0  サンダル 1115.0  ジーンズ 1103.0  性格 1095.0  メガネ 1072.0  ポニーテール 1048.0  ブランド 1037.0  特徴 1018.0  ほっぺ 1018.0  色白 1017.0  レッド 1017.0  パーマ 1003.0  デニ ム 993.0  ヘアー 984.0  デザイン 970.0  ツインテール 966.0  オシャレ 961.0  コス 956.0  スタイル 949.0  パジャマ 940.0  ネイル 936.0  セーラー 928.0  眼鏡 920.0  かっぱ 919.0  ヘア 916.0  ハイヒール 896.0  タオル 890.0  茶髪 889.0  ネクタイ 889.0  レース 888.0  女性 887.0  つり目 880.0  悪戯 869.0  ピアス 868.0  アイテム 856.0  足元 850.0  キャラ 847.0  髪の毛 842.0  着用 833.0  グレー 830.0  靴下 829.0  チェック 829.0  ペン タブ 806.0  label,6,ファッション  

Page 35: Tokyotextmining#1 kaneyama genta

自分 31845.0  ハイ 9928.0  る人 8205.0  パー 7709.0  ダメ 6715.0  一番 4650.0  気持ち 4461.0  仕事 4455.0  言葉 3718.0  意味 3688.0  メディア 3592.0  人間 3495.0  大事 3483.0  だめ 2965.0  苦手 2651.0  ホント 2638.0  無理 2336.0  どっち 2261.0  ひと 2151.0  テンション 2140.0  絶対 2112.0  最近 2071.0  クリエイター 2065.0  人生 2024.0  離婚 1995.0  結局 1986.0  自信 1973.0  無駄 1967.0  他人 1942.0  駄目 1926.0  (笑) 1838.0  まっ 1800.0  色々 1760.0  お金 1760.0  バカ 1727.0  イライラ 1584.0  ログ 1500.0  全部 1471.0  そう思 1445.0  理解 1344.0  レベル 1302.0  ぼく 1280.0  仕方 1221.0  理由 1181.0  勝手 1174.0  ボク 1170.0  わからん 1162.0  くそ 1154.0  場合 1146.0  日記 1129.0  やる気 1116.0  なっちゃ 1101.0  必要 1072.0  世の中 1069.0  本気 1057.0  オレ 1043.0  こっち 1024.0  感情 1022.0  感覚 981.0  エリカ様 979.0  お前 972.0  楽しい 960.0  >沢尻エリカ 953.0  アカ 945.0  気分 935.0  状態 934.0  エリカ 924.0  関係 910.0  我慢 898.0  ネガティブ 869.0  努力 856.0  部分 852.0  本人 845.0  意識 826.0  普通 821.0  不安 803.0  文句 801.0  馬鹿 800.0  結果 798.0  意見 794.0  く言 773.0  ばか 771.0  ぶっちゃけ 755.0  完全 747.0  幸せ 746.0  っぷり 739.0  問題 734.0  センス 733.0  想像 720.0  尊敬 714.0  基本 709.0  同意 707.0  納得 706.0  瞬間 699.0  キモい 694.0  行動 692.0  ヨーヨー 688.0  タイプ 684.0  大丈夫 682.0  発言 681.0  label,9,気がかりなこと

Page 36: Tokyotextmining#1 kaneyama genta

モデルを評価する   モデルの賞味期限:  

  モデルは季節影響を受ける    チョコ→バレンタイン?  

  岡田→スポーツ  

  ドイツ→時事?スポーツ?  

  潜在的に近い語を同じように扱えそうかだけ見ればいい?  

Page 37: Tokyotextmining#1 kaneyama genta

ラベリングする   Latent  topicにラベルを与えるだけ  

  この手抜きの問題:    Latent  topicが人間から見てもトピックであると言えるか?    俺がルールブック  

  この手抜きの理由:    トレーニングデータ作れなかった。  

  全体が把握できない  

  作業量が確保できない  

  自動化が厳しいらしい

Page 38: Tokyotextmining#1 kaneyama genta

API化する

[Topic1:prob,Topic2:prob,]  JSON  

1.わかち書き2.単語のトピックごとの生起確率を集計(redis)

3.正規化  

Getで渡せる長さのテキスト

Page 39: Tokyotextmining#1 kaneyama genta

関連   PLDAを利用した論文。レコメンデーションに使う話。  

Collaborative  Filtering  for  Orkut  Communities:  Discovery  of  User  Latent  Behavior.  Wen-­‐Yen  Chen  et  al.,  WWW  2009.  http://www.cs.ucsb.edu/~wychen/publications/fp365-­‐chen.pdf    

  モデルの賞味期限の文脈で…  The  role  of  semantic  history  on  online  generative  topic  modeling.  L  AlSumait,  D  Barbará,  C  Domeniconi  -­‐  ise.gmu.edu  http://www.ise.gmu.edu/~carlotta/publications/Siam_SemOLDA.pdf  

  LDAの文脈で…  RのLDAパッケージのauthorがfacebook/data  からLDAの論文だしてた  

  Not-­‐So-­‐Latent  Dirichlet  Allocation:  Collapsed  Gibbs  Sampling  Using  Human  Judgments  

  ePluribus:  Ethnicity  on  Social  Networks.    

http://www.facebook.com/data#!/data?v=app_4949752878  

Page 40: Tokyotextmining#1 kaneyama genta

Q&A http://www.baidu.jp/unlp/#omake