AWS-i kliendid tervishoius, finantsteenustes, avalikus sektoris ja muudes tööstusharudes salvestavad miljardeid dokumente piltide või PDF-failidena Amazoni lihtne salvestusteenus (Amazon S3). Siiski ei saa nad enne teksti, vormide, tabelite ja muude struktureeritud andmete väljavõtmist hankida teadmisi, näiteks kasutada dokumentides lukustatud teavet suurte keelemudelite (LLM) jaoks ega otsida. AWS-i intelligentse dokumenditöötlusega (IDP) kasutades tehisintellekti teenuseid nagu Amazoni tekst, saate kasutada tööstusharu juhtivat masinõppe (ML) tehnoloogiat, et kiiresti ja täpselt töödelda andmeid PDF-failidest või dokumendikujutistest (TIFF, JPEG, PNG). Kui tekst on dokumentidest eraldatud, saate seda kasutada vundamendi mudeli peenhäälestamiseks, võtta andmed kokku vundamendimudeli abilvõi saatke see andmebaasi.
Selles postituses keskendume suure hulga dokumentide töötlemisele toortekstifailideks ja nende säilitamisele Amazon S3-s. Pakume teile selle kasutusjuhtumi jaoks kahte erinevat lahendust. Esimene võimaldab teil käivitada Pythoni skripti mis tahes serverist või eksemplarist, sealhulgas Jupyteri sülearvutist; see on kiireim viis alustamiseks. Teine lähenemisviis on erinevate infrastruktuurikomponentide „võtmed kätte“ juurutamine AWS pilvearenduskomplekt (AWS CDK) konstrueerib. AWS CDK konstruktsioon pakub vastupidavat ja paindlikku raamistikku teie dokumentide töötlemiseks ja täieliku IDP-konveieri loomiseks. AWS CDK abil saate selle funktsioone laiendada, et hõlmata redigeerimist, salvestage väljund Amazon OpenSearchivõi lisage kohandatud AWS Lambda toimima oma äriloogikaga.
Mõlemad lahendused võimaldavad teil kiiresti töödelda miljoneid lehti. Enne mõlema lahenduse ulatuslikku käivitamist soovitame testida oma dokumentide alamhulgaga, et veenduda, et tulemused vastavad teie ootustele. Järgmistes jaotistes kirjeldame esmalt skriptilahendust, millele järgneb AWS CDK konstruktsioonilahendus.
Lahendus 1: kasutage Pythoni skripti
See lahendus töötleb dokumente toorteksti jaoks Amazon Textracti kaudu nii kiiresti, kui teenus seda võimaldab, eeldades, et skripti tõrke korral jätkub protsess sealt, kus see pooleli jäi. Lahendus kasutab kolme erinevat teenust: Amazon S3, Amazon DynamoDBja Amazon Textract.
Järgmine diagramm illustreerib sündmuste jada skriptis. Kui skript lõpeb, tagastatakse SageMakeri stuudiokonsoolile valmimise olek koos kulunud ajaga.
Oleme selle lahenduse pakkinud a .ipynb skript ja .py skript. Vastavalt oma vajadustele saate kasutada mis tahes juurutatavat lahendust.
Eeldused
Selle skripti käivitamiseks Jupyteri sülearvutist, AWS-i identiteedi- ja juurdepääsuhaldus Märkmikule määratud (IAM) rollil peavad olema õigused, mis võimaldavad tal suhelda DynamoDB, Amazon S3 ja Amazon Textractiga. Üldine juhis on anda igale sellisele teenusele kõige väiksemate privileegidega õigused AmazonSageMaker-ExecutionRole
rolli. Lisateabe saamiseks vaadake Alustage AWS-i hallatavate poliitikatega ja liikuge vähimate privileegidega lubade poole.
Teise võimalusena saate seda skripti käitada ka teistes keskkondades, näiteks Amazon Elastic Compute Cloud (Amazon EC2) eksemplari või konteinerit, mida haldaksite, eeldusel, et Python, Pip3 ja AWS SDK Pythoni jaoks (Boto3) on paigaldatud. Jällegi tuleb rakendada samu IAM-poliitikaid, mis võimaldavad skriptil suhelda erinevate hallatavate teenustega.
Juhendid
Selle lahenduse rakendamiseks peate esmalt hoidla kloonima GitHub.
Enne skripti käivitamist peate skriptis määrama järgmised muutujad:
- jälgimise_tabel – See on loodava DynamoDB tabeli nimi.
- sisend_ämber – See on teie allika asukoht Amazon S3-s, mis sisaldab dokumente, mida soovite teksti tuvastamiseks Amazon Textracti saata. Sisestage selle muutuja jaoks ämbri nimi, näiteks
mybucket
. - väljund_ämber – See on mõeldud asukoha salvestamiseks, kuhu soovite, et Amazon Textract tulemused kirjutaks. Sisestage selle muutuja jaoks ämbri nimi, näiteks
myoutputbucket
. - _input_prefix (valikuline) – Kui soovite valida teatud faile S3 ämbri kaustast, saate määrata selle kausta nime sisendprefiksina. Vastasel juhul jätke kõigi valimiseks vaikeväärtus tühjaks.
Skript on järgmine:
Skripti käivitamisel luuakse järgmine DynamoDB tabeliskeem:
Skripti esmakordsel käivitamisel kontrollib see DynamoDB tabeli olemasolu ja loob selle vajadusel automaatselt. Pärast tabeli loomist peame selle täitma Amazon S3 dokumendiobjektide viidete loendiga, mida soovime töödelda. Kujunduse järgi skript loetleb määratud objektid input_bucket
ja täidavad käivitamisel meie tabeli automaatselt nende nimedega. Üle 10 100,000 dokumendi loetlemiseks ja nende nimede sisestamiseks skripti DynamoDB tabelisse kulub umbes 3 minutit. Kui teil on ämbris miljoneid objekte, võite alternatiivselt kasutada Amazon SXNUMX inventuurifunktsiooni, mis genereerib nimede CSV-faili, seejärel täita DynamoDB tabel sellest loendist eelnevalt oma skriptiga ja mitte kasutada funktsiooni nimega fetchAllObjectsInBucketandStoreName
seda kommenteerides. Lisateabe saamiseks vaadake Amazon S3 inventari konfigureerimine.
Nagu varem mainitud, on olemas nii sülearvuti versioon kui ka Pythoni skriptiversioon. Märkmik on kõige lihtsam viis alustamiseks; lihtsalt käivitage iga lahter algusest lõpuni.
Kui otsustate Pythoni skripti käivitada CLI-st, on soovitatav kasutada terminali multiplekserit, näiteks tmuxi. Selle eesmärk on vältida skripti seiskumist, kui teie SSH-seanss peaks lõppema. Näiteks: tmux new -d ‘python3 textractFeeder.py’
.
Järgmine on skripti sisenemispunkt; siit saate kommenteerida mittevajalikke meetodeid:
Kui skript täidab DynamoDB tabelit, määratakse järgmised väljad:
- objektiNimi – Amazon S3-s asuva dokumendi nimi, mis saadetakse Amazon Textracti
- bucketName – ämber, kuhu dokumendiobjekt on salvestatud
Need kaks välja tuleb täita, kui otsustate kasutada S3 laoaruande CSV-faili ja jätta vahele skripti sees toimuv automaatne täitmine.
Nüüd, kui tabel on loodud ja täidetud dokumendiobjekti viidetega, on skript valmis alustama Amazon Textracti kutsumist StartDocumentTextDetection
API. Sarnaselt muudele hallatavatele teenustele on Amazon Textractil a vaikepiirang API-del, mida nimetatakse tehinguteks sekundis (TPS). Vajadusel saate Amazon Textracti konsoolist taotleda kvoodi suurendamist. Kood on loodud kasutama Amazon Textractile helistades samaaegselt mitut lõime, et maksimeerida teenuse läbilaskevõimet. Saate seda koodis muuta, muutes threadCountforTextractAPICall
muutuv. Vaikimisi on see seatud 20 lõimele. Skript loeb algselt DynamoDB tabelist 200 rida ja salvestab need mällu, mis on ümbritsetud lõime ohutuse klassiga. Seejärel käivitatakse iga helistaja lõim ja see jookseb oma ujumisraja piires. Põhimõtteliselt hangib Amazon Textracti helistaja lõim mälus olevast loendist üksuse, mis sisaldab meie objektiviidet. Seejärel helistab see asünkroonseks start_document_text_detection
API ja oodake töö ID-ga kinnitust. Seejärel värskendatakse töö ID-d tagasi selle objekti DynamoDB reale ja lõime korratakse, laadides loendist järgmise üksuse.
Järgmine on peamine orkestratsioonikood käsikiri:
Helistaja lõimed jätkavad kordumist, kuni loendis pole enam üksusi, misjärel lõimed peatuvad. Kui kõik nende ujumisradadel töötavad lõimed on seiskunud, tuuakse DynamoDB-st välja järgmised 200 rida ja käivitatakse uus 20 lõimest koosnev komplekt ning kogu protsess kordub, kuni DynamoDB-st tuuakse välja iga rida, mis ei sisalda töö ID-d ja uuendatud. Kui skript peaks ootamatu probleemi tõttu kokku jooksma, saab skripti uuesti käivitada orchestrate()
meetod. See tagab, et lõimed jätkavad tühje töö ID-sid sisaldavate ridade töötlemist. Pange tähele, et uuesti käivitades orchestrate()
meetodil pärast skripti seiskumist, on võimalik, et mõned dokumendid saadetakse uuesti Amazon Textracti. See arv on võrdne krahhi ajal jooksnud lõimede arvuga või sellest väiksem.
Kui DynamoDB tabelis pole enam tühja töö ID-d sisaldavaid ridu, peatub skript. Kõik Amazon Textracti JSON-väljundid kõigi objektide jaoks leiate jaotisest output_bucket
vaikimisi all textract_output
kausta. Iga alamkaust sees textract_output
nimetatakse töö ID-ga, mis vastab selle objekti DynamoDB tabelisse salvestatud töö ID-le. Töö ID kaustast leiate JSON-i, mille numbriline nimi algab 1-st ja mis võib potentsiaalselt hõlmata täiendavaid JSON-faile, millel on sildid 2, 3 ja nii edasi. JSON-failide ülekandmine on tihedate või mitmeleheküljeliste dokumentide tulemus, millest ekstraheeritud sisu maht ületab Amazon Textracti JSON-i vaikesuuruse 1,000 plokki. Viitama Blokeerima plokkide kohta lisateabe saamiseks. Need JSON-failid sisaldavad kõiki Amazon Textracti metaandmeid, sealhulgas dokumentidest ekstraheeritud teksti.
Selle lahenduse Pythoni koodimärkmiku versiooni ja skripti leiate siit GitHub.
Koristage
Kui Pythoni skript on valmis, saate kulusid kokku hoida, sulgedes või peatades skripti Amazon SageMaker Studio märkmik või konteiner, mille üles keerutasite.
Nüüd meie teise lahenduse juurde suuremahuliste dokumentide jaoks.
Lahendus 2. Kasutage serverita AWS CDK konstruktsiooni
See lahendus kasutab AWS-i astmefunktsioonid ja Lambda funktsioonid IDP torujuhtme juhtimiseks. Me kasutame IDP AWS CDK konstruktsioonid, mis muudavad Amazon Textractiga ulatusliku töötamise lihtsaks. Lisaks kasutame a Samm Funktsioonide hajutatud kaart et korrata kõiki S3 ämbris olevaid faile ja alustada töötlemist. Esimene lambda funktsioon määrab, mitu lehekülge teie dokumentidel on. See võimaldab konveieril automaatselt kasutada kas sünkroonset (üheleheliste dokumentide jaoks) või asünkroonset (mitmeleheküljeliste dokumentide jaoks) API-t. Asünkroonse API kasutamisel kutsutakse kõikidele JSON-failidele, mille Amazon Textract loob kõigi teie lehtede jaoks üheks JSON-failiks, täiendav Lambda-funktsioon, et teie alljärgnevatel rakendustel oleks teabega lihtne töötada.
See lahendus sisaldab ka kahte täiendavat lambda funktsiooni. Esimene funktsioon sõelub teksti JSON-ist ja salvestab selle tekstifailina Amazon S3-s. Teine funktsioon analüüsib JSON-i ja salvestab selle töökoormuse mõõdikute jaoks.
Järgmine diagramm illustreerib sammufunktsioonide töövoogu.
Eeldused
See koodibaas kasutab AWS CDK-d ja nõuab Dockerit. Saate selle juurutada aadressilt AWSi pilv eksemplar, millel on AWS CDK ja Docker juba seadistatud.
Juhendid
Selle lahenduse rakendamiseks peate esmalt kloonima hoidla.
Pärast hoidla kloonimist installige sõltuvused:
Seejärel kasutage AWS CDK virna juurutamiseks järgmist koodi:
Selle lahenduse jaoks peate esitama nii lähtekoodi ämbri kui ka lähteprefiksi (töödeldavate failide asukoha).
Kui juurutamine on lõpetatud, liikuge sammufunktsioonide konsooli, kus peaksite nägema olekumasinat ServerlessIDPArchivePipeline
.
Avage olekumasina üksikasjade leht ja Hukkamised valige vahekaart Alusta täitmist.
Vali Alusta täitmist jälle olekumasina käivitamiseks.
Pärast olekumasina käivitamist saate konveierit jälgida, vaadates kaardi käitamist. Näete an Kauba töötlemise olek jaotist nagu järgmine ekraanipilt. Nagu näete, on see loodud jooksma ja jälgima, mis oli edukas ja mis ebaõnnestus. Seda protsessi jätkatakse seni, kuni kõik dokumendid on läbi loetud.
Selle lahendusega peaksite saama töödelda miljoneid faile oma AWS-i kontol, ilma et peaksite muretsema selle pärast, kuidas õigesti määrata, milliseid faile millisele API-le saata, või rikutud faile, mis teie konveieri ebaõnnestuvad. Step Functions konsooli kaudu saate oma faile reaalajas vaadata ja jälgida.
Koristage
Kui konveier on töötamise lõpetanud, võite puhastamiseks minna tagasi oma projekti ja sisestada järgmise käsu:
See kustutab kõik selle projekti jaoks juurutatud teenused.
Järeldus
Selles postituses tutvustasime lahendust, mis muudab teie dokumendipiltide ja PDF-ide tekstifailideks teisendamise lihtsaks. See on teie dokumentide generatiivseks AI-ks ja otsinguks kasutamise peamine eeltingimus. Lisateavet teksti kasutamise kohta vundamendimudelite treenimiseks või viimistlemiseks vt Peenhäälestage Llama 2 teksti genereerimiseks rakenduses Amazon SageMaker JumpStart. Otsinguga kasutamiseks vaadake Rakendage nutikas dokumendiotsingu register Amazon Textracti ja Amazon OpenSearchiga. Lisateavet AWS AI teenuste pakutavate täiustatud dokumenditöötlusvõimaluste kohta leiate aadressilt AWS-i intelligentse dokumenditöötluse juhend.
Autoritest
Tim Condello on Amazon Web Servicesi (AWS) tehisintellekti (AI) ja masinõppe (ML) spetsialistide lahenduste vanemarhitekt. Tema fookuses on loomulik keeletöötlus ja arvutinägemine. Tim naudib klientide ideede võtmist ja nende skaleeritavateks lahendusteks muutmist.
David Girling on vanem AI/ML lahenduste arhitekt, kellel on üle kahekümneaastane kogemus ettevõttesüsteemide projekteerimisel, juhtimisel ja arendamisel. David on osa spetsialistide meeskonnast, mis keskendub sellele, et aidata klientidel õppida, uuendada ja kasutada neid väga võimekaid teenuseid oma andmetega nende kasutusjuhtumite jaoks.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/create-a-document-lake-using-large-scale-text-extraction-from-documents-with-amazon-textract/
- :on
- :on
- :mitte
- : kus
- $ UP
- 000
- 1
- 10
- 100
- 12
- 20
- 200
- 7
- 710
- 8
- a
- Võimalik
- MEIST
- juurdepääs
- konto
- täpselt
- lisama
- Täiendavad lisad
- Lisaks
- edendama
- edasijõudnud
- ADEelis
- pärast
- jälle
- AI
- AI teenused
- AI / ML
- Materjal: BPA ja flataatide vaba plastik
- võimaldama
- võimaldab
- mööda
- juba
- Ka
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazoni tekst
- Amazon Web Services
- Amazon Web Services (AWS)
- summa
- an
- analüüse
- ja
- mistahes
- API
- API-liidesed
- rakendused
- rakendatud
- lähenemine
- umbes
- OLEME
- kunstlik
- tehisintellekti
- Tehisintellekt (AI)
- AS
- määratud
- At
- auto
- automaatselt
- AWS
- tagasi
- baas
- Põhimõtteliselt
- BE
- olnud
- enne
- miljardeid
- Plokid
- Bootstrap
- mõlemad
- ehitama
- ehitatud
- äri
- by
- helistama
- kutsutud
- helistaja
- kutsudes
- CAN
- võimeid
- võimeline
- juhul
- juhtudel
- rakk
- kindel
- muutma
- kontrollima
- Vali
- klass
- puhastama
- Cloud
- kood
- koodi alus
- kogumine
- kommentaar
- Kommenteerimine
- täitma
- lõpetamist
- komponendid
- Arvutama
- arvuti
- Arvuti visioon
- konsool
- ehitama
- sisaldama
- Konteiner
- sisaldab
- sisu
- jätkama
- muutma
- vastab
- kulud
- võiks
- krahh
- looma
- loodud
- tava
- klient
- Kliendid
- andmed
- andmebaas
- David
- otsustama
- vaikimisi
- sõltuvused
- juurutada
- lähetatud
- kasutuselevõtu
- kirjeldama
- Disain
- kavandatud
- projekteerimine
- detailid
- Detection
- Määrama
- määrab
- arenev
- & Tarkvaraarendus
- erinev
- jagatud
- laevalaadija
- dokument
- dokumendid
- Ei tee
- alla
- kaks
- iga
- Ajalugu
- kumbki
- võimaldab
- Lõpuks-lõpuni
- lõppeb
- sisene
- ettevõte
- kanne
- keskkondades
- võrdne
- sündmused
- Iga
- näide
- ületab
- täitmine
- olemas
- ootus
- ootused
- kogemus
- laiendama
- väljavõte
- kaevandamine
- Ebaõnnestunud
- vastasel
- ebaedu
- tunnusjoon
- vähe
- Valdkonnad
- fail
- Faile
- finants-
- finantsteenused
- leidma
- lõpetama
- esimene
- Esimest korda
- paindlik
- Keskenduma
- keskendub
- Järgneb
- Järel
- järgneb
- eest
- vormid
- avastatud
- Sihtasutus
- Raamistik
- Alates
- funktsioon
- funktsionaalsus
- funktsioonid
- kasu
- Üldine
- genereerib
- põlvkond
- generatiivne
- Generatiivne AI
- saama
- Go
- juhised
- juhtub
- Olema
- tervishoid
- aidates
- siin
- kõrgelt
- tema
- Kuidas
- Kuidas
- aga
- HTML
- http
- HTTPS
- i
- ID
- ideid
- Identity
- IDd
- if
- illustreerib
- pildid
- rakendada
- in
- sisaldama
- Kaasa arvatud
- Suurendama
- indeks
- tööstusharudes
- juhtivad
- info
- Infrastruktuur
- esialgu
- algatama
- uuendama
- sisend
- teadmisi
- paigaldama
- paigaldatud
- Näiteks
- Intelligentsus
- Intelligentne
- Arukas dokumenditöötlus
- suhelda
- sisse
- inventar
- IT
- kirjed
- ITS
- töö
- jpg
- Json
- Võti
- järv
- Sõidurada
- keel
- suur
- suuremahuline
- juhtivate
- Õppida
- õppimine
- Lahkuma
- lahkus
- vähem
- nagu
- nimekiri
- Laama
- asub
- liising
- lukus
- loogika
- enam
- otsin
- masin
- masinõpe
- põhiline
- tegema
- TEEB
- juhtima
- juhitud
- palju
- kaart
- Maksimeerima
- Vastama
- mainitud
- Metaandmed
- meetod
- meetodid
- Meetrika
- miljonid
- protokoll
- ML
- mudel
- mudelid
- Jälgida
- rohkem
- kõige
- liikuma
- mitmekordne
- peab
- nimi
- Nimega
- nimed
- Natural
- Natural Language Processing
- Navigate
- Vajadus
- vaja
- Uus
- järgmine
- ei
- meeles
- märkmik
- nüüd
- number
- objekt
- esemeid
- of
- maha
- pakutud
- on
- ONE
- tegutsevad
- or
- Korraldus
- Muu
- muidu
- meie
- välja
- väljund
- üle
- enda
- pakendatud
- lehekülg
- lehekülge
- osa
- kohta
- Õigused
- valima
- torujuhe
- Platon
- Platoni andmete intelligentsus
- PlatoData
- Punkt
- Poliitika
- asustatud
- post
- potentsiaal
- potentsiaalselt
- esitatud
- vältida
- Probleem
- protsess
- Protsessid
- töötlemine
- tootma
- projekt
- korralikult
- anda
- tingimusel
- annab
- avalik
- panema
- Python
- kõige kiiremini
- kiiresti
- Töötlemata
- Lugenud
- valmis
- reaalne
- reaalajas
- soovitama
- soovitatav
- rekord
- andmed
- viitama
- viide
- viited
- kordama
- aru
- Hoidla
- taotleda
- nõutav
- Nõuded
- Vajab
- vetruv
- kaasa
- Tulemused
- Roll
- ROW
- jooks
- jooksmine
- jookseb
- ohutu
- ohutus
- salveitegija
- sama
- Säästa
- skaalautuvia
- Skaala
- käsikiri
- SDK
- Otsing
- Teine
- Osa
- lõigud
- sektor
- vaata
- valima
- saatma
- vanem
- Saadetud
- Jada
- server
- Serverita
- teenus
- Teenused
- istung
- komplekt
- peaks
- seiskamist
- sarnane
- lihtne
- lihtsalt
- SUURUS
- nutikas
- So
- lahendus
- Lahendused
- mõned
- allikas
- sille
- Pinge
- spetsialist
- määratletud
- kedratud
- Kestab
- algus
- alustatud
- Käivitus
- riik
- olek
- Samm
- Peatus
- peatatud
- peatumine
- ladustamine
- salvestada
- ladustatud
- kauplustes
- ladustamine
- lihtne
- nöör
- struktureeritud
- stuudio
- edukas
- selline
- kindel
- süsteemid
- tabel
- Võtma
- võtnud
- võtab
- võtmine
- meeskond
- Tehnoloogia
- terminal
- Testimine
- tekst
- kui
- et
- .
- teave
- Allikas
- Riik
- oma
- Neile
- SIIS
- Seal.
- Need
- nad
- see
- need
- kolm
- Läbi
- läbilaskevõime
- Tim
- aeg
- et
- suunas
- tps
- jälgida
- Rong
- Tehingud
- Pööramine
- käivitusvalmis
- kaks
- ei suuda
- all
- Ootamatu
- kuni
- ajakohastatud
- kasutama
- kasutage juhtumit
- kasutusalad
- kasutamine
- ära kasutama
- kasutab ära
- muutuja
- eri
- versioon
- nägemus
- ootama
- tahan
- oli
- Watch
- Tee..
- we
- web
- veebiteenused
- olid
- M
- millal
- mis
- kogu
- will
- koos
- jooksul
- ilma
- Töö
- töövoog
- murettekitav
- oleks
- Pakendatud
- kirjutama
- aastat
- sa
- Sinu
- sephyrnet