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

ニュース配信における自然言語処理の取り組み / Natural Language Processing in the News Delivery Service

Sansan DSOC
October 23, 2019

ニュース配信における自然言語処理の取り組み / Natural Language Processing in the News Delivery Service

■イベント
Sansan Builders Box 2019
https://jp.corp-sansan.com/sbb2019/

■登壇概要
タイトル:ニュース配信における自然言語処理の取り組み

登壇者:
DSOC R&Dグループ 研究員 高橋寛治

▼Sansan DSOC
https://sansan-dsoc.com/

Sansan DSOC

October 23, 2019
Tweet

More Decks by Sansan DSOC

Other Decks in Technology

Transcript

  1. ⾼橋 寛治(Kanji Takahashi) 2017年 3⽉ ⻑岡技術科学⼤学⼤学院 修了 2017年 4⽉ Sansan株式会社

    ⼊社 現在 ⾃然⾔語処理とスマブラ担当 kanji250tr kanjirz50 DSOC(Data Strategy & Operation Center) R&Dグループ 研究員
  2. Sansan Builders Box 現在SansanやEightで配信しているニュース 名刺とWeb記事 ⾃社内の名刺と名刺 ⾃分の所有名刺 Aさんの所有名刺 ネット上の記事 ⾃社情報とWeb記事

    ⾃社の 情報 - ⼈事異動情報の通知 - 社内の共通⼈脈通知 - 企業の最新ニュース通知 - 同業他社の最新動向の通知 ⾃分の所有名刺 ネット上の 記事
  3. Sansan Builders Box 現在SansanやEightで配信しているニュース 名刺とWeb記事 ⾃社内名刺と名刺 ⾃分の所有名刺 Aさんの所有名刺 ネット上の記事 ⾃社情報とWeb記事

    ⾃社の 情報 - ⼈事異動情報の通知 - 社内の共通⼈脈通知 - 企業の最新ニュース通知 - 同業他社の最新動向の通知 ⾃分の所有名刺 ネット上の 記事 今回紹介するニュース
  4. Sansan Builders Box - DSOC >ニュースと付加情報を各事業部へ配信 - Sansan事業部 >Sansanユーザの所有名刺と付加情報に基づき、ユーザに配信 -

    Eight事業部 >Eightユーザの情報と付加情報に基づき、ユーザに配信 Sansanの企業ニュース配信を⽀える基盤の事業部ごとの役割
  5. Sansan Builders Box SQSとコンテナで構成されるマイクロサービスでニュース記事を解析 Sansanの企業ニュース配信を⽀えるDSOCの基盤 組織名拡張器 ニュース記事 受信コンテナ Queue(記事) AWS

    Cloud 組織名抽出 ワーカ コンテナ ルールベース 組織名抽出器 深層学習ベース 組織名抽出器 ニュース記事 配信コンテナ Queue (情報が付与された記事) ジャンル判定 コンテナ ・・・ SansanやEightの サーバーサイド 外部提携先から ニュースを受け取り
  6. Sansan Builders Box ⾃然⾔語で記述されたテキスト中に含まれている組織名や⼈名、 ⽇付け表現など、定義に従ったチャンクのこと 固有表現抽出 Sansan株式会社 の ⾼橋寛治 が

    2019年10⽉23⽇ に本発表を⾏います。 組織名 ⼈名 ⽇付 固有表現抽出とは、 これら固有表現をテキスト中から抽出すること
  7. Sansan Builders Box ルールと深層学習による⽅式の組み合わせ - 各⽅式の特徴 - ルール > 確実に企業名と思われる⽂字列を抽出

    - 深層学習 > ⽂脈から企業名らしいものを抽出 ハイブリッド⽅式による固有表現抽出
  8. Sansan Builders Box 確実に企業名と思われる⽂字列を抽出するために、辞書作りを⼯夫 - ⽅法 1. 全組織名をリストに持つ 2. 名刺交換枚数が⼀定以上の組織の正式組織名を辞書に追加

    • スコアは⽂字数に応じて変更 3. 再現率をあげるために、組織名から法⼈格を削除し、 次の条件に合致するものを辞書に追加 • 3⽂字以上 • 数字だけで構成されない • 形態素解析辞書の⼀般名詞と同じ⽂字列ではない ルールベースの組織名抽出器
  9. Sansan Builders Box 少し前のState-of-the-Artな⼿法である Bidirectional LSTM-CNNs-CRF (Ma et al. 2016)

    を利⽤ 各単語に対して、{B:固有表現の始まり、I:固有表現中、O:固有表現ではない} の3つのラベルを予測する問題を解く 深層学習による組織名抽出 ⼊⼒ 名刺 管理 サービス の Sansan 株式会社 が 出⼒ O O O O B I O 学習データに存在しない企業に対して評価したところF値で0.82
  10. Sansan Builders Box ある⽇に配信対象となるニュース記事の組み合わせで類似度を計算 ⾼速な類似度計算を⾏う 記事A 記事B 記事C 記事D 記事A

    1.0 0.6 0.1 0.3 記事B - 1.0 0.4 0.2 記事C - - 1.0 0.8 記事D - - - 1.0 B-bit Minwise Hashing(Li et al. 2010)で⾼速にJaccard係数*の近似値を推定 *共通要素の占める割合
  11. Sansan Builders Box 3種類の⾔語判定の結果からルールにより⾔語を判定 疑似コード if “⽇本語” in [language-detectionの結果, fasttextの結果,

    langidの結果]: return “⽇本語” return language-detectionの結果 結果、language-detection単体だと間違えるうちの半分以上を救済 記事⾔語判定の改良
  12. Sansan Builders Box Dockerコンテナでアルゴリズムを開発するために研究員に求められるもの - Linuxで環境構築できること - WebAPIとしてアルゴリズムのエンドポイントを設計・開発できること 開発チームの歩み寄り -

    API設計をリードすること - コンテナを良い感じにデプロイできる仕組みをつくること - ログ基盤をしっかり作ること - 監視も作ること - アルゴリズムに関⼼を持つこと だがしかし、開発チームとR&Dチームの歩み寄りが必要 現在のチームではお互いの歩み寄りでこれらがうまく機能している