الإنجليزية | 简体中文
PDF-Extract-Kit: مجموعة أدوات استخراج PDF عالية الجودة؟؟؟
؟ انضم إلينا على Discord وWeChat
2024/10/31 تم إصدار 0.9.0. يعد هذا إصدارًا جديدًا رئيسيًا يتضمن إعادة هيكلة شاملة للتعليمات البرمجية، ويعالج العديد من المشكلات، ويحسن الأداء، ويقلل متطلبات الأجهزة، ويعزز سهولة الاستخدام:
تمت إضافة نموذج doclayout_yolo
الذي تم تطويره ذاتيًا، والذي يعمل على تسريع المعالجة بأكثر من 10 مرات مقارنة بالحل الأصلي مع الحفاظ على تأثيرات التحليل المماثلة، ويمكن تبديله بحرية باستخدام layoutlmv3
عبر ملف التكوين.
تمت ترقية تحليل الصيغة إلى unimernet 0.2.1
، مما أدى إلى تحسين دقة تحليل الصيغة مع تقليل استخدام الذاكرة بشكل كبير.
بسبب التغيير في مستودع PDF-Extract-Kit 1.0
، تحتاج إلى إعادة تنزيل النموذج. يرجى الرجوع إلى كيفية تنزيل النماذج للحصول على خطوات تفصيلية.
تمت إعادة هيكلة رمز وحدة الفرز لاستخدام قارئ التخطيط لقراءة فرز الطلبات، مما يضمن دقة عالية في التخطيطات المختلفة.
تمت إعادة هيكلة وحدة تسلسل الفقرات لتحقيق نتائج جيدة في سيناريوهات الأعمدة والصفحات والأرقام والجداول المشتركة.
تمت إعادة هيكلة وظائف التعرف على قائمة وجدول المحتويات، مما أدى إلى تحسين كبير في دقة كتل القائمة وكتل جدول المحتويات، بالإضافة إلى تحليل فقرات النص المقابلة.
تمت إعادة صياغة منطق المطابقة للأشكال والجداول والنص الوصفي، مما أدى إلى تحسين كبير في دقة مطابقة التسميات التوضيحية والحواشي السفلية مع الأشكال والجداول، وتقليل معدل فقدان النص الوصفي إلى الصفر تقريبًا.
تمت إضافة دعم متعدد اللغات لـ OCR، مما يدعم اكتشاف 84 لغة والتعرف عليها. للحصول على قائمة اللغات المدعومة، راجع قائمة دعم لغة OCR.
تمت إضافة منطق إعادة تدوير الذاكرة وإجراءات تحسين الذاكرة الأخرى، مما يقلل بشكل كبير من استخدام الذاكرة. تم تقليل متطلبات الذاكرة لتمكين جميع ميزات التسريع باستثناء تسريع الجدول (التخطيط/الصيغة/التعرف الضوئي على الحروف) من 16 جيجابايت إلى 8 جيجابايت، كما تم تقليل متطلبات الذاكرة لتمكين جميع ميزات التسريع من 24 جيجابايت إلى 10 جيجابايت.
مفاتيح تبديل ميزات ملف التكوين المحسنة، وإضافة مفتاح مستقل للكشف عن الصيغة لتحسين السرعة بشكل ملحوظ وتحليل النتائج عندما لا تكون هناك حاجة لاكتشاف الصيغة.
مجموعة استخراج PDF المتكاملة 1.0:
2024/09/27 تم إصدار الإصدار 0.8.1 وإصلاح بعض الأخطاء وتوفير نسخة نشر مترجمة للعرض التوضيحي عبر الإنترنت والواجهة الأمامية.
2024/09/09: تم إصدار الإصدار 0.8.0، الذي يدعم النشر السريع باستخدام Dockerfile، وإطلاق العروض التوضيحية على Huggingface وModelscope.
2024/08/30: تم إصدار الإصدار 0.7.1، وإضافة خيار التعرف على جدول مدير الجدول
2024/08/09: تم إصدار الإصدار 0.7.0b1، وتبسيط عملية التثبيت، وإضافة وظيفة التعرف على الجدول
2024/08/01: تم إصدار الإصدار 0.6.2b1، وتحسين مشكلات تعارض التبعية ووثائق التثبيت
2024/07/05: الإصدار الأولي مفتوح المصدر
مينر يو
سطر الأوامر
واجهة برمجة التطبيقات
نشر المشاريع المشتقة
دليل التطوير
العرض التوضيحي عبر الإنترنت
عرض سريع لوحدة المعالجة المركزية
باستخدام GPU
مقدمة المشروع
الميزات الرئيسية
بداية سريعة
الاستخدام
المهام
القضايا المعروفة
التعليمات
كل الشكر لمساهمينا
معلومات الترخيص
شكر وتقدير
الاقتباس
تاريخ النجوم
ماجيك دوك
ماجيك أتش تي أم أل
روابط
MinerU هي أداة تقوم بتحويل ملفات PDF إلى تنسيقات يمكن قراءتها آليًا (على سبيل المثال، markdown، JSON)، مما يسمح باستخراجها بسهولة إلى أي تنسيق. تم إنشاء MinerU أثناء عملية التدريب المسبق لـ InternLM. نحن نركز على حل مشكلات تحويل الرموز في الأدبيات العلمية ونأمل أن نساهم في التطور التكنولوجي في عصر النماذج الكبيرة. بالمقارنة مع المنتجات التجارية المعروفة، لا يزال MinerU صغيرًا. إذا واجهت أي مشكلات أو إذا لم تكن النتائج كما هو متوقع، فيرجى إرسال مشكلة حول المشكلة وإرفاق ملف PDF ذي الصلة .
pdf_zh_cn.mp4
قم بإزالة الرؤوس والتذييلات والحواشي السفلية وأرقام الصفحات وما إلى ذلك لضمان التماسك الدلالي.
إخراج النص بترتيب يمكن قراءته بواسطة الإنسان، ومناسب للتخطيطات ذات العمود الواحد، والمتعددة الأعمدة، والمعقدة.
الحفاظ على بنية الوثيقة الأصلية، بما في ذلك العناوين والفقرات والقوائم وما إلى ذلك.
استخراج الصور وأوصاف الصور والجداول وعناوين الجداول والحواشي السفلية.
التعرف تلقائيًا على الصيغ الموجودة في المستند وتحويلها إلى تنسيق LaTeX.
التعرف تلقائيًا على الجداول الموجودة في المستند وتحويلها إلى تنسيق LaTeX أو HTML.
اكتشاف ملفات PDF الممسوحة ضوئيًا وملفات PDF المشوهة تلقائيًا وتمكين وظيفة التعرف الضوئي على الحروف.
يدعم التعرف الضوئي على الحروف (OCR) الكشف والتعرف على 84 لغة.
يدعم تنسيقات إخراج متعددة، مثل الوسائط المتعددة وNLP Markdown وJSON المصنفة حسب ترتيب القراءة والتنسيقات المتوسطة الغنية.
يدعم نتائج التصور المتنوعة، بما في ذلك تصور التخطيط وتصور الامتداد، من أجل التأكيد الفعال لجودة المخرجات.
يدعم بيئات وحدة المعالجة المركزية ووحدة معالجة الرسومات.
متوافق مع منصات ويندوز، لينكس، وماك.
إذا واجهت أي مشاكل في التثبيت، يرجى مراجعة الأسئلة الشائعة أولاً.
إذا لم تكن نتائج التحليل كما هو متوقع، فارجع إلى المشكلات المعروفة.
هناك ثلاث طرق مختلفة لتجربة MinerU:
العرض التجريبي عبر الإنترنت (لا يتطلب التثبيت)
عرض توضيحي سريع لوحدة المعالجة المركزية (Windows وLinux وMac)
لينكس/ويندوز + كودا
لضمان استقرار وموثوقية المشروع، نقوم فقط بتحسين واختبار بيئات أجهزة وبرامج محددة أثناء التطوير. وهذا يضمن أن المستخدمين الذين يقومون بنشر المشروع وتشغيله على تكوينات النظام الموصى بها سيحصلون على أفضل أداء مع أقل عدد من مشكلات التوافق.
من خلال تركيز الموارد على البيئة الرئيسية، يمكن لفريقنا حل الأخطاء المحتملة بشكل أكثر كفاءة وتطوير ميزات جديدة.
في البيئات غير الرئيسية، ونظرًا لتنوع تكوينات الأجهزة والبرامج، فضلاً عن مشكلات التوافق مع تبعيات الطرف الثالث، لا يمكننا ضمان توفر المشروع بنسبة 100%. لذلك، بالنسبة للمستخدمين الذين يرغبون في استخدام هذا المشروع في بيئات غير موصى بها، نقترح قراءة الوثائق والأسئلة الشائعة بعناية أولاً. تحتوي معظم المشكلات بالفعل على حلول مقابلة في الأسئلة الشائعة. نحن نشجع أيضًا تعليقات المجتمع لمساعدتنا في توسيع الدعم تدريجيًا.
نظام التشغيل | |||||
أوبونتو 22.04 إل تي إس | ويندوز 10/11 | ماك 11+ | |||
وحدة المعالجة المركزية | x86_64 (ARM Linux غير مدعوم) | x86_64(نظام Windows ARM غير مدعوم) | x86_64 / الذراع64 | ||
ذاكرة | 16 جيجابايت أو أكثر، يوصى بـ 32 جيجابايت+ | ||||
نسخة بايثون | 3.10 (يرجى التأكد من إنشاء بيئة افتراضية لـ Python 3.10 باستخدام conda) | ||||
نسخة برنامج تشغيل نفيديا | الأحدث (سائق خاص) | أحدث | لا أحد | ||
بيئة كودا | التثبيت التلقائي [12.1 (الشعلة) + 11.8 (المجداف)] | 11.8 (التثبيت اليدوي) + cuDNN v8.7.0 (التثبيت اليدوي) | لا أحد | ||
قائمة دعم أجهزة GPU | الحد الأدنى من المتطلبات 8G+ VRAM | 3060ti/3070/4060 تتيح ذاكرة VRAM 8G إمكانية التخطيط وتسريع التعرف على الصيغة وتسريع التعرف الضوئي على الحروف | لا أحد | ||
التكوين الموصى به 10G+ VRAM | 3080/3080ti/3090/3090ti/4070/4070ti/4070tisuper/4080/4090 يمكن لـ 10G VRAM أو أكثر تمكين التخطيط والتعرف على الصيغة وتسريع التعرف الضوئي على الحروف وتسريع التعرف على الجدول في وقت واحد |
الإصدار الثابت (الإصدار الثابت الذي تم التحقق منه بواسطة ضمان الجودة):
الإصدار التجريبي (متزامن مع تحديثات فرع التطوير، واختبار الميزات الجديدة):
conda create -n MinerU python=3.10 كوندا تفعيل MinerU تثبيت النقطة -U magic-pdf[كامل] --extra-index-url https://wheels.myhloli.com
راجع كيفية تنزيل ملفات النماذج للحصول على تعليمات مفصلة.
بعد إكمال الخطوة 2. تنزيل ملفات وزن النموذج، سيقوم البرنامج النصي تلقائيًا بإنشاء ملف magic-pdf.json
في دليل المستخدم وتكوين مسار النموذج الافتراضي. يمكنك العثور على ملف magic-pdf.json
في دليل المستخدم الخاص بك.
دليل المستخدم لنظام التشغيل Windows هو "C:Usersusername"، وبالنسبة لنظام التشغيل Linux فهو "/home/username"، وبالنسبة لنظام التشغيل macOS فهو "/Users/username".
يمكنك تعديل تكوينات معينة في هذا الملف لتمكين الميزات أو تعطيلها، مثل التعرف على الجدول:
إذا كانت العناصر التالية غير موجودة في JSON، فيرجى إضافة العناصر المطلوبة يدويًا وإزالة محتوى التعليق (لا يدعم JSON القياسي التعليقات).
{// Other config"layout-config": {"model": "layoutlmv3" // يرجى التغيير إلى "doclayout_yolo" عند استخدام doclayout_yolo.},"formula-config": {"mfd_model": "yolo_v8_mfd"،"mfr_model" ": "unimernet_small"، "enable": true // يتم تمكين ميزة التعرف على الصيغة افتراضيًا. إذا كنت بحاجة إلى تعطيله، فيرجى تغيير القيمة هنا إلى "false".},"table-config": {"model": "tablemaster", // عند استخدام structEqTable، يرجى التغيير إلى "struct_eqtable"."enable" : false, // ميزة التعرف على الجدول معطلة افتراضيًا. إذا كنت بحاجة إلى تمكينه، يرجى تغيير القيمة هنا إلى "true"."max_time": 400} }
إذا كان جهازك يدعم CUDA ويلبي متطلبات GPU للبيئة الرئيسية، فيمكنك استخدام تسريع GPU. يرجى تحديد الدليل المناسب بناءً على نظامك:
أوبونتو 22.04 LTS + وحدة معالجة الرسومات
ويندوز 10/11 + وحدة معالجة الرسومات
النشر السريع مع Docker
يتطلب Docker وحدة معالجة رسومات (GPU) مزودة بذاكرة فيديو (VRAM) بسعة 16 جيجابايت على الأقل، ويتم تمكين جميع ميزات التسريع بشكل افتراضي.
قبل تشغيل Docker، يمكنك استخدام الأمر التالي للتحقق مما إذا كان جهازك يدعم تسريع CUDA على Docker.
تشغيل عامل الميناء --rm --gpus=all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi
wget https://github.com/opendatalab/MinerU/raw/master/Dockerfile docker build -t mineru:latest .docker run --rm -it --gpus=all mineru:latest /bin/bash السحر-pdf --مساعدة
السحر-pdf --مساعدة الاستخدام: Magic-pdf [خيارات] خيارات: -v, --version يعرض الإصدار ويخرج -p، --path PATH مسار ملف pdf المحلي أو الدليل [مطلوب] -o، --output-dir PATH إخراج الدليل المحلي [مطلوب] -m, --method [ocr|txt|auto] طريقة تحليل ملف pdf. التعرف الضوئي على الحروف: استخدام التعرف الضوئي على الحروف تقنية استخراج المعلومات من pdf. رسالة قصيرة: مناسب لملفات PDF النصية فقط و يتفوق على ocr. تلقائي: اختر تلقائيًا أفضل طريقة لتحليل ملفات pdf من ocr وtxt. بدون تحديد الطريقة، سيتم استخدام الوضع التلقائي بواسطة تقصير. -l, --lang TEXT أدخل اللغات الموجودة في ملف pdf (إذا كانت معروفة) إلى تحسين دقة التعرف الضوئي على الحروف. خياري. يجب عليك أدخل "الاختصار" مع عنوان URL لنموذج اللغة: ht tps://paddlepaddle.github.io/PaddleOCR/latest/en /ppocr/blog/multi_languages.html#5-support-languages- و-الاختصارات -d, --debug BOOLEAN يتيح معلومات تصحيح الأخطاء التفصيلية أثناء تنفيذ أوامر CLI. -s, --start INTEGER صفحة البداية لتحليل PDF، البداية من 0. -e, --end INTEGER الصفحة النهائية لتحليل PDF، بدءًا من 0. --help أظهر هذه الرسالة واخرج.## عرض versionmagic-pdf -v## مثال سطر الأوامرmagic-pdf -p {some_pdf} -o {some_output_dir} -m auto
يمكن أن يكون {some_pdf}
ملف PDF واحدًا أو دليلاً يحتوي على ملفات PDF متعددة. سيتم حفظ النتائج في الدليل {some_output_dir}
. قائمة ملفات الإخراج هي كما يلي:
├── some_pdf.md # markdown file
├── images # directory for storing images
├── some_pdf_layout.pdf # layout diagram (Include layout reading order)
├── some_pdf_middle.json # MinerU intermediate processing result
├── some_pdf_model.json # model inference result
├── some_pdf_origin.pdf # original PDF file
├── some_pdf_spans.pdf # smallest granularity bbox position information diagram
└── some_pdf_content_list.json # Rich text JSON arranged in reading order
لمزيد من المعلومات حول ملفات الإخراج، يرجى الرجوع إلى وصف ملف الإخراج.
معالجة الملفات من القرص المحلي
image_writer = DiskReaderWriter(local_image_dir)image_dir = str(os.path.basename(local_image_dir))jso_useful_key = {"_pdf_type": ""، "model_list": []}pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)pipe.pipe_classify()pipe.pipe_analyze()pipe.pipe_parse()md_content = Pipe.pipe_mk_markdown(image_dir, drop_mode="none")
معالجة الملفات من تخزين الكائنات
s3pdf_cli = S3ReaderWriter(pdf_ak, pdf_sk, pdf_endpoint)image_dir = "s3://img_bucket/"s3image_cli = S3ReaderWriter(img_ak, img_sk, img_endpoint,parent_path=image_dir)pdf_bytes = s3pdf_cli.read(s3_pdf_path, mode=s3pdf_cli.MODE_BIN)jso_useful_key = {"_pdf_type": ""، "model_list": []}pipe = UNIPipe(pdf_bytes, jso_useful_key, s3image_cli)pipe.pipe_classify()pipe.pipe_analyze()pipe.pipe_parse()md_content = Pipe.pipe_mk_markdown(image_dir, drop_mode="none")
للتنفيذ التفصيلي راجع:
demo.py أبسط طريقة معالجة
magic_pdf_parse_main.py سير عمل معالجة أكثر تفصيلاً
تشمل المشاريع المشتقة مشاريع تطوير ثانوية تعتمد على MinerU بواسطة مطوري المشاريع ومطوري المجتمع،
مثل واجهات التطبيقات المستندة إلى Gradio، وRAG المستندة إلى اللاما، والعروض التوضيحية على الويب المشابهة للموقع الرسمي، ونهايات العميل/الخادم خفيفة الوزن لموازنة تحميل وحدات معالجة الرسومات المتعددة، وما إلى ذلك. قد توفر هذه المشاريع المزيد من الميزات وتجربة مستخدم أفضل.
للحصول على طرق نشر محددة، يرجى الرجوع إلى الملف التمهيدي للمشروع المشتق
المهام
؟ ترتيب القراءة على أساس النموذج
؟ التعرف على index
list
في النص الرئيسي
؟ التعرف على الجدول
☐ التعرف على كتلة التعليمات البرمجية في النص الرئيسي
☐ التعرف على الصيغة الكيميائية
☐ التعرف على الأشكال الهندسية
يتم تحديد ترتيب القراءة بواسطة النموذج بناءً على التوزيع المكاني للمحتوى المقروء، وقد يكون خارج الترتيب في بعض المناطق في ظل تخطيطات معقدة للغاية.
النص العمودي غير مدعوم.
يتم التعرف على جداول المحتويات والقوائم من خلال القواعد، وقد لا يتم التعرف على بعض تنسيقات القوائم غير الشائعة.
يتم دعم مستوى واحد فقط من العناوين؛ العناوين الهرمية غير مدعومة حاليًا.
كتل التعليمات البرمجية غير مدعومة حتى الآن في نموذج التخطيط.
لا يمكن تحليل الكتب المصورة والألبومات الفنية والكتب المدرسية والتمارين في المدارس الابتدائية بشكل جيد.
قد يؤدي التعرف على الجدول إلى حدوث أخطاء في التعرف على الصف/العمود في الجداول المعقدة.
قد ينتج عن التعرف الضوئي على الحروف أحرف غير دقيقة في ملفات PDF بلغات أقل شهرة (على سبيل المثال، علامات التشكيل في النص اللاتيني، والأحرف التي يمكن الخلط بينها بسهولة في النص العربي).
قد لا يتم عرض بعض الصيغ بشكل صحيح في Markdown.
الأسئلة الشائعة باللغة الصينية
الأسئلة الشائعة باللغة الإنجليزية
LICENSE.md
يستخدم هذا المشروع حاليًا PyMuPDF لتحقيق وظائف متقدمة. ومع ذلك، نظرًا لأنها تلتزم بترخيص AGPL، فقد تفرض قيودًا على سيناريوهات استخدام معينة. في التكرارات المستقبلية، نخطط لاستكشافها واستبدالها بمكتبة معالجة PDF أكثر تساهلاً لتعزيز سهولة الاستخدام والمرونة.
PDF-استخراج عدة
StructEqTable
PaddleOCR
PyMuPDF
قارئ التخطيط
fast-langdetect
pdfminer.six
@misc{wang2024mineruopensourcesolutionprecise, title={MinerU: حل مفتوح المصدر لاستخراج محتوى المستند بشكل دقيق}, المؤلف={Bin Wang وChao Xu وXiaomeng Zhao وLinke Ouyang وFan Wu وZhiyuan Zhao وRui Xu وKaiwen Liu وYuan Qu وFukai Shang وBo Zhang وLiqn Wei وZhihao Sui وWei Li وBotian Shi وYu Qiao. وداهوا لين وكونغوي هي}، العام={2024}، eprint={2409.18839}, archivePrefix={arXiv}, PrimaryClass={cs.CV}, url={https://arxiv.org/abs/2409.18839}, }@article{he2024opendatalab, title={Opendatalab: تمكين الذكاء الاصطناعي العام من خلال مجموعات البيانات المفتوحة}، المؤلف={He, Conghui and Li, Wei and Jin, Zhenjiang and Xu, Chao and Wang, Bin and Lin, Dahua}, Journal= {arXiv طبعة أولية arXiv:2407.13773}، السنة={2024}}
أداة استخراج Magic-Doc سريعة السرعة ppt/pptx/doc/docx/pdf
أداة استخراج صفحات الويب المختلطة Magic-HTML
LabelU (أداة خفيفة الوزن لتعليق البيانات ومتعددة الوسائط)
LabelLLM (منصة التعليقات التوضيحية لحوار LLM مفتوحة المصدر)
PDF-Extract-Kit (مجموعة أدوات شاملة لاستخراج محتوى PDF عالي الجودة)