Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri

Amazon Kavramak metinsel verilerden öngörüler elde etmek için önceden eğitilmiş ve özel API'ler sağlayan bir doğal dil işleme (NLP) hizmetidir. Amazon Comprehen müşterileri, işlerine özgü konum, kişi adı ve tarih gibi ilgi çekici varlıkları çıkarmak için özel adlandırılmış varlık tanıma (NER) modellerini eğitebilir.

Özel bir modeli eğitmek için öncelikle belgelerdeki varlıklara manuel olarak açıklama ekleyerek eğitim verilerini hazırlarsınız. Bu şu şekilde yapılabilir: Yarı Yapılandırılmış Belgeleri Anlama Ek Açıklama Aracı, bu bir yaratır Amazon SageMaker Yer Gerçeği Açıklamacıların doğrudan PDF belgeleri üzerinde varlıkların etrafına sınırlayıcı kutular çizmesine olanak tanıyan özel bir şablonla iş yapın. Ancak SAP gibi ERP sistemlerinde tablosal varlık verileri bulunan şirketler için manuel açıklama tekrarlayan ve zaman alıcı olabilir.

Eğitim verilerini hazırlama çabasını azaltmak için aşağıdakileri kullanarak bir ön etiketleme aracı geliştirdik: AWS Basamak İşlevleri mevcut tablosal varlık verilerini kullanarak belgelere otomatik olarak ön açıklama ekler. Bu, Amazon Comprehend'de doğru özel varlık tanıma modellerini eğitmek için gereken manuel çalışmayı önemli ölçüde azaltır.

Bu yazıda, ön etiketleme aracını kurma adımlarında size yol gösterecek ve bu aracın herkese açık bir belgeden gelen belgelere otomatik olarak nasıl açıklama eklediğine dair örnekler göstereceğiz. veri kümesi PDF formatında örnek banka ekstreleri. Kodun tamamı şu adreste mevcuttur: GitHub repo.

Çözüme genel bakış

Bu bölümde ön etiketleme aracının giriş ve çıkışlarını tartışıyor ve çözüm mimarisine genel bir bakış sunuyoruz.

Girdiler ve çıktılar

Giriş olarak ön etiketleme aracı, açıklama eklenecek metin içeren PDF belgelerini alır. Demo için aşağıdaki örnekteki gibi simüle edilmiş banka ekstreleri kullanıyoruz.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Araç aynı zamanda PDF belgelerini bu belgelerden çıkarmak istediğimiz varlıklarla eşleştiren bir bildirim dosyası da alır. Varlıklar iki şeyden oluşur: expected_text belgeden çıkarmak için (örneğin, AnyCompany Bank) ve karşılık gelen entity_type (Örneğin, bank_name). Bu yazının ilerleyen kısımlarında, bu manifest dosyasının aşağıdaki örnekteki gibi bir CSV belgesinden nasıl oluşturulacağını göstereceğiz.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Ön etiketleme aracı, belgelere ilgili varlıklarla otomatik olarak açıklama eklemek için bildirim dosyasını kullanır. Daha sonra bu ek açıklamaları doğrudan bir Amazon Comprehend modelini eğitmek için kullanabiliriz.

Alternatif olarak, aşağıdaki ekran görüntüsünde gösterildiği gibi, insanların incelemesi ve düzenlemesi için bir SageMaker Ground Truth etiketleme işi oluşturabilirsiniz.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

İnceleme tamamlandığında, ek açıklamalı verileri bir Amazon Comprehend özel varlık tanıyıcı modelini eğitmek için kullanabilirsiniz.

mimari

Ön etiketleme aracı birden fazla bileşenden oluşur AWS Lambda Step Functions durum makinesi tarafından düzenlenen işlevler. Ön açıklamalar oluşturmak için farklı teknikler kullanan iki sürümü vardır.

İlk teknik bulanık eşleme. Bu, beklenen varlıklara sahip bir ön bildirim dosyası gerektirir. Araç, metin benzerliğini karşılaştırarak ön açıklamalar oluşturmak için bulanık eşleştirme algoritmasını kullanır.

Bulanık eşleştirme, belgede, bildirim öncesi dosyada listelenen beklenen varlıklara benzer (ancak tam olarak aynı olması gerekmeyen) dizeleri arar. Önce beklenen metin ile belgedeki kelimeler arasındaki metin benzerliği puanlarını hesaplar, ardından bir eşiğin üzerindeki tüm çiftleri eşleştirir. Bu nedenle, tam eşleşmeler olmasa bile bulanık eşleştirme, kısaltmalar ve yazım yanlışları gibi değişkenleri bulabilir. Bu, aracın, varlıkların kelimesi kelimesine görünmesini gerektirmeden belgeleri önceden etiketlemesine olanak tanır. Örneğin, eğer 'AnyCompany Bank' beklenen bir varlık olarak listelendiğinde, Bulanık Eşleştirme aşağıdakilerin oluşumlarına açıklama ekleyecektir: 'Any Companys Bank'. Bu, katı dize eşleştirmeden daha fazla esneklik sağlar ve ön etiketleme aracının daha fazla varlığı otomatik olarak etiketlemesine olanak tanır.

