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

Twitterユーザに対するゼロショットタグ付け /DEIM2021

Twitterユーザに対するゼロショットタグ付け /DEIM2021

Published on Mar 3, 2021

DEIM 2021 第13回データ工学と情報マネジメントに関するフォーラム(第19回日本データベース学会年次大会)[I25] SNS④ No.5
DEIM注目研究賞,DEIM学生プレゼンテーション賞

Kohei Shinden

March 03, 2021
Tweet

More Decks by Kohei Shinden

Other Decks in Research

Transcript

  1. ユーザの性質が分かることで有益な判断が容易になる より具体的でより多くの性質を明らかにすることが重要 背景 2 • SNSにおいてユーザの特徴を明らかにすることは重要 深層学習に 関する情報を よく発信する ユーザの性質からそのユーザが

    発信する情報の傾向がわかる 情報源として有効か否かの 判断が容易 イベントに参加するユーザの 性質からイベント⾃体の性質がわかる 興味と合致するか否かの 判断が容易 GPT-3… BERT… Go⾔語勉強会 初⼼者 60% 中級者 35% 上級者 5%
  2. • ユーザの属性に基づく分類 ‒ クラスがあらかじめ決められて いるような問題設定[1,2] 関連研究 3 SNSユーザ ⺠主党 共和党

    30歳未満 30歳以上 政党 年齢 あらかじめ与えるクラスラベル 学習 テスト データ 予測 機械学習 モデル 学習 データ SNSユーザ 予測結果 ⺠主党 30歳未満 ユーザにクラスラベルを付与 • ユーザに対するタグ付け ‒ クラスが明⽰的に決められて いないような問題設定[3,4,5] 「Go⾔語の初⼼者」 Go⾔語 初⼼者 作成 SNSユーザ 共通点を持つ ユーザ集合 リスト※1 タグ付け システム リスト名 タグ付け ※1:リストとはTwitterの機能.ユーザをまとめることで情報 を閲覧しやすくする機能.Facebookであればグループ. [3] Sharma et al., Inferring who-is-who in the Twitter social network. SIGCOMM 2012. [4] Yamaguchi et al., Tag-based User Topic Discovery Using Twitter Lists. ASONAM 2011. [5] Kim et al., Analysis of Twitter Lists as a Potential Source for Discovering Latent Characteristics of Users. CHI 2010. [1] Rao et al., Classifying Latent User Attributes in Twitter. CIKM 2010. [2] Marco et al., A Machine Learning Approach to Twitter User Classification. ICWSM 2011. ユーザの特徴として ツイートなどを利⽤
  3. 既存⼿法の限界 4 多くのクラスに分類したい場合, あらかじめ⼤量のクラスを 決めることは困難 データセットに含まれていない ユーザが多く存在する タグの表現はデータセットに 含まれている表現に限定される クラスを明⽰的に決めない

    「ユーザに対するタグ付け」 データセットに含まれない ユーザにもタグ付けしたい データセットに含まれないような 表現もタグ付けしたい 属性に基づくユーザ分類の課題 ユーザに対するタグ付けの課題1 ユーザに対するタグ付けの課題2 課題への対応 課題への対応 課題への対応
  4. SNSユーザに対してタグ付けを⾏う 研究⽬的 5 ユーザが含まれるリスト名と 同じタグでユーザをタグ付け リストに含まれていない ユーザに対してタグ付け 学習データに存在しない 具体的な表現をタグ付け 具体的な⽬的

    リスザル が好き Go⾔語の 初⼼者 Rust⾔語の 初⼼者 リスザル が好き Go⾔語の 初⼼者 ユーザ集合 U リスト集合 L タグ集合 T u1 u2 u3 t1 t2 t4 l1 l2 ロック l3 ロック t3 これらの⽬的を満たす ⼿法を提案する
  5. 具体的な研究⽬的 1/3 6 リスザル が好き Go⾔語の 初⼼者 リスザル が好き Go⾔語の

    初⼼者 ロック ユーザ集合 U リスト集合 L タグ集合 T u1 u2 u3 t1 t2 l1 l2 l3 ユーザが含まれるリスト名と 同じタグでユーザをタグ付け リストに含まれていない ユーザに対してタグ付け 学習データに存在しない 具体的な表現をタグ付け 具体的な⽬的 含まれる 同じ タグ付け ロック t3 1. タグの名前と同じ名前を持つリストに含まれるユーザにタグ付け SNSユーザに対してタグ付けを⾏う リストに含まれていないユーザにタグ付けできない
  6. 具体的な研究⽬的 2/3 7 リスザル が好き Go⾔語の 初⼼者 リスザル が好き Go⾔語の

    初⼼者 ユーザ集合 U リスト集合 L タグ集合 T u1 u2 u3 t1 t2 l1 l2 ユーザが含まれるリスト名と 同じタグでユーザをタグ付け リストに含まれていない ユーザに対してタグ付け 学習データに存在しない 具体的な表現をタグ付け 具体的な⽬的 ロック タグと同じ名前を 持つリストに含まれない l3 ロック t3 1. ユーザとタグの適合性を判定 2. 適合しているならユーザに対してタグ付け SNSユーザに対してタグ付けを⾏う タグ付け
  7. 具体的な研究⽬的 3/3 8 ユーザが含まれるリスト名と 同じタグでユーザをタグ付け リストに含まれていない ユーザに対してタグ付け 学習データに存在しない 具体的な表現をタグ付け 具体的な⽬的

    リスザル が好き Go⾔語の 初⼼者 Rust⾔語の 初⼼者 リスザル が好き Go⾔語の 初⼼者 ユーザ集合 U リスト集合 L タグ集合 T u1 u2 u3 t1 t2 t4 l1 l2 ロック l3 ロック t3 ⽣成 1. 既存のタグから品詞に注⽬して新たなタグを⽣成 2. ユーザとタグの適合性を判定 3. 適合しているならユーザに対してタグ付け タグ付け SNSユーザに対してタグ付けを⾏う
  8. 研究の⽬的 9 ユーザ リスザル が好き リスザル が好き 含まれる 同じ タグ付け

    タグ リスト Go⾔語の 初⼼者 タグと同じ名前を 持つリストに含まれない タグ付け Rust⾔語の 初⼼者 タグ付け Go⾔語の 初⼼者 ⽣成 ユーザが含まれるリスト名と 同じタグでユーザをタグ付け リストに含まれていない ユーザに対してタグ付け 学習データに存在しない 具体的な表現をタグ付け タグ タグ ユーザ ユーザ タグ ゼロショット学習⼿法[6]を⽤いることで 学習データがない場合でもタグを付与できる⽅法を実現 [6] Socher et al., Zero-Shot Learning Through Cross-Modal Transfer. NIPS 2013. SNSユーザに対してタグ付けを⾏う
  9. • ゼロショット学習⼿法を⽤いたユーザとタグの適合性判定 ‒ タグに対応するユーザがいない場合でもタグとユーザの適合度から ユーザに対してタグ付けを⾏う 提案⼿法の概要 10 既知タグ:学習データとなるユーザが存在するタグ 未知タグ:学習データとなるユーザが存在しないタグ Rust⾔語の

    初⼼者 未知タグ 対応するユーザが 存在しない Go⾔語の 初⼼者 既知タグ 対応する ユーザが 存在する 未知タグは 既知タグから⽣成 予測対象の ユーザ モデル 対応関係を 学習 学習モデルで 適合性を判定 特徴表現空間 学習データとなる ユーザ 変換 変換 変換 変換 学習:既知タグの特徴表現と対応するユーザの特徴表現の対応関係を学習 予測:未知タグの特徴表現と予測対象のユーザの特徴表現から適合性を判定
  10. 提案⼿法と既存⼿法の違い 11 ツイート ツイート ドッグフー ドって… • タグとユーザの特徴表現空間上の対応関係を学習 ‒ 既存⼿法ではタグごとにユーザのパターンを学習

    ⽝好き タグ ユーザ ツイート ツイート ⾖柴かわい いよね… ツイート … ツイート ツイート 散歩に⾏っ てきました ⽝好き ツイート ツイート 散歩に⾏っ てきました タグ ユーザ ツイート 特徴表現空間 タグごとに ユーザパターンを学習 既存⼿法 タグとユーザの 対応関係を学習 提案⼿法 タグごとに⼗分な量のユーザが必要になる タグごとに⼗分な量のユーザを必要としない
  11. 提案⼿法における学習の概要 12 ツイートとタグの表現の違い 学習時の損失関数の違い ⽝好き タグ ユーザ ツイート ツイート ツイート

    ツイート ⽂埋め込み BERT 単語埋め込み fastText 特徴表現 Binary cross entropy loss Margin ranking loss 損失関数 • タグとユーザツイートの特徴表現ベクトルを作成, ベクトルを全結合層に⼊⼒して対応関係を学習 ‒ 特徴表現: 単語埋め込み(fastText[7,8]), ⽂埋め込み(BERT[9]) ‒ 損失関数: Binary cross entropy loss, Margin ranking loss [7] Bojanowski et al., Enriching word vectors with subword information. TACL 2017. [8] Joulin et al., Bag of tricks for efficient text classification. EACL 2017. [9] Devlin et al., BERT: Pre-training of deep bidirectional transformers for language understanding. NAACL 2019. 全結合層
  12. 特徴表現として単語埋め込みを利⽤した学習 13 単語埋め込み ベクトル 平均ベクトル 結合ベクトル ⼊⼒ 𝓍 tag 既知タグ

    ⁝ ユーザ tweetn tweet1 ツイート ツイートごとに平均して ツイート全てを平均する 出⼒ 𝑦 ⽬標値(適合度) 𝗍 300次元 600次元 全結合層 … 単語 単語 t 単語 単語 t 単語 単語 t … ⁝ ⁝ ⁝ ⁝ ⁝ ⁝ … ⁝ ⁝ ⁝ ⁝ ⁝ ⁝ 300次元 単語分割 MeCab 学習⽅法 • タグ:タグの単語埋め込みの平均 • ユーザ:ツイート毎に単語埋め込み 平均して,全てのツイートベクトル を平均 • タグベクトルとユーザツイートベク トルを結合 • 結合ベクトルを全結合層へ⼊⼒して 適合度を出⼒ • ⽬標値との誤差から学習 fastTextによる変換 タグとツイートの特徴表現 • fastText: subword を考慮することで 未知語の埋め込みを⾼い精度で獲得 できる⼿法 • 対象としているデータには未知語が 多く含まれるため活⽤語や未知語に 対応している fastText を⽤いる 損失関数 • Binary cross entropy loss • Margin ranking loss 誤差
  13. 特徴表現として⽂埋め込みを利⽤した学習 14 単語分割 ⼊⼒シーケンス [CLS]のベクトル ⼊⼒ 𝓍 既知タグ ユーザ ツイート

    全結合層 … ⁝ [CLS], 𝑡- ./0, …, 𝑡1 ./0, [SEP], 𝑡- .233., …, 𝑡4 .233., [SEP] BERTによる変換 出⼒ 𝑦 学習⽅法 • タグとユーザツイートの単語をBERT の⼊⼒形式に合わせてBERTへ⼊⼒ • [CLS] のベクトルを全結合層へ ⼊⼒して適合度を出⼒ • タグとユーザのツイート毎に適合度 を出⼒ • ツイート毎の適合度の中で 最も⾼い適合度をタグとユーザの 適合度とする 損失関数 • Binary cross entropy loss • Margin ranking loss tag tweetn tweet1 単語 単語 t 単語 単語 t タグとツイートの特徴表現 • BERT: 広範囲の⾃然⾔語タスクで優 れた性能を発揮する双⽅向学習によ る汎⽤⾔語モデル • ⽂脈を考慮した埋め込みを獲得でき るため BERT を⽤いる ⼊⼒トークン毎に ベクトルが出⼒ [CLS]: 先頭を表すトークン [SEP]: ⽂の区切りを表すトークン
  14. [CLS], 𝑡- ./0, …, 𝑡1 ./0, [SEP], 𝑡- .233., …,

    𝑡4 .233., [SEP] tag tweetn tweet1 単語 単語 t 単語 単語 t 特徴表現として⽂埋め込みを利⽤した学習 15 単語分割 ⼊⼒シーケンス [CLS]のベクトル ⼊⼒ 𝓍 既知タグ ユーザ ツイート 全結合層 … ⁝ BERTによる変換 出⼒ 𝑦1 , …, 𝑦n max • タグと各ツイートの スコアを出⼒ • 最も⾼いスコアが タグとユーザの適合度 損失関数 • Binary cross entropy loss • Margin ranking loss 出⼒ 𝑦 ⽬標値(適合度) 𝗍 学習⽅法 • タグとユーザツイートの単語をBERT の⼊⼒形式に合わせてBERTへ⼊⼒ • [CLS] のベクトルを全結合層へ ⼊⼒して適合度を出⼒ • タグとユーザのツイート毎に適合度 を出⼒ • ツイート毎の適合度の中で 最も⾼い適合度をタグとユーザの 適合度とする タグとツイートの特徴表現 • BERT: 広範囲の⾃然⾔語タスクで優 れた性能を発揮する双⽅向学習によ る汎⽤⾔語モデル • ⽂脈を考慮した埋め込みを獲得でき るため BERT を⽤いる 誤差
  15. • 単語の厳密な⼀致による⼿法と⽂の表現を抽象化した⼿法によって 適合性判定を互いに補完できるという考え ‒ BM25[10]は単語の厳密な⼀致による⼿法.ユーザをクエリ,タグを⽂書. 提案⼿法とBM25による組み合わせ⼿法 16 𝑓(𝑈, 𝑡) =

    𝑤 ) 𝑓BM25 (𝑈, 𝑡) + (1 − 𝑤) ) 𝑓ZSL (𝑈, 𝑡) U: ユーザツイート, t: タグ, 𝑤: ハイパーパラメータ [10] Robertson et al,. Okapi at trec-3. TREC 1995. BM25のスコアと提案⼿法によるスコアの線型結合 ※ ZSL: Zero shot learning パラメータはバリデーションデータでグリッドサーチ
  16. 実験に⽤いるデータセットの構築 18 Twitterからのデータ収集 1. ユーザ名の収集 • 仮定:フォロワーの多いユーザ はリストに多く含まれている • ロケーション:⽇本

    2. ユーザが含まれるリストの収集 • 公開リストのみ 3. リストの選定 • ⽇本語のみで構成 • 固有名詞を1つ以上含む • 内容語を 2 つ以上含む • センシティブな単語を含まない • リスト名は重複しない 4. ユーザのツイート収集 • リストに含まれるユーザ • 1,000件/ユーザ 5. ユーザの選定 • 1,000件以上のツイートを持つ ユーザのみ ※1: meyou, https://meyou.jp/ranking/follower_allcat ※2: Twitter, https://twitter.com 1 フォロワー ランキングサイト※1 ユーザ Twitter ※2 2 3 user_name ツイート 4 選定した ユーザ 5 リスト 選定した リスト 1,000件/ユーザ 80,271 1,829,518 8,501 19,805
  17. ゼロショット学習によるユーザに対 するタグの適合性判定は効果的か? 実験設定・評価⽅法 19 • データセット ‒ Twitter から収集したデータから 1,000

    セットの学習データを構築 • 実験⽅法 ‒ 各ユーザ u にたいして,正解タグ 1 件と 不正解タグ 99 件を⽤意 ‒ 100件のタグを適合性によって順位付け • 評価指標 ‒ Hit@k (上位 k 件に正解タグが⼊るか) ‒ nDCG@k(正解タグ: 1,不正解タグ: 0) • ⽐較⼿法 ‒ BM25:タグとユーザの推定適合度 ‒ 提案⼿法とBM25の組み合わせた⼿法 t1 t2 t100 ⁝ ユーザ タグ u1 正解タグ1 不正解タグ1 不正解タグ99 学習データの形式 ユーザごとに100件のタグを ⽤意して学習と評価に利⽤ 実験で明らかにすること 1セット
  18. • Hit@10 において BM25,nDCG@10 において BM25 と提案⼿法(BERT, Margin ranking loss)を⽤いた⽅法が最も⾼い精度を⽰した

    ‒ 単語のマッチングによる⼿法とタグとユーザの特徴表現空間上の対応関係を学習する⼿法を 組み合わせることで微量ではあるが適合性判定精度を向上することが⽰唆された 実験結果と考察 20 0.074 0.04739 0 0.02 0.04 0.06 0.08 0.1 Hit@10 nDCG@10 各⼿法の上位 10 件の精度 BM25 ZSL(fastText, BCELoss) ZSL(fastText, MRLoss) ZSL(BERT, BCELoss) ZSL(BERT, MRLoss) BM25+ZSL(fastText, BCELoss) BM25+ZSL(fastText, MRLoss) BM25+ZSL(BERT, BCELoss) BM25+ZSL(BERT, MRLoss) ※ ZSL: Zero shot learning 考察:fasteText ではユーザのツイートの平均を⽤いたが,BERT ではタグとツイートの最も⾼い適合 度を⽤いたことでユーザとタグの関係性におけるノイズを考慮できた可能性がある. 作成したデータセットにおける偏りを考慮できていない学習⽅法を改善する必要がある.
  19. 予測結果の成功・失敗例と考察 21 提案⼿法の成功例 タグ ユーザ 特徴 ⾳楽 バンドメンバー guita_rei ミュージシャン

    作家、⽂化⼈ nog_ak ドラマ・映画の 脚本家 テレビラジオ番組 LIVEYEAH_sstv テレビ番組公式 アカウント アニソン 声優 koiwai_kotori 声優 提案⼿法の失敗例 タグ ユーザ 特徴 歌い⼿ 踊り⼿ namidai0402 声優 歌い⼿ 踊り⼿ morishitamao アイドル 歌い⼿ 踊り⼿ confidencemanJP 映画公式 アカウント 歌い⼿ 踊り⼿ bokuun2017 映画公式 アカウント • データセットの偏りが対応関係の学習に影響している可能性が⾼い ‒ リストに含まれていてフォロワーが多いかつ 1,000 件以上の投稿をしている ユーザを収集したことでデータセットに芸能関係のデータが多いという偏り がある可能性が⾼い ‒ 失敗した結果の中には,意味的には近いような結果も複数存在した ‒ 適合度を0,1から多値に変えることが必要である可能性もある
  20. まとめ 22 SNSにおいてユーザの性質を 明らかにすることは重要 • ユーザの性質がわかることで 様々な判断が容易になる 3つの課題 • 多くのクラスに分類したい場合,

    あらかじめ⼤量のクラスを決め ることは困難 • データセットに含まれていない ユーザが多く存在する • タグの表現はデータセットに含 まれている表現に限定される 1. 背景 SNSユーザにタグ付け • ユーザが含まれているリスト名 をタグ付け • リストに含まれていないユーザ に対してタグ付け • 学習データに存在しない具体的 な表現をタグ付け 2. 既存⼿法の課題 3. 研究⽬的 タグとユーザの対応関係 • タグとユーザツイートの対応関 係を学習 • タグとユーザの適合度を予測 • タグを適合度で順位付けて最も 適合度の⾼いタグをユーザに付 与 4. 提案⼿法 Hit@10 において BM25,nDCG@10 において BM25と提案⼿法を⽤いた⽅ 法が最も⾼い精度を⽰した 5. 実験結果 • fasteText ではユーザのツイートの 平均を⽤いたが,BERT ではタグと ツイートの最も⾼い適合度を⽤い たことでユーザとタグの関係性に おけるノイズを考慮できた可能性 がある. • 作成したデータセットにおける偏 りを考慮できていない学習⽅法を 改善する必要がある 6. 考察 0 0.02 0.04 0.06 0.08 0.1 Hit@10 nDCG@10
  21. 実際に構築したデータセット 24 id rel tag user 0 1 エンタメ界隈 teokun711

    1 0 新潟のフォロワーさん teokun711 2 0 イラストレーター・アニメーター teokun711 ⁝ ⁝ ⁝ ⁝ 99 0 京都府のホテル・旅館 teokun711 100 1 好きな⼈達 daaiicchhi 101 0 機動戦⼠ガンダムシリーズ daaiicchhi 102 0 ジャニーズ情報 daaiicchhi ⁝ ⁝ ⁝ ⁝ 構築したデータセットの⼀部 • id: ⾏番号 • rel: ユーザとタグの適合性 • tag: タグ • user: ユーザ名 別ファイルにユーザごとにツイート 1,000 件を保存 各列の説明 • Train: 600 set(00000 ~ 59999) • Validation: 200 set(60000 ~ 79999) • Test: 200 set(80000 ~ 99999) 学習データ • 収集したデータから 1,000 件のユーザと正解タグのペアを抽出 ‒ 1,000 件から Train, Validation, Test のデータを決定 ‒ 不正解データは Train, Validation, Test それぞれのタグから作成
  22. 学習時の損失関数の違い 25 Binary cross entropy Margin ranking タグ ユーザ 予測値

    ラベル tag1 0.89 1 x y t タグ ユーザ 予測値 ラベル tag1 0.89 1 x1 y1 t tag2 0.63 x2 y2 u1 u1 𝑳 = −𝒕 𝐥𝐨𝐠 𝒚 − 𝟏 − 𝒕 𝐥𝐨𝐠(𝟏 − 𝒚) 𝑳 = 𝐦𝐚𝐱(𝟎, −𝒕 𝒚𝟏 − 𝒚𝟐 + 𝐦𝐚𝐫𝐠𝐢𝐧)
  23. 予測結果の成功例と失敗例 26 BM25: 成功例 BM25: 失敗例 タグ ユーザ 特徴 静岡県関連情報

    ieyasukun100 静岡県浜松市の ゆるキャラ 遊戯王声優 ishige_syoya アニメ遊戯王の 声優 ディズニー公式 disneystudiojp Disney 公式情報 発信アカウント タグ ユーザ 特徴 にじさんじ所属 key_999 にじさんじファ ンかつ関係者 ⼥⼦サッカー選⼿ afpbbcom AFP通信の⽇本 語アカウント 台湾好き Yomiuri_Online 読売新聞の アカウント