Мазмұнға өту
2025 ж. 07 мау.·8 мин оқу

PDF-тен кестелерді шығару: таза деректерді қалай жинау керек

PDF-тен кестелерді шығару тек парсингті ғана емес, жолдарды қалыпқа келтіруді, сомаларды тексеруді және күмәнді жерлерді қолмен бақылауды да талап етеді.

PDF-тен кестелерді шығару: таза деректерді қалай жинау керек

Неге PDF кестесі шашырап кетеді

PDF кестені нағыз кесте ретінде өте сирек сақтайды. Әдетте бұл беттегі координаттары бар бөлек мәтін блоктарының жиыны ғана. Адам біркелкі торды көреді, ал бағдарлама қатар тұрған сөздер мен сандарды көреді. Сол себепті PDF-тен кесте шығарғанда баған шекаралары оңай жоғалып кетеді: сома көрші бағанға ауысып кетеді, күн атауға жабысып қалады, ал бір жазба кенет екіге бөлінеді.

Мәселе файлдың түрінен басталады. Егер PDF мәтіннен жасалған болса, парсер кейде таңбалардың орнына, аралықтарға және тор сызықтарына сүйене алады. Егер бұл скан немесе сурет болса, онда онда ұяшық мүлде болмайды. Әуелі кескінді тану керек, содан кейін ғана кестені жинауға көшуге болады. Дәл осы жерде 8 цифры 3-ке айналып, нүкте үтір болып кетеді. Қорытындысы бар есеп үшін бұл енді ұсақ-түйек емес.

Көбіне кесте бірнеше типтік себептен бұзылады:

  • ұзақ қызмет атауы жаңа жолға түсіп, парсер оның жалғасын жаңа жазба деп қабылдайды;
  • кестенің астындағы ескертпе соңғы жолға қосылып, соманы бұзады;
  • тақырыптағы біріктірілген ұяшық бағандарды оңға не солға ысырады;
  • бос ұяшық жолдың соңы сияқты көрінеді, ал шын мәнінде дерек жоқ.

Есептерде бұл әсіресе аралық қорытындылардан байқалады. Шығындар блогы Жиыны деген жолмен бітсе, ал төменде ұсақ шрифтпен ескерту тұрса, парсер екі жолды бір жол деп алып кетуі мүмкін. Сонда сомаларды тексеру жалған айырмашылық көрсетеді.

Тарифтер мен келісімшарт қосымшаларында мұндай ақау одан да анық көрінеді. Позиция атауы көбіне екі немесе үш жолға созылады, жанында ставка, өлшем бірлігі, ҚҚС және әрекет ету мерзімі тұрады. Бір ғана баған ауысса, баға басқа қызметтің қасына түсіп кетеді. Кейде кестеде бөлім атауы үшін біріктірілген ұяшықтар болады, мысалы қызмет пакеті немесе тарифтер тобы үшін. Ондайда бағдарлама бөлімнің қай жерде аяқталып, кәдімгі жолдың қай жерде басталатынын түсінбейді.

Сондықтан PDF кестелерін парсингтеу сирек жағдайда жай ғана Экспорт батырмасына тіреледі. Алдымен алдыңызда не тұрғанын түсіну керек: мәтіндік PDF пе, скан ба, күрделі беттелім бе, әлде бәрі аралас па. Тек содан кейін жолдарды жинап, өрістерді бір форматқа келтіріп, сандардың сәйкестігін тексерген жөн.

PDF түрін қалай түсінуге болады

Әуелі алдыңыздағы файлдың мәтіндік PDF пе, әлде скан ба, соны тексеріңіз. Бұған жұмыс тәсілінің көбі тәуелді. Егер файл мәтіндік болса, бағдарлама әріптерді, сандарды және нысандардың шекарасын көреді. Егер бұл скан болса, ішінде көбіне бет суреті ғана жатады, мәтін анық көрінгенімен де солай болады.

Ең жылдам тексеріс қарапайым: тышқанмен мәтінді белгілеп көріңіз. Егер белгілеу сөздер мен жолдар бойымен жүрсе, кәдімгі парсинг көбіне жаман нәтиже бермейді. Егер курсор бүкіл аймақты сурет ретінде ғана алса, OCR-сыз болмайды.

Аралық нұсқа да болады. Келісімшарт немесе есеп көбіне әртүрлі беттен жиналады: бір бөлігі Excel-ден экспортталады, бір бөлігі кейін сканерленіп, қол қойылып, қайтадан PDF-ке сақталады. Соның салдарынан бір бет жақсы ашылады, ал көрші бет бүкіл ағынды бұзады. Тексеру керек нәрсе тек файлдың өзі емес, кесте бар әр бет те.

Шығаруды бастамас бұрын бірнеше нәрсені жылдам қарап шығыңыз:

  • мәтінді жол немесе ұяшық бойынша белгілей аласыз ба;
  • сандар артық тасымалсыз және бос орынсыз көшіріле ме;
  • мөрлер, қолтаңбалар мен штамптар сомаларды немесе баған атауларын жаппай ма;
  • бетте көлбеулік, көлеңке, сұр фон және әлсіз контраст жоқ па;
  • құжаттың барлық беті бірдей құрылып тұр ма.

Мөрлер мен қолтаңбалар ойлағаннан да көбірек кедергі жасайды. Дөңгелек мөр екі санды жауып тастауы мүмкін, ал кесте сызығының үстіне түскен қолтаңба бағандардың бөлінуін бұзады. Күнге арналған штамптар жиі тура ұяшықтың ішіне түсіп, кейін артық сан сияқты көрінеді. Егер ондай кедергілер болса, проблемалы аймақтарды бірден белгілеп, бірінші өтуден-ақ мінсіз нәтиже күтпеген дұрыс.

Кәдімгі парсинг мәтін PDF-тің өзінде кірістірілген болса және кесте біршама түзу оқылса жарайды. OCR бет сурет ретінде сақталған кезде, мәтін белгіленбегенде немесе скан сапасы нашар болса керек. Егер құжат аралас болса, екі ағын жасаған дұрыс: мәтіндік беттерді тікелей өңдеп, ал скандарды OCR-ге жіберіңіз. Сонда қате азаяды, кейін қолмен түзету де аз болады.

Кестені немен шығару керек

Бір PDF-ті әртүрлі тәсілмен талдауға болады, бірақ әмбебап құрал жоқ. Таңдау әдетте екі сұраққа тіреледі: мәтінді белгілей аласыз ба және кесте макеті қаншалықты тұрақты.

Бір реттік тапсырмада кейде жай көшіру де жеткілікті. Ал құжат ағыны үшін бірден әдемі алғашқы іске қосуға емес, болжамды нәтиже беретін тәсілге сүйенген дұрыс.

  • PDF-тен көшіру файл цифрлық болса, кесте шағын болса және бағандар қою кезінде шашырамаса, жылдам тексеруге жарайды.
  • Координаттарға негізделген парсер бір типті құжаттарда жақсы жұмыс істейді: қайталанатын есептерде, тарифтік торларда, бірдей беттелімі бар келісімшарт қосымшаларында.
  • OCR скандар мен сурет түрінде сақталған беттер үшін қажет. Онсыз ұяшықтарға мүлде жете алмайсыз, бірақ ол сандар мен ұсақ шрифтті жиі шатастырады.
  • LLM шекарасы анық емес, жолдар бірігіп кеткен және ұяшықтардың ішінде ескертпе мен сілтемелер тұрған күмәнді жерлерде пайдалы.

Әдетте дұрыс реттілік мынадай: алдымен мәтін мен координаттарды алуға тырысу, содан кейін OCR қосу, ал LLM-ді күрделі фрагменттер мен қалыпқа келтіруге қалдыру. Бұл арзанырақ, ашығырақ және тексеруге де тыныш.

Көпбетті кестелерде көбіне тек шығару емес, беттерді біріктіру бұзылады. Бірінші бетте толық тақырып, екіншісінде тек жалғасы, үшіншісінде қорытынды болуы мүмкін. Егер бағандар сәйкес келсе, өрістердің реті өзгермесе және жолдар қисынды жалғасса, беттерді бір кестеге жинауға болады. Егер баған ені құбылып тұрса, тақырыптар қайта аталып кетсе немесе жол бет ауысқанда үзіліп қалса, ондай фрагментті бірден күмәнді деп есептеген дұрыс.

OCR мен LLM беттердің түйіскен жерінде, яғни бір жол екіге бөлінген тұста әсіресе пайдалы. Бірақ мұнда бақылау керек: модель құжатта жоқ нәрсені қосып жазып жіберуі мүмкін. Сондықтан толық PDF пакетін емес, тек проблемалы жерлерді қайта талдауға жіберген дұрыс.

Қолмен тексеру кезегін де бірден жинаған жөн. Әдетте оған сома көлем мен бағаға сай келмейтін жолдар, OCR сандар бойынша төмен сенім берген орындар, бір ұяшықтың екі жолға бөлініп кеткені, жолдың бір бетте басталып, екінші бетте аяқталуы, не сипаттамада сілтеме, мөр, қолтаңба, қолмен жазылған белгі болуы сияқты жағдайлар түседі. Сіз бүкіл құжатты қайта қарамайсыз, тек тәуекелі жоғары жерлерді тексересіз.

