Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész

Az olyan iparágakban működő szervezeteknek, mint az egészségügy, a pénzügy és a hitelezés, a jogi, a kiskereskedelem és a gyártás, gyakran sok dokumentummal kell foglalkozniuk mindennapi üzleti folyamataik során. Ezek a dokumentumok olyan kritikus információkat tartalmaznak, amelyek kulcsfontosságúak az időben történő döntések meghozatalához a legmagasabb szintű ügyfél-elégedettség, a gyorsabb ügyfélbevonás és az alacsonyabb ügyféllemorzsolódás fenntartása érdekében. A legtöbb esetben a dokumentumokat manuálisan dolgozzák fel az információk és betekintések kinyerése érdekében, ami időigényes, hibás, költséges és nehezen méretezhető. Manapság korlátozott automatizálás áll rendelkezésre az információk feldolgozására és kinyerésére ezekből a dokumentumokból. Az intelligens dokumentumfeldolgozás (IDP) az AWS mesterséges intelligencia (AI) szolgáltatásaival segíti a különböző típusú és formátumú dokumentumokból történő információk automatikus kinyerését gyorsan és nagy pontossággal, anélkül, hogy gépi tanulási (ML) készségekre lenne szükség. A gyorsabb és nagy pontosságú információkinyerés segít a minőségi üzleti döntések időben történő meghozatalában, miközben csökkenti az általános költségeket.

Bár az IDP-munkafolyamat szakaszai változhatnak, és a használati esetek és az üzleti követelmények befolyásolhatják, a következő ábra azokat a szakaszokat mutatja, amelyek jellemzően részei az IDP-munkafolyamatoknak. Az olyan dokumentumok feldolgozása, mint az adózási űrlapok, követelések, orvosi feljegyzések, új ügyfél-űrlapok, számlák, jogi szerződések és egyebek, csak néhány az IDP felhasználási esetei közül.

Ebben a kétrészes sorozatban megvitatjuk, hogyan automatizálhatja és intelligensen dolgozhatja fel a dokumentumokat az AWS AI-szolgáltatások segítségével. Ebben a bejegyzésben az IDP-munkafolyamat első három fázisát tárgyaljuk. Ban ben rész 2, megbeszéljük a munkafolyamat hátralévő fázisait.

Megoldás áttekintése

A következő architektúra diagram egy IDP munkafolyamat szakaszait mutatja be. Egy adatrögzítési szakaszsal kezdődik, amely biztonságosan tárolja és összesíti a különböző fájlformátumokat (PDF, JPEG, PNG, TIFF) és a dokumentumok elrendezését. A következő lépés az osztályozás, ahol kategorizálja a dokumentumokat (például szerződések, igénylőlapok, számlák vagy nyugták), majd a dokumentumok kivonatolása következik. A kinyerési szakaszban értelmes üzleti információkat nyerhet ki dokumentumaiból. Ezeket a kinyert adatokat gyakran használják arra, hogy adatelemzésen keresztül betekintést nyerjenek, vagy elküldik azokat a későbbi rendszerekbe, például adatbázisokba vagy tranzakciós rendszerekbe. A következő szakasz a gazdagítás, ahol a dokumentumok gazdagíthatók védett egészségügyi információk (PHI) vagy személyazonosításra alkalmas adatok (PII) törlésével, egyedi üzleti kifejezések kinyerésével és így tovább. Végül az áttekintési és érvényesítési szakaszban emberi munkaerőt is bevonhat a dokumentum-ellenőrzésbe, hogy biztosítsa az eredmény pontosságát.

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Ebben a bejegyzésben egy sor dokumentummintát veszünk figyelembe, például bankszámlakivonatokat, számlákat és bolti bizonylatokat. A dokumentumminták a mintakóddal együtt megtalálhatók nálunk GitHub tárház. A következő szakaszokban végigvezetjük ezeket a kódmintákat, valamint a valódi gyakorlati alkalmazást. Bemutatjuk, hogyan használhatja ki az ML képességeit Amazon szöveg, Amazon Comprehendés Amazon kiterjesztett AI (Amazon A2I) a dokumentumok feldolgozására és az azokból kinyert adatok érvényesítésére.

