Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon webszolgáltatások

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon webszolgáltatások

Amazon Comprehend egy természetes nyelvű feldolgozási (NLP) szolgáltatás, amely előre betanított és egyedi API-kat biztosít a szöveges adatokból való betekintéshez. Az Amazon Comprehend ügyfelei egyéni elnevezett entitásfelismerési (NER) modelleket képezhetnek ki, hogy kivonják a vállalkozásukra jellemző érdeklődésre számot tartó entitásokat, például helyet, személy nevét és dátumát.

Egyéni modell betanításához először elő kell készítenie a betanítási adatokat az entitások manuális megjegyzéseivel a dokumentumokban. Ezt a Értse meg a félig strukturált dokumentumokat jegyzetelő eszközt, amely létrehoz egy Amazon SageMaker Ground Truth feladat egy egyéni sablonnal, amely lehetővé teszi a jegyzők számára, hogy határolókereteket rajzoljanak az entitások köré közvetlenül a PDF-dokumentumokon. Az ERP-rendszerekben, például az SAP-ban meglévő táblázatos entitásadatokkal rendelkező vállalatok esetében azonban a kézi megjegyzések ismétlődő és időigényesek lehetnek.

A képzési adatok elkészítésének erőfeszítéseinek csökkentése érdekében egy előcímkéző eszközt építettünk AWS lépésfunkciók amely automatikusan előjegyzeteket készít a dokumentumokhoz a meglévő táblázatos entitásadatok felhasználásával. Ez jelentősen csökkenti a pontos egyéni entitásfelismerési modellek képzéséhez szükséges kézi munkát az Amazon Comprehendben.

Ebben a bejegyzésben végigvezetjük az előcímkéző eszköz beállításának lépésein, és példákat mutatunk be arra vonatkozóan, hogyan fűzi automatikusan megjegyzéseket a nyilvános dokumentumokhoz. adatbázisba minta bankszámlakivonat PDF formátumban. A teljes kód elérhető a GitHub repo.

Megoldás áttekintése

Ebben a részben az előcímkéző eszköz bemeneteit és kimeneteit tárgyaljuk, és áttekintést adunk a megoldás architektúrájáról.

Bemenetek és kimenetek

Bemenetként az előcímkéző eszköz olyan PDF-dokumentumokat vesz fel, amelyek szöveget tartalmaznak megjegyzésekkel ellátva. A bemutatóhoz szimulált bankszámlakivonatokat használunk, például az alábbi példában.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Az eszköz egy jegyzékfájlt is készít, amely leképezi a PDF-dokumentumokat azokkal az entitásokkal, amelyeket ki szeretnénk bontani ezekből a dokumentumokból. Az entitások két dologból állnak: a expected_text kivonni a dokumentumból (pl. AnyCompany Bank) és a megfelelő entity_type (például, bank_name). A bejegyzés későbbi részében bemutatjuk, hogyan hozhatja létre ezt a jegyzékfájlt egy CSV-dokumentumból, például a következő példában.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Az előcímkéző eszköz a jegyzékfájlt használja, hogy automatikusan megjegyzéseket fűzzen a dokumentumokhoz a megfelelő entitásokkal. Ezután közvetlenül felhasználhatjuk ezeket a megjegyzéseket egy Amazon Comprehend modell betanításához.

Alternatív megoldásként létrehozhat egy SageMaker Ground Truth címkézési feladatot emberi ellenőrzéshez és szerkesztéshez, ahogy az a következő képernyőképen látható.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Amikor az áttekintés befejeződött, a megjegyzésekkel ellátott adatok segítségével betaníthatja az Amazon Comprehend egyéni entitásfelismerő modelljét.

Építészet

Az előcímkéző eszköz több részből áll AWS Lambda a Step Functions állapotgéppel hangszerelt függvények. Két verziója van, amelyek különböző technikákat használnak az előzetes megjegyzések generálására.

Az első technika az homályos egyezés. Ehhez egy előzetes jegyzékfájlra van szükség a várt entitásokkal. Az eszköz a fuzzy illesztési algoritmust használja az előzetes megjegyzések létrehozásához a szöveg hasonlóságának összehasonlításával.

A fuzzy egyezés olyan karakterláncokat keres a dokumentumban, amelyek hasonlóak (de nem feltétlenül azonosak) a jegyzék előtti fájlban felsorolt ​​várt entitásokhoz. Először kiszámítja a szöveghasonlósági pontszámokat a várt szöveg és a dokumentumban lévő szavak között, majd minden küszöbérték feletti párhoz illeszkedik. Ezért, még ha nincsenek is pontos egyezések, a fuzzy egyezés találhat olyan változatokat, mint például a rövidítések és az elírások. Ez lehetővé teszi az eszköz számára a dokumentumok előzetes címkézését anélkül, hogy az entitásoknak szó szerint kellene megjelenniük. Például ha 'AnyCompany Bank' várt entitásként szerepel, a Fuzzy Matching megjegyzésekkel látja el a következő előfordulásait 'Any Companys Bank'. Ez nagyobb rugalmasságot biztosít, mint a szigorú karakterlánc-illesztés, és lehetővé teszi az előcímkéző eszköz számára, hogy automatikusan több entitást jelöljön meg.

A következő ábra a Step Functions állapotgép felépítését mutatja be.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

A második technika megköveteli a előre betanított Amazon Comprehend entitásfelismerő modell. Az eszköz az Amazon Comprehend modell segítségével előjegyzeteket állít elő, a következő diagramon látható munkafolyamat szerint.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Az alábbi ábra a teljes architektúrát szemlélteti.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

A következő részekben a megoldás megvalósításának lépéseit járjuk végig.

Telepítse az előcímkéző eszközt

A tár klónozása a helyi gépre:

git clone https://github.com/aws-samples/amazon-comprehend-automated-pdf-prelabeling-tool.git

Ez az adattár a Comprehend Semi-Structured Documents Annotation Tool-ra épült, és kibővíti funkcióit azáltal, hogy lehetővé teszi egy SageMaker Ground Truth címkézési feladat elindítását a SageMaker Ground Truth UI-n már megjelenített előzetes megjegyzésekkel.

Az előcímkéző eszköz magában foglalja mind a Comprehend Semi-Structured Documents Annotation Tool erőforrásait, mind az előre címkéző eszközhöz specifikus erőforrásokat. Ezzel telepítheti a megoldást AWS szerver nélküli alkalmazásmodell (AWS SAM), egy nyílt forráskódú keretrendszer, amellyel kiszolgáló nélküli alkalmazásinfrastruktúra kódot adhat meg.

Ha korábban telepítette az Comprehend Semi-Structured Documents Annotation Tool eszközt, tekintse meg a GYIK részt Pre_labeling_tool/README.md útmutatásért, hogyan telepítheti csak az előcímkéző eszközre jellemző erőforrásokat.

Ha még nem telepítette az eszközt, és újrakezdi, tegye a következőket a teljes megoldás üzembe helyezéséhez.

Módosítsa az aktuális könyvtárat a megjegyzés eszköz mappájára:

cd amazon-comprehend-semi-structured-documents-annotation-tools

A megoldás elkészítése és üzembe helyezése:

make ready-and-deploy-guided

Hozza létre a pre-manifest fájlt

Az előcímkéző eszköz használata előtt elő kell készítenie az adatokat. A fő bemenetek a PDF dokumentumok és egy pre-manifest fájl. Az előzetes jegyzékfájl tartalmazza az alatta lévő minden PDF-dokumentum helyét 'pdf' és egy JSON-fájl helye a várt entitásokkal a címkézéshez 'expected_entities'.

A jegyzetfüzet gener_premanifest_file.ipynb megmutatja, hogyan kell létrehozni ezt a fájlt. A bemutatóban a pre-manifest fájl a következő kódot mutatja:

[ { 'pdf': 's3://<bucket>/data_aws_idp_workshop_data/bank_stmt_0.pdf', 'expected_entities': 's3://<bucket>/prelabeling-inputs/expected-entities/example-demo/fuzzymatching_version/file_bank_stmt_0.json' }, ...
]

A jegyzék előtti fájlban felsorolt ​​minden JSON-fájl (a alatt expected_entities) tartalmazza a szótárak listáját, minden várható entitáshoz egyet. A szótárak a következő kulcsokkal rendelkeznek:

  • 'expected_texts' – Az entitásnak megfelelő lehetséges szöveges karakterláncok listája.
  • "entity_type" – A megfelelő entitástípus.
  • "ignore_list" (nem kötelező) – A meccsen figyelmen kívül hagyandó szavak listája. Ezeket a paramétereket arra kell használni, hogy megakadályozzák, hogy a fuzzy egyezés megfeleljen bizonyos szavak kombinációinak, amelyekről tudja, hogy hibásak. Ez akkor lehet hasznos, ha figyelmen kívül szeretne hagyni néhány számot vagy e-mail címet, amikor neveket néz.

Például a expected_entities a korábban bemutatott PDF-ből a következőképpen néz ki:

[ { 'expected_texts': ['AnyCompany Bank'], 'entity_type': 'bank_name', 'ignore_list': [] }, { 'expected_texts': ['JANE DOE'], 'entity_type': 'customer_name', 'ignore_list': ['JANE.DOE@example_mail.com'] }, { 'expected_texts': ['003884257406'], 'entity_type': 'checking_number', 'ignore_list': [] }, ...
]

Futtassa az előcímkéző eszközt

Az előző lépésben létrehozott előzetes jegyzékfájllal indítsa el az előcímkéző eszköz futtatását. További részletekért lásd a notebookot start_step_functions.ipynb.

Az előcímkéző eszköz elindításához adjon meg egy event a következő gombokkal:

  • Premanifest – Minden PDF dokumentumot hozzárendel a sajátjához expected_entities fájlt. Ennek tartalmaznia kell a Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödör (alatt bucket) és a kulcs (alatt key) a fájlból.
  • prefix – Létrehozására használták a execution_id, amely a kimeneti tárolás S3 mappáját és a SageMaker Ground Truth címkézési feladat nevét nevezi el.
  • entitás_típusok – Megjelenik a felhasználói felületen, hogy az annotátorok felcímkézhessék. Ezeknek tartalmazniuk kell az összes entitástípust a várt entitásfájlokban.
  • munkacsoport_neve (nem kötelező) – A SageMaker Ground Truth címkézési feladat létrehozására szolgál. Ez megfelel a felhasznált magán munkaerőnek. Ha nincs megadva, csak egy jegyzékfájl jön létre a SageMaker Ground Truth címkézési feladat helyett. A jegyzékfájl segítségével később létrehozhat egy SageMaker Ground Truth címkézési feladatot. Vegye figyelembe, hogy jelen pillanatban nem biztosíthat külső munkaerőt a címkézési feladat jegyzetfüzetből történő létrehozásakor. A létrehozott munkát azonban klónozhatja, és külső munkaerőhöz rendelheti a SageMaker Ground Truth konzolon.
  • comprehend_parameters (nem kötelező) – Paraméterek az Amazon Comprehend egyéni entitásfelismerő modell közvetlen betanításához. Ha kihagyja, ez a lépés kimarad.

Az állapotgép elindításához futtassa a következő Python-kódot:

import boto3
stepfunctions_client = boto3.client('stepfunctions')

response = stepfunctions_client.start_execution(
stateMachineArn=fuzzymatching_prelabeling_step_functions_arn,
input=json.dumps(<event-dict>)
)