Aşağıdaki diyagram bu Step Functions durum makinesinin mimarisini göstermektedir.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

İkinci teknik gerektirir önceden eğitilmiş Amazon Comprehend varlık tanıyıcı modeli. Araç, aşağıdaki diyagramda gösterilen iş akışını izleyerek Amazon Comprehend modelini kullanarak ön açıklamalar oluşturur.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Aşağıdaki diyagram tüm mimariyi göstermektedir.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Aşağıdaki bölümlerde çözümü uygulamaya yönelik adımları inceleyeceğiz.

Ön etiketleme aracını dağıtın

Depoyu yerel makinenize kopyalayın:

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

Bu depo, Comprehend Yarı Yapılandırılmış Belgeler Ek Açıklama Aracının üzerine inşa edilmiştir ve SageMaker Ground Truth kullanıcı arayüzünde halihazırda görüntülenen ön açıklamalarla bir SageMaker Ground Truth etiketleme işi başlatmanıza olanak tanıyarak işlevlerini genişletir.

Ön etiketleme aracı, hem Yarı Yapılandırılmış Belgeleri Anlama Ek Açıklama Aracı kaynaklarını hem de ön etiketleme aracına özel bazı kaynakları içerir. Çözümü şununla dağıtabilirsiniz: AWS Sunucusuz Uygulama Modeli (AWS SAM), sunucusuz uygulama altyapısı kodunu tanımlamak için kullanabileceğiniz açık kaynaklı bir çerçevedir.

Daha önce Yarı Yapılandırılmış Belgeleri Anlama Ek Açıklama Aracı'nı dağıttıysanız, SSS bölümüne bakın. Pre_labeling_tool/README.md Yalnızca ön etiketleme aracına özel kaynakların nasıl dağıtılacağına ilişkin talimatlar için.

Aracı daha önce dağıtmadıysanız ve yeni başlıyorsanız çözümün tamamını dağıtmak için aşağıdakileri yapın.

Geçerli dizini ek açıklama aracı klasörüne değiştirin:

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

Çözümü oluşturun ve dağıtın:

make ready-and-deploy-guided

Ön bildirim dosyasını oluşturun

Ön etiketleme aracını kullanmadan önce verilerinizi hazırlamanız gerekir. Ana girdiler PDF belgeleri ve bir ön bildirim dosyasıdır. Ön bildirim dosyası, altındaki her PDF belgesinin konumunu içerir. 'pdf' ve altında etiketlenmesi beklenen varlıklara sahip bir JSON dosyasının konumu 'expected_entities'.

Defter created_premanifest_file.ipynb bu dosyanın nasıl oluşturulacağını gösterir. Demoda ön bildirim dosyası aşağıdaki kodu gösterir:

[ { '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' }, ...
]

Ön bildirim dosyasında listelenen her JSON dosyası (altında) expected_entities) her beklenen varlık için bir sözlük listesi içerir. Sözlüklerde aşağıdaki tuşlar bulunur:

  • 'beklenen_metinler' – Varlıkla eşleşen olası metin dizelerinin listesi.
  • 'varlık_türü' – İlgili varlık türü.
  • 'ignore_list' (isteğe bağlı) – Maçta göz ardı edilmesi gereken kelimelerin listesi. Bu parametreler, bulanık eşleştirmenin, yanlış olduğunu bildiğiniz belirli sözcük kombinasyonlarıyla eşleşmesini önlemek için kullanılmalıdır. İsimlere bakarken bazı numaraları veya e-posta adreslerini göz ardı etmek istiyorsanız bu yararlı olabilir.

Örneğin, expected_entities Daha önce gösterilen PDF'nin bir kısmı aşağıdakine benzer:

[ { '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': [] }, ...
]

Ön etiketleme aracını çalıştırın

Önceki adımda oluşturduğunuz ön bildirim dosyasıyla ön etiketleme aracını çalıştırmaya başlayın. Daha fazla ayrıntı için not defterine bakın start_step_functions.ipynb.

Ön etiketleme aracını başlatmak için bir event aşağıdaki tuşlarla:

  • Ön tezahür – Her PDF belgesini kendisine eşler expected_entities dosya. Bu şunları içermelidir: Amazon Basit Depolama Hizmeti (Amazon S3) kovası (altında bucket) ve tuşu (altında key) dosyanın.
  • Önek – Oluşturmak için kullanılır execution_id, çıktı depolaması için S3 klasörünü ve SageMaker Ground Truth etiketleme işi adını adlandıran.
  • varlık_tipleri – Ek açıklamacıların etiketlemesi için kullanıcı arayüzünde görüntülenir. Bunlar, beklenen varlıklar dosyalarındaki tüm varlık türlerini içermelidir.
  • iş_ekibi_adı (isteğe bağlı) – SageMaker Ground Truth etiketleme işini oluşturmak için kullanılır. Kullanılacak özel işgücüne karşılık gelir. Sağlanmazsa SageMaker Ground Truth etiketleme işi yerine yalnızca bir bildirim dosyası oluşturulacaktır. Daha sonra bir SageMaker Ground Truth etiketleme işi oluşturmak için manifest dosyasını kullanabilirsiniz. Bu yazının yazıldığı an itibariyle, etiketleme işini not defterinden oluştururken harici bir iş gücü sağlayamayacağınızı unutmayın. Ancak oluşturulan işi klonlayabilir ve onu SageMaker Ground Truth konsolunda harici bir iş gücüne atayabilirsiniz.
  • kavrama_parametreleri (isteğe bağlı) – Bir Amazon Comprehend özel varlık tanıyıcı modelini doğrudan eğitmeye yönelik parametreler. Atlanırsa bu adım atlanacaktır.