Az Amazon Textract egy ML szolgáltatás, amely automatikusan kivonja a szöveget, a kézírást és az adatokat a beolvasott dokumentumokból. Ez túlmutat az egyszerű optikai karakterfelismerésen (OCR) az adatok azonosításában, megértésében és az űrlapokból és táblázatokból történő kinyerésében. Az Amazon Textract az ML-t használja bármilyen típusú dokumentum olvasására és feldolgozására, kézi erőfeszítés nélkül, pontosan kivonja a szöveget, a kézírást, a táblázatokat és egyéb adatokat.

Az Amazon Comprehend egy természetes nyelvű feldolgozó (NLP) szolgáltatás, amely az ML-t használja, hogy betekintést nyerjen a dokumentumok tartalmába. Az Amazon Comprehend azonosítani tudja a dokumentumok kritikus elemeit, beleértve a nyelvre, személyekre és helyekre való hivatkozásokat, és releváns témákba vagy klaszterekbe sorolja azokat. Hangulatelemzést végezhet egy dokumentum hangulatának valós időben történő meghatározásához egyetlen dokumentum vagy kötegészlelés segítségével. Például elemezheti egy blogbejegyzéshez fűzött megjegyzéseket, hogy megtudja, tetszik-e az olvasóinak a bejegyzés vagy sem. Az Amazon Comprehend ezenkívül valós időben és az aszinkron kötegelt feladatokban is észleli a személyazonosításra alkalmas információkat, például a címeket, bankszámlaszámokat és telefonszámokat a szöveges dokumentumokban. Az aszinkron kötegelt jobok személyazonosításra alkalmas entitásait is szerkesztheti.

Az Amazon A2I egy ML szolgáltatás, amely megkönnyíti az emberi ellenőrzéshez szükséges munkafolyamatok felépítését. Az Amazon A2I minden fejlesztő számára elérhetővé teszi az emberi felülvizsgálatot, megszüntetve az emberi felülvizsgáló rendszerek felépítésével vagy nagyszámú emberi felülvizsgáló kezelésével járó megkülönböztethetetlen nehézségeket, függetlenül attól, hogy az AWS-en fut-e vagy sem. Az Amazon A2I mindkettővel integrálja Amazon szöveg és a Amazon Comprehend lehetővé teszi, hogy emberi ellenőrzési lépéseket vezessen be az intelligens dokumentumfeldolgozási munkafolyamatba.

Adatrögzítési fázis

A dokumentumokat rendkívül méretezhető és tartós tárolóban tárolhatja, mint pl Amazon egyszerű tárolási szolgáltatás (Amazon S3). Az Amazon S3 egy objektumtárolási szolgáltatás, amely iparágvezető skálázhatóságot, adatok elérhetőségét, biztonságát és teljesítményét kínálja. Az Amazon S3-at a 11 9-es tartósságra tervezték, és vásárlók milliói számára tárol adatokat szerte a világon. A dokumentumok többféle formátumban és elrendezésben érkezhetnek, és különböző csatornákról, például webportálokról vagy e-mail mellékletekről származhatnak.

Osztályozási fázis

Az előző lépésben különféle típusú és formátumú dokumentumokat gyűjtöttünk össze. Ebben a lépésben kategorizálnunk kell a dokumentumokat, mielőtt további kinyerést végezhetnénk. Ehhez az Amazon Comprehendot használjuk egyéni besorolás. A dokumentumok besorolása kétlépcsős folyamat. Először is betanít egy Amazon Comprehend egyéni osztályozót, hogy felismerje az Önt érdeklő osztályokat. Ezután telepítse a modellt a egyéni osztályozó valós idejű végpont és küldje el a címkézetlen dokumentumokat a valós idejű végpontra besorolás céljából.

Az alábbi ábra egy tipikus dokumentumosztályozási munkafolyamatot mutat be.

Osztályozási fázis

Az osztályozó betanításához azonosítsa az Önt érdeklő osztályokat, és minden egyes osztályhoz nyújtson mintadokumentumot képzési anyagként. Az Ön által megadott lehetőségek alapján az Amazon Comprehend egyéni ML-modellt hoz létre, amelyet az Ön által megadott dokumentumok alapján képez. Ez az egyéni modell (az osztályozó) megvizsgál minden beküldött dokumentumot. Vagy azt a konkrét osztályt adja vissza, amely a legjobban reprezentálja a tartalmat (ha többosztályos módot használ), vagy a rá vonatkozó osztálykészletet (ha többcímkés módot használ).

Készítse elő az edzési adatokat

Az első lépés az Amazon Comprehend egyéni osztályozóhoz szükséges dokumentumok szövegének kinyerése. Az Amazon S3 összes dokumentumának nyers szöveges információinak kinyeréséhez az Amazon Textractot használjuk detect_document_text() API. Az adatokat az egyéni Amazon Comprehend osztályozó betanításához használandó dokumentumtípus szerint is felcímkézzük.

A következő kódot az egyszerűsítés érdekében levágtuk. A teljes kódot a GitHub oldalon találja mintakód mert textract_extract_text(). A funkció call_textract() egy wr4apper függvény, amely meghívja a AnalyzeDocument Az API belsőleg, és a metódusnak átadott paraméterek elvonatkoztatnak néhány olyan konfigurációt, amelyre az API-nak szüksége van a kibontási feladat futtatásához.

def textract_extract_text(document, bucket=data_bucket):        
    try:
        print(f'Processing document: {document}')
        lines = ""
        row = []
        
        # using amazon-textract-caller
        response = call_textract(input_document=f's3://{bucket}/{document}') 
        # using pretty printer to get all the lines
        lines = get_string(textract_json=response, output_type=[Textract_Pretty_Print.LINES])
        
        label = [name for name in names if(name in document)]  
        row.append(label[0])
        row.append(lines)        
        return row
    except Exception as e:
        print (e)        

Egyéni osztályozó képzése

Ebben a lépésben az Amazon Comprehend egyéni osztályozást használjuk, hogy betanítsuk a modellünket a dokumentumok osztályozására. Használjuk a CreateDocumentClassifier API egy olyan osztályozó létrehozásához, amely egyéni modellt tanít a címkézett adataink felhasználásával. Lásd a következő kódot:

create_response = comprehend.create_document_classifier(
        InputDataConfig={
            'DataFormat': 'COMPREHEND_CSV',
            'S3Uri': f's3://{data_bucket}/{key}'
        },
        DataAccessRoleArn=role,
        DocumentClassifierName=document_classifier_name,
        VersionName=document_classifier_version,
        LanguageCode='en',
        Mode='MULTI_CLASS'
    )

Valós idejű végpont üzembe helyezése

Az Amazon Comprehend egyéni osztályozó használatához valós idejű végpontot hozunk létre a CreateEndpoint API-k:

endpoint_response = comprehend.create_endpoint(
        EndpointName=ep_name,
        ModelArn=model_arn,
        DesiredInferenceUnits=1,    
        DataAccessRoleArn=role
    )
    ENDPOINT_ARN=endpoint_response['EndpointArn']
print(f'Endpoint created with ARN: {ENDPOINT_ARN}')  

Osztályozza a dokumentumokat a valós idejű végponttal

Az Amazon Comprehend végpont létrehozása után a valós idejű végpontot használhatjuk dokumentumok osztályozására. Használjuk a comprehend.classify_document() függvény a kivont dokumentumszöveggel és a következtetési végponttal bemeneti paraméterként:

response = comprehend.classify_document(
      Text= document,
      EndpointArn=ENDPOINT_ARN
      )

Az Amazon Comprehend az összes dokumentumosztályt kulcs-érték párok (név-pontszám) tömbjében minden osztályhoz kapcsolódó megbízhatósági pontszámmal adja vissza. A legmagasabb megbízhatósági pontszámmal rendelkező dokumentumosztályt választjuk. A következő képernyőkép egy válaszminta.

Osztályozza a dokumentumokat a valós idejű végponttal

