Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1

Organisasi di seluruh industri seperti perawatan kesehatan, keuangan dan pinjaman, hukum, ritel, dan manufaktur sering kali harus berurusan dengan banyak dokumen dalam proses bisnis mereka sehari-hari. Dokumen-dokumen ini berisi informasi penting yang merupakan kunci untuk membuat keputusan tepat waktu untuk mempertahankan tingkat kepuasan pelanggan tertinggi, orientasi pelanggan yang lebih cepat, dan penurunan pelanggan. Dalam kebanyakan kasus, dokumen diproses secara manual untuk mengekstrak informasi dan wawasan, yang memakan waktu, rawan kesalahan, mahal, dan sulit untuk diukur. Ada otomatisasi terbatas yang tersedia saat ini untuk memproses dan mengekstrak informasi dari dokumen-dokumen ini. Pemrosesan dokumen cerdas (IDP) dengan layanan kecerdasan buatan (AI) AWS membantu mengotomatiskan ekstraksi informasi dari berbagai jenis dan format dokumen, dengan cepat dan dengan akurasi tinggi, tanpa memerlukan keterampilan pembelajaran mesin (ML). Ekstraksi informasi yang lebih cepat dengan akurasi tinggi membantu dalam membuat keputusan bisnis yang berkualitas tepat waktu, sekaligus mengurangi biaya keseluruhan.

Meskipun tahapan dalam alur kerja IDP dapat bervariasi dan dipengaruhi oleh kasus penggunaan dan persyaratan bisnis, gambar berikut menunjukkan tahapan yang biasanya merupakan bagian dari alur kerja IDP. Memproses dokumen seperti formulir pajak, klaim, catatan medis, formulir pelanggan baru, faktur, kontrak hukum, dan lainnya hanyalah beberapa kasus penggunaan untuk IDP.

Dalam seri dua bagian ini, kami membahas bagaimana Anda dapat mengotomatisasi dan memproses dokumen secara cerdas dalam skala besar menggunakan layanan AWS AI. Dalam posting ini, kita membahas tiga fase pertama dari alur kerja IDP. Di bagian 2, kami membahas fase alur kerja yang tersisa.

Ikhtisar solusi

Diagram arsitektur berikut menunjukkan tahapan alur kerja IDP. Dimulai dengan tahap pengambilan data untuk menyimpan dan menggabungkan berbagai format file dengan aman (PDF, JPEG, PNG, TIFF) dan tata letak dokumen. Tahap selanjutnya adalah klasifikasi, di mana Anda mengkategorikan dokumen Anda (seperti kontrak, formulir klaim, faktur, atau kuitansi), diikuti dengan ekstraksi dokumen. Pada tahap ekstraksi, Anda dapat mengekstrak informasi bisnis yang berarti dari dokumen Anda. Data yang diekstraksi ini sering digunakan untuk mengumpulkan wawasan melalui analisis data, atau dikirim ke sistem hilir seperti database atau sistem transaksional. Tahap selanjutnya adalah pengayaan, dimana dokumen dapat diperkaya dengan mereduksi data protected health information (PHI) atau personal identifiable information (PII), ekstraksi istilah bisnis kustom, dan sebagainya. Terakhir, pada tahap peninjauan dan validasi, Anda dapat menyertakan tenaga kerja manusia untuk peninjauan dokumen guna memastikan hasilnya akurat.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.

Untuk keperluan posting ini, kami mempertimbangkan satu set dokumen sampel seperti laporan mutasi bank, faktur, dan kuitansi toko. Sampel dokumen, bersama dengan kode sampel, dapat ditemukan di Repositori GitHub. Di bagian berikut, kami memandu Anda melalui contoh kode ini bersama dengan aplikasi praktis yang nyata. Kami mendemonstrasikan bagaimana Anda dapat memanfaatkan kemampuan ML dengan Teks Amazon, Amazon Comprehend, dan Amazon Augmented AI (Amazon A2I) untuk memproses dokumen dan memvalidasi data yang diambil darinya.

Amazon Textract adalah layanan ML yang secara otomatis mengekstrak teks, tulisan tangan, dan data dari dokumen yang dipindai. Ini melampaui pengenalan karakter optik sederhana (OCR) untuk mengidentifikasi, memahami, dan mengekstrak data dari formulir dan tabel. Amazon Textract menggunakan ML untuk membaca dan memproses semua jenis dokumen, mengekstrak teks, tulisan tangan, tabel, dan data lainnya secara akurat tanpa upaya manual.

