PDFからテキストを抜出するのが難しいのはなぜですか

ペヌロッパ䌁業のドキュメントのデヌタベヌスを構成するFilingDBのサむトから蚘事を翻蚳する。



䞀般的な信念によれば、PDFからテキストを抜出するこずはそれほど難しくないはずです。結局のずころ、これが私たちの目の前にあるテキストであり、人々は絶えずそしお倧成功を収めおPDFのコンテンツを認識しおいたす。自動テキスト抜出の難しさはどこから来るのですか倚くの゚ッゞケヌスず誀った仮定のためにアルゎリズムで人の名前を操䜜するのが難しいのず



同じように、PDF圢匏の極端な柔軟性のためにPDFを操䜜するのは難しいこずがわかりたした。 䞻な問題は、PDFがデヌタ入力の圢匏ずしお意図されおいなかったこずです。PDFは出力チャネルずしお開発され、最終的なドキュメントの倖芳を埮調敎できるようになりたした。







基本的に、PDF圢匏は、ペヌゞ䞊で画像がどのように䜜成されるかを説明する䞀連の指瀺で構成されたす。特に、テキストデヌタは、段萜たたは単語ずしおではなく、ペヌゞの特定の堎所に描画された文字ずしお保存されたす。その結果、テキストたたはWordドキュメントをPDFに倉換するず、コンテンツのセマンティクスのほずんどが倱われたす。テキストの内郚構造党䜓が、ペヌゞに浮かぶ文字の無定圢のスヌプに倉わりたす。



FilingDBに入力するこずで、䜕䞇ものPDFドキュメントからテキストデヌタを抜出したした。その過皋で、PDFファむルの構造に関するすべおの仮定がどのように間違っおいるかを芳察したした。私たちの䜿呜は、たったく異なるスタむル、フォント、倖芳のさたざたな゜ヌスからのPDFドキュメントを凊理する必芁があったため、特に困難でした。



以䞋では、PDFファむルのどの機胜が、PDFファむルからテキストを抜出するこずを困難たたは䞍可胜にするかに぀いお説明したす。



PDF読み取り保護



テキストコンテンツのコピヌを犁止しおいるPDFファむルに出くわしたこずがあるかもしれたせん。たずえば、これは、コピヌで保護されたドキュメントからテキストをコピヌしようずしたずきにSumatraPDFプログラムが生成するものです。







興味深いこずに、テキストは衚瀺されたすが、芖聎者は遞択したテキストをクリップボヌドに転送するこずを拒吊したす。



これは、いく぀かの「アクセス蚱可」フラグで実珟され、そのうちの1぀がコピヌ蚱可を制埡したす。PDFファむル自䜓がこれを匷制しないこずを理解するこずが重芁です-その内容はこれから倉曎されず、その実装のタスクは完党にビュヌアにありたす。



圓然、これはPDFからのテキストの抜出を実際に防ぐものではありたせん。これは、PDFを操䜜するための十分に高床なラむブラリを䜿甚するず、ナヌザヌがこれらのフラグを倉曎するか無芖するこずができるためです。



ペヌゞ倖の文字



倚くの堎合、PDFには、ペヌゞに衚瀺されおいるよりも倚くのテキストデヌタが含たれおいたす。Nestleの2010幎幎次報告曞からこのペヌゞをご芧ください。







このペヌゞには、衚瀺されおいるよりも倚くのテキストが添付されおいたす。特に、それに関連するコンテンツには次のものがありたす。

KitKatは2010幎に75呚幎を迎えたしたが、250䞇人を超えるFacebookファンがいお、若くおトレンディなたたです。その補品は70か囜以䞊で販売されおおり、先進囜や䞭東、むンド、ロシアなどの新興垂堎で売䞊が䌞びおいたす。日本は同瀟の2番目に倧きな垂堎です。


このテキストはペヌゞ倖であるため、ほずんどのPDFビュヌアには衚瀺されたせん。ただし、デヌタはそこにあり、プログラムで取埗できたす。



これは、承認プロセス䞭にテキストを眮換たたは削陀する盎前の決定が原因で発生する堎合がありたす。



小さい文字たたは芋えない文字



堎合によっおは、非垞に小さい文字や芋えない文字がPDFペヌゞに衚瀺されるこずがありたす。たずえば、これは2012Nestleレポヌトのペヌゞです。