Javasoljuk, hogy nézze át a dokumentum-besorolás részletes mintakódját GitHub.

Extrakciós fázis

Az Amazon Textract segítségével szöveges és strukturált adatokat nyerhet ki az Amazon Textract segítségével DetectDocumentText és a AnalyzeDocument API-k, ill. Ezek az API-k JSON-adatokkal válaszolnak, amelyek SZAVAK, VONALAK, ŰRLAPOK, TÁBLÁZATOK, geometriai vagy határolódoboz-információkat, kapcsolatokat és így tovább tartalmaznak. Mindkét DetectDocumentText és a AnalyzeDocument szinkron műveletek. A dokumentumok aszinkron elemzéséhez használja a StartDocumentTextDetection.

Strukturált adatkinyerés

Strukturált adatokat, például táblázatokat kinyerhet a dokumentumokból, miközben megőrzi az adatstruktúrát és az észlelt elemek közötti kapcsolatokat. Használhatja a AnalyzeDocument API-val a FeatureType as TABLE a dokumentum összes táblájának észleléséhez. A következő ábra ezt a folyamatot szemlélteti.

Strukturált adatkinyerés

Lásd a következő kódot:

response = textract.analyze_document(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    },
    FeatureTypes=["TABLES"])

Futtatjuk a analyze_document() módszerrel a FeatureType as TABLES a munkavállalói történeti dokumentumon, és kapja meg a táblázat kivonatát a következő eredményekben.

Dokumentum API-válasz elemzése a táblák kivonásához

Félig strukturált adatkinyerés

Félig strukturált adatokat, például űrlapokat vagy kulcs-érték párokat nyerhet ki a dokumentumokból, miközben megőrzi az adatstruktúrát és az észlelt elemek közötti kapcsolatokat. Használhatja a AnalyzeDocument API-val a FeatureType as FORMS hogy minden űrlapot észleljen egy dokumentumban. A következő diagram ezt a folyamatot szemlélteti.

Félig strukturált adatkinyerés

Lásd a következő kódot:

response = textract.analyze_document(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    },
    FeatureTypes=["FORMS"])

Itt futtatjuk a analyze_document() módszerrel a FeatureType as FORMS az alkalmazotti jelentkezési dokumentumon, és az eredményekben megkapja a táblázat kivonatát.

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Strukturálatlan adatkinyerés

Az Amazon Textract optimális a sűrű szövegkivonáshoz, iparágvezető OCR-pontossággal. Használhatja a DetectDocumentText API a szövegsorok és a szövegsort alkotó szavak észlelésére, amint az a következő ábrán látható.

Strukturálatlan adatkinyerés

Lásd a következő kódot:

response = textract.detect_document_text(Document={'Bytes': imageBytes})

# Print detected text
for item in response["Blocks"]:
	if item["BlockType"] == "LINE":
 		print (item["Text"])

Most futtatjuk a detect_document_text() módszerrel a mintaképen, és nyers szöveg kinyerést kapjon az eredményekből.

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Számlák és nyugták

Az Amazon Textract speciális támogatást nyújt a számlák és nyugták nagyarányú feldolgozásához. Az AnalyzeExpense Az API szinte bármilyen számláról vagy bizonylatról sablonok vagy konfigurációk nélkül képes explicit módon címkézett adatokat, vélelmezett adatokat és sorokat kinyerni az áruk vagy szolgáltatások tételes listájából. A következő ábra ezt a folyamatot szemlélteti.

Számlák és nyugták kivonatolása

Lásd a következő kódot:

response = textract.analyze_expense(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    })

Az Amazon Textract akkor is megtalálja a szállító nevét a nyugtán, ha az csak az oldalon található logóban van feltüntetve, kifejezett „szállító” címke nélkül. Ezenkívül megkeresheti és kivonhatja azokat a költségtételeket, mennyiséget és árakat, amelyek nincsenek megjelölve sorok oszlopfejlécével.

A költség API-válasz elemzése

Személyazonosító okmányok

Az Amazon Textact AnalyzeID Az API segítségével automatikusan kinyerheti az információkat az azonosító dokumentumokból, például a jogosítványokból és az útlevelekből, sablonok vagy konfiguráció nélkül. Konkrét információkat, például lejárati dátumot és születési dátumot tudunk kinyerni, valamint intelligens módon azonosítani és kinyerni a hallgatólagos információkat, például a nevet és a címet. A következő diagram ezt a folyamatot szemlélteti.

Személyazonosító okmányok kinyerése

Lásd a következő kódot:

textract_client = boto3.client('textract')
j = call_textract_analyzeid(document_pages=["s3://amazon-textract-public-content/analyzeid/driverlicense.png"],boto3_textract_client=textract_client)

Tudjuk használni tabulate hogy szép nyomtatott eredményt kapjunk:

from tabulate import tabulate

print(tabulate([x[1:3] for x in result]))

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Javasoljuk, hogy végezze el a részletes dokumentumkivonást mintakód a GitHubon. Az ebben a bejegyzésben található teljes kódmintákkal kapcsolatos további információkért tekintse meg a GitHub repo.

Következtetés

A kétrészes sorozat első bejegyzésében az IDP különböző szakaszait és a megoldás architektúráját tárgyaltuk. Megbeszéltük a dokumentumok osztályozását is egy Amazon Comprehend egyéni osztályozó használatával. Ezután megvizsgáltuk, hogy az Amazon Textract segítségével milyen módon nyerhet ki információkat strukturálatlan, félig strukturált, strukturált és speciális dokumentumtípusokból.

In rész 2 Ennek a sorozatnak a vitáját az Amazon Textract kivonat- és lekérdezési funkcióival folytatjuk. Megvizsgáljuk, hogyan használhatja az Amazon Comprehend előre meghatározott entitásait és egyéni entitásait a kulcsfontosságú üzleti kifejezések kinyerésére a sűrű szöveget tartalmazó dokumentumokból, és hogyan integrálhatja az Amazon A2I humán-in-the-loop felülvizsgálatát az IDP folyamataiba.

Javasoljuk, hogy tekintse át a biztonsági részeket Amazon szöveg, Amazon Comprehendés Amazon A2I dokumentációt, és kövesse a megadott irányelveket. Szánjon egy percet az árak áttekintésére és megértésére is Amazon szöveg, Amazon Comprehendés Amazon A2I.


A szerzőkről

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai. Suprakash Dutta az Amazon Web Services megoldástervezője. A digitális átalakítási stratégiára, az alkalmazások modernizálására és migrációjára, az adatelemzésre és a gépi tanulásra összpontosít.

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Sonali Sahu az Amazon Web Services Intelligens Dokumentumfeldolgozó AI/ML Solutions Architect csapatának vezetője. Szenvedélyes technofil, és szívesen dolgozik az ügyfelekkel, hogy komplex problémákat oldjon meg az innováció segítségével. Fő területe a mesterséges intelligencia és a gépi tanulás az intelligens dokumentumfeldolgozáshoz.

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Anjan Biswas vezető mesterséges intelligencia-szolgáltatási építész, aki az AI/ML-re és az adatelemzésre összpontosít. Anjan a világméretű mesterséges intelligencia-szolgáltatások csapatának tagja, és az ügyfelekkel dolgozik, hogy segítsen nekik megérteni és megoldásokat kidolgozni az AI és az ML üzleti problémáira. Anjan több mint 14 éves tapasztalattal rendelkezik a globális ellátási lánc, gyártó és kiskereskedelmi szervezetekkel kapcsolatban, és aktívan segíti az ügyfeleket az AWS AI-szolgáltatások megkezdésében és bővítésében.

Intelligens dokumentumfeldolgozás AWS AI szolgáltatásokkal: 1. rész PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Chinmayee Rane AI/ML Specialist Solutions Architect az Amazon Web Servicesnél. Szenvedélye az alkalmazott matematika és a gépi tanulás. Arra összpontosít, hogy intelligens dokumentumfeldolgozási megoldásokat tervezzen az AWS-ügyfelek számára. Munkán kívül szeret salsát és bachatát táncolni.

Időbélyeg:

Még több AWS gépi tanulás