Alat pra-pemrosesan sumber terbuka untuk data yang tidak terstruktur
Perpustakaan unstructured menyediakan komponen open-source untuk menelan dan pra-pemrosesan gambar dan dokumen teks, seperti PDF, HTML, Dokumen Word, dan banyak lagi. Kasus penggunaan Revolve unstructured di sekitar merampingkan dan mengoptimalkan alur kerja pemrosesan data untuk LLMS. Fungsi modular dan konektor unstructured membentuk sistem kohesif yang menyederhanakan konsumsi data dan pra-pemrosesan, membuatnya dapat beradaptasi dengan platform yang berbeda dan efisien dalam mengubah data yang tidak terstruktur menjadi output terstruktur.
Mencari kinerja pra-pemrosesan yang lebih baik dan lebih sedikit pengaturan? Lihat API tanpa server baru kami! API tanpa server yang tidak terstruktur adalah API kami yang paling berkinerja, memberikan solusi tingkat produksi yang lebih responsif untuk lebih mendukung kebutuhan bisnis dan LLM Anda dengan lebih baik. Pergilah ke halaman pendaftaran kami untuk memulai secara gratis.
Ada beberapa cara untuk menggunakan perpustakaan unstructured :
conda di Windows System, silakan merujuk ke dokumentasi Instruksi berikut dimaksudkan untuk membantu Anda bangun dan berjalan menggunakan Docker untuk berinteraksi dengan unstructured . Lihat di sini jika Anda belum memasang Docker di mesin Anda.
Catatan: Kami membangun gambar multi-platform untuk mendukung perangkat keras X86_64 dan Apple Silicon. docker pull harus mengunduh gambar yang sesuai untuk arsitektur Anda, tetapi Anda dapat menentukan dengan --platform (misalnya --platform linux/amd64 ) jika diperlukan.
Kami membangun gambar Docker untuk semua dorongan ke main . Kami menandai setiap gambar dengan hash komit pendek yang sesuai (misalnya fbc7a69 ) dan versi aplikasi (mis. 0.5.5-dev1 ). Kami juga menandai gambar terbaru dengan latest . Untuk memanfaatkan ini, docker pull dari repositori gambar kami.
docker pull downloads.unstructured.io/unstructured-io/unstructured:latestSetelah ditarik, Anda dapat membuat wadah dari gambar ini dan shell ke sana.
# create the container
docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest
# this will drop you into a bash shell where the Docker image is running
docker exec -it unstructured bash Anda juga dapat membangun gambar Docker Anda sendiri. Perhatikan bahwa gambar dasar adalah wolfi-base , yang diperbarui secara berkala. Jika Anda membangun gambar secara lokal, ada kemungkinan docker-build dapat gagal karena perubahan hulu dalam wolfi-base .
Jika Anda hanya berencana untuk mem -parsing satu jenis data, Anda dapat mempercepat membangun gambar dengan mengomentari beberapa paket/persyaratan yang diperlukan untuk tipe data lainnya. Lihat DockerFile untuk mengetahui jalur mana yang diperlukan untuk kasus penggunaan Anda.
make docker-build
# this will drop you into a bash shell where the Docker image is running
make docker-start-bashSetelah dalam wadah berjalan, Anda dapat mencoba hal -hal secara langsung dalam mode interaktif Python Interpreter.
# this will drop you into a python console so you can run the below partition functions
python3
>>> from unstructured.partition.pdf import partition_pdf
>>> elements = partition_pdf(filename= " example-docs/layout-parser-paper-fast.pdf " )
>>> from unstructured.partition.text import partition_text
>>> elements = partition_text(filename= " example-docs/fake-text.txt " ) Gunakan instruksi berikut untuk bangun dan berjalan dengan unstructured dan uji instalasi Anda.
Instal Python SDK untuk mendukung semua jenis dokumen dengan pip install "unstructured[all-docs]"
pip install unstructuredpip install "unstructured[docx,pptx]"Instal dependensi sistem berikut jika belum tersedia di sistem Anda. Bergantung pada jenis dokumen apa yang Anda piringkan, Anda mungkin tidak memerlukan semua ini.
libmagic-dev (deteksi filetype)poppler-utils (gambar dan PDF)tesseract-ocr (gambar dan pdf, instal tesseract-lang untuk dukungan bahasa tambahan)libreoffice (MS Office Docs)pandoc (Epubs, RTF dan Open Office Docs). Harap perhatikan bahwa untuk menangani file RTF, Anda memerlukan versi 2.14.2 atau yang lebih baru. Menjalankan baik make install-pandoc atau ./scripts/install-pandoc.sh akan menginstal versi yang benar untuk Anda.Untuk saran tentang cara menginstal pada Windows dan mempelajari dependensi untuk fitur lain, lihat dokumentasi instalasi di sini.
Pada titik ini, Anda harus dapat menjalankan kode berikut:
from unstructured . partition . auto import partition
elements = partition ( filename = "example-docs/eml/fake-email.eml" )
print ( " n n " . join ([ str ( el ) for el in elements ])) Instruksi berikut dimaksudkan untuk membantu Anda bangun dan berlari dengan unstructured secara lokal jika Anda berencana untuk berkontribusi pada proyek.
Menggunakan pyenv untuk mengelola VirtualEnv direkomendasikan tetapi tidak perlu
brew install pyenv-virtualenvpyenv install 3.10 Buat VirtualEnv untuk bekerja dan mengaktifkannya, misalnya untuk satu bernama unstructured :
pyenv virtualenv 3.10 unstructured
pyenv activate unstructured
Jalankan make install
Opsional:
make install-local-inference .tesseract diperlukan. Lihat di sini untuk instruksi instalasi.tesseract dan poppler diperlukan. Dokumen PDF2Image memiliki instruksi untuk menginstal poppler di berbagai platform. Selain itu, jika Anda berencana untuk berkontribusi pada unstructured , kami memberi Anda file konfigurasi pre-commit opsional untuk memastikan kode Anda cocok dengan format dan standar linting yang digunakan secara unstructured . Jika Anda lebih suka untuk tidak memiliki perubahan kode secara otomatis dirapikan sebelum setiap komit, Anda dapat menggunakan make check untuk melihat apakah ada perubahan serat atau pemformatan harus diterapkan, dan make tidy untuk menerapkannya.
Jika menggunakan pre-commit opsional, Anda hanya perlu menginstal kait dengan pre-commit install karena paket pre-commit diinstal sebagai bagian dari make install yang disebutkan di atas. Akhirnya, jika Anda memutuskan untuk menggunakan pre-commit Anda juga dapat menghapus instalan pengait dengan pre-commit uninstall .
Selain berkembang di OS lokal Anda, kami juga menyediakan penolong untuk menggunakan Docker yang menyediakan lingkungan pengembangan:
make docker-start-dev Ini memulai wadah Docker dengan repo lokal Anda dipasang ke /mnt/local_unstructured . Gambar Docker ini memungkinkan Anda untuk berkembang tanpa mengkhawatirkan kompatibilitas OS Anda dengan repo dan ketergantungannya.
Untuk dokumentasi yang lebih komprehensif, kunjungi https://docs.unstructured.io. Anda juga dapat mempelajari lebih lanjut tentang produk kami yang lain di halaman dokumentasi, termasuk API SaaS kami.
Berikut adalah beberapa halaman dari halaman dokumentasi open source yang bermanfaat bagi pengguna baru untuk ditinjau:
unstructured Contoh -contoh berikut menunjukkan cara memulai dengan perpustakaan unstructured . Cara termudah untuk mengurai dokumen yang tidak terstruktur adalah dengan menggunakan fungsi partition . Jika Anda menggunakan fungsi partition , unstructured akan mendeteksi jenis file dan mengarahkannya ke fungsi partisi spesifik file yang sesuai. Jika Anda menggunakan fungsi partition , Anda mungkin perlu menginstal dependensi tambahan per jenis dokumen. Misalnya, untuk menginstal dependensi DOCX, Anda perlu menjalankan pip install "unstructured[docx]" . Lihat Panduan Instalasi kami untuk detail lebih lanjut.
from unstructured . partition . auto import partition
elements = partition ( "example-docs/layout-parser-paper.pdf" ) Jalankan print("nn".join([str(el) for el in elements])) untuk mendapatkan representasi string dari output, yang terlihat seperti:
LayoutParser : A Unified Toolkit for Deep Learning Based Document Image Analysis
Zejiang Shen 1 ( (cid:0) ), Ruochen Zhang 2 , Melissa Dell 3 , Benjamin Charles Germain Lee 4 , Jacob Carlson 3 , and
Weining Li 5
Abstract. Recent advances in document image analysis (DIA) have been primarily driven by the application of neural
networks. Ideally, research outcomes could be easily deployed in production and extended for further investigation.
However, various factors like loosely organized codebases and sophisticated model configurations complicate the easy
reuse of important innovations by a wide audience. Though there have been ongoing efforts to improve reusability and
simplify deep learning (DL) model development in disciplines like natural language processing and computer vision, none
of them are optimized for challenges in the domain of DIA. This represents a major gap in the existing toolkit, as DIA
is central to academic research across a wide range of disciplines in the social sciences and humanities. This paper
introduces LayoutParser, an open-source library for streamlining the usage of DL in DIA research and applications.
The core LayoutParser library comes with a set of simple and intuitive interfaces for applying and customizing DL models
for layout detection, character recognition, and many other document processing tasks. To promote extensibility,
LayoutParser also incorporates a community platform for sharing both pre-trained models and full document digitization
pipelines. We demonstrate that LayoutParser is helpful for both lightweight and large-scale digitization pipelines in
real-word use cases. The library is publicly available at https://layout-parser.github.io
Keywords: Document Image Analysis · Deep Learning · Layout Analysis · Character Recognition · Open Source library ·
Toolkit.
Introduction
Deep Learning(DL)-based approaches are the state-of-the-art for a wide range of document image analysis (DIA) tasks
including document image classification [11,
Lihat bagian Partisi dalam dokumentasi kami untuk daftar lengkap opsi dan instruksi tentang cara menggunakan fungsi partisi spesifik file.
Lihat Kebijakan Keamanan kami untuk informasi tentang cara melaporkan kerentanan keamanan.
Menemukan bug? Harap buat masalah GitHub baru dan gunakan template laporan bug kami untuk menggambarkan masalahnya. Untuk membantu kami mendiagnosis masalah ini, gunakan perintah python scripts/collect_env.py untuk mengumpulkan informasi lingkungan sistem Anda dan memasukkannya ke dalam laporan Anda. Bantuan Anda membantu kami terus meningkatkan perangkat lunak kami - terima kasih!
| Bagian | Keterangan |
|---|---|
| Situs web perusahaan | Info Produk dan Perusahaan Tidak Terstruktur |
| Dokumentasi | Dokumentasi API lengkap |
| Pemrosesan batch | Menelan banyak dokumen melalui tidak terstruktur |
Kami telah bermitra dengan Scarf (https://scarf.sh) untuk mengumpulkan statistik pengguna yang dianonimkan untuk memahami fitur mana yang digunakan komunitas kami dan bagaimana memprioritaskan pengambilan keputusan produk di masa depan. Untuk mempelajari lebih lanjut tentang bagaimana kami mengumpulkan dan menggunakan data ini, silakan baca Kebijakan Privasi kami. Untuk memilih keluar dari pengumpulan data ini, Anda dapat mengatur variabel lingkungan SCARF_NO_ANALYTICS=true sebelum menjalankan perintah unstructured .