Durum makinesini başlatmak için aşağıdaki Python kodunu çalıştırın:

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

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

Bu, durum makinesinin çalışmasını başlatacaktır. Durum makinesinin ilerlemesini Step Functions konsolundan izleyebilirsiniz. Aşağıdaki şemada durum makinesi iş akışı gösterilmektedir.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Durum makinesi tamamlandığında aşağıdakileri yapın:

  • Kayıtlı aşağıdaki çıktıları inceleyin prelabeling/ klasörü comprehend-semi-structured-docs S3 paketi:
    • Belgelerin her sayfası için ayrı ek açıklama dosyaları (belge başına her sayfada bir tane) temp_individual_manifests/
    • SageMaker Ground Truth etiketleme işi için bir bildirim consolidated_manifest/consolidated_manifest.manifest
    • Özel bir Amazon Comprehend modelini eğitmek için kullanılabilecek bir bildirim consolidated_manifest/consolidated_manifest_comprehend.manifest
  • SageMaker konsolunda, ek açıklamaları incelemek için oluşturulan SageMaker Ground Truth etiketleme işini açın
  • Eğitilen özel Amazon Comprehend modelini inceleyin ve test edin

Daha önce de belirtildiği gibi, araç yalnızca özel iş gücü için SageMaker Ground Truth etiketleme işleri oluşturabilir. İnsan etiketleme işini dış kaynak olarak kullanmak için etiketleme işini SageMaker Ground Truth konsolunda kopyalayabilir ve istediğiniz iş gücünü yeni işe atayabilirsiniz.

Temizlemek

Ek ücret alınmasını önlemek için, oluşturduğunuz kaynakları ve dağıttığınız yığını aşağıdaki komutla silin:

make delete

Sonuç

Ön etiketleme aracı, şirketlerin Amazon Comprehend'de özel varlık tanıma modellerini eğitme sürecini hızlandırmak amacıyla mevcut tablo verilerini kullanması için güçlü bir yol sağlar. PDF belgelerine otomatik olarak önceden açıklama ekleyerek etiketleme sürecinde gereken manuel çabayı önemli ölçüde azaltır.

Aracın iki sürümü vardır: bulanık eşleştirme ve ilk ek açıklamaların nasıl oluşturulacağı konusunda esneklik sağlayan Amazon Comprehend tabanlı. Belgeler önceden etiketlendikten sonra bunları SageMaker Ground Truth etiketleme işinde hızlı bir şekilde inceleyebilir, hatta incelemeyi atlayıp doğrudan bir Amazon Comprehend özel modelini eğitebilirsiniz.

Ön etiketleme aracı, geçmiş varlık verilerinizin değerini hızlı bir şekilde ortaya çıkarmanıza ve bunu, kendi alan adınıza göre uyarlanmış özel modeller oluşturmak için kullanmanıza olanak tanır. Sürecin genellikle en emek yoğun kısmını hızlandırarak Amazon Comprehend ile özel varlık tanımayı her zamankinden daha erişilebilir hale getirir.

SageMaker Ground Truth etiketleme işi kullanılarak PDF belgelerinin nasıl etiketleneceği hakkında daha fazla bilgi için bkz. Amazon Comprehend kullanarak belgelerdeki adlandırılmış varlıkları ayıklamak için özel belge ek açıklaması ve Verileri Etiketlemek için Amazon SageMaker Temel Gerçeği Kullanın.


yazarlar hakkında

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Oskar Schnaack Üretken Yapay Zeka İnovasyon Merkezi'nde Uygulamalı Bilim Adamıdır. Müşteriler için erişilebilir kılmak amacıyla makine öğreniminin arkasındaki bilime dalma konusunda tutkulu. Oskar, iş dışında bisiklet sürmeyi ve bilgi teorisindeki trendleri takip etmeyi seviyor.

Amazon Comprehend için PDF ön etiketlemesini otomatikleştirin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Romain Besombes Üretken Yapay Zeka İnovasyon Merkezi'nde Derin Öğrenme Mimarıdır. Müşterilerin iş sorunlarını makine öğrenimi ile çözmek için yenilikçi mimariler oluşturma konusunda tutkulu.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi