以下のシナリオの解決策を提案できますか?
レストランのメニューを取り揃えております。各レストランには独自のメニューがあります。目標は、メニュー項目、トッピング、価格などのメニュー内の要素を特定し、データベースを更新することです。
Fox の例: レストランのメニューには、「サンドイッチ」というグループの下に「チキン」、「ベジタリアン」などのメニュー項目を含めることができます。
そのために、OCR の Java 実装を使用する予定です。これはうまくいくでしょうか?
PDFを画像に変換し(javacvなどを使用)、tesseractまたはtess4jを使用してOCRします。これは永続的な解決策でも最善の解決策でもありませんが、うまく機能します。
コード内でOCRを使用したい場合は、ネイティブ開発でTessrect-OCRを使用できます。これは、迅速な出力を備えた非常に強力なライブラリです。このリンクは、Tessrectのラッパークラス用です。 one).これは Google で使用されているものと同じライブラリであり、複数の言語サポートを追加することもできます。
PDF を入力してから使用する場合は、これを行う必要はありません。PDFを読むだけです(以下を参照)。ただし、PDF (テキストではなく画像) をスキャンする場合は、OCR に頼る必要があります。
ファイルから PDF を読み取るには、 iTextやPDFBoxなどを使用できます。
興味深いプロジェクト!Java またはその他の言語の場合、OCR は必要なものに対して十分に正確ではないと思います。メニューは非標準のフォントで印刷されることが多く、OCR ですべての単語を正確に読み取ることが困難な背景画像が含まれていることもあります。次に、フォーマットの課題があります。一部のメニューでは、チキン、ベジタリアン、ビーフごとに内容が整理されている場合があります。その他には、軽食、前菜、前菜、小皿料理などのカテゴリがあります。
これは、実際のデータ エンジニアリングの課題だと思います。メニューは階層的に見えますが、実際の構造は非常に柔軟で、メニューごとに大きく異なります。この混乱に OCR を追加すると、この混乱全体にタイプミスが追加されます。実際に Chicen または Cichen または (h1ckn.
たぶん、私は本当に優れた OCR ソフトウェアを使ったことがなく、実際には存在しない問題を想像しています。ほとんどのレストランはコンピューターでメニューを入力しているので、それらのファイルをあなたと共有してもらう方がよいと思います。