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

メール署名取り込みにおける名刺情報抽出の取り組み / Business Card Information Extraction Efforts in Email Signature Capture

Sansan R&D
November 10, 2023

メール署名取り込みにおける名刺情報抽出の取り組み / Business Card Information Extraction Efforts in Email Signature Capture

■イベント: Sansan R&D TECH SHOWCASE -ビジネスをドライブするR&Dのウラガワ大公開-
https://sansan.connpass.com/event/299113/

■登壇概要
タイトル: メール署名取り込みにおける名刺情報抽出の取り組み
発表者: 技術本部 研究開発部 Data Analysisグループ 橋本 航

◉ 研究開発職 採用情報
https://media.sansan-engineering.com/randd

◉ Sansan Tech Blog
https://buildersbox.corp-sansan.com/

Sansan R&D

November 10, 2023
Tweet

More Decks by Sansan R&D

Other Decks in Technology

Transcript

  1. 写真が入ります 橋本 航 技術本部 研究開発部 Data Analysis Group 研究員 奈良先端科学技術⼤学院⼤学

    先端科学技術研究科 情報科学領域 D2 九州⼤学⼤学院⼯学府修⼠課程修了。在学中は、第⼀原理計算 に対するベイズ学習の応⽤研究に取り組む。現在は⾃然⾔語処 理を始めとした、さまざまな機械学習技術の実応⽤に関する研 究開発に従事。
  2. 名刺交換の履歴 ⼈脈やつながり 100万件を超える 企業情報 20万件の 役職者情報 ⼈事異動情報 企業の 最新ニュース 企業の

    リスク情報 契約・ 取引の情報 接点情報 企業情報 取り込みシーンを増やす 企業のターゲティング・検索ができる 営業DXサービスとしてのSansan
  3. 営業DXサービスとしてのSansan 名刺交換の履歴 ⼈脈やつながり 100万件を超える 企業情報 20万件の 役職者情報 ⼈事異動情報 企業の 最新ニュース

    企業の リスク情報 契約・ 取引の情報 接点情報 企業情報 取り込みシーンを増やす 企業のターゲティング・検索ができる メールのやり取りを接点情報として取り込む: メール署名取り込み
  4. メールにおける送信者の名刺情報抽出の主なフロー ⼭⽥様 先⽇はお世話になりました。 YonYon株式会社の佐藤です。 本⽇メール致しましたのは…… (略) -------------------------------------- YonYon株式会社 研究開発部 課⻑

    佐藤太郎 TEL:012-3456-7890 -------------------------------------- 組織名: YonYon株式会社 部署: 研究開発部 役職: 課⻑ ⽒名: 佐藤太郎 電話番号: 012-3456-7890 メール本⽂1 署名1 メール本⽂2 署名2 メール本⽂3 署名3 メール全⽂ 送信者の署名 送信者の名刺相当情報 ① メール全⽂から送信者の 署名を抽出 ② 送信者の署名から名刺相当の 情報(⽒名、組織名、部署等) を抽出 ② ①
  5. メールにおける送信者の名刺情報抽出の主なフロー ⼭⽥様 先⽇はお世話になりました。 YonYon株式会社の佐藤です。 本⽇メール致しましたのは…… (略) -------------------------------------- YonYon株式会社 研究開発部 課⻑

    佐藤太郎 TEL:012-3456-7890 -------------------------------------- 組織名: YonYon株式会社 部署: 研究開発部 役職: 課⻑ ⽒名: 佐藤太郎 電話番号: 012-3456-7890 メール本⽂1 署名1 メール本⽂2 署名2 メール本⽂3 署名3 メール全⽂ 送信者の署名 送信者の名刺相当情報 ① メール全⽂から送信者の 署名を抽出 ② 送信者の署名から名刺相当の 情報(⽒名、組織名、部署等) を抽出 ② ①
  6. - CRF (Conditional Random Field): 系列データのための確率モデル - 系列中の要素を個別に分類するのではなく、系列全体として最適なラベル列を 出⼒ -

    ⾼速なCRF実装であるCRFsuiteのラッパであるsklearn-crfsuiteを使⽤ - 今回のケースでは、⾏を系列における 要素とみなしてCRFを適⽤ - 署名領域のセグメンテーションのため にBIO (Begin, Inside, Outside) 形式を 使⽤ CRFによる送信者署名抽出 ⼭⽥様 先⽇はお世話になりました。 YonYon株式会社の佐藤です。 本⽇メール致しましたのは…… (略) -------------------------------------- YonYon株式会社 研究開発部 課⻑ 佐藤太郎 TEL:012-3456-7890 -------------------------------------- O O O O O O ~ O O B-SIGNATURE I-SIGNATURE I-SIGNATURE O メール⽂ CRFの出⼒
  7. - 使⽤した⾏単位の特徴量の例 (基本的に⾼速に⽣成できることが前提) - かな変換した場合にメールアドレスの⽒名部分と⼀致しているか - 会社名/部署/役職/住所/Tel/Mobile/Faxにありがちな表現が含まれて いるか - 形容詞や副詞などが⼊っていないか

    - etc… - 結果 - 後段の名刺相当の情報抽出の性能向上、および推論速度の⼤幅な改善を 実現 > インターン⽣の⼤きなご協⼒をもとにリリース CRFによる送信者署名抽出
  8. メールにおける送信者の名刺情報抽出の主なフロー ⼭⽥様 先⽇はお世話になりました。 YonYon株式会社の佐藤です。 本⽇メール致しましたのは…… (略) -------------------------------------- YonYon株式会社 研究開発部 課⻑

    佐藤太郎 TEL:012-3456-7890 -------------------------------------- 組織名: YonYon株式会社 部署: 研究開発部 役職: 課⻑ ⽒名: 佐藤太郎 電話番号: 012-3456-7890 メール本⽂1 署名1 メール本⽂2 署名2 メール本⽂3 署名3 メール全⽂ 送信者の署名 送信者の名刺相当情報 ① メール全⽂から送信者の 署名を抽出 ② 送信者の署名から名刺相当の 情報(⽒名、組織名、部署等) を抽出 ② ①
  9. - ⽂字列の集合を索引化して保持するトライ⽊と 類似したデータ構造。⾼速な共通接頭辞検索が 可能 - ⻑さ𝑀の⽂字列に対する 𝑂(𝑀) の検索 - ⼀⽅で

    (a) のような通常のトライ⽊と異なり、ノ ードに複数のパスで到達できるため、使⽤する ノードの数を⼤幅に削減 → メモリ使⽤量も⼤幅に削減 有向無閉路⽂字列グラフ (Directed Acyclic Word Graph; DAWG) https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton (a) トライ木 (b) DAWG
  10. - DAWGはPythonから簡単に使⽤可能 - インストール - pip install dawg2 - 使⽤⽅法

    有向無閉路⽂字列グラフ (Directed Acyclic Word Graph; DAWG) https://github.com/pytries/DAWG-Python https://github.com/pymorphy2-fork/DAWG
  11. - 辞書でカバーできないケースも当然あるため、機械学習ベースの 固有表現抽出も使⽤ - ⼿法: Transformer系のEncoder + CRF による系列ラベリング 機械学習モデルによる固有表現抽出

    入力 Yon Yon 株式会社 研究 開発 部 課長 / 佐藤 太郎 CRF Transformer Encoder 出力 B-組織名 I-組織名 I-組織名 B-部署 I-部署 I-部署 B-役職 O B-人名 I-人名 …
  12. - CRFにおける系列全体のスコアは、トークンに対するラベル予測スコアとラベル間の遷移 スコアを考慮 - 問題点 - 特に⼯夫せず学習すると不正な遷移がしばしば残り、精度が低下 > “B-⼈名”, “I-組織名”,

    “I-⼈名”, … のようなケース - 解決⽅法 - 不正な遷移には⼤きな負の値を初期値と して与えることで、不正な遷移がなくなり 精度が向上 ※ 署名抽出におけるCRFの場合も同等の処理を実施 CRF活⽤時の⼯夫: Masked CRF [Wei et al., 2021] Start ╲End B-人名 I-人名 B-組織名 I-組織名 O B-人名 0 0 0 -100 0 I-人名 0 0 0 -100 0 B-組織名 0 -100 0 0 0 I-組織名 0 -100 0 0 0 O 0 -100 0 -100 0 Tianwen Wei, Jianwei Qi, Shenghuan He, and Songtao Sun. 2021. Masked Conditional Random Fields for Sequence Labeling. In Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 2024– 2035, Online. Association for Computational Linguistics. 表: 初期値を設定したCRFの遷移⾏列の例