Файлдан кестеге дейінгі жұмыс тәртібі

Тұрақты нәтиже парсер бірдеңе тапқан сәтте емес, қайталанатын әрекеттер тізбегі болғанда пайда болады. Бір PDF-тің бір бетінде ұқыпты кесте, келесі бетінде қиылған құйрық, ал тағы бірінде соңғы жолға жабысып қалған ескерту болуы мүмкін. Егер жұмысты кезеңдерге бөлмесеңіз, қателер өте тез жинала бастайды.

Алдымен құжатты беттерге бөліп, әр бетте кесте шын мәнінде қай аймақта тұрғанын анықтаңыз. Бұл ойлағаннан да маңызды. Жанында жиі бетжолдар, қосымша нөмірлері, қолтаңбалар мен ұсақ ескертпелер тұрады. Егер бүкіл бетті қамтып алсаңыз, олар деректермен араласып, жолдарды талдауды бұзады.

Кейін кестені тек мәтін бойынша емес, координаттар бойынша жинаңыз. Парсер баған шекаралары қайда өтетінін, қай сөздер бір сызықта жатқанын және жолдың тасымалдан кейін қайда жалғасатынын түсінуі керек. Егер ұяшықта екі жол мәтін болса, оны бірден түсінікті ережемен біріктірген жақсы. Әйтпесе тариф сипаттамасы кенет жеке жазбаға айналып кетеді.

Тек соңғы кестені емес, қызметтік деректерді де сақтап отырған пайдалы:

  • бет нөмірі;
  • кесте аймағының координаттары;
  • тазартуға дейінгі ұяшықтың бастапқы мәтіні;
  • парсердің сенімі немесе күмәнді оқу белгісі.

Кейін мәндерді бір форматқа келтіріңіз. Сандар жиі 1 250,00, 1250.00 және 1.250,00 түрінде түрлі файлдан келеді. Күндер 01.02.2025 немесе 2025-02-01 форматында болуы мүмкін. Валютаны сомадан бөлек сақтау жақсы, сонда 12 000 KZT бір ғана өрісте санмен бірге тұрмайды. Бұл кезең қызықсыз көрінгенімен, онсыз деректерді сүзу, есептеу және салыстыру қиын.

Жақсы әдет - түпнұсқаның үзіндісін жанында сақтау. Бұл ұяшықтың тазартуға дейінгі мәтіні немесе PDF-тен алынған жолдың шағын қиындысы болуы мүмкін. Бухгалтер немесе заңгер айырмашылықты көргенде, ол даулы жерді тез ашып, бүкіл құжатты қайта парсингтемей тексере алуы керек.

Күмәнді ұяшықтарды жасырмаңыз. Оларды бірден белгілеңіз: OCR нашар оқыған, валюта бар да сома жоқ, күн диапазоннан тыс, тариф коды жоқ, НДС-пен сәйкес келмейтін сома. Келісімшарт қосымшасында бұл әсіресе маңызды: нашар оқылған бір сан бағаны он есе өзгертуі мүмкін.

Мұндай тәртіп бастапқыда баяулау көрінеді, бірақ кейін бірнеше сағатты үнемдейді. Сіз жай ғана кесте алмайсыз, әр жолдың қайдан шыққанын және нені қолмен тексеру керегін түсінесіз.

Деректерді бір қалыпқа қалай келтіруге болады

Талдау алдында деректерді маскалаңыз
Егер модельге келісімшарттар, актілер және шот-фактуралар жіберсеңіз, жеке деректерді жасырыңыз.

PDF-тен кестелерді шығарғаннан кейін шикі жолдар көбіне бір-біріне ұқсас болғанымен, дәл келмейді. Бір баға 10 000,50, 10.000,50 немесе 10000.50 түрінде келуі мүмкін, ал қызмет атауы Поддержка 24/7, қолдау 24 7 немесе бір ұяшықтың ішінде екі жол болып түсуі мүмкін.

Алдымен бір ұяшыққа анық қатысты жерлердегі тасымалды біріктіріңіз. Егер тарифтегі Абоненттік төлем екі бөлікке бөлініп кетсе, оны кез келген салыстыруға дейін қайта жинау керек. Әйтпесе кесте толық көрінеді, бірақ қайталанатын жазбаларды табу мен топтастыру қоқыс береді.