Amazon Comprehend adalah layanan pemrosesan bahasa alami (NLP) yang menggunakan ML untuk mengekstrak wawasan tentang konten dokumen. Amazon Comprehend dapat mengidentifikasi elemen penting dalam dokumen, termasuk referensi ke bahasa, orang, dan tempat, dan mengklasifikasikannya ke dalam topik atau klaster yang relevan. Itu dapat melakukan analisis sentimen untuk menentukan sentimen dokumen secara real time menggunakan satu dokumen atau deteksi batch. Misalnya, dapat menganalisis komentar pada posting blog untuk mengetahui apakah pembaca Anda menyukai posting tersebut atau tidak. Amazon Comprehend juga mendeteksi PII seperti alamat, nomor rekening bank, dan nomor telepon dalam dokumen teks secara real time dan pekerjaan batch asinkron. Itu juga dapat menyunting entitas PII dalam pekerjaan batch asinkron.

Amazon A2I adalah layanan ML yang memudahkan pembuatan alur kerja yang diperlukan untuk peninjauan manusia. Amazon A2I menghadirkan tinjauan manusia ke semua pengembang, menghilangkan beban berat yang tidak dapat dibedakan terkait dengan membangun sistem tinjauan manusia atau mengelola sejumlah besar pengulas manusia, baik itu berjalan di AWS atau tidak. Amazon A2I mengintegrasikan keduanya dengan Teks Amazon dan Amazon Comprehend untuk memberi Anda kemampuan untuk memperkenalkan langkah-langkah peninjauan manusia dalam alur kerja pemrosesan dokumen cerdas Anda.

Fase pengambilan data

Anda dapat menyimpan dokumen dalam penyimpanan yang sangat skalabel dan tahan lama seperti Layanan Penyimpanan Sederhana Amazon (Amazon S3). Amazon S3 adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan di industri. Amazon S3 dirancang untuk ketahanan 11 dan menyimpan data untuk jutaan pelanggan di seluruh dunia. Dokumen dapat datang dalam berbagai format dan tata letak, dan dapat berasal dari saluran yang berbeda seperti portal web atau lampiran email.

Fase klasifikasi

Pada langkah sebelumnya, kami mengumpulkan dokumen dari berbagai jenis dan format. Pada langkah ini, kita perlu mengkategorikan dokumen sebelum kita dapat melakukan ekstraksi lebih lanjut. Untuk itu, kami menggunakan Amazon Comprehend klasifikasi khusus. Klasifikasi dokumen adalah proses dua langkah. Pertama, Anda melatih pengklasifikasi khusus Amazon Comprehend untuk mengenali kelas yang Anda minati. Selanjutnya, Anda menerapkan model dengan a pengklasifikasi kustom titik akhir waktu nyata dan mengirim dokumen yang tidak berlabel ke titik akhir waktu nyata untuk diklasifikasikan.

Gambar berikut menunjukkan alur kerja klasifikasi dokumen yang khas.

Fase klasifikasi

Untuk melatih pengklasifikasi, identifikasi kelas yang Anda minati dan berikan contoh dokumen untuk setiap kelas sebagai materi pelatihan. Berdasarkan opsi yang Anda tunjukkan, Amazon Comprehend membuat model ML kustom yang dilatihnya berdasarkan dokumen yang Anda berikan. Model khusus ini (pengklasifikasi) memeriksa setiap dokumen yang Anda kirimkan. Ini mengembalikan kelas tertentu yang paling mewakili konten (jika Anda menggunakan mode multi-kelas) atau kumpulan kelas yang berlaku untuknya (jika Anda menggunakan mode multi-label).

Siapkan data pelatihan

Langkah pertama adalah mengekstrak teks dari dokumen yang diperlukan untuk pengklasifikasi kustom Amazon Comprehend. Untuk mengekstrak informasi teks mentah untuk semua dokumen di Amazon S3, kami menggunakan Amazon Textract detect_document_text() API. Kami juga melabeli data sesuai dengan jenis dokumen yang akan digunakan untuk melatih pengklasifikasi Amazon Comprehend kustom.

Kode berikut telah dipangkas untuk tujuan penyederhanaan. Untuk kode lengkapnya, lihat GitHub Kode sampel untuk textract_extract_text(). Fungsinya call_textract() adalah fungsi wr4apper yang memanggil Analisis Dokumen API secara internal, dan parameter yang diteruskan ke metode abstrak beberapa konfigurasi yang dibutuhkan API untuk menjalankan tugas ekstraksi.

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)        

Latih pengklasifikasi khusus

Pada langkah ini, kami menggunakan klasifikasi kustom Amazon Comprehend untuk melatih model kami dalam mengklasifikasikan dokumen. Kami menggunakan BuatPengklasifikasi Dokumen API untuk membuat pengklasifikasi yang melatih model khusus menggunakan data berlabel kami. Lihat kode berikut:

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'
    )

Terapkan titik akhir waktu nyata

Untuk menggunakan pengklasifikasi khusus Amazon Comprehend, kami membuat titik akhir waktu nyata menggunakan CreateEndpoint Lebah:

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}')  

Klasifikasikan dokumen dengan titik akhir waktu nyata

Setelah titik akhir Amazon Comprehend dibuat, kita dapat menggunakan titik akhir waktu nyata untuk mengklasifikasikan dokumen. Kami menggunakan comprehend.classify_document() berfungsi dengan teks dokumen yang diekstraksi dan titik akhir inferensi sebagai parameter input:

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

Amazon Comprehend mengembalikan semua kelas dokumen dengan skor keyakinan yang ditautkan ke setiap kelas dalam larik pasangan nilai kunci (nilai-nama). Kami memilih kelas dokumen dengan skor kepercayaan tertinggi. Tangkapan layar berikut adalah contoh respons.

Klasifikasikan dokumen dengan titik akhir waktu nyata

Kami merekomendasikan untuk membaca kode sampel klasifikasi dokumen terperinci di GitHub.

Fase ekstraksi

Amazon Textract memungkinkan Anda mengekstrak teks dan informasi data terstruktur menggunakan Amazon Textract DeteksiTeks Dokumen dan Analisis Dokumen API, masing-masing. API ini merespons dengan data JSON, yang berisi KATA, GARIS, BENTUK, TABEL, geometri atau informasi kotak pembatas, hubungan, dan sebagainya. Keduanya DetectDocumentText dan AnalyzeDocument adalah operasi sinkron. Untuk menganalisis dokumen secara asinkron, gunakan MulaiDocumentTextDetection.

Ekstraksi data terstruktur

Anda dapat mengekstrak data terstruktur seperti tabel dari dokumen sambil mempertahankan struktur data dan hubungan antara item yang terdeteksi. Anda dapat menggunakan Analisis Dokumen API dengan FeatureType as TABLE untuk mendeteksi semua tabel dalam dokumen. Gambar berikut mengilustrasikan proses ini.

Ekstraksi data terstruktur

Lihat kode berikut:

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

Kami menjalankan analyze_document() metode dengan FeatureType as TABLES pada dokumen riwayat karyawan dan dapatkan ekstraksi tabel pada hasil berikut.

Analisis respons API dokumen untuk ekstraksi tabel

Ekstraksi data semi-terstruktur

Anda dapat mengekstrak data semi-terstruktur seperti formulir atau pasangan nilai kunci dari dokumen sambil mempertahankan struktur data dan hubungan antara item yang terdeteksi. Anda dapat menggunakan Analisis Dokumen API dengan FeatureType as FORMS untuk mendeteksi semua bentuk dalam dokumen. Diagram berikut menggambarkan proses ini.

Ekstraksi data semi-terstruktur

Lihat kode berikut:

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

Di sini, kami menjalankan analyze_document() metode dengan FeatureType as FORMS pada dokumen aplikasi karyawan dan dapatkan hasil ekstraksi tabel.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.

Ekstraksi data tidak terstruktur

Amazon Textract optimal untuk ekstraksi teks padat dengan akurasi OCR terdepan di industri. Anda dapat menggunakan DeteksiTeks Dokumen API untuk mendeteksi baris teks dan kata-kata yang membentuk baris teks, seperti yang diilustrasikan pada gambar berikut.

Ekstraksi data tidak terstruktur

Lihat kode berikut:

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

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

Sekarang kita menjalankan detect_document_text() metode pada gambar sampel dan mendapatkan ekstraksi teks mentah dalam hasil.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.

Faktur dan kuitansi

Amazon Textract menyediakan dukungan khusus untuk memproses faktur dan tanda terima dalam skala besar. Itu AnalisisBiaya API dapat mengekstrak data berlabel eksplisit, data tersirat, dan item baris dari daftar barang atau jasa yang diperinci dari hampir semua faktur atau tanda terima tanpa templat atau konfigurasi apa pun. Gambar berikut mengilustrasikan proses ini.

