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

画像を用いた論文解説の可能性

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Elith Elith
July 29, 2023

 画像を用いた論文解説の可能性

画像の中のFigureを用いて論文解説ができる手法についての紹介

Avatar for Elith

Elith

July 29, 2023
Tweet

More Decks by Elith

Other Decks in Programming

Transcript

  1. 自己紹介 2 2 高橋 将生 JOY Elith 機械学習スペシャリスト 東京大学大学院 在学

    松尾研究所 所属 @wwwsoccerwww 大森 一祥 もっさん Elith MLOpsスペシャリスト データサイエンティスト @oriki111
  2. 2. 背景 • AIエンジニアは素早くキャッチアップする必要がある • 翻訳サイトだけでは完全な理解が難しい ◦ 完璧ではなく英文も一部読む必要あり ◦ ネイティブに比べて読解が遅くなる

    • 重要な文章を探すのが手間 • 重要情報は図表で示される ➡図、表の説明をして欲しい!! 7 論文で重要な点を早くきちんと理解したい 論文読む時間が 足りない〜
  3. 2. 背景 8 既存ツールで図などの説明ができないか? ChatPDF ・画像の説明ができないことがある ・画像情報は理解していない   ・画像のキャプションを取得できない ChatGPT with

    Link Reader ・ChatGPTでPDFを読み込むためのプラグイン ・Link Readerではグラフなどの図は説明できない Link Readerの失敗例 ChatPDFの失敗例
  4. 2. 背景 9 PDFファイルを扱う難しさ 画像取得 ・PyMuPDFでは画像が細切れになる キャプション取得 図とキャプションの 関係が定義されていない ・図とキャプションの関係が定義されていない

      ・図の位置から予測   ・キャプションのテキスト情報抽出     ・キャプションの ・キャプションの多様性(Fig. Figureなど)
  5. 4. 画像情報を用いた論文解説 13 全体アーキテクチャー テキスト 物体検出 vector DB 図 キャプション

    テキスト テキスト 要約 Figure1: XXX YOLOv8 pytesseract LangChain Function Calling 画像
  6. 4. 画像情報を用いた論文解説 • 論文をアノテーション ◦ 学習65枚 ◦ テスト10枚 • YOLOv8で学習

    • Figureが92%、captionが90%で検出可能 • Figureとcaptionのセットは、最適輸送問題を 解くことでペアを見つける 14 画像とキャプションの取得
  7. 4. 画像情報を用いた論文解説 15 画像情報の利用法の模索 画像キャプション ・画像の簡単な説明文 ・この情報を詳しく説明させると図を理解できる 画像 ・解説してほしい対象 ・OCRによる文字起こし

      ・グラフなどの構造データを理解できない ・イメージキャプショニングによる説明文付与   ・グラフなどの数値は読み取ってくれない   ・変な文章を生成することもある キャプション
  8. 4. 画像情報を用いた論文解説 Google開発のPix2StructモデルDePlotを利用 • チャートをテーブル(テキスト)に変換 • 技術は、OCR、Object Detection、Key Pointなどを組み合わせたモデル 16

    チャートの読み取り DePlot論文*のFigure1抜粋 *Fangyu Liu et al. “DePlot: One-shot visual language reasoning by plot-to-table translation”
  9. 4. 画像情報を用いた論文解説 pytesseractによる事前学習モデルを使用 • Google’s Tesseract-OCR Engine(C++)のラッパー • 文字認識精度は98%程度 17

    キャプション画像のOCR(optional character recognition) https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/33418.pdf TABLE Ⅱ:Results of Q3, Q4, amd Q5 画像 テキスト
  10. 4.1 Function callingによる引数のフォーマット 18 2: 関数の分類(今回は未使用) • 入力した文字列から、予め定義した関数を選択する 関数の定義:①set_alarm_function, ②delete_alarm_function,

    ③check_alarm_function 入力:"7時にアラームを設定して" 出力:{"name": "set_alarm_function"} 1: 関数に必要な引数の作成 • 入力した文字列から、引数を引き出す 関数の引数:figure, number 入力:"画像1を解説してください" 出力:{"Figure": "1"} 文字列に応じて特定の関数を呼び出すことができるGPT機能 関数の分類と、関数に必要な引数の作成という2つを同時に実行
  11. 7. 今後の動き • フローチャートを解説したい ◦ 現状LLMが画像を理解できない ◦ 入出力関係をLLMで理解させたい ◦ 論文専用のキャプション生成をしたい

    24 • 論文解説記事の自動生成したい ◦ 論文の画像の取得ができると、記事に画像を貼り付けられる • 参考文献を考慮した論文解説をしたい ◦ 1つの論文は主観が入る ◦ 複数の文献を読んだ上で俯瞰的に解説するモデルを作りたい