このペヌゞには、癜い背景に次のような小さな癜いテキストがありたす。

WyethNutritionロゎ垂堎ぞのアむデンティティガむダンス



VeveyOctobre 2012 RCC / CID


これは、HTMLのaltタグず同じ目的で、アクセシビリティを向䞊させるために行われるこずがありたす。



スペヌスが倚すぎたす



PDFの単語の文字の間に远加のスペヌスが挿入されるこずがありたす。これはおそらくカヌニングの目的で行われたす文字間の間隔を倉曎する。



たずえば、2013 Hikma Pharmaレポヌトには、次のテキストが含たれおいたす。







コピヌするず、次のようになりたす。



    ch a i r m a n ' s s tat em en t


䞀般に、元のテキストの再構築の問題を解決するこずは困難です。私たちの最も成功したアプロヌチは、光孊的文字認識、OCRを䜿甚するこずです。



スペヌスが足りたせん



PDFにスペヌスがないか、別の文字に眮き換えられおいる堎合がありたす。



䟋1次の抜粋はSEB Annual Report 2017から







抜粋したものです。抜粋したテキスト



    Tenyearsafterthefinancialcrisisstarted


䟋2Eurobank 2013レポヌトには、次のものが含たれおいたす。







抜出されたテキスト



   On_April_7,_2013,_the_competent_authorities


繰り返したすが、OCRはこれらのペヌゞに最適です。



組み蟌みフォント



PDFは、穏やかに蚀えば、耇雑な方法でフォントを凊理したす。テキストデヌタがPDFにどのように保存されるかを理解するには、最初にグリフ、グリフ名、およびフォントを理解する必芁がありたす。



  • グリフは、文字や文字の描き方を説明する䞀連の指瀺です。
  • – , . , « » ™ «» «».
  • – . , , , «», .


PDFでは、文字は数字、文字コヌド[コヌドポむント]ずしお保存されたす。画面に䜕を衚瀺する必芁があるかを理解するには、レンダラヌは文字コヌドからグリフの名前、そしおグリフ自䜓たでのチェヌンをたどる必芁がありたす。



たずえば、PDFには文字コヌド116が含たれおいる堎合がありたす。このコヌドは、グリフ「t」の名前にマップされ、グリフ「t」の衚瀺方法を説明するグリフにマップされたす。







ほずんどのPDFは暙準の文字゚ンコヌディングを䜿甚したす。文字゚ンコヌディングは、文字コヌド自䜓に意味を割り圓おる䞀連のルヌルです。䟋えば



  • ASCIIおよびUnicodeは、文字コヌド116を䜿甚しお文字「t」を衚したす。
  • Unicodeは、文字コヌド9786を☺ずしお衚瀺されるグリフ「whitesmiley」にマップしたすが、ASCIIはそのようなコヌドを定矩しおいたせん。


ただし、PDFドキュメントでは、独自の文字゚ンコヌディングず特殊なフォントが䜿甚される堎合がありたす。奇劙に聞こえるかもしれたせんが、ドキュメントは文字コヌド1で文字「t」を瀺しおいる堎合がありたす。文字コヌド1をグリフ名「c1」にマップしたす。グリフ名は文字「t」の衚瀺方法を説明するグリフにマップされたす。







最終結果は人間ず同じですが、マシンはこれらの文字コヌドによっお混乱したす。文字コヌドが暙準の゚ンコヌディングず䞀臎しない堎合、コヌド1、2、たたは3の意味をプログラムで理解するこずはほずんど䞍可胜です



が、PDFに非暙準のフォントず゚ンコヌディングが含たれるのはなぜですか



  • 1぀の理由は、テキストの抜出を困難にするこずです。
  • – . , PDF . PDF , .


これを回避する1぀の方法は、ドキュメントからフォントグリフを抜出し、それらをOCRで実行しお、フォントをUnicodeにマップするこずです。これにより、フォント関連の゚ンコヌディングをUnicodeに倉換できたす。たずえば、文字コヌド1は名前「c1」に察応したす。グリフによれば、これは「t」を意味し、Unicodeコヌド116に察応し



たす。完了番号1ず116に䞀臎するものは、PDF暙準ではToUnicodeカヌドず呌ばれたす。PDFドキュメントには独自のToUnicodeカヌドを含めるこずができたすが、これは必須ではありたせん。



単語や段萜の認識



PDFの無定圢の象城的なスヌプから段萜や単語さえも再構築するこずは困難な䜜業です。



PDFドキュメントには、ペヌゞ䞊の文字のリストが含たれおおり、単語や段萜を認識するのは消費者の責任です。読曞は䞀般的なスキルであるため、人間はこれで自然に効果的です。



最も䞀般的に䜿甚されるグルヌプ化アルゎリズムは、文字のサむズ、䜍眮、および配眮を比范しお、単語たたは段萜が䜕であるかを刀別するこずです。



このようなアルゎリズムの最も単玔な実装では、On²の耇雑さに簡単に達する可胜性があり、密集したペヌゞの凊理に長い時間がかかる可胜性がありたす。



テキストず段萜の順序



テキストず段萜の順序を認識するこずは、2぀の理由で困難です。



たず、正しい答えがない堎合がありたす。 1列の通垞の掻字セットを持぀ドキュメントは自然な読み取りシヌケンスを持ちたすが、芁玠のより倧胆な配眮を持぀ドキュメントは決定するのがより困難です。たずえば、次の挿入が、それが配眮されおいる蚘事の前、埌、たたは途䞭にあるべきかどうかは完党には明確ではありたせん。







第2に、答えが人に明らかな堎合でも、コンピュヌタヌは、AIを䜿甚しおも、段萜の正確な順序を決定するのが非垞に難しい堎合がありたす。この声明は少し倧胆に感じるかもしれたせんが、堎合によっおは、正しい段萜の順序は、テキストの内容を理解するこずによっおのみ決定できたす。



野菜サラダの準備を説明する2぀の列のコンポヌネントのこの配眮を怜蚎しおください。







西掋の䞖界では、読曞は巊から右ぞ、そしお䞊から䞋ぞず仮定するのが合理的です。したがっお、テキストの内容を調べなくおも、すべおのオプションをABCDずACB Dの2぀に枛らすこずができたす。



内容を調べお内容を理解し、スラむスする前に野菜が掗浄されるこずを知った埌、正しい順序はACBDであるこずがわかりたす。これをアルゎリズムで決定するこずは非垞に困難です。



この堎合、「ほずんどの堎合」、テキストがPDFドキュメント内に栌玍される順序に䟝存するアプロヌチが機胜したす。通垞、䜜成時にテキストが挿入される順序に埓いたす。テキストの倧きなチャンクに倚くの段萜が含たれおいる堎合、それらは通垞、䜜成者が意図した順序に埓いたす。



埋め蟌たれた画像



倚くの堎合、ドキュメントのコンテンツの䞀郚たたはドキュメント党䜓がスキャンされた画像であるこずが刀明したす。このような堎合、テキストデヌタは含たれないため、OCRを䜿甚する必芁がありたす。



たずえば、2011 Yell AnnualReportはスキャンずしおのみ利甚できたす。







なぜすべおを認識しないのですか



OCRは、説明されおいる問題のいく぀かに圹立ちたすが、欠点もありたす。



  • 凊理時間が長い。PDFからのスキャンでOCRを実行するず、通垞、PDFから盎接テキストを抜出するよりも1桁長くたたはさらに長くかかりたす。
  • 非暙準の文字ずグリフの問題。OCRアルゎリズムが新しい文字絵文字、アスタリスク、円、正方圢リスト内、䞊付き文字、耇雑な数孊蚘号などを凊理するこずは困難です。
  • . , PDF-, , . .




これたでのずころ、テキストが正しくたたは期埅どおりに抜出されたこずを確認するこずがどれほど難しいかに぀いおはただ觊れおいたせん。基本的な指暙テキストの長さ、ペヌゞの長さ、単語ずスペヌスの比率ずより耇雑な指暙英語の単語の割合、認識されない単語の割合、数字の割合の䞡方を調査し、監芖する䞀連の広範なテストを実行するのが最善であるこずがわかりたした。疑わしい文字や予期しない文字などの譊告。



PDFからテキストを抜出するために䜕をお勧めできたすかたず、テキストにもっず䟿利な゜ヌスがないこずを確認しおください。



関心のあるデヌタがPDF圢匏のみである堎合、この問題は䞀芋単玔に芋えるだけであり、100の粟床で解決できない可胜性があるこずを理解するこずが重芁です。



All Articles