20
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KDDIアジャイル開発センター(KAG)Advent Calendar 2024

Day 24

Markdown化の性能に関して、MarkItDownとDocument Intelligenceを比較してみた

Last updated at Posted at 2024-12-23

はじめに

microsoftがMarkItDownというツールを公開しました。
https://github.com/microsoft/markitdown

MarkItDownは、pptxやxlsxなどをmakrdownに変換することができ、RAGなどに活用できそうです。

ところで、同じくmicrosoftが提供するAzureのDocument Intelligenceにも、同じようにmarkdown形式にする機能があることはご存知でしょうか?

そこで、今回はMarkItDownとDocument Intelligenceの性能を比較してみたいと思います。
なお、それぞれの環境構築や実行方法はここでは取り扱いません。知りたい方は以下の記事をご覧ください。

MarkItDown

多様な形式のファイルを Markdown に変換できるMicrosoft 提供の MarkItDown を試してみた #Python - Qiita

Microsoft の「MarkItDown」で Officeファイルを Markdownファイルに変換【Python】 #office - Qiita

Document Intelligence

【最新】Azure AI Document Intelligence による文書構造の解析(Markdown、図、セクション) #AzureAISearch - Qiita

Azure Document Intelligenceのレイアウトモデルを使ってPDFをMarkdownに変換しRAG用にセマンティックチャンキングを試す #langchain - Qiita

目次

検証

検証概要

  • 取り扱う拡張子は、pdf docx xlsx pptx
  • 画像は、言語モデルを指定すればできるらしいが、今回は未検証
  • 各拡張子ごとに、MarkItDownとDocument IntelligenceのOCR結果を比較して検証

pdf

扱うデータ

Webサイト等の整備及び廃止に係るドメイン管理ガイドライン
同じ内容でもpdfとdocxで差が出るかも見たいので、pdfとdocxで同じ内容のものを扱います。

MarkItDown

微妙ですね。文字起こしはできていますが、目次が崩れていたり見出しがつけられていなかったりで、うまく構造化できていません。

image.png

image.png

DocumentIntelligence

表部分含めてある程度はうまく構造化できていそうですが、一部表形式でミスがあります。(本来表1-1は1つなのに、2つに分裂している。)

image.png

image.png

総評

  • MarkItDownは複雑なpdfにはあまり強くなさそう
    • 簡単な構造ならMarkItDownで十分だと思われる
  • DocumentIntelligenceはpdfに強そう

docx

扱うデータ

pdfと同じです。
Webサイト等の整備及び廃止に係るドメイン管理ガイドライン

MarkItDown

pdfの時とは違い、表形式含めかなり綺麗に構造化できています。

image.png

image.png

ここで気づいたのですが、MarkItDownはリンクも紐づけできるみたいです。
このdocxは以下のように謎のリンクが発行されていてジャンプできませんでしたが...

目次

[1 はじめに 2](#_Toc509578839)

[1.1 背景と目的 2](#_Toc509578840)

[1.2 適用対象 2](#_Toc509578841)

[1.3 位置づけ 3](#_Toc509578842)

[1.4 用語 3](#_Toc509578843)

[2 具体的なドメイン管理方法 4](#_Toc509578844)

[2.1 基本原則 4](#_Toc509578845)

Document Intelligence

こちらも、pdfの時よりも高精度になっているように見えます。表もpdfの時のミスがなくなっていますね。
構造化の精度はMarkItDownとあまり変わらないように見えます。
ただ、MarkItDownと違ってハイパーリンクは発行されません。

image.png
image.png

総評

  • どちらともdocx形式の方がpdf形式より精度がいい
  • docxに関しては、どちらも同じくらい精度がいい

xlsx

(ODA) 2022年版開発協力白書図表(Excel版)
こういう機械可読ではないxlsxはどうなるか
image.png

MarkItDown

シートごとに見出しがついています。カラム名は崩れていますが、表形式の体裁は保てていますね。
実はMarkItDownのソースコードを読んだ段階でこんな感じになることは予想していました。
pd.read_excelで読み込んだものをhtml形式にしているだけなので、カラムなどをよしなにしてくれるわけではないです。(2024/12/24現在)

image.png
image.png

Document Intelligence

表形式になりません。そもそもDocument Intelligenceはxlsxを表形式にできないのでこうなります。どうしても読ませたい場合は、xlsxをpdfに変換してそれをmarkdownにするのが一番いいと思います。
(microsoftのサービスなのになぜ...)
参考: Document Intelligence ファイル形式別 解析性能徹底検証!

image.png

総評

  • MarkItDownはxlsxを表形式に読み取れるが、カラムなどはうまく読み取れない
  • Document Intelligenceはそもそもxlsxを表形式に読み取れない

pptx

オープンデータ基本指針の概要
こんな感じの典型的な官公庁スライドをどこまで構造化できるか

image.png

MarkItDown

ただ内容を列挙しているだけのように見えますね。特に構造化はしていなさそうです。
順番も、例えば「オープンデータの意義」や「オープンデータの定義」などの見出しが下に来ちゃっています。
(markdown形式だと逆に見づらかったので、生のデータを画像化してます。)
image.png

Document Intelligence

こちらも、MarkItDownと同様、内容を列挙してるだけで、構造化はできていません。
順番も、MarkItDownと同様に見出しが後ろに来てます。
image.png

おまけ
ちなみに、このpptxを画像化してからDocument Intelligenceに流すといい感じに構造化してくれます。
image.png

総評

  • どちらも精度としては微妙
  • 画像にしてDocument Intelligenceに読み取らせる方が精度がいい

まとめ

  • Document Intelligenceはpdfが強い
  • MarkItDownはxlsxがそこそこ
    • ただし機械可読な場合限定で、excel文書みたいなのは無理そう
  • pptxはどちらも微妙
  • docxはどちらも良さそう

表形式にまとめるとこんな感じになります。

MarkItDown Document Intelligence
pdf
docx
xlsx △~◯
pptx

考察

現時点では、MarkItDownはこれ一本でなんでもできるっていうレベルには達してない用に思えます。
もしRAGなどで運用する場合、拡張子別に考えると以下のようにするのが良さそうです。

  • xlsx: pdfに変換してからDocument Intelligenceで読む
  • pdf: Document Intelligenceで読む
  • pptx: 画像にしてDocumente Intelligenceで読む
  • docx: どちらでも可

xlsxはDocument Intelligenceよりは性能良さそうですが、そもそも内部ではpandasで読んでるだけなので、普通に直接pandasを使うか、もっと自由度の高いopenpyxlなどを使う方がベターだと思います。

今後の展望

MarkItDownはまだ出たばかりなので、今後のアップデートに期待ですね。
Document Intelligenceは早くxlsxを読み取れるようにしてほしい...

20
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?