ACL 2025発表の「Dolphin」がエンジニアにもたらす変革


ACL 2025発表の「Dolphin」がエンジニアにもたらす変革

bytedance/Dolphin

2025-09-26

おいおい、今日のバーベキュー、最高の肉が手に入ったぜ! あ、〇〇ちゃん、今日もお肉焼くの上手だね!

「いやぁ、そんなことないっすよ。この網の熱を均一にする技術、まるでドキュメントのレイアウトを完璧に読み取るAIみたいじゃないですか!」

え?なんだって?

「いえ、なんでもないです!それより、このドキュメントの話、ちょっと聞いてくれませんか?」

というわけで、僕が今回みんなに紹介したいのは、ACL 2025で発表されたばかりのすごいやつ、その名もbytedance/Dolphinです!

この「イルカ」ちゃん、何がすごいかっていうと、PDFや画像になったドキュメントの構造を、まるで僕らがBBQで肉の塊からスジや脂身を見分けるように、きっちり見分けてくれるんです。

「いやぁ、でもPDFって、ただの電子の紙っぺらでしょ?」

いやいや、それが違うんですよ!ソフトウェアエンジニアは、この「ただの電子の紙っぺら」をデータとして扱いたい場面が山ほどあるんです。

請求書の自動処理
毎月何百枚と届く請求書のPDFから、会社名、金額、日付を自動で抜き出して、経理システムにポンと放り込みたい!

契約書の監査
大量の契約書PDFの中から、特定の条項(例えば「機密保持」とか)が含まれているか、自動でチェックしたい!

論文のデータ抽出
研究開発で、PDFになった学術論文から図表や参考文献をサクッと抜き出して、データベースにまとめたい!

スキャンした書類のデジタル化
紙の書類をスキャンして画像になったものの、どこに何が書かれているか、全くわからん...。これを自動でテキスト化して、検索できるようにしたい!

こういうときに、普通のテキスト抽出ツールだと、レイアウトが崩れたり、表の中身がぐちゃぐちゃになったりして、もう「うわぁぁぁ...」ってなるんですよ。

でも、この「イルカ」ちゃんは、文書のレイアウト(表、リスト、段落、ヘッダー、フッターなど)をしっかり理解してくれるので、意味のあるデータとして綺麗に抽出してくれるんです!

まるで、みんなが手分けして焼いた肉を、誰がどのお皿に、どんな順番で盛り付けたか、全部覚えてくれる優秀な店員さんみたいだと思いませんか?

導入はとっても簡単!Pythonのライブラリとして提供されているので、みんなで協力してBBQの準備をするように、サクッと始められます。

網と炭を用意する(=仮想環境を作る) まずは、他のプロジェクトと混ざらないように、仮想環境を作ってあげましょう。

python -m venv dolphin_env
source dolphin_env/bin/activate  # Windowsの場合は dolphin_env\Scripts\activate

お肉と野菜を買いに行く(=Dolphinをインストールする) pipを使って、お肉屋さん(PyPI)からDolphinを連れてきます。

pip install bytedance-Dolphin

これで準備完了!あとは、火を起こして、美味しいお肉を焼くだけです。

ここからは、実際にコードを書いて、PDFからデータを抽出してみましょう。


PDFからテキストと構造を抽出する

例えば、こんなPDFがあるとします。

ヘッダーに「報告書」

段落で「2025年9月26日、晴れ、BBQ日和...」

表で「参加者」と「感想」がリストになっている

from dolphin import DolphinParser

# イルカちゃんを呼んでくる!
# モデルは、BBQのベテランシェフを雇うようなものです。
# (実際には、Hugging Face Hubなどからモデルをダウンロードする必要があります。
#  詳細は公式リポジトリを確認してくださいね!)
parser = DolphinParser.from_pretrained("bytedance/Dolphin-v1")

# BBQの材料(=PDFファイル)を準備
pdf_file = "my_report.pdf"

# さあ、焼いてみよう!(=解析を実行!)
results = parser.parse(pdf_file)

# 美味しく焼けたお肉をみんなで分けよう!
# 結果をjson形式で見てみましょう。
import json
print(json.dumps(results, indent=2, ensure_ascii=False))

# どんなデータが取れるかというと...
# こんな感じのデータが取れます(あくまでイメージです)
"""
{
  "pages": [
    {
      "page_number": 1,
      "blocks": [
        {
          "type": "header",
          "text": "報告書",
          "bbox": [100, 50, 200, 70]
        },
        {
          "type": "paragraph",
          "text": "2025年9月26日、晴れ、BBQ日和。今回は、新入社員歓迎BBQを開催しました。...",
          "bbox": [100, 100, 700, 200]
        },
        {
          "type": "table",
          "columns": ["参加者", "感想"],
          "rows": [
            ["〇〇太郎", "肉が美味しくて最高でした!"],
            ["△△花子", "野菜も新鮮で嬉しかったです。"],
            ...
          ],
          "bbox": [100, 250, 700, 400]
        }
      ]
    }
  ]
}
"""

# どうです?ただのテキストではなくて、「ヘッダー」「段落」「テーブル」という構造情報も一緒に取れているでしょう?
# これなら、後続の処理がものすごく楽になります!

### まとめ:BBQの締めくくり

「いやぁ、今日のBBQも、Dolphinのおかげで最高だったぜ!」

...いやいや、Dolphinは関係ないですから!でも、このDolphin、PDFや画像からデータを扱うことが多い僕たちソフトウェアエンジニアにとっては、本当に革命的なツールになるはずです。

みんなもぜひ、公式リポジトリをチェックして、あなたのプロジェクトにこの「賢いイルカ」を招き入れてみてください!きっと、面倒なドキュメント処理が、BBQのように楽しくなるはずですよ!

それでは、お肉が焦げる前に、今日はこの辺で!また次回!

bytedance/Dolphin




PDFの壁を打ち破る:数式・表・多段組対応のデータ抽出ツール MinerUの威力

ホテルのコンシェルジュのように、このツールをどのように活用できるか、導入方法、そしてサンプルコードまで、分かりやすく丁寧にご案内しますね。MinerUは、一言でいうと「複雑なPDFなどの非構造化データを、大規模言語モデル(LLM)がすぐに使える、構造化されたデータ(MarkdownやJSON)に魔法のように変換してくれる」Pythonライブラリです。


あなたのサービス品質向上に貢献:qeeqbox/social-analyzer導入とAPI連携の具体例

このツールは、指定されたユーザー名が、1000以上のソーシャルメディアやウェブサイトで利用されているかどうかを、効率的かつ広範囲にわたって調査・分析するためのものです。Node. js、JavaScript、Pythonに対応しており、API、CLI(コマンドラインインターフェース)、そしてウェブアプリとして利用できます。


新米エンジニアよ、AIの基礎を叩き込め!「ML-For-Beginners」で差をつけろ!

今日はな、テメーらみたいなピヨピヨの新入りでも、一丁前にAIとか機械学習とか言えるようになっちまう、とっておきのモンを紹介してやるぜ!それがこれだ、どーん!microsoft/ML-For-Beginners [python, education


【保存版】Ultralytics YOLOで切り拓くコンピュータビジョンの新大陸:導入から追跡まで

ソフトウェアエンジニアという熟練の探検家にとって、このツールがなぜ「最強の装備」となり得るのか、その秘密を解き明かしていこう!Ultralytics は、物体検出(Object Detection)の世界で最も有名なフレームワークの一つだ。もともと複雑だったディープラーニングのモデルを、まるで「標準装備のナイフ」のように、誰でも簡単に、かつ超高速に扱えるようにしたのが彼らの功績だよ。


AIウェアラブルデバイス「omi」と恋に落ちるエンジニアの恋愛相談

まず、omiは一言でいうと「音声認識AIをウェアラブルデバイスで実現するためのツールキット」です。まるで、あなたの言葉を誰よりも理解してくれる、優しい恋人のような存在。従来の音声認識システムは、スマホやPCに依存することが多かったですよね。でも、omiは違います。AIを小さなウェアラブルデバイスに組み込んで、身につけるだけで話した言葉をリアルタイムでテキスト化したり、AIが応答したりする未来を夢見ているんです。


ゲームをどこでも!ラーメン屋に学ぶ「Sunshine」の導入と活用法

想像してみてください。あなたは最高に美味しいラーメンを作る天才的な職人。あなたのラーメン(ゲーム)を求めて、遠くからお客様(Moonlight)がやってきます。お客様 (Moonlight) 「あぁ、あの店のラーメンが食べたい!でも遠いな


オレオレ詐欺に注意...じゃない!GitHubDailyで良質な情報を安全に手に入れる方法

GitHubDaily/GitHubDaily は、その名の通り、GitHub上で見つけられた高品質で興味深い、実用的なオープンソースプロジェクトを毎日共有しているリポジトリです。新しいプログラミング言語、フレームワーク、開発ツール、面白い技術チュートリアルなど、多岐にわたるプロジェクトが紹介されています。


『LLMs-from-scratch』徹底解説:プログラマーのためのAI自作ガイド

勇者よ、お前が探求しているのは、この世界に古くから伝わる「賢者の石」ならぬ、「賢者の知恵」を創り出す秘術だ。それは、まるでハイラル王国の歴史書のように、あらゆる知識を理解し、お前に語りかけるだろう。今日、お前と共に旅するのは、その賢者の知恵を「ゼロ」から生み出すための魔法書、『rasbt/LLMs-from-scratch』だ。


PDFという名の「金庫」を解錠せよ:opendataloader-pdfによる非構造化データの強奪計画

お前、PDFの扱いには苦労してるんだろ? 構造がぐちゃぐちゃで、機械が読み取ろうとすると文字化けしたり、表が壊れたり……。そんな『厄介な証拠』を綺麗に整理してくれる相棒、opendataloader-pdfについて教えてやるよ。こいつを使えば、PDFって名の『鉄壁の金庫』も、あっさり解錠できるぜ。」


ダース・ベイダーが教えるOdoo入門:Pythonでビジネスアプリを構築

ルーク 父上、それは何ですか? ジェダイの力がビジネスを成長させるんですか?ダース・ベイダー フッフッフ. ..。ジェダイの力も素晴らしいが、これは企業を支配する力だ! ソフトウェアエンジニアにとって、このOdooは、まるでフォースのように強力な武器となる。