Ekstraksi faktur dan tanda terima

Lihat kode berikut:

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

Amazon Textract dapat menemukan nama vendor pada tanda terima meskipun hanya ditunjukkan dalam logo pada halaman tanpa label eksplisit yang disebut โ€œvendorโ€. Itu juga dapat menemukan dan mengekstrak item pengeluaran, kuantitas, dan harga yang tidak diberi label dengan tajuk kolom untuk item baris.

Analisis respons API pengeluaran

Dokumen identitas

Teks Amazon AnalisisID API dapat membantu Anda mengekstrak informasi secara otomatis dari dokumen identifikasi, seperti SIM dan paspor, tanpa memerlukan template atau konfigurasi. Kami dapat mengekstrak informasi spesifik, seperti tanggal kedaluwarsa dan tanggal lahir, serta secara cerdas mengidentifikasi dan mengekstrak informasi tersirat, seperti nama dan alamat. Diagram berikut menggambarkan proses ini.

Ekstraksi dokumen identitas

Lihat kode berikut:

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

Kita dapat menggunakan tabulate untuk mendapatkan hasil cetak yang cantik:

from tabulate import tabulate

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

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.

Kami merekomendasikan melalui ekstraksi dokumen terperinci Kode sampel di GitHub. Untuk informasi lebih lanjut tentang contoh kode lengkap di posting ini, lihat GitHub repo.

Kesimpulan

Dalam posting pertama dari seri dua bagian ini, kami membahas berbagai tahapan IDP dan arsitektur solusi. Kami juga membahas klasifikasi dokumen menggunakan pengklasifikasi kustom Amazon Comprehend. Selanjutnya, kami menjelajahi cara Anda dapat menggunakan Amazon Textract untuk mengekstrak informasi dari jenis dokumen tidak terstruktur, semi terstruktur, terstruktur, dan khusus.

In bagian 2 dari seri ini, kami melanjutkan diskusi dengan fitur ekstrak dan kueri Amazon Textract. Kami melihat cara menggunakan entitas yang telah ditentukan sebelumnya dan entitas kustom Amazon Comprehend untuk mengekstrak istilah bisnis utama dari dokumen dengan teks padat, dan cara mengintegrasikan tinjauan human-in-the-loop Amazon A2I dalam proses IDP Anda.

Kami merekomendasikan untuk meninjau bagian keamanan dari Teks Amazon, Amazon Comprehend, dan Amazon A2I dokumentasi dan mengikuti pedoman yang diberikan. Juga, luangkan waktu untuk meninjau dan memahami harga untuk Teks Amazon, Amazon Comprehend, dan Amazon A2I.


Tentang penulis

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai. Suprakash Dutta adalah Arsitek Solusi di Amazon Web Services. Dia berfokus pada strategi transformasi digital, modernisasi dan migrasi aplikasi, analisis data, dan pembelajaran mesin.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.Sonali Sahu memimpin tim Intelligent Document Processing AI/ML Solutions Architect di Amazon Web Services. Dia adalah seorang technophile yang bersemangat dan senang bekerja dengan pelanggan untuk memecahkan masalah kompleks menggunakan inovasi. Area fokus utamanya adalah kecerdasan buatan dan pembelajaran mesin untuk pemrosesan dokumen cerdas.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.Anjan Biswas adalah Arsitek Solusi Layanan AI Senior dengan fokus pada AI/ML dan analitik data. Anjan adalah bagian dari tim layanan AI di seluruh dunia dan bekerja dengan pelanggan untuk membantu mereka memahami dan mengembangkan solusi untuk masalah bisnis dengan AI dan ML. Anjan memiliki lebih dari 14 tahun pengalaman bekerja dengan rantai pasokan global, manufaktur, dan organisasi ritel, dan secara aktif membantu pelanggan memulai dan meningkatkan layanan AWS AI.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 1 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.Chinmayee Rane adalah Arsitek Solusi Spesialis AI/ML di Amazon Web Services. Dia bersemangat tentang matematika terapan dan pembelajaran mesin. Dia berfokus pada perancangan solusi pemrosesan dokumen cerdas untuk pelanggan AWS. Di luar pekerjaan, dia menikmati tarian salsa dan bachata.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS