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

メールからの名刺情報抽出におけるLLM活用 / Use of LLM in extractin...

Sansan R&D
November 05, 2024

メールからの名刺情報抽出におけるLLM活用 / Use of LLM in extracting business card information from e-mails

■イベント
LLMとVLMの実践的ビジネス活用
https://sansan.connpass.com/event/333009/

■発表者
技術本部 研究開発部 Data Analysisグループ 大田尾 匠

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

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

Sansan R&D

November 05, 2024
Tweet

More Decks by Sansan R&D

Other Decks in Research

Transcript

  1. 大田尾 匠 Sansan株式会社 技術本部 研究開発部 Data Analysisグループ 研究員 京都大学大学院情報学研究科修士課程修了。 在学中は、最適輸送を自然言語処理に応用した手法の研

    究に取り組む。 2024年に新卒としてSansan株式会社に入社し、メール署 名取り込みにおける名刺情報抽出の研究開発に従事。 2
  2. - 入力: メール全文 - 出力: 送信者の名刺相当の情報 - 氏名・会社名・部署など - 送信者以外の人物の情報は含めない

    取り組んでいるタスク 氏名: 山田 太郎 会社名: Yonyon株式会社 部署: 研究開発部 役職: 部長 電話番号: 012-3456-7890 メール全文 送信者の名刺相当の情報 Sansan株式会社 田中 花子様 Yonyon株式会社 研究開発部 山田 太郎です。 先週の会議はありがとうございました。 課長の佐藤様にもよろしくお伝えください。 ------------------- Yonyon株式会社 研究開発部 部長 山田 太郎 TEL: 012-3456-7890 ------------------- 送信者の情報のみを 抽出するアルゴリズム 7
  3. - メール本文が長い - 過去スレッドも含めると、文章量が膨大 - 複数人の情報が含まれている - 送信者の情報のみを抽出する必要がある メールから送信者の情報のみを抽出することの難しさ 差出人:

    山田 太郎 日付: 2024年10月15日 件名: 先週の会議について … > 差出人: 田中 花子 > 日付: 2024年10月8日 > 件名: 会議について > … Sansan株式会社 田中 花子様 Yonyon株式会社 山田 太郎です。 先週の会議はありがとうございました。 課長の佐藤様にもよろしくお伝えください。 氏名 会社名 送信者 山田 太郎 Yonyon株式会社 受信者 田中 花子 Sansan株式会社 第三者 佐藤 8
  4. - LLMは複雑な文脈を理解でき、情報抽出の精度も高いことが知られてい る - メールから送信者の情報を抽出するタスクに対して、LLMの質問応答形式の 性能を確認した - closed LLM・open LLMの両方で、性能を確認した

    - closed LLM: 内部仕様にはアクセスできず、APIで使える - ChatGPT・Claude・Geminiなど - open LLM: 内部仕様にアクセスでき、ユーザーのデータでファインチュー ニングができる - 複数のモデルサイズの日本語モデルが公開されている メールからの抽出タスクにおいてLLMの使用を検討した 9
  5. - 使用したLLM - closed LLM: GPT-4o - AzureのAPIを使用し、学習に利用されないプランを選定 - open

    LLM: sbintuitions/sarashina2-7b - ファインチューニング (指示チューニング) に使用したコード - LLM-jpが公開しているllm-jp-sftリポジトリ - 学習・評価データ - Sansan社員宛に送信されたメール - 学習データ: 6000件・評価データ500件 - 抽出する項目 - 氏名・会社名 実験設定 10
  6. ### 指示: メール本文を以下のJSONスキーマに従って変換し、JSONだけを出力し てください。 メール本文の中に含まれる、送信者の情報のみを応答のJSONに含めてく ださい。 {'properties': {'person': {'default': '',

    'description': 'person', 'title': 'Person', 'type': 'string'}, 'organization': {'default': '', 'description': 'organization', 'title': 'Organization', 'type': 'string'}}, 'title': 'Items', 'type': 'object'} ### メール本文: {email_text} ### 応答: {answer} プロンプト例 Sansan株式会社 田中 花子様 Yonyon株式会社 山田 太郎です。 先週の会議はありがとうございました。 課長の佐藤様にもよろしくお伝えください。 Yonyon株式会社 山田 太郎 { “person”: “山田 太郎”, “organization”: “Yonyon株式会社” } 11
  7. - LLMの検証値であり、実サービスで稼働しているエンジンとは無関係 - 氏名 - GPT-4oも比較的性能が高いが、open LLMの方が高性能 - 会社名 -

    氏名よりも、GPT-4oとopen LLMの性能差が大きい 指示チューニングしたopen LLMの方がGPT-4oより高性能 12 precision (%) recall (%) closed LLM (GPT-4o) 97.3 98.1 指示チューニング済みopen LLM (sarashina2-7b) 97.7 (+0.4) 98.7 (+0.6) precision (%) recall (%) closed LLM (GPT-4o) 90.2 91.6 指示チューニング済みopen LLM (sarashina2-7b) 94.1 (+3.9) 94.1 (+2.5)
  8. - 他人の会社名を誤抽出するケース - 送信者の会社名が存在しない場合に起こりやすい GPT-4o → open LLM で改善したケース Sansan株式会社

    田中 花子様 先週の会議はありがとうございまし た。 課長の佐藤様にもよろしくお伝えく ださい。 山田 太郎 メール本文 GPT-4o (誤) 14 { “person”: “山田 太郎”, “organization”: “Sansan株式会社” } { “person”: “山田 太郎”, “organization”: “” } 指示チューニング済み open LLM (正)
  9. - 部署名を会社名に含めてしまう - 自己紹介文には、部署が含まれる場合も多い - このように具体的なミスケースが分かっている場合は、RLHFなどの選好チューニ ングで「より望ましい出力」を学習させることができそう GPT-4o・open LLM の両方で失敗するケース

    Sansan株式会社 田中 花子様 Yonyon株式会社経理部 山田 太郎です。 先週の会議はありがとうございました。 課長の佐藤様にもよろしくお伝えくださ い。 山田 太郎 15 { “person”: “山田 太郎”, “organization”: “Yonyon株式会社経理部” } メール本文 GPT-4o (誤) { “person”: “山田 太郎”, “organization”: “Yonyon株式会社経理部” } 指示チューニング済み open LLM (誤)
  10. - メールから送信者の情報のみを抽出するタスク特有の難しさがあり、指 示チューニングしたopen LLMでも誤抽出するケースがある - 選好チューニングなどを使って、open LLMの抽出性能をさらに改善できな いかを検討する - ファインチューニングしたLLMを実際のエンジンへ組み込むには、抽出

    性能だけでなく、推論速度やモデルサイズを考慮する必要がある - LLM以外の軽量なモデル(事前学習済みEncoderを用いた質問応答など)で も抽出タスクに適用はできるので、複数のモデルを比較検討する - ファインチューニングしたLLMをエンジンに組み込む結論になった場合は、 社内初の取り組みなので、様々な観点で知見を貯めていきたい 今後の展望 17