Improving accuracy: a deep dive into extraction models
Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.
Achieving “good enough” (e.g. ~80-90% accuracy) is not enough for mission-critical document processing. Affinda bridges the gap to “excellent” (99%+ accuracy) through our approach, reducing manual work and ensuring top-tier performance.This guide provides an understanding of how Affinda’s information extraction models work and walks users through the steps they can take to uplift the performance of their models. The tutorial covers building high‑quality Model Memory with validated documents, configuring validation settings, adding field descriptions, and troubleshooting low‑performing templates to maximize extraction accuracy.
To follow this tutorial, users should hold Organization Owner or Admin permissions.
If you have not configured your first model yet, follow the Creating a New Model tutorial first.
This algorithm captures word sequences in visually rich documents in a way that aligns with human comprehension. This ensures that text is processed in the same order a human would read it, leading to more accurate extractions.
Use of Large Language Models
Selects and utilizes the best-performing LLMs for each task, ensuring optimal results across different document types and structures.
Model Memory with Real-Time Learning
Uses a retrieval-augmented generation (RAG) system to enable continuous improvement. Corrections made in one document are instantly applied to future extractions, eliminating recurring errors without requiring extensive retraining.See Model Memory for more information.
Fingerprinting Algorithm
Identifies similar documents in Model Memory and provides relevant examples to the model, ensuring highly accurate data extraction and reducing errors.
No extensive model training required – Unlike traditional ML models that require hundreds of training samples, Affinda Extract learns dynamically and applies corrections in real-time. New, high-performing models can be created in a matter of minutes, not weeks.
Higher accuracy, less manual work – Moving from 95% to 99% accuracy reduces errors by 80%, cutting down the need for human intervention significantly.
More intelligent than static LLMs – Unlike generic large language models that rely on fixed prompts and lack continuous learning, Affinda Extract actively applies nuanced learning from past interactions to make better decisions.
Visual Learner? Follow along with our Video Tutorial:
1
Upload example documents and validate data to build Model Memory
Affinda Extract’s models use Model Memory to learn from your documents and improve the accuracy of predictions.Affinda Extract intelligently selects a subset of your confirmed documents to use as model memory. These documents act as trusted references, helping the model make more accurate predictions on new, incoming documents.A well-curated model memory is the foundation of highly accurate, automated document extraction.
Why this matters: The model will replicate what it learns from model memory. If errors are present, those mistakes will be reproduced in future predictions.
Accuracy first: Ensure extractions in model memory are 100% correct before confirming them.
Correct errors promptly – Any errors discovered downstream should be corrected in the Affinda Extract app to maintain data integrity.
Establish clear validation guidelines – If multiple team members validate documents, create clear annotation standards to prevent inconsistencies, especially in cases where ambiguity exists.
Quality over quantity: You don’t need dozens of near-identical examples. Instead, aim for a variety of documents that reflect the range you typically receive.
Complete examples: Prioritise documents that include all required fields, rather than ones with missing data.
By following these principles, your model memory will provide a strong foundation for consistent, accurate document processing.Keeping these principles in mind, to build your model memory, upload representative documents.Check the extraction of each field on the document. Correct any errors by redrawing the annotation box over the field on the document. Once the document is completely correct, click ‘Confirm document’.To see how to validate extraction in more detail, see the Validation - Extraction tutorial.
2
Review Model Memory Settings
Go to Workspace Workflow Settings → ‘Configure Validation’Here you can choose between 3 settings for model memory.
Auto (Recommended) - Affinda Extract models intelligently select the best documents in your validated set to use as Model Memory. This keeps model memory to a finite set that can be easily audited.
Manual - No documents from the workspace are automatically added to Model Memory, even after validation.
Always - Uses every confirmed document as a model memory reference.
3
Add Field Descriptions
If a specific field in your documents is consistently producing inaccurate results, you can improve performance by adding a field prompt.A field prompt allows you to give the model additional instructions for extracting that field.Example: Customer Address
Extract this information from where it is EXPLICITLY stated in the invoice document (e.g. “car stored at”), rather than the address of the person the invoice is addressed to. Do NOT confuse with the address of the supplier. It is better to keep this blank than return an incorrect address.
Writing Field Descriptions
A practical guide to writing effective field descriptions, with eight patterns for fixing common extraction mistakes.
4
Review OCR settings
If you are finding that the model is not reading some text on your documents, your OCR settings might not be correct.Navigate to Workspace Workflow Settings → “Configure Pre-processing” and check your OCR settings are set to “Partial” or “Always Full” to avoid missed text.
Go to your document, and click the three dots in the top right corner.Click “Model Memory Reference”.Review the fields on the Model Memory reference. Incorrect extraction on this document could be responsible for incorrect predictions. Make corrections as needed.
2
Add template example
If a high‑volume document template isn’t performing as expected, upload a representative example to Model Memory to boost accuracy.To do this, upload your example document, validate the extracted data, and click ‘Confirm’.Reparse existing documents and check that they are referencing the correct similar example document.
3
Update Model Memory documents
The Model Memory settings found in Workflow settings determine which documents are automatically added once a document is confirmed. However, Organization Admins retain the ability to add or remove documents from Model Memory independently to further control and improve model performance.Documents can be added or removed from Model Memory through the Document List view within a Workspace. This can be applied to a single document, or as a bulk action.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Affinda Extract Documentation","description":"Affinda Extract is a document AI platform that turns unstructured documents into structured, validated data through extraction, classification, splitting, and human review. Guides, API reference, and configuration playbooks for building and integrating Affinda models.","colors":{"primary":"#1F3339","light":"#A6FFFB","dark":"#A6FFFB"},"logo":{"light":"https://mintcdn.com/affinda-44/nvZZjc-QOoHXzSQ7/images/affindaextract-inkwell.png?fit=max\u0026auto=format\u0026n=nvZZjc-QOoHXzSQ7\u0026q=85\u0026s=a3e52ff1e274ac5509589a6350b41496","dark":"https://mintcdn.com/affinda-44/lcBcXTOY4DEPcniI/images/affindaextract-greenmist.png?fit=max\u0026auto=format\u0026n=lcBcXTOY4DEPcniI\u0026q=85\u0026s=318f55893ae70c89849919adbbc1a545","href":"https://www.affinda.com/"},"favicon":"https://mintcdn.com/affinda-44/zzz2NA-YwjYcDdgi/Affinda_GreenMist_inkwell_Favicon.png?fit=max\u0026auto=format\u0026n=zzz2NA-YwjYcDdgi\u0026q=85\u0026s=c83f557178ec0b196bef5bafec9b9faf","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript"],"prefill":false}},"appearance":{"default":"system","strict":false},"background":{"decoration":"gradient","color":{"light":"#E8EEED","dark":"#102A2F"}},"navbar":{"links":[{"href":"https://www.affinda.com/pricing-plans","label":"Pricing"},{"href":"https://trust.affinda.com/","label":"Security"},{"href":"https://www.affinda.com/contact","label":"Contact"},{"href":"/support","label":"Support"}],"primary":{"type":"button","label":"Log in","href":"https://app.affinda.com"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/affinda","youtube":"https://www.youtube.com/@affinda","github":"https://github.com/affinda"}},"seo":{"metatags":{"og:image":"https://cdn.prod.website-files.com/6854ccfd1a7ab92f392b474d/68ae96fe8f3fdbbe0ae04c73_Affinda%20Open%20Graph%20image%20for%20website%20previews.png","og:site_name":"Affinda","twitter:site":"@affinda"}},"fonts":{"heading":{"family":"NeuSans","weight":500,"source":"https://cdn.prod.website-files.com/6854ccfd1a7ab92f392b474d/685b584938c8018fa3d2e9da_NeuSans-Bold.woff2","format":"woff2"},"body":{"family":"NeuSans","weight":400,"source":"https://cdn.prod.website-files.com/6854ccfd1a7ab92f392b474d/685b5849e08b8110997b8e4f_NeuSans-Regular.woff2","format":"woff2"}},"integrations":{"gtm":{"tagId":"GTM-NCW6M2B"}},"banner":{"content":"New to resume parsing? Start with the [Resume Parser console](https://resume-parser.affinda.com/). (Existing resume parsing integrations continue to be supported by Affinda Extract.)","color":{"light":"#B09670","dark":"#102A2F"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"affinda-44","hasAudioNarration":false,"actualSubdomain":"affinda-44","customDomains":["docs.affinda.com"],"gitSource":{"type":"github","owner":"affinda","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ac56a0f3afc16a603ad513a","collectionId":"7b08d586-aac3-44c0-9991-f40a6da86c49","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac56a0f3afc16a603ad513a"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae40b10dfc193c4660ad2a2","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"API Reference","count":163},{"language":"default","tag":"Endpoints","count":108},{"language":"default","tag":"Deprecated Versions","count":45},{"language":"default","tag":"v2 Endpoints (Legacy)","count":45},{"language":"default","tag":"Configuration Guide","count":27},{"language":"default","tag":"Deprecated End Points","count":25},{"language":"default","tag":"Search \u0026 Match","count":24},{"language":"default","tag":"Extract Handbook","count":13},{"language":"default","tag":"Additional Resources","count":10},{"language":"default","tag":"Data Sources","count":10}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@affinda.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html.dark{--tw-prose-body:#FFF9F0;--tw-prose-headings:#FFFFFF;--tw-prose-bullets:#FFFFFF}html.dark .mdx-content{color:#fff9f0}#navbar a[href*=\"app.affinda.com\"],#navbar a[href*=\"app.affinda.com\"] *,#navbar-primary-cta,#navbar-primary-cta *,a[href=\"https://app.affinda.com\"],a[href=\"https://app.affinda.com\"] *,span.text-white.z-10{color:#000!important}"}],"page":{"pagePath":"handbook/improving-accuracy","slug":"/handbook/improving-accuracy","pageMetadata":{"title":"Improving accuracy: a deep dive into extraction models","description":"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.","sidebarTitle":"Improving Model Accuracy","href":"/handbook/improving-accuracy"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,Heading,Info,OptimizedFrame,OptimizedImage,Step,Steps,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`purpose`,children:`Purpose`}),`\n`,_jsxs(_components.p,{children:[`Achieving “good enough” (e.g. `,_jsx(_components.strong,{children:`~80-90% accuracy`}),`) is not enough for mission-critical document processing. Affinda bridges the gap to “excellent” (`,_jsx(_components.strong,{children:`99%+ accuracy`}),`) through our approach, reducing manual work and ensuring top-tier performance.`]}),`\n`,_jsx(_components.p,{children:`This guide provides an understanding of how Affinda’s information extraction models work and walks users through the steps they can take to uplift the performance of their models. The tutorial covers building high‑quality Model Memory with validated documents, configuring validation settings, adding field descriptions, and troubleshooting low‑performing templates to maximize extraction accuracy.`}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`To follow this tutorial, users should hold Organization Owner or Admin permissions.`})}),`\n`,_jsxs(_components.p,{children:[`If you have not configured your first model yet, follow the `,_jsx(_components.a,{href:`/academy/model-creation`,children:`Creating a New Model`}),` tutorial first.`]}),`\n`,_jsx(Heading,{level:`2`,id:`under-the-hood-how-affinda-extracts-data`,children:`Under the Hood: How Affinda Extracts Data`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Proprietary Reading Order Algorithms`,icon:`book-open-reader`,id:`proprietary-reading-order-algorithms`,children:_jsx(_components.p,{children:`This algorithm captures word sequences in visually rich documents in a way that aligns with human comprehension. This ensures that text is processed in the same order a human would read it, leading to more accurate extractions.`})}),_jsx(Accordion,{title:`Use of Large Language Models`,icon:`head-side-brain`,id:`use-of-large-language-models`,children:_jsx(_components.p,{children:`Selects and utilizes the best-performing LLMs for each task, ensuring optimal results across different document types and structures.`})}),_jsxs(Accordion,{title:`Model Memory with Real-Time Learning`,icon:`brain`,id:`model-memory-with-real-time-learning`,children:[_jsxs(_components.p,{children:[`Uses a `,_jsx(_components.strong,{children:`retrieval-augmented generation (RAG)`}),` system to enable continuous improvement. Corrections made in one document are instantly applied to future extractions, eliminating recurring errors without requiring extensive retraining.`]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/configuration/model-memory`,children:`Model Memory`}),` for more information.`]})]}),_jsx(Accordion,{title:`Fingerprinting Algorithm`,icon:`fingerprint`,id:`fingerprinting-algorithm`,children:_jsx(_components.p,{children:`Identifies similar documents in Model Memory and provides relevant examples to the model, ensuring highly accurate data extraction and reducing errors.`})})]}),`\n`,_jsx(Heading,{level:`3`,id:`benefits-of-our-approach`,children:`Benefits of Our Approach`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No extensive model training required`}),` – Unlike traditional ML models that require hundreds of training samples, Affinda Extract learns dynamically and applies corrections in real-time. New, high-performing models can be created in a matter of minutes, not weeks.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Higher accuracy, less manual work`}),` – Moving from 95% to 99% accuracy reduces errors by 80%, cutting down the need for human intervention significantly.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`More intelligent than static LLMs`}),` – Unlike generic large language models that rely on fixed prompts and lack continuous learning, Affinda Extract actively applies nuanced learning from past interactions to make better decisions.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`steps-to-improving-accuracy`,children:`Steps to Improving Accuracy`}),`\n`,_jsx(_components.p,{children:`Visual Learner? Follow along with our Video Tutorial:`}),`\n`,_jsx(OptimizedFrame,{className:`mint-w-full mint-aspect-video mint-rounded-xl`,src:`https://www.youtube.com/embed/i-qySD-xxRY`,title:`YouTube video player`,frameBorder:`0`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:true}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Upload example documents and validate data to build Model Memory`,children:[_jsxs(_components.p,{children:[`Affinda Extract’s models use `,_jsx(_components.strong,{children:`Model Memory`}),` to learn from your documents and improve the accuracy of predictions.`]}),_jsx(_components.p,{children:`Affinda Extract intelligently selects a subset of your confirmed documents to use as model memory. These documents act as trusted references, helping the model make more accurate predictions on new, incoming documents.`}),_jsxs(_components.p,{children:[`A well-curated model memory is the foundation of `,_jsx(_components.strong,{children:`highly accurate, automated document extraction`}),`.`]}),_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Why this matters:`}),_jsx(`br`,{}),`The model will replicate what it learns from model memory. If errors are present, those mistakes will be reproduced in future predictions.`]}),`\n`]}),_jsxs(Tip,{children:[_jsx(Heading,{level:`3`,id:`best-practices-for-model-memory`,children:`Best Practices for Model Memory`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Accuracy first:`}),` Ensure extractions in model memory are `,_jsx(_components.strong,{children:`100% correct`}),` before confirming them.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Correct errors promptly`}),` – Any errors discovered downstream should be corrected in the Affinda Extract app to maintain data integrity.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Establish clear validation guidelines`}),` – If multiple team members validate documents, create clear annotation standards to prevent inconsistencies, especially in cases where ambiguity exists.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Quality over quantity:`}),` You don’t need dozens of near-identical examples. Instead, aim for a `,_jsx(_components.strong,{children:`variety of documents`}),` that reflect the range you typically receive.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Complete examples:`}),` Prioritise documents that include `,_jsx(_components.strong,{children:`all required fields`}),`, rather than ones with missing data.`]}),`\n`]})]}),_jsx(_components.p,{children:`By following these principles, your model memory will provide a strong foundation for consistent, accurate document processing.`}),_jsx(_components.p,{children:`Keeping these principles in mind, to build your model memory, upload representative documents.`}),_jsx(_components.p,{children:`Check the extraction of each field on the document. Correct any errors by redrawing the annotation box over the field on the document. Once the document is completely correct, click ‘Confirm document’.`}),_jsxs(_components.p,{children:[`To see how to validate extraction in more detail, see the `,_jsx(_components.a,{href:`/academy/review-extraction`,children:`Validation - Extraction tutorial`}),`.`]})]}),_jsxs(Step,{title:`Review Model Memory Settings`,children:[_jsx(OptimizedImage,{className:`mint-block mint-border-2 mint-border-gray-300 mint-rounded-lg dark:mint-hidden`,alt:`Model Memory Settings`,style:{width:`70%`},src:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemlight.png?fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=958303b68e49415e77376ac07c278a2b`,\"data-og-width\":`3680`,width:`3680`,\"data-og-height\":`1344`,height:`1344`,\"data-path\":`images/modelmemlight.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemlight.png?w=280\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=52d6697d4a8d12f21d252669456efc88 280w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemlight.png?w=560\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=bb3dde4249fe842e6e18b8254f80bfa7 560w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemlight.png?w=840\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=2443f1312026fb36f353af465761bf4f 840w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemlight.png?w=1100\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=acbcc9698bd3bcbe3d9c5d45535a65fa 1100w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemlight.png?w=1650\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=fe9e6e018de9d14eb34244eb86e0eeb2 1650w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemlight.png?w=2500\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=0ee415017f5df3f7eb72dac92a8e1654 2500w`}),_jsx(OptimizedImage,{className:`mint-border-2 mint-border-gray-300 mint-rounded-lg mint-hidden dark:mint-block`,alt:`Model Memory Settings`,style:{width:`70%`},src:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemdark.png?fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=0f33e60b556a63733c8d97326576f4d9`,\"data-og-width\":`3672`,width:`3672`,\"data-og-height\":`1320`,height:`1320`,\"data-path\":`images/modelmemdark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemdark.png?w=280\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=9ed3959572a565715e55c3df7fed8523 280w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemdark.png?w=560\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=4ee46881256ac3a62847e244035ad88f 560w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemdark.png?w=840\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=c1a4f535010867415a544d873b233980 840w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemdark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=d93088aadae16afa0de507168eb08126 1100w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemdark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=494e5d154216549e94a282ae6b4e8f05 1650w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/modelmemdark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=2eb31695ab670ce8b9662c70da896ce6 2500w`}),_jsx(_components.p,{children:`Go to Workspace Workflow Settings → ‘Configure Validation’`}),_jsx(_components.p,{children:`Here you can choose between 3 settings for model memory.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Auto (Recommended)`}),` - Affinda Extract models intelligently select the best documents in your validated set to use as Model Memory. This keeps model memory to a finite set that can be easily audited.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Manual`}),` - No documents from the workspace are automatically added to Model Memory, even after validation.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Always`}),` - Uses every confirmed document as a model memory reference.`]}),`\n`]})]}),_jsxs(Step,{title:`Add Field Descriptions`,children:[_jsxs(_components.p,{children:[`If a specific field in your documents is `,_jsx(_components.strong,{children:`consistently producing inaccurate results`}),`, you can improve performance by adding a `,_jsx(_components.strong,{children:`field prompt`}),`.`]}),_jsxs(_components.p,{children:[`A field prompt allows you to give the model `,_jsx(_components.strong,{children:`additional instructions`}),` for extracting that field.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Example: Customer Address`})}),_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Extract this information from where it is EXPLICITLY stated in the invoice document (e.g. “car stored at”), rather than the address of the person the invoice is addressed to. Do NOT confuse with the address of the supplier. It is better to keep this blank than return an incorrect address.`})}),`\n`]}),_jsx(Card,{title:`Writing Field Descriptions`,icon:`pen-to-square`,href:`/handbook/field-descriptions`,children:_jsx(_components.p,{children:`A practical guide to writing effective field descriptions, with eight patterns for fixing common extraction mistakes.`})})]}),_jsxs(Step,{title:`Review OCR settings`,children:[_jsx(_components.p,{children:`If you are finding that the model is not reading some text on your documents, your OCR settings might not be correct.`}),_jsx(OptimizedImage,{className:`mint-block mint-border-2 mint-border-gray-300 mint-rounded-lg dark:mint-hidden`,alt:`OCR settings`,style:{width:`70%`},src:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionslight.png?fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=047ed6346775a0891b3597daeccb4139`,\"data-og-width\":`1673`,width:`1673`,\"data-og-height\":`808`,height:`808`,\"data-path\":`images/ocroptionslight.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionslight.png?w=280\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=ca81d6c7e08a09752116af074d8fdc60 280w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionslight.png?w=560\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=52147b5c3a4d6711358f6a61b8d58e43 560w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionslight.png?w=840\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=d4100a5cfb9d97f49682964791823065 840w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionslight.png?w=1100\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=460d74c4db0b66087e8457a7c631bd81 1100w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionslight.png?w=1650\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=853f97ebc485022c9a74856665b5b747 1650w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionslight.png?w=2500\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=5d573a4844a87c9dc665b820ca21a515 2500w`}),_jsx(OptimizedImage,{className:`mint-border-2 mint-border-gray-300 mint-rounded-lg mint-hidden dark:mint-block`,alt:`OCR settings`,style:{width:`70%`},src:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionsdark.png?fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=dd52d42cc1b46dfae39e70128a2930b4`,\"data-og-width\":`1671`,width:`1671`,\"data-og-height\":`807`,height:`807`,\"data-path\":`images/ocroptionsdark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionsdark.png?w=280\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=d98acb1c138a0e71db70fd26e0f00785 280w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionsdark.png?w=560\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=f56327386f3aa456aa8a291967de6aac 560w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionsdark.png?w=840\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=f047b639e92a1a856070b2d2115d8e77 840w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionsdark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=51b19f6312095da909c8b0dede3ff843 1100w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionsdark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=22e0fe0e485e30d7c2e11c0435ba2d3f 1650w, https://mintcdn.com/affinda-44/8O48gu_z8QeuNsDM/images/ocroptionsdark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=8O48gu_z8QeuNsDM\u0026q=85\u0026s=c10a62b43de165ec9410b01a3250de12 2500w`}),_jsx(_components.p,{children:`Navigate to Workspace Workflow Settings → “Configure Pre-processing” and check your OCR settings are set to “Partial” or “Always Full” to avoid missed text.`})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`troubleshooting-low-performing-documents`,children:`Troubleshooting low-performing documents`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Check the Model Memory reference`,children:[_jsx(_components.p,{children:`Go to your document, and click the three dots in the top right corner.`}),_jsx(_components.p,{children:`Click “Model Memory Reference”.`}),_jsx(_components.p,{children:`Review the fields on the Model Memory reference. Incorrect extraction on this document could be responsible for incorrect predictions. Make corrections as needed.`})]}),_jsxs(Step,{title:`Add template example`,children:[_jsx(_components.p,{children:`If a high‑volume document template isn’t performing as expected, upload a representative example to Model Memory to boost accuracy.`}),_jsx(_components.p,{children:`To do this, upload your example document, validate the extracted data, and click ‘Confirm’.`}),_jsx(_components.p,{children:`Reparse existing documents and check that they are referencing the correct similar example document.`})]}),_jsxs(Step,{title:`Update Model Memory documents`,children:[_jsx(_components.p,{children:`The Model Memory settings found in Workflow settings determine which documents are automatically added once a document is confirmed. However, Organization Admins retain the ability to add or remove documents from Model Memory independently to further control and improve model performance.`}),_jsx(_components.p,{children:`Documents can be added or removed from Model Memory through the Document List view within a Workspace. This can be applied to a single document, or as a bulk action.`})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Improving accuracy: a deep dive into extraction models","description":"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.","sidebarTitle":"Improving Model Accuracy","href":"/handbook/improving-accuracy"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Purpose","slug":"purpose","depth":2,"children":[]},{"title":"Under the Hood: How Affinda Extracts Data","slug":"under-the-hood-how-affinda-extracts-data","depth":2,"children":[{"title":"Benefits of Our Approach","slug":"benefits-of-our-approach","depth":3,"children":[]}]},{"title":"Steps to Improving Accuracy","slug":"steps-to-improving-accuracy","depth":2,"children":[{"title":"Best Practices for Model Memory","slug":"best-practices-for-model-memory","depth":3,"children":[]},{"title":"Troubleshooting low-performing documents","slug":"troubleshooting-low-performing-documents","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-lg {\n border-radius: 0.5rem\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}\n.mint-border-2 {\n border-width: 2px\n}\n.mint-border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1))\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"affinda-44","siteName":"Affinda Extract Documentation","title":"Improving accuracy: a deep dive into extraction models - Affinda Extract Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-02T02:16:20.100Z","originalFileLocation":"handbook/improving-accuracy.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Affinda Extract Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Improving accuracy: a deep dive into extraction models - Affinda Extract Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Affinda\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.affinda.com/handbook/improving-accuracy\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cdn.prod.website-files.com/6854ccfd1a7ab92f392b474d/68ae96fe8f3fdbbe0ae04c73_Affinda%20Open%20Graph%20image%20for%20website%20previews.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Improving accuracy: a deep dive into extraction models - Affinda Extract Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cdn.prod.website-files.com/6854ccfd1a7ab92f392b474d/68ae96fe8f3fdbbe0ae04c73_Affinda%20Open%20Graph%20image%20for%20website%20previews.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/affinda-44/tl-77mmsQTlzqSAp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Affinda Extract Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1F3339\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.affinda.com/handbook/improving-accuracy\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/handbook/improving-accuracy.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.affinda.com/#organization\",\"name\":\"Affinda Extract Documentation\",\"url\":\"https://docs.affinda.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/affinda-44/nvZZjc-QOoHXzSQ7/images/affindaextract-inkwell.png?fit=max\u0026auto=format\u0026n=nvZZjc-QOoHXzSQ7\u0026q=85\u0026s=a3e52ff1e274ac5509589a6350b41496\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.affinda.com#website\",\"name\":\"Affinda Extract Documentation\",\"url\":\"https://docs.affinda.com\",\"publisher\":{\"@id\":\"https://docs.affinda.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.affinda.com/handbook/improving-accuracy#webpage\",\"url\":\"https://docs.affinda.com/handbook/improving-accuracy\",\"name\":\"Improving accuracy: a deep dive into extraction models\",\"description\":\"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.\",\"dateModified\":\"2026-10-02T02:16:20.100Z\",\"isPartOf\":{\"@id\":\"https://docs.affinda.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.affinda.com/handbook/improving-accuracy#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.affinda.com/handbook/improving-accuracy#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Foundation Tutorials\",\"item\":\"https://docs.affinda.com/handbook/getting-started\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Improving accuracy: a deep dive into extraction models\",\"item\":\"https://docs.affinda.com/handbook/improving-accuracy\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.affinda.com/handbook/improving-accuracy#article\",\"headline\":\"Improving accuracy: a deep dive into extraction models\",\"name\":\"Improving accuracy: a deep dive into extraction models\",\"description\":\"Strategies and best practices to push Affinda extraction models to 99%+ accuracy, including training data, schema tuning, and validation feedback loops.\",\"url\":\"https://docs.affinda.com/handbook/improving-accuracy\",\"mainEntityOfPage\":{\"@id\":\"https://docs.affinda.com/handbook/improving-accuracy#webpage\"},\"image\":\"https://cdn.prod.website-files.com/6854ccfd1a7ab92f392b474d/68ae96fe8f3fdbbe0ae04c73_Affinda%20Open%20Graph%20image%20for%20website%20previews.png\",\"dateModified\":\"2026-10-02T02:16:20.100Z\",\"publisher\":{\"@id\":\"https://docs.affinda.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.affinda.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Affinda Extract Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Affinda Extract Documentation","nav":{"global":null,"tabs":[{"tab":"Extract Handbook","pages":[{"title":"Affinda Extract docs: document AI guides and API reference","mode":"wide","sidebarTitle":"Welcome","href":"/home"},{"group":"Foundation Tutorials","pages":[{"title":"Getting started with Affinda Extract","sidebarTitle":"Getting Started with Affinda Extract","href":"/handbook/getting-started"},{"title":"Creating a new model","description":"Step-by-step guide to creating and configuring a new Affinda Information Extraction model in minutes, including schema setup and training data.","sidebarTitle":"Creating a New Model","href":"/handbook/model-creation"},{"title":"Improving accuracy: a deep dive into extraction models","sidebarTitle":"Improving Model Accuracy","href":"/handbook/improving-accuracy"}]},{"group":"User Validation 101","pages":[{"title":"User validation of extracted data","description":"Validate extracted data in the Affinda Extract review interface to correct values, improve model accuracy, and approve documents for downstream export.","sidebarTitle":"User Validation of Extracted Data","href":"/handbook/review-extraction"},{"title":"Edit extracted tables in the table editor","sidebarTitle":"Table Editor","href":"/handbook/table-editor"},{"title":"Reviewing splitting and classification results","href":"/handbook/split-classify"}]},{"group":"Advanced Playbooks","pages":[{"title":"Schema design and field configuration best practices","href":"/handbook/schema-design"},{"title":"Achieving straight-through processing","sidebarTitle":"Achieve Straight Through Processing","href":"/handbook/straight-through-processing"},{"title":"Integration workflows and solution design patterns","href":"/handbook/solution-design"},{"title":"Create your integration with the Affinda Agent","href":"/handbook/agent-integrations"},{"title":"Setting up and managing Affinda in production","sidebarTitle":"Production Best Practices","href":"/handbook/production-best-practices"},{"title":"Writing field descriptions","sidebarTitle":"Writing Field Descriptions","href":"/handbook/field-descriptions"}]}]},{"tab":"Configuration Guide","pages":[{"title":"Configuration Guide","href":"/configuration/workflow"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/getting-started"}]},{"tab":"AI Integrations","pages":[{"title":"AI Integrations","href":"/integrations/mcp-connector"}]},{"tab":"Additional Resources","pages":[{"title":"Additional Resources","href":"/resources"}]}]},"title":"Improving accuracy: a deep dive into extraction models - Affinda Extract Documentation","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["10e4515597","a74be98ba7"],"chunks":["BannerMarkdown-m8-xYP3Y.js","dist-1ms6tsT-.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-DMKzROTp.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","zoom-image-lightbox-CVZVK4hN.js","lightbox-handle-r17bVUz3.js"]}