เครื่องมือประมวลผลล่วงหน้าโอเพนซอร์ซสำหรับข้อมูลที่ไม่มีโครงสร้าง
ห้องสมุด unstructured มีส่วนประกอบโอเพ่นซอร์สสำหรับการบริโภคและการประมวลผลภาพและเอกสารข้อความล่วงหน้าเช่น PDFs, HTML, เอกสาร Word และอื่น ๆ อีกมากมาย กรณีการใช้งานของการหมุนรอบ unstructured รอบการปรับปรุงและปรับขั้นตอนการประมวลผลข้อมูลสำหรับ LLMS ฟังก์ชั่นโมดูลาร์ unstructured และตัวเชื่อมต่อเป็นระบบที่มีความเหนียวซึ่งทำให้การบริโภคข้อมูลง่ายขึ้นและการประมวลผลล่วงหน้าทำให้สามารถปรับให้เข้ากับแพลตฟอร์มที่แตกต่างกันและมีประสิทธิภาพในการแปลงข้อมูลที่ไม่มีโครงสร้างให้เป็นเอาต์พุตที่มีโครงสร้าง
กำลังมองหาประสิทธิภาพการประมวลผลล่วงหน้าที่ดีขึ้นและการตั้งค่าน้อยลง? ตรวจสอบ API Serverless ใหม่ของเรา! Serverless API ที่ไม่มีโครงสร้างเป็น API ที่มีประสิทธิภาพมากที่สุดของเรายังนำเสนอโซลูชันที่ตอบสนองได้ดีขึ้นเพื่อรองรับธุรกิจและความต้องการ LLM ของคุณได้ดีขึ้น ตรงไปที่หน้าการสมัครใช้งานของเราเพื่อเริ่มต้นใช้งานฟรี
มีหลายวิธีในการใช้ห้องสมุด unstructured :
conda on Windows System โปรดดูเอกสารประกอบ คำแนะนำต่อไปนี้มีวัตถุประสงค์เพื่อช่วยให้คุณลุกขึ้นและทำงานโดยใช้ Docker เพื่อโต้ตอบกับ unstructured ดูที่นี่หากคุณยังไม่ได้ติดตั้ง Docker บนเครื่องของคุณ
หมายเหตุ: เราสร้างภาพหลายแพลตฟอร์มเพื่อรองรับฮาร์ดแวร์ X86_64 และฮาร์ดแวร์ Apple Silicon docker pull ควรดาวน์โหลดภาพที่สอดคล้องกันสำหรับสถาปัตยกรรมของคุณ แต่คุณสามารถระบุได้ด้วย --platform (เช่น --platform linux/amd64 ) หากจำเป็น
เราสร้างอิมเมจนักเทียบท่าสำหรับการผลักดันทั้งหมดไปยัง main เราติดแท็กภาพแต่ละภาพด้วยแฮชคอมมิชชันสั้นที่สอดคล้องกัน (เช่น fbc7a69 ) และเวอร์ชันแอปพลิเคชัน (เช่น 0.5.5-dev1 ) นอกจากนี้เรายังติดแท็กภาพล่าสุดด้วย latest เพื่อใช้ประโยชน์จากสิ่งนี้ docker pull มาจากที่เก็บภาพของเรา
docker pull downloads.unstructured.io/unstructured-io/unstructured:latestเมื่อดึงแล้วคุณสามารถสร้างคอนเทนเนอร์จากภาพนี้และเชลล์ได้
# 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 คุณยังสามารถสร้างภาพนักเทียบท่าของคุณเอง โปรดทราบว่าภาพพื้นฐานคือ wolfi-base ซึ่งได้รับการปรับปรุงเป็นประจำ หากคุณกำลังสร้างภาพในพื้นที่เป็นไปได้ที่จะ docker-build อาจล้มเหลวเนื่องจากการเปลี่ยนแปลงต้นน้ำใน wolfi-base
หากคุณวางแผนที่จะแยกวิเคราะห์ข้อมูลประเภทหนึ่งเท่านั้นคุณสามารถเพิ่มความเร็วในการสร้างภาพโดยแสดงความคิดเห็นแพคเกจ/ข้อกำหนดบางอย่างที่จำเป็นสำหรับประเภทข้อมูลอื่น ๆ ดู DockerFile เพื่อทราบว่าบรรทัดใดที่จำเป็นสำหรับกรณีการใช้งานของคุณ
make docker-build
# this will drop you into a bash shell where the Docker image is running
make docker-start-bashเมื่ออยู่ในคอนเทนเนอร์ที่กำลังทำงานคุณสามารถลองสิ่งต่าง ๆ ได้โดยตรงในโหมดอินเทอร์แอคทีฟของ 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 " ) ใช้คำแนะนำต่อไปนี้เพื่อให้ได้มาพร้อมกับ unstructured และทดสอบการติดตั้งของคุณ
ติดตั้ง Python SDK เพื่อรองรับเอกสารทุกประเภทด้วย pip install "unstructured[all-docs]"
pip install unstructuredpip install "unstructured[docx,pptx]"ติดตั้งการพึ่งพาระบบต่อไปนี้หากยังไม่พร้อมใช้งานในระบบของคุณ คุณอาจไม่ต้องการสิ่งเหล่านี้ทั้งนี้ขึ้นอยู่กับประเภทเอกสารที่คุณแยกวิเคราะห์คุณอาจไม่ต้องการสิ่งเหล่านี้ทั้งหมด
libmagic-dev (การตรวจจับ FileType)poppler-utils (รูปภาพและ PDF)tesseract-ocr (รูปภาพและ PDFs ติดตั้ง tesseract-lang สำหรับการสนับสนุนภาษาเพิ่มเติม)libreoffice (MS Office Docs)pandoc (EPUBS, RTFS และเอกสาร Open Office) โปรดทราบว่าในการจัดการไฟล์ RTF คุณต้องใช้เวอร์ชัน 2.14.2 หรือใหม่กว่า การรัน make install-pandoc หรือ ./scripts/install-pandoc.sh จะติดตั้งเวอร์ชันที่ถูกต้องสำหรับคุณสำหรับคำแนะนำเกี่ยวกับวิธีการติดตั้งบนหน้าต่างและเพื่อเรียนรู้เกี่ยวกับการพึ่งพาคุณสมบัติอื่น ๆ ดูเอกสารประกอบการติดตั้งที่นี่
ณ จุดนี้คุณควรเรียกใช้รหัสต่อไปนี้:
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 ])) คำแนะนำต่อไปนี้มีวัตถุประสงค์เพื่อช่วยให้คุณได้รับการทำงานกับ unstructured ในพื้นที่หากคุณวางแผนที่จะมีส่วนร่วมในโครงการ
แนะนำให้ใช้ pyenv เพื่อจัดการ VirtualEnv's แต่ไม่จำเป็น
brew install pyenv-virtualenvpyenv install 3.10 สร้าง virtualenv เพื่อทำงานและเปิดใช้งานเช่นหนึ่งชื่อ unstructured :
pyenv virtualenv 3.10 unstructured
pyenv activate unstructured
Run make install
ไม่จำเป็น:
make install-local-inferencetesseract ดูที่นี่สำหรับคำแนะนำในการติดตั้งtesseract และ poppler เอกสาร PDF2Image มีคำแนะนำเกี่ยวกับการติดตั้ง poppler ในแพลตฟอร์มต่างๆ นอกจากนี้หากคุณวางแผนที่จะมีส่วนร่วมใน unstructured เราจะจัดเตรียมไฟล์การกำหนดค่า pre-commit ที่เป็นตัวเลือกให้คุณเพื่อให้แน่ใจว่ารหัสของคุณตรงกับการจัดรูปแบบและมาตรฐานผ้าสำลีที่ใช้ใน unstructured หากคุณไม่ต้องการให้มีการเปลี่ยนแปลงรหัสโดยอัตโนมัติก่อนการประชุมทุกครั้งคุณสามารถใช้ make check เพื่อดูว่าควรใช้การเปลี่ยนแปลงรูปแบบหรือการจัดรูป make tidy ใด ๆ
หากใช้ pre-commit เป็นตัวเลือกคุณจะต้องติดตั้ง hooks ด้วย pre-commit install เนื่องจากแพ็คเกจ pre-commit ถูกติดตั้งเป็นส่วนหนึ่งของ make install ที่กล่าวถึงข้างต้น ในที่สุดถ้าคุณตัดสินใจที่จะใช้ pre-commit คุณสามารถถอนการติดตั้ง hooks ด้วย pre-commit uninstall
นอกเหนือจากการพัฒนาในระบบปฏิบัติการในพื้นที่ของคุณแล้วเรายังมีผู้ช่วยในการใช้ Docker ที่ให้สภาพแวดล้อมการพัฒนา:
make docker-start-dev สิ่งนี้เริ่มต้นคอนเทนเนอร์ Docker ด้วย repo ในพื้นที่ของคุณที่ติดตั้งไว้ที่ /mnt/local_unstructured ภาพนักเทียบท่านี้ช่วยให้คุณพัฒนาได้โดยไม่ต้องกังวลเกี่ยวกับความเข้ากันได้ของระบบปฏิบัติการของคุณกับ repo และการพึ่งพาของมัน
สำหรับเอกสารที่ครอบคลุมมากขึ้นเยี่ยมชม https://docs.unstructured.io นอกจากนี้คุณยังสามารถเรียนรู้เพิ่มเติมเกี่ยวกับผลิตภัณฑ์อื่น ๆ ของเราในหน้าเอกสารรวมถึง SAAS API ของเรา
นี่คือไม่กี่หน้าจากหน้าเอกสารโอเพ่นซอร์สที่มีประโยชน์สำหรับผู้ใช้ใหม่ในการตรวจสอบ:
unstructured ตัวอย่างต่อไปนี้แสดงวิธีการเริ่มต้นด้วยห้องสมุด unstructured วิธีที่ง่ายที่สุดในการแยกวิเคราะห์เอกสารที่ไม่มีโครงสร้างคือการใช้ฟังก์ชั่น partition หากคุณใช้ฟังก์ชั่น partition unstructured จะตรวจจับประเภทไฟล์และกำหนดเส้นทางไปยังฟังก์ชันพาร์ติชันเฉพาะไฟล์ที่เหมาะสม หากคุณใช้ฟังก์ชั่น partition คุณอาจต้องติดตั้งการพึ่งพาเพิ่มเติมต่อประเภทเอกสาร ตัวอย่างเช่นในการติดตั้งการพึ่งพา DOCX คุณต้องเรียกใช้ pip install "unstructured[docx]" ดูคู่มือการติดตั้งของเราสำหรับรายละเอียดเพิ่มเติม
from unstructured . partition . auto import partition
elements = partition ( "example-docs/layout-parser-paper.pdf" ) Run print("nn".join([str(el) for el in elements])) เพื่อรับการแสดงสตริงของเอาต์พุตซึ่งดูเหมือนว่า:
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,
ดูส่วนการแบ่งพาร์ติชันในเอกสารของเราสำหรับรายการตัวเลือกและคำแนะนำทั้งหมดเกี่ยวกับวิธีการใช้ฟังก์ชั่นการแบ่งพาร์ติชันเฉพาะไฟล์
ดูนโยบายความปลอดภัยของเราสำหรับข้อมูลเกี่ยวกับวิธีการรายงานช่องโหว่ความปลอดภัย
พบข้อผิดพลาด? โปรดสร้างปัญหา GitHub ใหม่และใช้เทมเพลตรายงานข้อผิดพลาดของเราเพื่ออธิบายปัญหา เพื่อช่วยให้เราวินิจฉัยปัญหาให้ใช้คำสั่ง python scripts/collect_env.py เพื่อรวบรวมข้อมูลสภาพแวดล้อมของระบบของคุณและรวมไว้ในรายงานของคุณ ความช่วยเหลือของคุณช่วยให้เราปรับปรุงซอฟต์แวร์ของเราอย่างต่อเนื่อง - ขอบคุณ!
| ส่วน | คำอธิบาย |
|---|---|
| เว็บไซต์ บริษัท | ไม่มีโครงสร้างผลิตภัณฑ์และข้อมูล บริษัท |
| เอกสาร | เอกสาร API เต็มรูปแบบ |
| การประมวลผลแบบแบตช์ | การบริโภคเอกสารผ่านไม่มีโครงสร้าง |
เราได้ร่วมมือกับ Scarf (https://scarf.sh) เพื่อรวบรวมสถิติผู้ใช้ที่ไม่ระบุชื่อเพื่อทำความเข้าใจว่าคุณลักษณะใดที่ชุมชนของเราใช้และวิธีการจัดลำดับความสำคัญการตัดสินใจของผลิตภัณฑ์ในอนาคต หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการรวบรวมและใช้ข้อมูลนี้โปรดอ่านนโยบายความเป็นส่วนตัวของเรา หากต้องการยกเลิกการรวบรวมข้อมูลนี้คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม SCARF_NO_ANALYTICS=true ก่อนที่จะเรียกใช้คำสั่ง unstructured ใด ๆ