Amazon Textract ve Amazon Polly PlatoBlockchain Data Intelligence'ı kullanarak görme engelli kişilerin belgeleri duymasını sağlayın. Dikey Arama. Ai.

Amazon Textract ve Amazon Polly kullanarak görme engellilerin belgeleri duymasını sağlayın

Las Vegas'taki 2021 AWS re:Invent konferansında demosunu yaptık Benim İçin Oku görme engellilerin belgeleri duymasına yardımcı olan bir web sitesi olan AWS Builders Fair'de.

Daha iyi kalite için videoyu izleyin okuyun.

Uyarlanabilir teknoloji ve erişilebilirlik özellikleri, eğer mevcutsa, genellikle pahalıdır. Sesli kitaplar görme engellilerin okumasına yardımcı olur. Sesli açıklama, filmleri erişilebilir hale getirir. Ancak içerik halihazırda dijitalleştirilmediğinde ne yaparsınız?

Bu gönderi, AWS AI hizmetlerine odaklanıyor Amazon Metin Yazısı ve Amazon Polly, bu da görme engellileri güçlendiriyor. Read For Me, görme engelli Jack Marchetti tarafından ortaklaşa geliştirildi.

Çözüme genel bakış

Olay odaklı, sunucusuz bir mimari ve birden çok AI hizmetinin bir kombinasyonu aracılığıyla, bir belgenin resminden veya metin içeren herhangi bir görüntüden birden çok dilde doğal sese sahip ses dosyaları oluşturabiliriz. Örneğin, IRS'den bir mektup, aileden bir tatil kartı, hatta bir filmin açılış başlıkları.

Aşağıdaki Referans Mimarisi, yayınlanan AWS Mimari Merkezi telefonuyla fotoğraf çeken ve bu belgede bulunan içeriğin MP3'ünü oynatan bir kullanıcının iş akışını gösterir.

Amazon Textract ve Amazon Polly PlatoBlockchain Data Intelligence'ı kullanarak görme engelli kişilerin belgeleri duymasını sağlayın. Dikey Arama. Ai.

İş akışı aşağıdaki adımları içerir:

  1. Statik içerik (HTML, CSS, JavaScript) şurada barındırılıyor: AWS Yükseltme.
  2. Anonim kullanıcılara, hizmetleri bir Amazon Cognito'su kimlik havuzu.
  3. Görüntü dosyaları şurada saklanır: Amazon Basit Depolama Hizmeti (Amazon S3).
  4. Bir kullanıcı, aracılığıyla bir POST isteğinde bulunur. Amazon API Ağ Geçidi bir eksprese vekillik eden ses hizmetine AWS Basamak İşlevleri iş akışı.
  5. Step Functions iş akışı aşağıdaki adımları içerir:
    1. Amazon Metin Yazısı görüntüden metin çıkarır.
    2. Amazon Kavramak metnin dilini algılar.
    3. Hedef dil, algılanan dilden farklıysa, Amazon Tercüme hedef dile çevirir.
    4. Amazon Polly metni kullanarak çıktı olarak bir ses dosyası oluşturur.
  6. AWS Step Functions iş akışı, çıktı olarak bir ses dosyası oluşturur ve onu MP3 formatında Amazon S3'te saklar.
  7. Amazon S3'te depolanan ses dosyasının konumunu içeren önceden imzalanmış bir URL, API Gateway aracılığıyla kullanıcının tarayıcısına geri gönderilir. Kullanıcının mobil cihazı, önceden imzalanmış URL'yi kullanarak ses dosyasını oynatır.

Aşağıdaki bölümlerde, bu çözüm için belirli hizmetleri, mimari deseni ve hizmet özelliklerini seçmemizin nedenlerini tartışacağız.

AWS AI hizmetleri

Read For Me'yi çalıştırmak için birkaç AI hizmeti birbirine bağlanır:

  • Amazon Textract, yüklenen resimdeki metni tanımlar.
  • Amazon Anlamak dili belirler.
  • Kullanıcı resimdeki dilden farklı bir konuşma dili seçerse Amazon Translate kullanarak tercüme ederiz.
  • Amazon Polly, MP3 dosyasını oluşturur. Daha doğal, gerçeğe yakın bir ses kaydı oluşturan Amazon Polly sinir motorundan yararlanıyoruz.

Bu yapay zeka hizmetlerini kullanmanın temel faydalarından biri, çok az veya hiç çekirdek makine öğrenimi deneyimi gerektirmeden benimseme kolaylığıdır. Hizmetler, müşterilerin Python ve Java gibi birden çok programlama dilinde sunulan SDK'ları kullanarak çağırabilecekleri API'leri ortaya çıkarır.

Read For Me ile temelleri yazdık AWS Lambda Python'da işlevler.

Python için AWS SDK (Boto3)

The Python için AWS SDK (Boto3) AWS hizmetleriyle etkileşimi kolaylaştırır. Örneğin, aşağıdaki Python kodu satırları, sağladığınız görüntü veya belgede bulunan metni döndürür:

import boto3
client = boto3.client('textract')
response = client.detect_document_text(
Document={ 'S3Object': { 'Bucket': 'bucket-name', 'Name': 's3-key'
}
})
#do something with the response

Tüm Python kodu, bireysel Lambda işlevleri içinde çalıştırılır. Tedarik edilecek sunucular ve bakımı yapılacak altyapı yoktur.

Mimari desenler

Bu bölümde, çözümde kullanılan farklı mimari kalıpları tartışacağız.

Serverless

İki ana nedenden dolayı sunucusuz bir mimari uyguladık: oluşturma hızı ve maliyet. Bakımı yapılacak herhangi bir temel donanım veya dağıtılacak altyapı olmadığından, tamamen iş mantığı koduna odaklandık, başka bir şeye değil. Bu, çalışan bir prototipi birkaç gün içinde çalışır duruma getirmemizi sağladı. Kullanıcılar aktif olarak resim yüklemiyor ve kayıtları dinlemiyorsa, hiçbir şey çalışmıyor ve bu nedenle depolama dışında hiçbir şey maliyete neden olmaz. S3 yaşam döngüsü yönetimi kuralı, yüklenen görüntüleri ve MP3 dosyalarını 1 gün sonra siler, bu nedenle depolama maliyetleri düşüktür.

senkron iş akışı

Sunucusuz iş akışları oluştururken, mimariden ve kullanıcı deneyiminden uyumlu bir çağrının zaman uyumsuz bir süreçten daha anlamlı olduğunu anlamak önemlidir. Read For Me ile başlangıçta asenkron yola girdik ve ön uçla çift yönlü iletişim kurmak için WebSockets kullanmayı planladık. İş akışımız, Step Functions iş akışıyla ilişkili bağlantı kimliğini bulmak için bir adım içerir ve tamamlandıktan sonra ön ucu uyarır. Bu işlem hakkında daha fazla bilgi için bkz. Anketten Push'a: Amazon API Gateway REST API'lerini ve WebSockets'i kullanarak API'leri dönüştürün.

Sonunda bunu yapmamayı seçtik ve senkronize olan ekspres adım fonksiyonlarını kullandık. Kullanıcılar, bir görüntünün işlenmesinin anında olmayacağını anlar, ancak bunun 30 saniye veya bir dakika sürmeyeceğini de bilir. Son kullanıcı için birkaç saniyenin tatmin edici olduğu ve WebSockets avantajına ihtiyaç duymadığı bir alandaydık. Bu, genel olarak iş akışını basitleştirdi.

Hızlı Adım İşlevleri iş akışı

Kodunuzu daha küçük, yalıtılmış işlevlere ayırma yeteneği, ayrıntılı kontrol, daha kolay bakım ve daha doğru ölçeklendirme olanağı sağlar. Örneğin, Amazon Polly'yi ses dosyasını oluşturması için tetikleyen Lambda işlevinin dili belirleyen işlevden daha yavaş çalıştığını belirlersek, bu işlevi dikey olarak ölçeklendirebilir ve diğerleri için bunu yapmak zorunda kalmadan daha fazla bellek ekleyebiliriz. Benzer şekilde, kapsamını ve erişimini sınırladığınızda Lambda işlevinizin yapabileceklerinin veya erişebileceklerinin patlama yarıçapını da sınırlarsınız.

Step Functions ile iş akışınızı düzenlemenin faydalarından biri, herhangi bir kod yazmak zorunda kalmadan karar akışı mantığını tanıtabilme yeteneğidir.

Step Functions iş akışımız karmaşık değildir. Çeviri aşamasına kadar lineerdir. Bir çeviri Lambda işlevi çağırmamız gerekmiyorsa, bu bizim için daha az maliyetli ve kullanıcı için daha hızlı bir deneyim. Giriş yükündeki belirli anahtarı bulmak için Step Functions konsolundaki görsel tasarımcıyı kullanabilir ve varsa JSONPath kullanarak bir işlevi diğerinin üzerine çağırabiliriz. Örneğin, yükümüz translate adlı bir anahtar içerir:

{ 
extracted_text: "hello world",
target_language: "es",
source_language: "en",
translate: true
}

Step Functions görsel tasarımcısında, çeviri anahtarını buluyor ve eşleşmesi için kurallar oluşturuyoruz.

Amazon Textract ve Amazon Polly PlatoBlockchain Data Intelligence'ı kullanarak görme engelli kişilerin belgeleri duymasını sağlayın. Dikey Arama. Ai.

başsız mimari

Amplify, ön uç kodunu barındırır. Ön uç React'te yazılmıştır ve kaynak kodu kontrol edilmiştir. AWS CodeCommit. Amplify, statik web sitelerini dağıtmaya ve yönetmeye çalışan kullanıcılar için birkaç sorunu çözer. Bunu manuel olarak yapıyorsanız (statik web sitesi barındırma için ayarlanmış bir S3 kovası kullanarak ve Amazon CloudFront), her dağıtım yaptığınızda önbelleğin süresini kendiniz doldurmanız gerekir. Ayrıca kendi CI/CD işlem hattınızı da yazmanız gerekir. Amplify bunu sizin için halleder.

Bu, ön uç kodunun arka uçtan ayrıldığı ve her katmanın diğerinden bağımsız olarak yönetilip ölçeklenebildiği başsız bir mimariye izin verir.

Kimliği analiz et

Önceki bölümde, yüklenen resmi işlemek ve ondan bir MP3 dosyası oluşturmak için mimari kalıpları tartıştık. Bir belgenin size geri okunması harika bir ilk adımdır, ancak ya her şeyi size geri okumadan belirli bir şeyi bilmek istiyorsanız? Örneğin, çevrimiçi bir form doldurmanız ve eyalet kimliğinizi veya pasaport numaranızı veya belki de son kullanma tarihini sağlamanız gerekir. Daha sonra kimliğinizin fotoğrafını çekmeniz ve size okumasını sağlarken o bölümü beklemeniz gerekir. Alternatif olarak, Analiz Kimliğini kullanabilirsiniz.

Analiz Kimliği, Amazon Textract'ın belgeleri sorgulamanıza olanak tanıyan bir özelliğidir. Benim İçin Oku, özellikle son kullanma tarihini, yayın tarihini veya belge numarasını isteyebileceğiniz bir açılır menü içerir. Özel sorunuza yanıt sağlayan bir MP3 dosyası oluşturmak için aynı iş akışını kullanabilirsiniz.

Analiz Kimliği özelliğinin demosunu şuradan yapabilirsiniz: readforme.io/analiz.

Ek Polly Özellikleri

  • Read For Me, farklı diller ve lehçeler kullanan birden fazla sinirsel ses sunar. Birkaç tane daha olduğunu unutmayın sesler uygulamadığımız arasından seçim yapabilirsiniz. Yeni bir ses mevcut olduğunda, bundan yararlanmak için ön uç kodunda bir güncelleme ve bir lambda işlevi yeterlidir.
  • Polly hizmeti ayrıca Read For Me'ye henüz dahil etmediğimiz başka seçenekler de sunar. Bunlar şunları içerir: seslerin hızı ve Konuşma işaretleri.

Sonuç

Bu yazıda, görme engellilere yardımcı olmak için yapay zeka ve sunucusuz dahil olmak üzere çok sayıda AWS hizmetinin nasıl kullanılacağını tartıştık. Benim İçin Oku projesi hakkında daha fazla bilgi edinebilir ve adresini ziyaret ederek kullanabilirsiniz. readforme.io. Amazon Textract örneklerini şu adreste de bulabilirsiniz: GitHub repo. Analiz Kimliği hakkında daha fazla bilgi edinmek için bkz. Amazon Textract kullanarak kimlik belgelerinden veri çıkarmak için destek duyurusu.

Bu projenin kaynak kodu açık kaynaklı olacak ve yakında AWS'nin genel GitHub'ına eklenecek.


Yazarlar Hakkında

Amazon Textract ve Amazon Polly PlatoBlockchain Data Intelligence'ı kullanarak görme engelli kişilerin belgeleri duymasını sağlayın. Dikey Arama. Ai.Jack Marchetti AWS'de Kıdemli Çözümler mimarıdır. Yazılım mühendisliğinde bir geçmişe sahip olan Jack, öncelikle müşterilerin sunucusuz, olaya dayalı mimarileri uygulamalarına yardımcı olmaya odaklanmıştır. İlk dağıtılmış, bulut tabanlı uygulamasını 2013'te ikinci AWS re:Invent konferansına katıldıktan sonra oluşturdu ve o zamandan beri bağımlısı oldu. AWS'den önce Jack, kariyerinin büyük bölümünü dünyanın en büyük markalarından bazıları için reklam ajansı alanı oluşturma deneyimlerinde geçirdi. Jack yasal olarak kördür ve eşi Erin ve kedisi Minou ile Chicago'da yaşamaktadır. Ayrıca, Noel filmleri ve korku üzerine odaklanan bir senarist ve yönetmendir. Jack'in filmografisini evinde izleyin IMDb gidin.

Amazon Textract ve Amazon Polly PlatoBlockchain Data Intelligence'ı kullanarak görme engelli kişilerin belgeleri duymasını sağlayın. Dikey Arama. Ai.Alak Eswaradas Chicago, Illinois merkezli AWS'de Çözüm Mimarıdır. Müşterilerin iş zorluklarını çözmek için AWS hizmetlerini kullanan bulut mimarileri tasarlamalarına yardımcı olma konusunda tutkulu. Bilgisayar bilimi mühendisliği alanında yüksek lisans derecesine sahiptir. AWS'ye katılmadan önce farklı sağlık kuruluşlarında çalıştı ve karmaşık sistemler, teknoloji inovasyonu ve araştırma tasarlama konusunda derin deneyime sahip. Kızlarıyla takılıyor ve boş zamanlarında dışarıyı keşfediyor.

Amazon Textract ve Amazon Polly PlatoBlockchain Data Intelligence'ı kullanarak görme engelli kişilerin belgeleri duymasını sağlayın. Dikey Arama. Ai.Swagat Kulkarni AWS'de Kıdemli Çözüm Mimarı ve AI/ML meraklısıdır. Bulut yerel hizmetleri ve makine öğrenimi ile müşteriler için gerçek dünyadaki sorunları çözme konusunda tutkulu. Swagat, iş dışında seyahat etmeyi, okumayı ve meditasyon yapmayı sever.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi