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

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 2

Pemrosesan dokumen cerdas (IDP) Amazon membantu Anda mempercepat siklus keputusan bisnis dan mengurangi biaya. Di berbagai industri, pelanggan perlu memproses jutaan dokumen per tahun selama menjalankan bisnis mereka. Bagi pelanggan yang memproses jutaan dokumen, ini merupakan aspek penting untuk pengalaman pengguna akhir dan prioritas utama transformasi digital. Karena format yang bervariasi, sebagian besar perusahaan secara manual memproses dokumen seperti W2, klaim, dokumen ID, faktur, dan kontrak hukum, atau menggunakan solusi warisan OCR (pengenalan karakter optik) yang memakan waktu, rawan kesalahan, dan mahal. Pipeline IDP dengan layanan AWS AI memberdayakan Anda untuk melampaui OCR dengan ekstraksi informasi yang lebih akurat dan serbaguna, memproses dokumen lebih cepat, menghemat uang, dan mengalihkan sumber daya ke tugas bernilai lebih tinggi.

Dalam seri ini, kami memberikan ikhtisar tentang pipeline IDP untuk mengurangi jumlah waktu dan upaya yang diperlukan untuk mencerna dokumen dan mendapatkan informasi utama ke dalam sistem hilir. Gambar berikut menunjukkan tahapan yang biasanya merupakan bagian dari alur kerja IDP.

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

Ikhtisar solusi

Arsitektur referensi berikut menunjukkan bagaimana Anda dapat menggunakan layanan AWS AI seperti Teks Amazon dan Amazon Comprehend, bersama dengan layanan AWS lainnya untuk mengimplementasikan alur kerja IDP. Pada bagian 1, kami menjelaskan tahap pengambilan data dan klasifikasi dokumen, di mana kami mengkategorikan dan menandai dokumen seperti laporan mutasi bank, faktur, dan dokumen tanda terima. Kami juga membahas tahap ekstraksi, di mana Anda dapat mengekstrak informasi bisnis yang berarti dari dokumen Anda. Dalam posting ini, kami memperluas pipeline IDP dengan melihat entitas default dan kustom Amazon Comprehend dalam fase ekstraksi, melakukan pengayaan dokumen, dan juga melihat secara singkat kemampuan Amazon Augmented AI (Amazon A2I) untuk menyertakan tenaga kerja peninjau manusia dalam tahap peninjauan dan validasi.

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

Kami juga menggunakan Amazon Memahami Medis sebagai bagian dari solusi ini, yang merupakan layanan untuk mengekstrak informasi dari teks medis tidak terstruktur secara akurat dan cepat dan mengidentifikasi hubungan antara informasi kesehatan yang diekstraksi, dan menautkan ke ontologi medis seperti ICD-10-CM, RxNorm, dan SNOMED CT.

Amazon A2I adalah layanan pembelajaran mesin (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 terintegrasi dengan Teks Amazon dan Amazon Comprehend untuk memberi Anda kemampuan untuk memperkenalkan langkah-langkah peninjauan manusia dalam alur kerja IDP Anda.

Prasyarat

Sebelum Anda memulai, lihat bagian 1 untuk ikhtisar tingkat tinggi tentang IDP dan detail tentang tahap pengambilan data, klasifikasi, dan ekstraksi.

Fase ekstraksi

Di bagian 1 seri ini, kami membahas bagaimana kami dapat menggunakan fitur Amazon Textract untuk ekstraksi data yang akurat untuk semua jenis dokumen. Untuk memperluas fase ini, kami menggunakan entitas terlatih Amazon Comprehend dan pengenal entitas kustom Amazon Comprehend untuk ekstraksi dokumen lebih lanjut. Tujuan pengenal entitas kustom adalah untuk mengidentifikasi entitas tertentu dan menghasilkan metadata kustom mengenai dokumen kami dalam format CSV atau yang dapat dibaca manusia untuk kemudian dianalisis oleh pengguna bisnis.

Pengakuan entitas yang dinamai

Pengenalan entitas bernama (NER) adalah sub-tugas pemrosesan bahasa alami (NLP) yang melibatkan memilah-milah data teks untuk menemukan frasa kata benda, yang disebut entitas bernama, dan mengkategorikan masing-masing dengan label, seperti merek, tanggal, acara, lokasi, organisasi , orang, jumlah, atau gelar. Misalnya, dalam pernyataan โ€œSaya baru-baru ini berlangganan Amazon Prime,โ€ Amazon Prime adalah entitas bernama dan dapat dikategorikan sebagai merek.

Amazon Comprehend memungkinkan Anda mendeteksi entitas kustom tersebut di dokumen Anda. Setiap entitas juga memiliki skor tingkat kepercayaan yang dikembalikan Amazon Comprehend untuk setiap jenis entitas. Diagram berikut mengilustrasikan proses pengenalan entitas.

Pengenalan entitas bernama dengan Amazon Comprehend

Untuk mendapatkan entitas dari dokumen teks, kami memanggil comprehend.detect_entities() metode dan konfigurasikan kode bahasa dan teks sebagai parameter input:

def get_entities(text):
    try:
        #detect entities
        entities = comprehend.detect_entities(LanguageCode="en", Text=text)  
        df = pd.DataFrame(entities["Entities"], columns = ['Text', 'Type'])
        display(HTML(df.to_html(index=False)))
    except Exception as e:
        print(e)

Kami menjalankan get_entities() metode pada dokumen bank dan mendapatkan daftar entitas dalam hasil.

Tanggapan dari metode get_entities dari Comprehend.

Meskipun ekstraksi entitas bekerja cukup baik dalam mengidentifikasi tipe entitas default untuk semua yang ada di dokumen bank, kami ingin entitas tertentu dikenali untuk kasus penggunaan kami. Lebih khusus lagi, kita perlu mengidentifikasi nomor rekening tabungan dan giro nasabah di rekening koran. Kami dapat mengekstrak istilah bisnis utama ini menggunakan pengenalan entitas kustom Amazon Comprehend.

Latih model pengenalan entitas kustom Amazon Comprehend

Untuk mendeteksi entitas tertentu yang kami minati dari laporan mutasi bank pelanggan, kami melatih pengenal entitas kustom dengan dua entitas kustom: SAVINGS_AC dan CHECKING_AC.

Kemudian kami melatih model pengenalan entitas kustom. Kita dapat memilih salah satu dari dua cara untuk menyediakan data ke Amazon Comprehend: anotasi atau daftar entitas.

Metode anotasi seringkali dapat menghasilkan hasil yang lebih halus untuk file gambar, PDF, atau dokumen Word karena Anda melatih model dengan mengirimkan konteks yang lebih akurat sebagai anotasi bersama dengan dokumen Anda. Namun, metode anotasi dapat memakan waktu dan padat karya. Untuk mempermudah posting blog ini, kami menggunakan metode daftar entitas, yang hanya dapat Anda gunakan untuk dokumen teks biasa. Metode ini memberi kita file CSV yang harus berisi teks biasa dan tipe entitas yang sesuai, seperti yang ditunjukkan pada contoh sebelumnya. Entitas dalam file ini akan spesifik untuk kebutuhan bisnis kami (tabungan dan nomor rekening giro).

Untuk detail selengkapnya tentang cara menyiapkan data pelatihan untuk kasus penggunaan yang berbeda menggunakan metode anotasi atau daftar entitas, lihat Mempersiapkan data pelatihan.

Tangkapan layar berikut menunjukkan contoh daftar entitas kami.

Cuplikan daftar entitas.

Buat titik akhir waktu-nyata NER kustom Amazon Comprehend

Selanjutnya, kami membuat titik akhir pengenal entitas kustom secara real-time menggunakan model yang kami latih. Kami menggunakan Buat Titik Akhir API melalui comprehend.create_endpoint() metode untuk membuat titik akhir waktu nyata:

#create comprehend endpoint
model_arn = entity_recognizer_arn
ep_name = 'idp-er-endpoint'

try:
    endpoint_response = comprehend.create_endpoint(
        EndpointName=ep_name,
        ModelArn=model_arn,
        DesiredInferenceUnits=1,    
        DataAccessRoleArn=role
    )
    ER_ENDPOINT_ARN=endpoint_response['EndpointArn']
    print(f'Endpoint created with ARN: {ER_ENDPOINT_ARN}')
    %store ER_ENDPOINT_ARN
except Exception as error:
    if error.response['Error']['Code'] == 'ResourceInUseException':
        print(f'An endpoint with the name "{ep_name}" already exists.')
        ER_ENDPOINT_ARN = f'arn:aws:comprehend:{region}:{account_id}:entity-recognizer-endpoint/{ep_name}'
        print(f'The classifier endpoint ARN is: "{ER_ENDPOINT_ARN}"')
        %store ER_ENDPOINT_ARN
    else:
        print(error)

Setelah kami melatih pengenal entitas kustom, kami menggunakan titik akhir waktu nyata kustom untuk mengekstrak beberapa informasi yang diperkaya dari dokumen dan kemudian melakukan redaksi dokumen dengan bantuan entitas kustom yang dikenali oleh Amazon Comprehend dan informasi kotak pembatas dari Amazon Textract.

Fase pengayaan

Pada tahap pengayaan dokumen, kita dapat melakukan pengayaan dokumen dengan menyunting data informasi identitas pribadi (PII), ekstraksi istilah bisnis kustom, dan sebagainya. Contoh dokumen kami sebelumnya (laporan bank) berisi nomor rekening tabungan dan giro nasabah, yang ingin kami edit. Karena kami telah mengetahui entitas kustom ini melalui model NER kustom Amazon Comprehend kami, kami dapat dengan mudah menggunakan tipe data geometri Amazon Textract untuk menyunting entitas PII ini di mana pun mereka muncul dalam dokumen. Dalam arsitektur berikut, kami menyunting istilah bisnis utama (tabungan dan rekening giro) dari dokumen laporan bank.

Fase pengayaan dokumen.

Seperti yang Anda lihat pada contoh berikut, nomor rekening giro dan tabungan disembunyikan di laporan bank sekarang.

Contoh laporan bank yang disunting.

Solusi OCR tradisional berjuang untuk mengekstrak data secara akurat dari sebagian besar dokumen tidak terstruktur dan semi-terstruktur karena variasi yang signifikan dalam cara data diletakkan di berbagai versi dan format dokumen ini. Anda mungkin perlu menerapkan logika prapemrosesan khusus atau bahkan mengekstrak informasi secara manual dari dokumen-dokumen ini. Dalam hal ini, pipeline IDP mendukung dua fitur yang dapat Anda gunakan: Amazon Comprehend custom NER dan kueri Amazon Textract. Kedua layanan ini menggunakan NLP untuk mengekstrak wawasan tentang konten dokumen.

Ekstraksi dengan kueri Amazon Textract

Saat memproses dokumen dengan Amazon Textract, Anda dapat menambahkan fitur kueri baru ke analisis Anda untuk menentukan informasi apa yang Anda butuhkan. Ini melibatkan melewati pertanyaan NLP, seperti "Berapa nomor jaminan sosial pelanggan?" ke Amazon Textract. Amazon Textract menemukan informasi dalam dokumen untuk pertanyaan itu dan mengembalikannya dalam struktur respons yang terpisah dari informasi dokumen lainnya. Kueri dapat diproses sendiri, atau dikombinasikan dengan yang lain FeatureType, Seperti Tables or Forms.

Ekstraksi berbasis kueri menggunakan Amazon Textract.

Dengan kueri Amazon Textract, Anda dapat mengekstrak informasi dengan akurasi tinggi terlepas dari bagaimana data ditata dalam struktur dokumen, seperti formulir, tabel, dan kotak centang, atau ditempatkan di dalam bagian bersarang dalam dokumen.

Untuk mendemonstrasikan fitur kueri, kami mengekstrak informasi berharga seperti nama depan dan belakang pasien, produsen dosis, dan sebagainya dari dokumen seperti kartu vaksinasi COVID-19.

Contoh kartu vaksinasi.

Kami menggunakan textract.analyze_document() fungsi dan tentukan FeatureType as QUERIES serta menambahkan pertanyaan dalam bentuk pertanyaan bahasa alami di QueriesConfig.

Kode berikut telah dipangkas untuk tujuan penyederhanaan. Untuk kode lengkapnya, lihat GitHub Kode sampel untuk analyze_document().

response = None
with open(image_filename, 'rb') as document:
    imageBytes = bytearray(document.read())

# Call Textract
response = textract.analyze_document(
    Document={'Bytes': imageBytes},
    FeatureTypes=["QUERIES"],
    QueriesConfig={
            "Queries": [{
                "Text": "What is the date for the 1st dose covid-19?",
                "Alias": "COVID_VACCINATION_FIRST_DOSE_DATE"
            },
# code trimmed down for simplification
#..
]
}) 

Untuk fitur kueri, textract.analyze_document() fungsi mengeluarkan semua KATA dan GARIS OCR, informasi geometri, dan skor kepercayaan dalam JSON respons. Namun, kami hanya dapat mencetak informasi yang kami minta.

Document adalah fungsi pembungkus yang digunakan untuk membantu mengurai respons JSON dari API. Ini memberikan abstraksi tingkat tinggi dan membuat keluaran API dapat diubah dan mudah untuk mendapatkan informasi. Untuk informasi lebih lanjut, lihat Pengurai Respons Textract dan Teksraktor repo GitHub. Setelah kami memproses respons, kami mendapatkan informasi berikut seperti yang ditunjukkan pada tangkapan layar.

import trp.trp2 as t2
from tabulate import tabulate

d = t2.TDocumentSchema().load(response)
page = d.pages[0]

query_answers = d.get_query_answers(page=page)

print(tabulate(query_answers, tablefmt="github"))

Respons dari ekstraksi kueri.

Tahap review dan validasi

Ini adalah tahap akhir dari pipeline IDP kami. Pada tahap ini, kita dapat menggunakan aturan bisnis kita untuk memeriksa kelengkapan dokumen. Misalnya, dari dokumen klaim asuransi, ID klaim diekstraksi secara akurat dan berhasil. Kami dapat menggunakan teknologi tanpa server AWS seperti AWS Lambda untuk otomatisasi lebih lanjut dari aturan bisnis ini. Selain itu, kami dapat menyertakan tenaga kerja manusia untuk tinjauan dokumen guna memastikan prediksi akurat. Amazon A2I mempercepat pembuatan alur kerja yang diperlukan untuk peninjauan manusia untuk prediksi ML.

Dengan Amazon A2I, Anda dapat mengizinkan peninjau manusia untuk masuk ketika model tidak dapat membuat prediksi kepercayaan tinggi atau mengaudit prediksinya secara berkelanjutan. Tujuan dari pipeline IDP adalah untuk mengurangi jumlah input manusia yang diperlukan untuk mendapatkan informasi yang akurat ke dalam sistem keputusan Anda. Dengan IDP, Anda dapat mengurangi jumlah input manusia untuk proses dokumen Anda serta total biaya pemrosesan dokumen.

Setelah semua informasi akurat diekstraksi dari dokumen, Anda dapat menambahkan lebih lanjut aturan khusus bisnis menggunakan fungsi Lambda dan akhirnya mengintegrasikan solusi dengan database atau aplikasi hilir.

Tinjauan manusia dan fase verifikasi.

Untuk informasi selengkapnya tentang cara membuat alur kerja Amazon A2I, ikuti instruksi dari Persiapan untuk Modul 4 langkah di akhir 03-idp-document-enrichment.ipynb di kami GitHub repo.

Membersihkan

Untuk mencegah timbulnya biaya di masa mendatang ke akun AWS Anda, hapus sumber daya yang kami sediakan di pengaturan repositori dengan menavigasi ke Bagian pembersihan di repo kami.

Kesimpulan

Dalam postingan dua bagian ini, kita melihat cara membuat pipeline IDP end-to-end dengan sedikit atau tanpa pengalaman ML. Kami membahas berbagai tahapan pipeline dan solusi langsung dengan layanan AWS AI seperti Amazon Textract, Amazon Comprehend, Amazon Comprehend Medical, dan Amazon A2I untuk merancang dan membangun kasus penggunaan khusus industri. Dalam Pos pertama dari seri ini, kami mendemonstrasikan cara menggunakan Amazon Textract dan Amazon Comprehend untuk mengekstrak informasi dari berbagai dokumen. Dalam posting ini, kami melakukan penyelaman mendalam tentang cara melatih pengenal entitas kustom Amazon Comprehend untuk mengekstrak entitas kustom dari dokumen kami. Kami juga melakukan teknik pengayaan dokumen seperti redaksi menggunakan Amazon Textract serta daftar entitas dari Amazon Comprehend. Terakhir, kami melihat bagaimana Anda dapat menggunakan alur kerja tinjauan manusia Amazon A2I untuk Amazon Textract dengan menyertakan tim kerja pribadi.

Untuk informasi lebih lanjut tentang contoh kode lengkap di posting ini, lihat GitHub repo.

Kami menyarankan Anda meninjau bagian keamanan dari Teks Amazon, Amazon Comprehend, dan Amazon A2I dokumentasi dan ikuti panduan yang disediakan. 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 2 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai. Chin 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.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 2 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 2 Intelijen Data PlatoBlockchain. Pencarian Vertikal. Ai.Anjan Biswas adalah seorang Arsitek Solusi Senior spesialis AI/ML. Anjan bekerja dengan pelanggan perusahaan dan bersemangat dalam mengembangkan, menerapkan, dan menjelaskan AI/ML, analisis data, dan solusi data besar. Anjan memiliki lebih dari 14 tahun pengalaman bekerja dengan rantai pasokan global, manufaktur, dan organisasi ritel, dan secara aktif membantu pelanggan memulai dan menskalakan di AWS.

Pemrosesan dokumen cerdas dengan layanan AWS AI: Bagian 2 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. Dia adalah bagian dari komunitas AI/ML di AWS dan merancang solusi pemrosesan dokumen yang cerdas.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS