Save 37% off PRO during our Black Friday Sale! »

Eightにおけるニュース配信の取り組み / Approaches for News Distribution in Eight

13d936e697fe0f4fa96f926d0a712f6c?s=47 Sansan
PRO
November 05, 2021

Eightにおけるニュース配信の取り組み / Approaches for News Distribution in Eight

■イベント

Sansan Builders Stage 2021

https://jp.corp-sansan.com/engineering/buildersstage2021/

■登壇概要

タイトル:Eightにおけるニュース配信の取り組み

登壇者:技術本部 DSOC 研究開発部 Data Analysisグループ 研究員 齋藤 慎一朗

▼Sansan Engineering
https://jp.corp-sansan.com/engineering/

13d936e697fe0f4fa96f926d0a712f6c?s=128

Sansan
PRO

November 05, 2021
Tweet

Transcript

  1. ⾃然⾔語処理 機械学習 齋藤 慎⼀朗 Eightにおけるニュース配信の取り組み STAGE 3 研究開発部 Data Analysisグループ

    SESSION TAG
  2. 東北⼤学⼤学院⼯学研究科博⼠前期課程修了。 ⽇系SIerや外資系IT企業で、電⼒・保険・製薬など多様な 業界に対する、機械学習を⽤いたシステムの提案やPoC・ 開発・保守運⽤に従事。現在はニュース配信アルゴリズム の改善を担当。Kaggle Expert 齋藤 慎⼀朗 img 技術本部

    DSOC 研究開発部 Data Analysisグループ 研究員
  3. • Eightとは • DSOCとは • ニュース配信における取り組み Eightにおけるニュース配信の取り組み ⽬次 • ジャンル判定

    • プレスリリース判定 • 必要記事判定 • 重複記事判定 • パーソナライズ • 今後の展望
  4. 個⼈向け名刺アプリ Eightでは名刺管理以外にも様々な機能を提供 しており、その⼀つに様々なビジネスニュース の配信があります。 Eightにおけるニュース配信の取り組み Eightとは 名刺アプリ

  5. • DSOCはSansan株式会社におけるデータ統括組織です。 • 名刺、書類など様々なデータを取り扱っています。 • 今回の発表においては、DSOCで扱っているニュースデータについて、 どのような処理を⾏っているかの紹介となります。 Eightにおけるニュース配信の取り組み DSOCとは

  6. • DSOCではニュース配信に対して様々な処理を⾏なっています。 • DSOCとして、名刺アプリ「Eight」にニュースを提供することを“納品”と呼びます。 • DSOCが納品したニュースについて、 Eightチームにて更に処理を⾏なったニュースがユーザーの皆様に配信されます。 • 本⽇は “DSOC側でのニュースに対する処理”

    に関する紹介です。 Eightにおけるニュース配信の取り組み ニュース配信の流れ DSOCでの処理 Eightチームでの 処理 納品 ユーザー 配信
  7. • ⽬的 • ユーザーが興味のあるニュースがEightから配信されることで、 より有⽤なサービスを⽬指す • Eightで配信したいニュース記事とは • ビジネスニュース、かつ、ユーザーにとって興味があるニュース •

    実際にどう配信するか • 複数のエンジンを作成し、その出⼒を⽤いて「Eightで配信したいニュース記事」の 定義に沿うニュースを配信する仕組みを構築 Eightにおけるニュース配信の取り組み ニュース配信で実現したいこと
  8. • ニュースから情報を抽出し、配信に利⽤する • 組織名抽出→「継続して改善する固有表現抽出」にて詳細を発表 Eightにおけるニュース配信の取り組み ニュース配信における取り組み • Eightが配信したいニュースを抽出する • ユーザーが興味のあるニュースを優先的に表⽰する

    • パーソナライズ • ジャンル判定 • プレスリリース判定 • 必要記事判定 • 重複記事判定
  9. • • Eightにおけるニュース配信の取り組み ニュース配信における取り組み • Eightが配信したいニュースを抽出する • • • ジャンル判定

    • プレスリリース判定 • 必要記事判定 • 重複記事判定
  10. 何をするのか • ニュースに対し、どのようなジャンルのニュースなのかを判別し、ジャンル情報を付与 ⽬的 • ビジネスに深く関係するジャンルのニュースを納品する ⼿法 • ニュースのタイトルと、本⽂の⼀部に対し、ジャンル分類モデルを⽤いて分類 精度

    • 納品を⾏わないと判定した記事のうち、本当に不要な記事の割合は78% Eightにおけるニュース配信の取り組み ジャンル判定
  11. • ジャンル分類について • 機械学習モデルを⽤いて、記事のジャンルを予測し、ラベルを付与する ジャンル判定 記事1 記事2 記事3 ジャンル分類モデル 記事1

    記事2 記事3 経済 芸能 社会 Eightにおけるニュース配信の取り組み
  12. Eightにおけるニュース配信の取り組み ジャンル判定 分類ジャンルについて • 右記のようなジャンルを設定 • 特定のジャンルに対して、 2段階での分類モデルを構築 ジャンル名 納品

    経済 必要 芸能 不要 IT サブジャンルへ ライフ 不要 社会 サブジャンルへ スポーツ 不要 国際 必要 ITサブジャンル 納品 パソコン 必要 デジタル家電 必要 ゲーム 不要 モバイル・アプリ 必要 ネットトレンド 必要 社会サブジャンル 納品 交通 必要 気象・災害 必要 事件 必要
  13. Eightにおけるニュース配信の取り組み ジャンル判定 • ITサブジャンルの判定例 • ITサブジャンルに分けることによって、下記のような細かいジャンル分類を⾏うことが 可能になる。 モバイル・アプリ判定例(必要) ニュースタイトル ソーシャルカレンダーアプリ

    Yonyon(ヨンヨン)、カレンダー のWeb共有機能の提供を開始。 ゲーム判定例(不要) ニュースタイトル 新作対戦アプリ『Gogo』2055年5⽉ 5⽇発売。本⽇より予約開始!
  14. Eightにおけるニュース配信の取り組み プレスリリース判定 何をするのか • プレスリリース記事に対し、どのようなプレスリリースの記事なのかの情報を付与 ⽬的 • 多様なプレスリリースのうち、Eightで配信したいプレスリリースを納品する ⼿法 •

    ニュースのタイトルと、本⽂の⼀部に対し、プレスリリース分類モデルを⽤いて分類 精度 • Accuracy 96.2%(必要・不要と正しく判別できた記事/全記事)
  15. Eightにおけるニュース配信の取り組み プレスリリース判定 • プレスリリース判定について • 機械学習モデルを⽤いて、プレスリリースの種類を予測し、ラベルを付与する 記事1 記事2 記事3 プレスリリース分類

    モデル 記事1 記事2 記事3 組織変更,異動情報,拠点追加 セミナー, 主催イベント, 交流会 キャンペーン情報
  16. プレスリリース判定 • プレスリリースのジャンル⼀覧 • 下記のジャンル条件をベースに納品するかどうかを判定する ジャンル名 営業⽇情報,年頭挨拶,受賞系 セミナー,主催イベント,交流会 キャンペーン情報 製品,商品情報,認定資格取得(特にメーカー)

    サービスリリース情報 組織変更,異動情報,拠点追加 IR系(事業提携,合併,決算公告) 企業活動,出展,CSR,重要なお知らせ Eightにおけるニュース配信の取り組み
  17. Eightにおけるニュース配信の取り組み プレスリリース判定 • プレスリリース判定例 組織変更, 異動情報, 拠点追加例(必要) ニュースタイトル Sansanデータセンターの開設について セミナー,主催イベント,交流会判定例

    (不要) ニュースタイトル 名刺管理事業者向け名刺管理セミナー 7⽉27⽇(⽕)オンラインにて開催
  18. Eightにおけるニュース配信の取り組み 必要記事判定 何をするのか • Eightに納品すべきニュースかどうかを必要、不要のラベルにて判定 ⽬的 • Eightで配信すべき最適なニュースを納品する ⼿法 •

    Eightに納品すべきかどうかを⼈⼿でアノテーションを⾏い、 学習したモデルを利⽤して分類 精度 • 配信記事のAccuracy 85%(必要・不要と正しく判別できた記事/全記事)
  19. Eightにおけるニュース配信の取り組み 必要記事判定 • 必要記事判定について • 機械学習モデルを⽤いて、 ニュースをEightに納品すべきかどうか(必要か不要か)を 予測し、ラベルを付与する 記事1 記事2

    記事3 必要記事判定モデル 記事1 記事2 記事3 不要 必要 必要
  20. Eightにおけるニュース配信の取り組み 必要記事判定 • 学習データのアノテーション • 既にジャンル、プレスリリースで ニュースのフィルタリングを⾏っていたが、 更に最適なニュース配信を追求 • Eight⽤に新しくアノテーション基準を

    作り、それを元に学習データを作成 代表の⽅1名に、 数百件記事をアノテーションしてもらい、 基準を作成 基準を元に、約600件のデータをアノテーション アノテーションしたデータを⽤いてモデルを学習 ▼ 流れ 基準例 必要:新機能のリリースのニュース 不要:新店舗のオープンに関するニュース
  21. Eightにおけるニュース配信の取り組み 重複記事判定 何をするのか • 各ニュースの⽂章に対する類似度を計算し、閾値で似た記事かどうかを判定 ⽬的 • 様々なニュースソースから取得したニュースのうち、 似ているニュースは⼀度だけ納品する

  22. 重複記事判定 判定のイメージ 記事1 Sansan、東京証券 取引所市場第⼀部へ 上場市場変更を発表 記事2 Sansan株式会社、 ⼀部上場を発表 ⽂章が

    似ているかどうかを 判定 記事1 Sansan、東京証券 取引所市場第⼀部へ 上場市場変更を発表 記事2 Sansan株式会社、 ⼀部上場を発表 不要 Eightにおけるニュース配信の取り組み
  23. Eightにおけるニュース配信の取り組み 重複記事判定 • どうやって似ていると判定するのか • b-Bit Minwise Hashing algorithmを⽤いて⾼速にJaccard係数を計算 •

    Jaccard係数とは • ⽂書の類似度を測る指標、⽂書ABに対する類似度は下記式で表現される • b-Bit Minwise Hashing algorithm とは • ⼆つの⽂書に対するハッシュ値の最⼩値が⼀致する確率が Jaccard係数に等しいことを利⽤し、 ⾼速に類似検索を⾏う⽅法 𝑱(𝑨, 𝑩) = |𝑨 ∩ 𝑩| |𝑨 ∪ 𝑩| = |⽂書𝑨𝑩の両⽅に含まれる単語| |⽂書𝑨𝑩のどちらかに含まれる単語|
  24. • • Eightにおけるニュース配信の取り組み ニュース配信における取り組み • • ユーザーが興味のあるニュースを優先的に表⽰する • パーソナライズ •

    • • •
  25. Eightにおけるニュース配信の取り組み パーソナライズ 何をするのか • ユーザーの過去閲覧記事と類似するニュースを、 同業他社ニュースにおける 上位記事として表⽰ ⽬的 • ユーザーが興味を持ちそうなニュースを優先的に閲覧できるようにする

    ⼿法 • 過去閲覧記事と、配信予定のニュースがどの程度似ているかを計算し、 似ているニュースから順番に表⽰ その他 • 現在ABテストのフェーズ。指標が改善されれば導⼊。改善されない場合は別⼿法での 検討。
  26. Eightにおけるニュース配信の取り組み パーソナライズ • 同業他社ニュース とは • Eightでは様々な種類のニュースを配信している • 名刺交換週次ニュース •

    同業他社ニュース • ⾃社ニュース • ⽇経連携ニュース • 話題のニュース • 同業他社ニュースは、 ユーザー所属企業の同業他社と判断された 企業に関するニュースが届くサービス
  27. Eightにおけるニュース配信の取り組み パーソナライズ どのようにして記事に興味があると判断するか 企業Aの ニュース サービスBの ニュース 技術Cの ニュース 0.9

    0.2 0.8 0.1 0.8 0.2 0.2 0.3 0.7 企業Aについてのニュースを よく⾒るユーザー サービスBのニュースを よく⾒るユーザー 企業Aと技術Cのニュースを よく⾒るユーザー 数値が⾼い順にニュースを表⽰する
  28. Eightにおけるニュース配信の取り組み 今後の展望 • ユーザーが興味を持つニュースを、適切な⽅法で配信していく • モデル精度の向上 • 更なるパーソナライズの仕組みの検討 • UIの最適化

  29. Twitter @sinchir0 Eight Virtual Card 齋藤 慎⼀朗 研究開発部 Data Analysisグループ

    8card.net/p/ shinichiro_saito