Slide 1

Slide 1 text

メールからの名刺情報抽出に おけるLLM活用 研究開発部 Data Analysis グループ 大田尾 匠 1

Slide 2

Slide 2 text

大田尾 匠 Sansan株式会社 技術本部 研究開発部 Data Analysisグループ 研究員 京都大学大学院情報学研究科修士課程修了。 在学中は、最適輸送を自然言語処理に応用した手法の研 究に取り組む。 2024年に新卒としてSansan株式会社に入社し、メール署 名取り込みにおける名刺情報抽出の研究開発に従事。 2

Slide 3

Slide 3 text

今日話すこと - 営業DXサービス「Sansan」は、名刺交換だけでなくメールのやり取りも 接点情報として蓄積・集約している - メールから名刺相当の情報を抽出するタスクに、LLMを適用した - GPT-4oと、ファインチューニングしたLLMの性能を比較した 3

Slide 4

Slide 4 text

営業DXサービスとしてのSansan 4

Slide 5

Slide 5 text

営業DXサービスとしてのSansan 5

Slide 6

Slide 6 text

- メールから送信者の情報を自動抽出し、 名刺データと同じく接点情報として Sansan上に蓄積できる機能 - オンライン上で築いた人脈を、 社内で共有・活用できる メール署名取り込み 6

Slide 7

Slide 7 text

- 入力: メール全文 - 出力: 送信者の名刺相当の情報 - 氏名・会社名・部署など - 送信者以外の人物の情報は含めない 取り組んでいるタスク 氏名: 山田 太郎 会社名: Yonyon株式会社 部署: 研究開発部 役職: 部長 電話番号: 012-3456-7890 メール全文 送信者の名刺相当の情報 Sansan株式会社 田中 花子様 Yonyon株式会社 研究開発部 山田 太郎です。 先週の会議はありがとうございました。 課長の佐藤様にもよろしくお伝えください。 ------------------- Yonyon株式会社 研究開発部 部長 山田 太郎 TEL: 012-3456-7890 ------------------- 送信者の情報のみを 抽出するアルゴリズム 7

Slide 8

Slide 8 text

- メール本文が長い - 過去スレッドも含めると、文章量が膨大 - 複数人の情報が含まれている - 送信者の情報のみを抽出する必要がある メールから送信者の情報のみを抽出することの難しさ 差出人: 山田 太郎 日付: 2024年10月15日 件名: 先週の会議について … > 差出人: 田中 花子 > 日付: 2024年10月8日 > 件名: 会議について > … Sansan株式会社 田中 花子様 Yonyon株式会社 山田 太郎です。 先週の会議はありがとうございました。 課長の佐藤様にもよろしくお伝えください。 氏名 会社名 送信者 山田 太郎 Yonyon株式会社 受信者 田中 花子 Sansan株式会社 第三者 佐藤 8

Slide 9

Slide 9 text

- LLMは複雑な文脈を理解でき、情報抽出の精度も高いことが知られてい る - メールから送信者の情報を抽出するタスクに対して、LLMの質問応答形式の 性能を確認した - closed LLM・open LLMの両方で、性能を確認した - closed LLM: 内部仕様にはアクセスできず、APIで使える - ChatGPT・Claude・Geminiなど - open LLM: 内部仕様にアクセスでき、ユーザーのデータでファインチュー ニングができる - 複数のモデルサイズの日本語モデルが公開されている メールからの抽出タスクにおいてLLMの使用を検討した 9

Slide 10

Slide 10 text

- 使用したLLM - closed LLM: GPT-4o - AzureのAPIを使用し、学習に利用されないプランを選定 - open LLM: sbintuitions/sarashina2-7b - ファインチューニング (指示チューニング) に使用したコード - LLM-jpが公開しているllm-jp-sftリポジトリ - 学習・評価データ - Sansan社員宛に送信されたメール - 学習データ: 6000件・評価データ500件 - 抽出する項目 - 氏名・会社名 実験設定 10

Slide 11

Slide 11 text

### 指示: メール本文を以下の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

Slide 12

Slide 12 text

- 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)

Slide 13

Slide 13 text

- GPT-4oと、指示チューニングしたopen LLMのそれぞれで実際の出力を 見て、2つのケースを確認 - GPT-4o → 指示チューニングしたopen LLM で改善したケース - 指示チューニングしたopen LLM でも誤抽出してしまうケース 実際の出力を確認 13

Slide 14

Slide 14 text

- 他人の会社名を誤抽出するケース - 送信者の会社名が存在しない場合に起こりやすい GPT-4o → open LLM で改善したケース Sansan株式会社 田中 花子様 先週の会議はありがとうございまし た。 課長の佐藤様にもよろしくお伝えく ださい。 山田 太郎 メール本文 GPT-4o (誤) 14 { “person”: “山田 太郎”, “organization”: “Sansan株式会社” } { “person”: “山田 太郎”, “organization”: “” } 指示チューニング済み open LLM (正)

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

- 営業DXサービス「Sansan」は、名刺交換だけでなくメールのやり取りも 接点情報として蓄積・集約している - メールから名刺相当の情報を抽出するタスクに、LLMを適用した - GPT-4oと、ファインチューニングしたLLMの性能を比較した - 指示チューニングをしたopen LLMの方が、GPT-4oよりも高性能 - 指示チューニングをしても正しく抽出できないケースがある 今日のまとめ 16

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Sansan 技術本部 募集ポジション紹介 https://media.sansan-engineering.com/

Slide 19

Slide 19 text

No content