- Basit karakter tanımanın ötesine geçen, belgenin tamamını Markdown yapısına dönüştüren yüksek performanslı bir image-to-Markdown OCR modeli
- Matematiksel ifadeleri LaTeX biçimine dönüştürür, görsellere otomatik açıklamalar ekler ve tabloları HTML/Markdown tablo olarak çıkararak LLM kullanımı için optimize edilmiş çıktılar üretir
- İmza, filigran, onay kutusu gibi öğeleri tanıyarak bunları
<signature>, <watermark>, ☐/☑ biçimlerine dönüştürmesi gibi belge bileşenlerine özel işleme yeteneği çok güçlüdür
- Hugging Face’in Transformers veya vLLM sunucusu üzerinden kolayca kullanılabilir;
docext kütüphanesiyle web uygulaması biçiminde de kullanılabilir
- Farklı belge türleri ve karmaşık yerleşimler için doğruluk ve yapılandırma seviyesi çok yüksek olduğundan sözleşme, form, rapor gibi belgelerde çok kullanışlıdır
Projeye genel bakış ve önemi
- Nanonets-OCR-s, genel amaçlı OCR (optik karakter tanıma) işlevinin ötesine geçerek belgenin anlamını ve yapısını analiz eden ve sonucu Markdown formatında veren yenilikçi bir modeldir
- Formüller, görseller, tablolar, onay kutuları, imzalar ve filigranları ayrı ayrı ayırt eder; bunları anlamlı etiketleme ve gösterim biçimleriyle (LaTeX, HTML, Markdown vb.) dönüştürerek downstream işler veya LLM (büyük dil modeli) tabanlı belge işleme için uygun bir biçimde sunar
- Mevcut açık kaynak OCR projeleriyle karşılaştırıldığında, karmaşık belge yapıları ve çeşitli semantik öğelerin çıkarımında daha yüksek performans ve otomatik iş akışı uygulama potansiyeli gösterir
- Qwen2.5-VL-3B-Instruct modelinin fine-tune edilmiş bir sürümüdür; çeşitli belge bileşenlerini tanımlar ve anlamlı işaretlemelerle etiketler
Temel özellikler
- LaTeX formül tanıma
- Belgede yer alan denklem ve matematiksel formülleri, inline(
$...$) veya display($$...$$) türüne göre otomatik olarak LaTeX sözdizimine dönüştürüp üretir
- Akıllı görsel açıklamaları
- Her görsel için,
<img> etiketi içinde görselin türünü, stilini ve içeriğini ayrıntılı biçimde açıklar
- Logo, çizelge, grafik gibi çeşitli görselleri de bağlamı ve anlamıyla birlikte açıklayarak LLM kullanımına uygun girdilere dönüştürür
- İmza tespiti ve ayrıştırma
- İmza görsellerini metinden ayırır ve ayrı bir
<signature> etiketi içinde işler
- Hukuki ve iş belgelerinin otomatik işlenmesinde yüksek kullanım değeri taşır
- Filigran çıkarımı
- Belgeye eklenmiş filigran metnini algılar ve bunu
<watermark> etiketi içinde ayrı olarak düzenler
- Onay kutusu ve radyo düğmesi dönüşümü
-
- ☐ (işaretlenmemiş), ☑ (işaretli), ☒ (reddedildi) biçiminde standart Unicode sembolleriyle çıktı verir
- Anket, başvuru formu gibi form türü belgelerin işlenmesinde güvenilirliği artırır
- Karmaşık tablo yapısı çıkarımı
- Karmaşık tabloları da Markdown ve HTML tablo biçimine dönüştürerek yüksek kullanılabilirlik sağlar
Başlıca kullanım şekilleri
Python kod örneği
- Hugging Face’in transformers kütüphanesi kullanılarak model kolayca yüklenip çalıştırılabilir
- Görsel girdi olarak verildiğinde; metin, tablo, formül, görsel açıklaması, filigran gibi öğeleri yapılandırılmış Markdown biçiminde sonuç olarak sunar
- Sayfa numarası veya filigranlar
, gibi yapılarla sarılarak ayrıştırılır
- Onay kutuları Unicode sembolleri (☐, ☑) olarak üretilir
vLLM tabanlı kullanım
- Model vLLM sunucusuna kaydedilip OpenAI uyumlu API üzerinden kolayca erişilip kullanılabilir
- Görsel girişi verildiğinde; metin, tablo, formül, filigran gibi öğeleri tutarlı bir biçimde dönüştürülmüş çıktı olarak sunar
docext paketi kullanımı
docext adlı ayrı bir paket aracılığıyla, yalnızca ek bir komut çalıştırarak Nanonets-OCR-s doğrudan belge yapılandırma işlerinde kullanılabilir
- GitHub belgelerine başvurulabilir
2 yorum
Hacker News görüşleri
Nanonets'te çalışıyorum ve 3B ölçekli bir VLM modeli olan Nanonets-OCR-s'i yayımladığımız için gerçekten çok heyecanlıyım
Bu model, belgeleri temiz ve yapılandırılmış Markdown'a dönüştürmek için optimize edilmiş hafif bir modeldir
Belgenin yapısını ve bağlamını öğrendiği için bunu yapabiliyor (tablolar, formüller, görseller, diyagramlar, filigranlar, onay kutuları vb.)
Başlıca özellikleri arasında LaTeX formül tanıma (satır içi ve blok formülleri doğru ayırıp dönüştürme), yerleşik görsel açıklamaları (
imgetiketi kullanarak, grafik/logo/diyagram vb. desteğiyle), imza tespiti ve ayrıştırma (signaturebloğu içinde çıktı), filigran çıkarımı (watermarketiketiyle kaydetme), akıllı onay kutusu/radyo düğmesi işleme (Unicode dönüşümüyle son işleme güvenilirliğini artırma), karmaşık tablo yapısı çıkarımı (çok satırlı/sütunlu tabloları Markdown ve HTML olarak iyi çıktı verme) bulunuyorKendiniz denemek isterseniz Huggingface veya Docext Colab'a bakabilirsiniz
Docext için doğru bağlantı README.md
Kullandığınız LLM'de halüsinasyon ortaya çıkıp çıkmadığını merak ediyorum
Görsellerin kendisini çıkarabiliyor mu, yoksa hâlâ ayrı bir çıkarım süreci mi gerekiyor, merak ediyorum
Restoran menüsü fotoğraflarını veya PDF'lerini bir JSON şemasına göre ayrıştırmak için (muhtemelen son işleme LLM'inin de yardımıyla) kullanılabilir mi, yoksa büyük multimodal LLM'ler bu kullanım için daha mı uygun, merak ediyorum
Shipibo (Peru yerli dili)-İspanyolca sözlüğünü İngilizce sözlüğe çevirmek için birkaç LLM denedim ama iki sütun, garip satır sonları ve tanımlarda Shipibo ile İspanyolcanın karışık olması nedeniyle anlamakta zorlandılar
Üstelik tarama kalitesi de iyi değil
Sanırım bu modeli denemeliyim
On yıllardır Word ve PowerPoint'te saklanan materyallerin tamamını alıp, her bir öğeyi başka formatlarda yeniden kullanılabilecek şekilde standartlaştırılmış bir biçime dönüştüren bir çözüm arıyordum
Bu, o sistemi kurmak için kesinlikle gerekli olan temel yapı taşlarından biri
Artık bir arşiv veya geçmiş özelliğine de ihtiyaç var; yani her öğeyi kolayca arşivleyip geri çağırabilmek harika olurdu
Gerçekten harika iş
unoconvveyapandocile temel dönüşümü yapıp, ardından LLM kullanarak düz metni temizleme yaklaşımıyla başlamanın daha basit olup olmayacağı yönünde bir görüşBu tür modellerin yalnızca Markdown'ı hedeflemesi üzücü
Aslında Markdown'ın birçok sürümü var ve dipnotlar, kaynakçalar, görseller vb. için desteği zayıf
Daha yapısal ve daha net bir spesifikasyona sahip bir formata ihtiyaç var
Aslında modeli, Markdown'a dönüştürürken aynı anda semantik etiketleme yapacak şekilde eğittik
Örneğin formülleri LaTeX olarak çıkarıyor, görselleri (diyagram, şekil vb.)
imgetiketiyle ayrıntılı biçimde açıklıyorsignature,watermark, sayfa numarası gibi öğelerde de etiket kullanıyorKarmaşık tabloları (çok satır/sütun) ise Markdown yerine HTML tablo olarak çıkarıyor
"Yapılandırılmış Markdown" fikri beni LLM OCR modelinin kendisinden daha fazla heyecanlandırmıştı, ama sonuçta bu daha çok belirli öğelere etiket ekleme düzeyinde kalıyor gibi; bu yüzden model dışındaki kullanım alanı biraz sınırlı hissettiriyor
docling(https://github.com/docling-project/docling) ile karşılaştırıldığında artıları ve eksileri neler, merak ediyorum
Datalab/Marker(https://github.com/datalab-to/marker) ile farkı nedir, merak ediyorum
Birçok PDF->MD dönüştürücüyü karşılaştırdım ve şu ana kadar Marker en iyisiydi, ama kusursuz değil
Kişisel deneyimime göre, karmaşık formüllerle kodun iç içe geçtiği makaleleri dönüştürmede Marker oldukça iyi iş görüyor
Örneğin Fortran ters Laplace dönüşümü üzerine bir makalede, satır içi/gösterim formülleri ile monospace kod bloklarının bir arada olduğu bir sayfayı Marker ile işlersem, satır içi
$\sigma_0$ifadesi"<sup>s</sup> 0",$f(t)$ise"<i>f~</i>~t*!"gibi bozuluyorBu modelin güçlü yanı, bu tür kısımları dahili olarak doğru üretmesi
Referans ekran görüntüsü(https://imgur.com/a/Q7UYIfW)
Kendi çapraz karşılaştırmama yeni başladım; aday listesini paylaşabilirsen gerçekten minnettar olurum
Bu modeli PowerShell ile her yerde PDF'lere uygulayan bir betik yazdım
Bizzat denedim; GPU'm (1080 8GB) eski olduğu için çalışma hızı oldukça yavaş (sayfa başına en az 5 dakika)
Harici GPU destekli Cloud Run üzerinde çalışan bir PDF to markdown dönüştürme aracını denemek isterseniz haber verin
Tamamlandığında bağlantıyı da paylaşacağım
Az önce Cloud Run üzerinde çalıştırdım ve örnek sonuçları rapor ediyorum
animate.pdf'in bir kısmındaki sonuçlara bakınca; başlık, yazar, yayınevi, siyah-beyaz illüstrasyonlar (
imgetiketiyle açıklanmış) ve Google dijitalleştirme etiketi iyi çıkarılmışİçindekiler de tablo biçiminde kusursuz şekilde çıkarılmış görünüyor
Yavaş olması dışında işlevsellik ve doğruluk açısından çok memnunum
Cloud Run kullanan bu PDF to markdown hizmetiyle çok ilgileniyorum
Çok sütunlu veya çok satırlı tablolar içeren belgeleri (örnek: bu PDF'in 1. sayfasındaki rowspan, 29. sayfasındaki colspan gibi) nasıl işlediğini merak ediyorum
İngilizce dışı metinleri tanıma performansı nasıl, merak ediyorum
Mevcut LLM tabanlı OCR'lerin yabancı dil desteğinin geleneksel OCR'den çok daha zayıf olduğunu biliyorum
Benim deneyimime göre Google Translate ve ChatGPT'yi doğrudan görseller üzerinde kullandığınızda, ChatGPT'nin performansı her zaman daha iyi
Özellikle Japonca el yazısı menülerde çeviri ve açıklamayı da gayet iyi yapıyor
Çok dilli destekten söz etmeyen modeller, gerçek hayatta İngilizce olmayan PDF'lerde çok zayıf performans gösteriyor
Ayrıca temel model (Qwen-2.5-VL-3B) çok dilli
Reddit'te Çince'de de iyi çalıştığını söyleyen bir gönderi görmüştüm (bağlantı)
Korece kart fişi örneğiyle denedim; hızı yavaş ama kusursuz şekilde okuyor gibi görünüyor