Ez elindítja az állapotgép futtatását. Az állapotgép előrehaladását a Step Functions konzolon követheti nyomon. A következő diagram az állapotgép munkafolyamatát mutatja be.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Amikor az állapotgép kész, tegye a következőket:

  • Vizsgálja meg a következőben mentett kimeneteket prelabeling/ mappa a comprehend-semi-structured-docs S3 vödör:
    • Egyedi annotációs fájlok a dokumentumok minden oldalához (oldalanként egy dokumentumban). temp_individual_manifests/
    • Egy manifest a SageMaker Ground Truth címkézési munkához consolidated_manifest/consolidated_manifest.manifest
    • Egy jegyzék, amely egy egyéni Amazon Comprehend modell betanításához használható consolidated_manifest/consolidated_manifest_comprehend.manifest
  • A SageMaker konzolon nyissa meg a SageMaker Ground Truth címkézési feladatot, amely a megjegyzések áttekintésére jött létre.
  • Vizsgálja meg és tesztelje a betanított egyéni Amazon Comprehend modellt

Amint azt korábban említettük, az eszköz csak a magánszemélyek számára tud SageMaker Ground Truth címkézési feladatokat létrehozni. Az emberi címkézési tevékenység kiszervezéséhez klónozhatja a címkézési feladatot a SageMaker Ground Truth konzolon, és bármilyen munkaerőt az új feladathoz kapcsolhat.

Tisztítsuk meg

A további költségek elkerülése érdekében törölje a létrehozott erőforrásokat, és törölje a következő paranccsal telepített köteget:

make delete

Következtetés

Az előcímkéző eszköz hatékony módot biztosít a vállalatok számára, hogy a meglévő táblázatos adatokat felhasználva felgyorsítsák az egyéni entitásfelismerési modellek képzési folyamatát az Amazon Comprehendben. A PDF dokumentumok automatikus előjegyzésével jelentősen csökkenti a címkézési folyamathoz szükséges kézi erőfeszítést.

Az eszköznek két változata van: fuzzy matching és Amazon Comprehend-alapú, rugalmasságot biztosítva a kezdeti megjegyzések létrehozásához. A dokumentumok előzetes címkézése után gyorsan áttekintheti őket a SageMaker Ground Truth címkézési munkával, vagy akár kihagyhatja az ellenőrzést, és közvetlenül betaníthat egy Amazon Comprehend egyedi modellt.

Az előcímkéző eszköz segítségével gyorsan feloldhatja a korábbi entitásadatok értékét, és felhasználhatja azokat az adott domainre szabott egyéni modellek létrehozására. Azáltal, hogy felgyorsítja a folyamat jellemzően leginkább munkaigényes részét, minden eddiginél elérhetőbbé teszi az egyéni entitásfelismerést az Amazon Comprehend segítségével.

A PDF-dokumentumok SageMaker Ground Truth címkézési feladattal történő címkézésével kapcsolatos további információkért lásd: Egyéni dokumentumjegyzet a megnevezett entitások kinyeréséhez a dokumentumokban az Amazon Comprehend segítségével és a Az adatok címkézéséhez használja az Amazon SageMaker Ground Truth alkalmazást.


A szerzőkről

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Oskar Schnaack a Generatív AI Innovációs Központ alkalmazott tudósa. Szenvedélyesen foglalkozik a gépi tanulás mögött meghúzódó tudományokkal, hogy elérhetővé tegye az ügyfelek számára. A munkán kívül Oskar szeret biciklizni, és lépést tartani az információelmélet trendjeivel.

Automatizálja a PDF előcímkézést az Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Romain Besombes Deep Learning Architect a Generative AI Innovation Centernél. Szenvedélyesen fejleszti az innovatív architektúrákat az ügyfelek gépi tanulással kapcsolatos üzleti problémáinak megoldására.

Időbélyeg:

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