trustgraph/docs/tech-specs/universal-decoder.hi.md
Alex Jenkins 8954fa3ad7 Feat: TrustGraph i18n & Documentation Translation Updates (#781)
Native CLI i18n: The TrustGraph CLI has built-in translation support
that dynamically loads language strings. You can test and use
different languages by simply passing the --lang flag (e.g., --lang
es for Spanish, --lang ru for Russian) or by configuring your
environment's LANG variable.

Automated Docs Translations: This PR introduces autonomously
translated Markdown documentation into several target languages,
including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew,
Arabic, Simplified Chinese, and Russian.
2026-04-14 12:08:32 +01:00

38 KiB

layout title parent
default यूनिवर्सल डॉक्यूमेंट डिकोडर Hindi (Beta)

यूनिवर्सल डॉक्यूमेंट डिकोडर

Beta Translation: This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.

शीर्षक

यूनिवर्सल डॉक्यूमेंट डिकोडर जो unstructured द्वारा संचालित है — किसी भी सामान्य डॉक्यूमेंट फॉर्मेट को एक ही सेवा के माध्यम से संसाधित करें, जिसमें पूर्ण उत्पत्ति और लाइब्रेरियन एकीकरण शामिल है, जो स्रोत स्थितियों को ज्ञान ग्राफ मेटाडेटा के रूप में रिकॉर्ड करता है ताकि एंड-टू-एंड पता लगाया जा सके।

समस्या

वर्तमान में ट्रस्टग्राफ में एक पीडीएफ-विशिष्ट डिकोडर है। अतिरिक्त फॉर्मेट (DOCX, XLSX, HTML, Markdown, प्लेन टेक्स्ट, PPTX, आदि) का समर्थन करने के लिए या तो प्रत्येक फॉर्मेट के लिए एक नया डिकोडर लिखना होगा या एक सार्वभौमिक निष्कर्षण लाइब्रेरी को अपनाना होगा। प्रत्येक फॉर्मेट की संरचना अलग होती है — कुछ पृष्ठ-आधारित होते हैं, कुछ नहीं होते हैं — और निष्कर्षित पाठ के प्रत्येक टुकड़े की उत्पत्ति मूल डॉक्यूमेंट में कहां से हुई, इसे उत्पत्ति श्रृंखला में रिकॉर्ड किया जाना चाहिए।

दृष्टिकोण

लाइब्रेरी: unstructured

unstructured.partition.auto.partition() का उपयोग करें जो फॉर्मेट को स्वचालित रूप से पहचानता है mime टाइप या फ़ाइल एक्सटेंशन से और संरचित तत्वों को निकालता है (शीर्षक, वर्णनात्मक पाठ, तालिका, सूची आइटम, आदि)। प्रत्येक तत्व में मेटाडेटा शामिल है:

page_number (पीडीएफ, पीपीटीएक्स जैसे पृष्ठ-आधारित फॉर्मेट के लिए) element_id (प्रत्येक तत्व के लिए अद्वितीय) coordinates (पीडीएफ के लिए बाउंडिंग बॉक्स) text (निष्कर्षित पाठ सामग्री) category (तत्व प्रकार: शीर्षक, वर्णनात्मक पाठ, तालिका, आदि)

तत्व प्रकार

unstructured डॉक्यूमेंट से टाइप किए गए तत्वों को निकालता है। प्रत्येक तत्व में एक श्रेणी और संबंधित मेटाडेटा होता है:

पाठ तत्व: Title — अनुभाग शीर्षक NarrativeText — पैराग्राफ ListItem — बुलेट/क्रमांकित सूची आइटम Header, Footer — पृष्ठ हेडर/फुटर FigureCaption — चित्रों/छवियों के लिए कैप्शन Formula — गणितीय व्यंजक Address, EmailAddress — संपर्क जानकारी CodeSnippet — कोड ब्लॉक (मार्कडाउन से)

तालिकाएँ: Table — संरचित सारणीबद्ध डेटा। unstructured दोनों प्रदान करता है element.text (सादा पाठ) और element.metadata.text_as_html (पंक्तियों, स्तंभों और शीर्षकों को संरक्षित करते हुए पूर्ण HTML <table>)। DOCX, XLSX, HTML जैसे स्पष्ट तालिका संरचना वाले फॉर्मेट के लिए, निष्कर्षण अत्यधिक विश्वसनीय है। पीडीएफ के लिए, तालिका का पता लगाना लेआउट विश्लेषण के साथ hi_res रणनीति पर निर्भर करता है।

छवियाँ: Image — लेआउट विश्लेषण के माध्यम से पता लगाई गई एम्बेडेड छवियां (आवश्यक hi_res रणनीति)। extract_image_block_to_payload=True के साथ, छवि डेटा को element.metadata.image_base64 में base64 के रूप में लौटाता है। छवि से OCR पाठ element.text में उपलब्ध है।

तालिका हैंडलिंग

तालिकाओं को एक प्राथमिक आउटपुट माना जाता है। जब डिकोडर एक Table तत्व का सामना करता है, तो यह सादे पाठ में समतल करने के बजाय HTML संरचना को संरक्षित करता है। यह डाउनस्ट्रीम एलएलएम निष्कर्षण को सारणीबद्ध डेटा से संरचित ज्ञान निकालने के लिए बहुत बेहतर इनपुट देता है।

पृष्ठ/अनुभाग पाठ को इस प्रकार जोड़ा जाता है: पाठ तत्व: सादा पाठ, नई पंक्तियों के साथ जोड़ा गया तालिका तत्व: text_as_html से HTML तालिका मार्कअप, एक <table> मार्कर में लपेटा गया ताकि एलएलएम तालिकाओं को वर्णनात्मक पाठ से अलग कर सके। उदाहरण के लिए, एक शीर्षक, पैराग्राफ और तालिका वाला पृष्ठ इस प्रकार होगा:

Financial Overview

Revenue grew 15% year-over-year driven by enterprise adoption.

<table>
<tr><th>Quarter</th><th>Revenue</th><th>Growth</th></tr>
<tr><td>Q1</td><td>$12M</td><td>12%</td></tr>
<tr><td>Q2</td><td>$14M</td><td>17%</td></tr>
</table>

यह चंकिंग के माध्यम से तालिका संरचना को संरक्षित करता है और निष्कर्षण पाइपलाइन में, जहां एलएलएम सीधे संरचित कोशिकाओं से संबंधों को निकाल सकता है, कॉलम संरेखण का अनुमान लगाने के बजाय खाली स्थान से।

छवि प्रबंधन

छवियों को लाइब्रेरियन में चाइल्ड दस्तावेज़ों के रूप में निकाला और संग्रहीत किया जाता है document_type="image" और एक urn:image:{uuid} आईडी के साथ। उन्हें प्रकार tg:Image के साथ प्रामाणिकता ट्रिपल मिलते हैं, जो उनके मूल पृष्ठ/अनुभाग से prov:wasDerivedFrom के माध्यम से जुड़े होते हैं। छवि मेटाडेटा (निर्देशांक, आयाम, तत्व_आईडी) को प्रामाणिकता में दर्ज किया जाता है।

महत्वपूर्ण रूप से, छवियों को टेक्स्टडॉक्यूमेंट आउटपुट के रूप में उत्सर्जित नहीं किया जाता है। वे केवल संग्रहीत होते हैं - चंकर या किसी भी टेक्स्ट प्रोसेसिंग पाइपलाइन में नीचे की ओर नहीं भेजे जाते हैं। यह जानबूझकर है:

  1. अभी तक कोई छवि प्रसंस्करण पाइपलाइन नहीं है (विज़न मॉडल एकीकरण भविष्य का कार्य है)
  2. आधार64 छवि डेटा या ओसीआर टुकड़ों को टेक्स्ट निष्कर्षण पाइपलाइन में फीड करने से कचरा केजी ट्रिपल उत्पन्न होंगे

छवियों को असेंबल किए गए पृष्ठ टेक्स्ट से भी बाहर रखा गया है - कोई भी Image तत्व एक पृष्ठ/अनुभाग के लिए तत्व टेक्स्ट को संयोजित करते समय चुपचाप छोड़ दिए जाते हैं। प्रामाणिकता श्रृंखला में दर्ज किया गया है कि छवियां मौजूद हैं और वे दस्तावेज़ में कहां दिखाई दीं, ताकि उन्हें भविष्य के पृष्ठ/अनुभाग। उत्पत्ति श्रृंखला में दर्ज है कि चित्र मौजूद हैं और वे कहाँ स्थित हैं। छवि प्रसंस्करण पाइपलाइन द्वारा दस्तावेज़ को फिर से संसाधित किए बिना प्राप्त किया जा सके।

भविष्य का कार्य

tg:Image संस्थाओं को विवरण, आरेख व्याख्या या चार्ट डेटा निष्कर्षण के लिए एक विज़न मॉडल में रूट करें छवि विवरण को टेक्स्ट चाइल्ड दस्तावेज़ों के रूप में संग्रहीत करें जो मानक चंकिंग/निष्कर्षण पाइपलाइन में फीड करते हैं निकाले गए ज्ञान को प्रामाणिकता के माध्यम से स्रोत छवियों से लिंक करें

अनुभाग रणनीतियाँ

पृष्ठ-आधारित प्रारूपों (पीडीएफ, पीपीटीएक्स, एक्सएलएसएक्स) के लिए, तत्वों को हमेशा पहले पृष्ठ/स्लाइड/शीट द्वारा समूहीकृत किया जाता है। गैर-पृष्ठ प्रारूपों (डीओसीएक्स, एचटीएमएल, मार्कडाउन, आदि) के लिए, डिकोडर को दस्तावेज़ को अनुभागों में विभाजित करने के लिए एक रणनीति की आवश्यकता होती है। यह ⟦CODE_0⟧ के माध्यम से रनटाइम पर कॉन्फ़िगर करने योग्य है। अनुभाग। यह --section-strategy के माध्यम से रनटाइम पर कॉन्फ़िगर किया जा सकता है।

प्रत्येक रणनीति unstructured तत्वों की सूची पर एक समूहीकरण फ़ंक्शन है। आउटपुट तत्वों के समूहों की एक सूची है; बाकी तत्व। आउटपुट तत्वों के समूहों की एक सूची है; बाकी का पाइपलाइन (टेक्स्ट असेंबली, लाइब्रेरियन स्टोरेज, प्रामाणिकता, टेक्स्टडॉक्यूमेंट उत्सर्जन) रणनीति की परवाह किए बिना समान है।

whole-document (डिफ़ॉल्ट)

पूरे दस्तावेज़ को एक ही अनुभाग के रूप में उत्सर्जित करें। डाउनस्ट्रीम चंकर को सभी विभाजन को संभालने दें।

सबसे सरल दृष्टिकोण, अच्छा आधार रेखा बड़ी फ़ाइलों के लिए बहुत बड़ा टेक्स्टडॉक्यूमेंट उत्पन्न कर सकता है, लेकिन चंकर इसे संभालता है जब आप प्रति अनुभाग अधिकतम संदर्भ चाहते हैं तो सबसे अच्छा

heading

शीर्षलेख तत्वों (Title) पर विभाजित करें। प्रत्येक अनुभाग एक शीर्षलेख प्लस सभी सामग्री है जब तक कि समान या उच्च स्तर का अगला शीर्षलेख न हो। नेस्टेड शीर्षलेख नेस्टेड अनुभाग बनाते हैं।

विषयगत रूप से सुसंगत इकाइयाँ उत्पन्न करता है संरचित दस्तावेज़ों (रिपोर्ट, मैनुअल, विनिर्देश) के लिए अच्छा काम करता है निष्कर्षण एलएलएम को सामग्री के साथ शीर्षलेख संदर्भ देता है यदि कोई शीर्षलेख नहीं मिला है तो whole-document पर वापस आ जाता है

element-type

जब तत्व प्रकार में महत्वपूर्ण परिवर्तन होता है तो विभाजित करें - विशेष रूप से, वर्णनात्मक पाठ और तालिकाओं के बीच संक्रमण पर एक नया अनुभाग शुरू करें। लगातार समान व्यापक श्रेणी (पाठ, पाठ, पाठ या तालिका, तालिका) के तत्व एक साथ समूहीकृत रहते हैं।

तालिकाओं को स्टैंडअलोन अनुभागों के रूप में रखता है मिश्रित सामग्री वाले दस्तावेज़ों (डेटा तालिकाओं वाली रिपोर्ट) के लिए अच्छा है तालिकाओं को समर्पित निष्कर्षण ध्यान मिलता है

count

तत्वों की एक निश्चित संख्या को प्रति अनुभाग समूहीकृत करें। ⟦CODE_0⟧ के माध्यम से कॉन्फ़िगर करने योग्य (डिफ़ॉल्ट: 20)। --section-element-count (डिफ़ॉल्ट: 20)।

सरल और अनुमानित दस्तावेज़ संरचना का सम्मान नहीं करता है प्रयोग के लिए एक फ़ॉलबैक या उपयोगी

size

तत्वों को तब तक जमा करें जब तक कि एक वर्ण सीमा तक न पहुँच जाए, फिर एक नया अनुभाग शुरू करें। तत्वों की सीमाओं का सम्मान करता है - कभी भी किसी तत्व के बीच में विभाजन नहीं करता है। नए अनुभाग। तत्वों की सीमाओं का सम्मान करता है - कभी भी किसी तत्व के बीच में विभाजन नहीं करता है। --section-max-size के माध्यम से कॉन्फ़िगर किया जा सकता है (डिफ़ॉल्ट: 4000 अक्षर)।

लगभग समान खंड आकार उत्पन्न करता है। तत्वों की सीमाओं का सम्मान करता है (डाउनस्ट्रीम चंकर के विपरीत)। संरचना और आकार नियंत्रण के बीच एक अच्छा समझौता। यदि कोई एकल तत्व सीमा से अधिक है, तो वह अपने आप में एक खंड बन जाता है।

पृष्ठ-आधारित प्रारूप इंटरैक्शन

पृष्ठ-आधारित स्वरूपों के लिए, पृष्ठ समूहीकरण हमेशा प्राथमिकता लेता है। अनुभाग रणनीतियों को वैकल्पिक रूप से एक पृष्ठ के अंदर लागू किया जा सकता है यदि वह बहुत बड़ा है (उदाहरण के लिए, एक बहुत बड़े तालिका वाला पीडीएफ पृष्ठ), जिसे द्वारा नियंत्रित किया जाता है। बड़ा (उदाहरण के लिए, एक पीडीएफ पृष्ठ जिसमें एक बहुत बड़ा तालिका है), जिसे नियंत्रित किया जाता है। --section-within-pages (डिफ़ॉल्ट: गलत)। जब गलत होता है, तो प्रत्येक पृष्ठ का आकार की परवाह किए बिना हमेशा एक ही खंड होता है।

प्रारूप का पता लगाना

डीकोडर को दस्तावेज़ के एमआईएमई प्रकार के बारे में पता होना चाहिए ताकि इसे आगे बढ़ाया जा सके। unstructured का partition()। दो रास्ते:

लाइब्रेरियन पथ (document_id सेट): दस्तावेज़ मेटाडेटा प्राप्त करें। सबसे पहले लाइब्रेरियन से जानकारी प्राप्त करें - यह हमें kind (मिम टाइप) देता है। जो अपलोड के समय दर्ज किया गया था। फिर दस्तावेज़ सामग्री प्राप्त करें। दो लाइब्रेरियन कॉल, लेकिन मेटाडेटा प्राप्त करना आसान है। इनलाइन पथ (पिछला संगतता, data सेट): संदेश पर कोई मेटाडेटा उपलब्ध नहीं है। प्रारूप का पता लगाने के लिए python-magic का उपयोग करें। सामग्री बाइट्स से एक वैकल्पिक विधि के रूप में।

Document स्कीमा में कोई बदलाव आवश्यक नहीं है - लाइब्रेरियन पहले से ही MIME प्रकार संग्रहीत करता है।

वास्तुकला

एक एकल universal-decoder सेवा जो:

  1. एक Document संदेश प्राप्त होता है (इनलाइन या लाइब्रेरियन संदर्भ के माध्यम से)।
  2. यदि लाइब्रेरियन पथ है: दस्तावेज़ मेटाडेटा प्राप्त करें (मिम प्रकार प्राप्त करें), फिर सामग्री प्राप्त करें। यदि इनलाइन पथ है: सामग्री बाइट्स से प्रारूप का पता लगाएं।
  3. तत्वों को निकालने के लिए partition() को कॉल करता है।
  4. तत्वों को समूहीकृत करता है: पृष्ठ-आधारित प्रारूपों के लिए पृष्ठ द्वारा, गैर-पृष्ठ प्रारूपों के लिए कॉन्फ़िगर किए गए अनुभाग रणनीति द्वारा।
  5. प्रत्येक पृष्ठ/अनुभाग के लिए: एक urn:page:{uuid} या urn:section:{uuid} आईडी उत्पन्न करता है। पृष्ठ पाठ को असेंबल करता है: वर्णनात्मक पाठ को सादे पाठ के रूप में, तालिकाओं को HTML के रूप में, छवियों को छोड़ दिया जाता है। पृष्ठ पाठ के भीतर प्रत्येक तत्व के लिए वर्ण अद्ययनों की गणना करता है। लाइब्रेरियन में एक चाइल्ड दस्तावेज़ के रूप में सहेजता है। स्थिति संबंधी मेटाडेटा के साथ प्रामाणिकता ट्रिपल उत्सर्जित करता है। टुकड़ों में विभाजित करने के लिए TextDocument को आगे भेजता है।
  6. प्रत्येक छवि तत्व के लिए: एक urn:image:{uuid} आईडी उत्पन्न करता है। छवि डेटा को लाइब्रेरियन में एक चाइल्ड दस्तावेज़ के रूप में सहेजता है। प्रामाणिकता ट्रिपल उत्सर्जित करता है (केवल संग्रहीत, आगे नहीं भेजा गया)।

प्रारूप प्रबंधन

प्रारूप MIME प्रकार पृष्ठ-आधारित नोट्स
PDF application/pdf हाँ प्रति-पृष्ठ समूहीकरण
DOCX application/vnd.openxmlformats... नहीं अनुभाग रणनीति का उपयोग करता है
PPTX application/vnd.openxmlformats... हाँ प्रति-स्लाइड समूहीकरण
XLSX/XLS application/vnd.openxmlformats... हाँ प्रति-शीट समूहीकरण
HTML text/html नहीं अनुभाग रणनीति का उपयोग करता है
Markdown text/markdown नहीं अनुभाग रणनीति का उपयोग करता है
सादा text/plain नहीं अनुभाग रणनीति का उपयोग करता है
CSV text/csv नहीं अनुभाग रणनीति का उपयोग करता है
RST text/x-rst नहीं अनुभाग रणनीति का उपयोग करता है
RTF application/rtf नहीं अनुभाग रणनीति का उपयोग करता है
ODT application/vnd.oasis... नहीं अनुभाग रणनीति का उपयोग करता है
TSV text/tab-separated-values नहीं अनुभाग रणनीति का उपयोग करता है

उत्पत्ति मेटाडेटा

प्रत्येक पृष्ठ/अनुभाग इकाई, प्रामाणिकता के रूप में स्थिति संबंधी मेटाडेटा को रिकॉर्ड करती है। GRAPH_SOURCE में ट्रिपल, जो नॉलेज ग्राफ (KG) ट्रिपल से स्रोत दस्तावेज़ की स्थिति तक पूर्ण पता लगाने की क्षमता प्रदान करते हैं।

मौजूदा फ़ील्ड (पहले से ही derived_entity_triples में)

page_number — पृष्ठ/शीट/स्लाइड संख्या (1 से शुरू, केवल पृष्ठ-आधारित) char_offset — इस पृष्ठ/खंड के भीतर का वर्ण ऑफ़सेट। पूर्ण दस्तावेज़ पाठ char_length — इस पृष्ठ/खंड के पाठ की वर्ण संख्या

नए फ़ील्ड (derived_entity_triples का विस्तार करें)

mime_type — मूल दस्तावेज़ का प्रारूप (उदाहरण के लिए, application/pdf) element_typesunstructured तत्वों की अल्पविराम-विभाजित सूची इस पृष्ठ/अनुभाग में पाए गए श्रेणियाँ (उदाहरण के लिए, "शीर्षक, वर्णनात्मक पाठ, तालिका") table_count — इस पृष्ठ/अनुभाग में तालिकाओं की संख्या image_count — इस पृष्ठ/अनुभाग में छवियों की संख्या

इनके लिए नए टीजी नेमस्पेस विधेयकों की आवश्यकता है:

TG_SECTION_TYPE  = "https://trustgraph.ai/ns/Section"
TG_IMAGE_TYPE    = "https://trustgraph.ai/ns/Image"
TG_ELEMENT_TYPES = "https://trustgraph.ai/ns/elementTypes"
TG_TABLE_COUNT   = "https://trustgraph.ai/ns/tableCount"
TG_IMAGE_COUNT   = "https://trustgraph.ai/ns/imageCount"

इमेज यूआरएन योजना: urn:image:{uuid}

(TG_MIME_TYPE पहले से मौजूद है।)

नया इकाई प्रकार

गैर-पेज प्रारूपों (DOCX, HTML, Markdown, आदि) के लिए जहां डिकोडर पूरे दस्तावेज़ को एक इकाई के रूप में उत्सर्जित करता है, न कि पृष्ठों में विभाजित करके, इकाई को एक नया प्रकार मिलता है:

TG_SECTION_TYPE = "https://trustgraph.ai/ns/Section"

यह अनुभागों को पृष्ठों से अलग करता है जब मूल जानकारी प्राप्त करने के लिए क्वेरी की जाती है:

इकाई प्रकार उपयोग कब
दस्तावेज़ tg:Document मूल अपलोड की गई फ़ाइल
पृष्ठ tg:Page पृष्ठ-आधारित प्रारूप (पीडीएफ, पीपीटीएक्स, एक्सएलएसएक्स)
अनुभाग tg:Section गैर-पृष्ठ प्रारूप (डीओएक्स, एचटीएमएल, एमडी, आदि)
छवि tg:Image एम्बेडेड छवियां (संग्रहित, संसाधित नहीं)
भाग tg:Chunk चंकर का आउटपुट
उपग्राफ tg:Subgraph केजी निष्कर्षण आउटपुट

प्रकार को डिकोडर द्वारा यह निर्धारित किया जाता है कि यह पृष्ठ द्वारा समूहीकृत है या पूरे दस्तावेज़ अनुभाग को उत्सर्जित कर रहा है। ⟦CODE_0⟧ प्राप्त होता है। या पूरे दस्तावेज़ अनुभाग को उत्सर्जित कर रहा है। derived_entity_triples प्राप्त होता है। एक वैकल्पिक section बूलियन पैरामीटर - जब सत्य होता है, तो इकाई को tg:Section के रूप में टाइप किया जाता है, tg:Page के बजाय।

पूर्ण उत्पत्ति श्रृंखला

KG triple
  → subgraph (extraction provenance)
    → chunk (char_offset, char_length within page)
      → page/section (page_number, char_offset, char_length within doc, mime_type, element_types)
        → document (original file in librarian)

प्रत्येक लिंक, GRAPH_SOURCE नामक ग्राफ में ट्रिपल के एक सेट का प्रतिनिधित्व करता है।

सेवा कॉन्फ़िगरेशन

कमांड-लाइन तर्क:

--strategy              Partitioning strategy: auto, hi_res, fast (default: auto)
--languages             Comma-separated OCR language codes (default: eng)
--section-strategy      Section grouping: whole-document, heading, element-type,
                        count, size (default: whole-document)
--section-element-count Elements per section for 'count' strategy (default: 20)
--section-max-size      Max chars per section for 'size' strategy (default: 4000)
--section-within-pages  Apply section strategy within pages too (default: false)

साथ ही मानक FlowProcessor और लाइब्रेरियन क्यू तर्क।

फ्लो इंटीग्रेशन (प्रवाह एकीकरण)

सार्वभौमिक डिकोडर प्रसंस्करण प्रवाह में उसी स्थिति पर होता है जैसा कि वर्तमान पीडीएफ डिकोडर:

Document → [universal-decoder] → TextDocument → [chunker] → Chunk → ...

यह पंजीकृत करता है: input उपभोक्ता (दस्तावेज़ स्कीमा) output उत्पादक (टेक्स्टडॉक्यूमेंट स्कीमा) triples उत्पादक (ट्रिपल्स स्कीमा) लाइब्रेरियन अनुरोध/प्रतिक्रिया (फ़ेच और चाइल्ड दस्तावेज़ भंडारण के लिए)

परिनियोजन

नया कंटेनर: trustgraph-flow-universal-decoder निर्भरता: unstructured[all-docs] (इसमें पीडीएफ, डॉक्स, पीपीटीएक्स, आदि शामिल हैं) यह मौजूदा पीडीएफ डिकोडर के साथ समानांतर रूप से चल सकता है या उसकी जगह ले सकता है, यह इस बात पर निर्भर करता है। प्रवाह विन्यास मौजूदा पीडीएफ डिकोडर उन वातावरणों में भी उपलब्ध रहेगा जहाँ unstructured निर्भरताएँ बहुत अधिक हैं

क्या बदलाव

घटक (Component) परिवर्तन (Change)
provenance/namespaces.py TG_SECTION_TYPE, TG_IMAGE_TYPE, TG_ELEMENT_TYPES, TG_TABLE_COUNT, TG_IMAGE_COUNT जोड़ें (Add TG_SECTION_TYPE, TG_IMAGE_TYPE, TG_ELEMENT_TYPES, TG_TABLE_COUNT, TG_IMAGE_COUNT)
provenance/triples.py mime_type, element_types, table_count, image_count kwargs जोड़ें (Add mime_type, element_types, table_count, image_count kwargs)
provenance/__init__.py नए स्थिरांकों को निर्यात करें (Export new constants)
नया: decoding/universal/ नया डिकोडर सेवा मॉड्यूल (New decoder service module)
setup.cfg / pyproject unstructured[all-docs] निर्भरता जोड़ें (Add unstructured[all-docs] dependency)
डॉकर (Docker) नया कंटेनर इमेज (New container image)
फ्लो परिभाषाएँ (Flow definitions) यूनिवर्सल-डिकोडर को दस्तावेज़ इनपुट के रूप में उपयोग करें (Wire universal-decoder as document input)

क्या नहीं बदलता (What Doesn't Change)

चंकर (टेक्स्टडॉक्यूमेंट प्राप्त करता है, पहले की तरह काम करता है) डाउनस्ट्रीम एक्सट्रैक्टर (चंक प्राप्त करते हैं, अपरिवर्तित) लाइब्रेरियन (चाइल्ड डॉक्यूमेंट्स को संग्रहीत करता है, अपरिवर्तित) स्कीमा (डॉक्यूमेंट, टेक्स्टडॉक्यूमेंट, चंक अपरिवर्तित) क्वेरी-टाइम प्रोवेनेंस (अपरिवर्तित)

जोखिम

unstructured[all-docs] में भारी निर्भरताएँ हैं (पोप्लर, टेसेरैक्ट, लिब्रेऑफिस कुछ प्रारूपों के लिए)। कंटेनर इमेज का आकार बड़ा होगा। निवारण: ओसीआर/ऑफिस निर्भरताओं के बिना [light] का एक संस्करण प्रदान करें। कुछ प्रारूपों से खराब टेक्स्ट निष्कर्षण हो सकता है (बिना ओसीआर वाले स्कैन किए गए पीडीएफ)। ओसीआर, जटिल एक्सेल (XLSX) लेआउट)। निवारण: कॉन्फ़िगर करने योग्य strategy पैरामीटर, और मौजूदा मिस्ट्रल ओसीआर डिकोडर अभी भी उपलब्ध है। उच्च-गुणवत्ता वाले पीडीएफ ओसीआर के लिए। unstructured संस्करण अपडेट से तत्व मेटाडेटा में परिवर्तन हो सकता है। निवारण: संस्करण को स्थिर करें, प्रत्येक प्रारूप के लिए निष्कर्षण गुणवत्ता का परीक्षण करें।