Содан кейін артық бос орындар мен жасырын таңбаларды алып тастаңыз. PDF ішінде жиі үзіксіз бос орындар, табуляциялар және көрінбейтін тасымалдар тұрады. Көзге олар көрінбейді, ал код жолдарды бөлек деп санайды. Ең жақсы ереже қарапайым: сөздердің арасындағы кәдімгі бос орындарды қалдыру, қос бос орындарды алып тастау және таңбаларды бір жиынға келтіру.

Сандар мен белгілер

Сандармен қатаң тәртіп керек. Бір формат таңдап, барлық мәнді соған келтіріңіз: бір ондық бөлгіш, санның ішінде бос орын жоқ, сол өрісте валюта белгісі жоқ. Егер бір құжатта 15,5%, 0.155 және 15.50 % кездессе, сіз нені сақтайтыныңызды алдын ала шешіңіз: пайызды көрсетуге арналған мәтін бе, әлде есептеуге арналған сан ба.

ҚҚС, валюталар және диапазондарды бөлек қараңыз. 1000 KZT без НДС, 1 000 тг, 1000 теңге және 1000 + 12% — бұлар әртүрлі жағдай. Баға, валюта және ҚҚС белгісін бөлек бағандарда ұстаған дұрыс. 100-ден 500-ге дейін немесе 1-10 пайдаланушы сияқты диапазондарды да кейін есеп берсеңіз, бір жолда қалдырмаңыз.

Өлшем бірліктерінде де солай. шт., дана, бірлік, user/month және пайдаланушы/ай сияқты нұсқаларды бір сөздікке келтірген жақсы. Қызмет атауларына да бұл қатысты. Егер келісімшарт қосымшасы мен айлық инвойста қызмет сәл басқаша аталса, синонимдердің біріздендірілген анықтамалығы қолмен салыстыруды айтарлықтай азайтады.

Әдетте бес негізгі ереже жеткілікті:

  • ұяшық ішіндегі тасымалды біріктіру;
  • бос орындар мен жасырын таңбаларды тазарту;
  • сандарды бір форматқа келтіру;
  • ҚҚС, валютаны және диапазондарды бөлек өрістерге шығару;
  • қызмет атаулары мен өлшем бірліктерін ортақ анықтамалықпен сәйкестендіру.

PDF-де тарифтер мен қосымшаларды үнемі алатын командалар үшін бұл енді жай ғана безендіру емес. Кестелік деректерді қалыпқа келтірусіз құжат нұсқаларын әділ салыстыру, сомаларды тексеру және есепке бір кесте жинау қиын.

Сомаларды қалай тексеріп, айырманы қалай табуға болады

Тіпті жақсы PDF кесте парсингі де көбіне бағандардан емес, арифметикадан сүрінеді. Шығарғаннан кейін қорытындылар құжатта мүлде жоқ сияқты етіп, бәрін қайта есептеген пайдалы.

Алдымен жолдардың қосындысын бөлімнің қорытындысымен салыстырыңыз. Егер байланыс қызметтері блогында он позиция болса, оларды өзіңіз қосып, төмендегі санмен салыстырыңыз. Мұндай ереже түсіп қалған жолды, ұяшықтың ығысуын және санның көрші бағанға өтіп кетуін тез табады.

ҚҚС-пен бөлек жұмыс істеген жақсы. Үш өріс сақтаңыз: салықсыз сома, ҚҚС және салықпен сома. Сонда құжат қай жерде ставкаларды араластырғаны, парсер қай жерде базаның орнына ҚҚС-ты алғаны және 12% қай жерде қазірдің өзінде өсірілген сомадан есептелгені бірден көрінеді.

Әдетте қате неден шығады

  • әр жолда жеке дөңгелектеу жасалып, жалпы қорытындыда емес;
  • кесте жаңа бетке бөлінгеннен кейін жолдың көшірмесі пайда болуы;
  • парсер оны кәдімгі позиция деп қабылдаған кесте ішінде тұрған Жиыны жолы;
  • негізгі кестедегі және келісімшарт қосымшасындағы әртүрлі қорытындылар.

Дөңгелектеу көбіне шын мәнінде барынан қорқынышты көрінеді. Егер жолдар 125 430,01 беріп, ал бөлімнің қорытындысы 125 430,00 болса, бұл әдетте рұқсат етіледі. Бірақ айырма 1-2 теңгеге жетіп, бірнеше бөлімде қайталанса, бір жерде көшірме немесе қате танылған сан тұрғаны анық.

Қорытындыларды беттер арасында және байланысты құжаттар арасында салыстырған пайдалы. Тариф қосымшасында айлар бойынша сома бір кесте ішінде сәйкес келуі мүмкін, бірақ келісімшарттағы немесе шоттағы жалпы лимитпен сәйкес келмеуі ықтимал. Мұндай бақылау бір тариф қосымшада, актіде және есепте сәл әртүрлі түрде кездескенде әсіресе керек.

Даулы жолдар үшін қарапайым қолмен тексеру шегін орнатыңыз. Мысалы, айырмашылық 0,5%-дан асса немесе 100 теңгеден жоғары болса, бәрін талдауға жіберіңіз. Ұсақ ауытқуларды дөңгелектеу деп белгілеуге болады, ал шектен асқандарды адам бір минутта тексереді.

Тәжірибеде бұл былай көрінеді. Егер келісімшарт қосымшасында ҚҚС-сыз 20 000 теңгелік бес тариф жолы болса, салықсыз қорытынды 100 000, ҚҚС 12 000, жалпы қорытынды 112 000 болуы керек. Басқа кез келген сан жолды, ставканы немесе көшірмені тексеруге себеп.

Келісімшарт қосымшасындағы тарифтермен мысал

PDF-пен пилотты іске қосыңыз
50 құжат алып, LLM қай жерде қолмен тексеруді шынымен азайтатынын бағалаңыз.

Келісімшарт қосымшасында кесте CSV-ге түсіруге тырысқанша оңай көрінеді. Қағазда бәрі түсінікті: қызмет, көлем, ставка, қорытынды. Парсингтен кейін бір жол екіге бөлінеді, валюта жоғалып кетеді, ал бөлімнің қорытындысы енді сәйкес келмейді.

Кішкентай мысалды алайық. Құжатта байланыс қызметтері бөлімі бар, ал валюта кестенің астындағы ескертпеде берілген: Барлық тарифтер теңгемен, ҚҚС-сыз көрсетілген. Демек, валюта өрісін жолдардан емес, осы блоктың метадеректерінен алу керек.

Раздел: Услуги

| Услуга                                     | Объем | Ставка | Итого   |
|--------------------------------------------|-------|--------|---------|
| Канал передачи данных                      | 2     | 120000 | 240000  |
| для резервной площадки                     |       |        |         |
| Техническая поддержка 24/7                 | 1     | 180000 | 180000  |
| Выделенный IP-адрес                        | 12    | 30000  | 360000  |
| Итого по разделу                           |       |        | 780000  |

Примечание: Все ставки указаны в KZT без НДС.

Егер парсер мұны сол күйінде алса, үшін резервтік алаң деген жолды жаңа қызмет деп санауға болмайды. Оны алдыңғы жолға жабыстыру керек, өйткені онда көлем де, ставка да, қорытынды да жоқ. Біріктіргеннен кейін атау Канал передачи данных для резервной площадки болады.

Кейін қалыпқа келтіру жүреді. Сандар бір форматқа келтіріледі: бос орындар алынып, үтір болса, нүктеге ауыстырылады, ал сома сан ретінде сақталады. KZT валютасы бүкіл бөлімге ескертпеден қойылады, әр ұяшықта жеке пайда болады деп күтудің қажеті жоқ.

Мұндағы сомаларды тексеру өте қарапайым, сондықтан пайдалы:

  • 2 x 120000 = 240000
  • 1 x 180000 = 180000
  • 12 x 30000 = 360000
  • Жолдардың қосындысы = 780000

Қорытынды сәйкес келді. Демек, кесте, шамасы, дұрыс жиналған. Егер парсер тасымалды бөлек жол ретінде қалдырса, жолдардың қосындысы дұрыс болып көрінуі мүмкін, бірақ экспортта бос қызмет пайда болады. Есеп беру және есеп жүйесіне жүктеу үшін бұл қазірдің өзінде проблема.

Барлық жолды автоматты өңдей берген дұрыс емес. Мынадай жағдайларды адамға берген жөн: жол көлемсіз тұрса, бірақ Қорытынды бағанында сан болса, ставка прайс бойынша немесе келісім бойынша деп жазылса, кестенің ішіндегі ескерту кәдімгі жолға ұқсаса, бір ұяшықта тасымал арқылы екі қызмет тұрса немесе бөлімнің қорытындысы жолдардың қосындысына тең болмаса. Дәл осындай жерлер көбіне ең көп қолмен түзетуді талап етеді.

Қай жерде жиі қателеседі

PDF-тен кесте шығарудағы ең қымбат қате — OCR-дің бірінші нәтижесіне сену. Мәтін шынайы сияқты көрінуі мүмкін, бірақ құрылым әлдеқашан бұзылған: тақырып көрші бағанға өтіп кеткен, сома сипаттамаға түскен, ал бос ұяшық келесі жолдың бөлігіне айналған.

Сондықтан тек таңбаларды тану аздық етеді. Кестенің өзін тексеру керек: онда неше баған бар, әр жол қай жерден басталады, тақырыптар сәйкес келе ме, қорытындылар ығыспады ма. Бір файлды тек мәтінді танумен шектемей, кемінде құрылымдық тексерістен өткізу керек.

Қателер көбіне ұсақ детальдарда жасырынып тұрады. Сандардың алдындағы минус ойлағаннан жиі жоғалады. Мыңдық бөлгіш те жиі кетеді: 120 000 120000-ға айналады, ал парсер форматты шатастырса, 120.000 болып кетуі де мүмкін. Есеп үшін бұл енді басқа сан, ал келісімшарт қосымшасындағы тариф үшін — басқа мағына.

Тағы бір жиі проблема — көрші жолдардың бірігіп кетуі. Бұл сипаттамада тасымал болғанда, жүйе оны бір ұзын жазба деп шешкен кезде болады. Соның салдарынан қызмет жолы мен жеңілдік жолы жабысып қалады да, екі позицияның орнына біреуін ғана аласыз. Содан кейін сомалар нашар сәйкесіп, себепті іздеу ұзара түседі.

Ескертпелер әсіресе жағымсыз. Сырттай ставка бірдей көрінгенімен, ескертпе есептеу ережесін өзгертуі мүмкін: баға ҚҚС-сыз берілген, жеңілдік тек бірінші айға ғана жарайды, түнгі тариф бөлек есептеледі. Егер мұндай белгіні өткізіп алсаңыз, кесте ұқыпты көрінеді, бірақ қате деректің ішінде қалып қояды.

Типтік ақаулардың қысқа тізімін қолыңызда ұстаған пайдалы:

  • OCR мәтінді таныды, бірақ баған шекараларын бұзды;
  • минус, мыңдықтағы бос орын немесе бөлшек бөліктегі үтір жоғалды;
  • сипаттаманың тасымалынан кейін екі жол бірігіп кетті;
  • ескертпе ставканы өзгертті, ал парсер оны есептемеді;
  • редактор кестені қолмен түзетіп, түпнұсқаны өшіріп тастады.

Соңғы тармақ жиі бағаланбайды. Түзетуден кейін бастапқы деректердің үстіне жазбаңыз. Түпнұсқаны бөлек сақтап, ал түзетулерді кім, не өзгерткенін көрсететін жаңа нұсқаға жазыңыз. Әйтпесе бір аптадан кейін қате PDF-тен келді ме, OCR-ден бе, әлде қолмен түзетуден бе — түсініксіз болады.

Мәселелер әдетте үлкен ақаудан басталмайды. Көбіне бәрін ұсақ жоғалтулар бұзады: бір минус, бір ескертпе, бір бірігіп кеткен жол. Кейін дәл солар есептердегі сомаларды тексеруді бұзады.

Экспорт алдында жылдам тексерулер

Модельдерді деректерге жақын хосттаңыз
Егер төмен кідіріс немесе деректерді ел ішінде сақтау маңызды болса, AI Router хостингін пайдаланыңыз.

Экспортқа дейінгі бес минут көбіне бір сағаттық қолмен түзетуді үнемдейді. Парсингтен кейінгі қателер әдетте ұсақ жерлерде жатады: бос ұяшық бағанды ығыстырады, күн форматын өзгертеді, ал сома сан сияқты көрінсе де, мәтін ретінде сақталған болуы мүмкін.

Экспортқа дейінгі тексеріс

  • Бағандарды тұтас қарап шығыңыз. Егер колоннаның ортасында бос ұяшықтар пайда болса, мәндер оңға не солға ығысып кетпегенін тексеріңіз.
  • Бірнеше сандық бағанды ашып, оларды сұрыптап көріңіз немесе қосындысын есептеңіз. Егер 1 250,00 мәтін сияқты мінез көрсетсе, әрі қарай сүзгілер, формулалар және жиынтық кестелер бұзылады.
  • Аралық қорытындыларды құжаттағы сандармен салыстырыңыз. Әуелі бөлімдер бойынша, кейін бүкіл файл бойынша. 0,01-ге дейінгі айырмашылықтың өзі жиі дұрыс емес бөлгішті, жоғалған минусты немесе түсіп қалған жолды көрсетеді.
  • Даулы жолдарды бірден белгілеңіз. Қолмен тексеру керек деген белгі финалдық экспорттағы үнсіз қатеден жақсы.
  • Түпнұсқаға апаратын із қалдырыңыз: бет нөмірі, файл атауы және бастапқы кестенің шағын қиындысы.

Күндер мен валютаның бірыңғай форматын бөлек тексеріңіз. Егер кестенің бір бөлігі 10.02.2024 түрінде, ал екінші бөлігі 2024-02-10 түрінде сақталса, сұрыптау мен біріктіру қисық жүреді. Валютада да солай: теңге, KZT және валюта белгісін экспортқа дейін бір формаға келтірген дұрыс, кейін емес.

Тарифтер мен келісімшарт қосымшаларында қателер өте айқын көрінеді. Бір жолда баға, әрекет ету мерзімі және ішіне кірген деген сияқты ескерту қатар тұруы мүмкін. Парсер кейде ескертпені баға бағанына салып, ал бағаның өзін жол ретінде қалдырады. Мұндай жерлерді алдын ала тексерсеңіз, есепті соңғы сәтте қолмен жөндеуге тура келмейді.

Егер кесте кейін есеп жүйесіне, BI-ге немесе LLM-процеске кетсе, сақталған бет нөмірі мен бастапқы үзінді даулы жерлерді талдауды қатты жеңілдетеді. Аудит пен өзгеріс тарихы керек командалар үшін мұндай із көбіне экспорттың өзінен де пайдалы.

Құжат көп болса, әрі қарай не істеу керек

PDF аптасына он емес, екі жүз болса, қолмен түзету бүкіл процесті бұзады. Сол кезде тағы бір скрипт емес, әр файл бірдей жолдан өтетін және папкалар, хаттар мен Excel арасында жоғалмайтын қарапайым ағын керек.

Көбіне жұмыс схемасы мынадай болады:

  • файл кіріс кезегіне құжат нөмірімен және күнімен түседі;
  • жүйе кестелерді шығарады да, файл түрін бірден анықтайды: мәтіндік PDF пе, әлде скан ба;
  • тексерулер бос жолдарды, бұзылған бағандарды, сомалардағы қателерді және күмәнді өлшем бірліктерін іздейді;
  • дайын кесте экспортқа кетеді, ал күмәнді жерлер бөлек талдау кезегіне түседі.

Құжаттарды бірден екі ағынға бөлген дұрыс. Мәтін қабаты бар қарапайым PDF-ті қатаң ережемен өңдеңіз: кестені табу, бағандарды талдау, күндерді, валютаны және сандарды қалыпқа келтіру. Скандарды басқа жолмен жүргізіңіз: OCR, сомаларды қатаңырақ тексеру және таңбаларға сенімі төмен жерлерді міндетті түрде белгілеу.

Егер бұл түрлерді бір сценарийге араластырсаңыз, қателер тез жиналады. Таза PDF көбіне біріктірілген ұяшықтардан бұзылады, ал скан — бүкіл беттегі қорытындыны өзгертетін нашар оқылған бір саннан.

Қателер журналы

Даулы жағдайларды ортақ папкаға тастамаңыз. Файл ID, бет, кесте жолы, ақау себебі және талдау күйі бар журнал жүргізіңіз. Сомалардағы айырмашылықтарды, жоғалған тақырыптарды және мәтін бір ұяшыққа жабысып кеткен жолдарды бөлек белгілеңіз.

Мұндай журнал не жиі бұзылатынын тез көрсетеді: OCR ме, нақты жеткізушінің шаблоны ма, әлде қалыпқа келтіру ережесі ме. Бір аптадан кейін ол ұзақ қолмен көзбен тексеруден пайдалырақ болып шығады.

Егер LLM қоссаңыз, оған бүкіл құжатты талдаусыз жібермеңіз. Әлдеқайда жақсысы — тек даулы фрагменттерді беру: кесте тақырыбы, бір проблемалы жол немесе бағандарды бөлу керек блок. Мұндай қабат үшін AI Router сияқты бір шлюз ыңғайлы: тексерулерді бір OpenAI-үйлесімді эндпоинт арқылы жүргізіп, бар SDK мен кодты өзгертпейсіз. Қазақстандағы командалар үшін airouter.kz деректерді ел ішінде сақтау және аудит логтары жағынан да пайдалы болуы мүмкін.

Пилотты неден бастау керек

Бүкіл архивтен емес, 50-100 құжаттан бастаңыз. Ең жиі кездесетін 3-4 түрін алыңыз: айлық есептер, тарифтері бар қосымшалар, келісімшартқа арналған кестелік қосымшалар. Бұл файлдардың қаншасы түзетусіз өтетінін және қай жерде адамсыз әзірге болмайтынын түсіну үшін жеткілікті.

Жақсы пилот үш қарапайым сұраққа жауап береді: қанша файлды қолмен түзетусіз өңдейсіз, сомалардағы қанша айырмашылықты экспортқа дейін ұстайсыз және бір даулы құжатқа қанша минут кетеді. Осы сандар түсінікті болғанда, құжаттарды өңдеуді автоматтандыру әлдеқайда жеңіл әрі тыныш болады.

Жиі қойылатын сұрақтар

PDF мәтіндік пе, әлде скан ба, оны қалай тез түсінуге болады?

Тышқанмен мәтінді белгілеп көріңіз. Егер сөздер жол-жолымен бөлінсе, файл әдетте мәтіндік болады. Егер бет сурет сияқты әрекет етсе, OCR керек. Тағы 2–3 бетті тексеріңіз, өйткені бір PDF ішінде екі түрі араласып жүруі жиі кездеседі.

PDF-тен кесте неге жиі шашырап кетеді?

Өйткені PDF кестені көбіне кесте ретінде сақтамайды. Бағдарлама координаттары бар бөлек мәтін блоктарын көреді, ал аз ғана ығысу болса, күн, сома немесе сипаттама өз бағанына түспей қалады.

Қай кезде кәдімгі парсинг жеткілікті, ал қай кезде OCR қажет?

Кәдімгі парсингті мәтін PDF-тің өзіне кіріп тұрған және бағандар түзу тұрған жерде қолданыңыз. OCR-ді сканға, фотоға және мәтін белгіленбейтін беттерге қосыңыз. Егер құжат аралас болса, бір тәсілмен бүкіл файлды жібермей, бетті бөлек өңдеген дұрыс.

Кестелерді талдау үшін бірден LLM қосу керек пе?

Жоқ, бүкіл құжат үшін бұл көбіне артық шығын және артық тәуекел. Алдымен мәтін мен координаттарды алыңыз, кейін OCR қосыңыз, ал LLM-ді тек күмәнді жерлерге қалдырыңыз: жолдың үзілуі, ұяшық ішіндегі ескертпе немесе беттердің түйіскен жері.

Жаңа жолға түсіп кететін қызмет атауларын қалай өңдеген дұрыс?

Жанындағы өрістерге қараңыз. Егер жолда көлем, ставка және қорытынды жоқ болып, мәтін алдыңғы қызметті жалғастырып тұрса, оны ережеге сай алдыңғы ұяшықпен біріктіріңіз. Сонда жол жалған жаңа жазбаға айналмайды.

Парсингтен кейін сомалардың дұрыс екенін қалай тексеруге болады?

Соманы PDF-те қорытынды бар болса да, өзіңіз қайта есептеңіз. Әуелі жол формуласын, кейін бөлім бойынша соманы, содан соң ҚҚС пен жалпы қорытындыны тексеріңіз. Айырма сіздің шегіңізден асса, жолды қолмен тексеруге жіберіңіз.

Сандарды, күндерді және валюталарды қалай дұрыс біріздендіруге болады?

Әр өрісті бір форматқа келтіріңіз. Сандарды бос орынсыз және валюта белгілерінсіз сақтаңыз, күнді бір форматта ұстаңыз, валютаны мен ҚҚС-ты бөлек бағандарға шығарыңыз. Әйтпесе сұрыптау, сүзгі және салыстыру тез бұзылады.

Соңғы кестемен бірге нені сақтау керек?

Бет нөмірін, кесте аймағын, ұяшықтың бастапқы мәтінін және күмәнді оқу белгісін сақтаңыз. Сонда даулы жерді бүкіл PDF-ті қайта ашпай-ақ бірден көруге болады.

PDF көп келсе, өңдеуді қалай ұйымдастырған дұрыс?

Қарапайым ағын құрыңыз: кіріс файл, PDF түрін анықтау, шығарып алу, қалыпқа келтіру, сомаларды тексеру және күмәнді жерлерге бөлек кезек. Егер құжаттар версткасы жағынан ұқсас болса, ережелерді үлгі бойынша баптап, қателер журналын жеткізушілер мен файл түрлері бойынша жүргізіңіз.

Қай жолдарды бірден қолмен тексеруге жіберген дұрыс?

Қате финалдық экспортта шыққанын күтпеңіз. Бірден OCR сенімі төмен жолдарды, бос соманы, баған ығысуын, бет түйіскен жеріндегі үзілісті, жол ішіндегі ескертпені немесе есеппен шықпай тұрған қорытындыны белгілеңіз. Ондай жерді адам тез тексереді, қалған файлға тимейсіз.