با استفاده از Amazon Texttract و Amazon Polly PlatoBlockchain Data Intelligence برای افراد کم بینا فعال کنید تا اسناد را بشنوند. جستجوی عمودی Ai.

با استفاده از Amazon Textract و Amazon Polly، افراد کم بینا را قادر به شنیدن اسناد کنید

در کنفرانس AWS re:Invent 2021 در لاس وگاس، نسخه ی نمایشی را ارائه کردیم برای من بخوانید در نمایشگاه سازندگان AWS - وب سایتی که به افراد کم بینا کمک می کند اسناد را بشنوند.

برای کیفیت بهتر، ویدیو را مشاهده کنید اینجا کلیک نمایید.

فناوری تطبیقی ​​و ویژگی‌های دسترسی اغلب گران هستند، اگر اصلاً در دسترس باشند. کتاب های صوتی به افراد کم بینا کمک می کند تا بخوانند. توضیحات صوتی فیلم ها را در دسترس قرار می دهد. اما وقتی محتوا از قبل دیجیتالی نشده است چه کار می کنید؟

این پست بر روی خدمات AWS AI تمرکز دارد متن آمازون و آمازون پولیکه به افراد دارای اختلال بینایی توانمند می شود. Read For Me توسط جک مارکتی، که دارای اختلال بینایی است، ساخته شده است.

بررسی اجمالی راه حل

از طریق یک معماری بدون سرور مبتنی بر رویداد و ترکیبی از چندین سرویس هوش مصنوعی، می‌توانیم فایل‌های صوتی با صدای طبیعی را به چندین زبان از تصویر یک سند یا هر تصویری با متن ایجاد کنیم. به عنوان مثال، نامه ای از IRS، کارت تعطیلات خانواده، یا حتی عنوان آغازین یک فیلم.

در زیر معماری مرجع، منتشر شده در مرکز معماری AWS گردش کار کاربر را نشان می دهد که با تلفن خود عکس می گیرد و یک MP3 از محتوای موجود در آن سند را پخش می کند.

با استفاده از Amazon Texttract و Amazon Polly PlatoBlockchain Data Intelligence برای افراد کم بینا فعال کنید تا اسناد را بشنوند. جستجوی عمودی Ai.

گردش کار شامل مراحل زیر است:

  1. محتوای استاتیک (HTML، CSS، جاوا اسکریپت) روی میزبانی می شود AWS تقویت کنید.
  2. دسترسی موقت به کاربران ناشناس به خدمات پشتیبان از طریق یک اعطا می شود Cognito آمازون استخر هویت
  3. فایل های تصویری در سرویس ذخیره سازی ساده آمازون (Amazon S3).
  4. یک کاربر از طریق درخواست POST را ارسال می کند دروازه API آمازون به سرویس صوتی، که به یک اکسپرس پراکسی می شود توابع مرحله AWS گردش کار.
  5. گردش کار توابع Step شامل مراحل زیر است:
    1. متن آمازون متن را از تصویر استخراج می کند.
    2. درک آمازون زبان متن را تشخیص می دهد.
    3. اگر زبان مقصد با زبان شناسایی شده متفاوت است، ترجمه آمازون به زبان مقصد ترجمه می کند.
    4. آمازون پولی با استفاده از متن یک فایل صوتی به عنوان خروجی ایجاد می کند.
  6. گردش کار AWS Step Functions یک فایل صوتی را به عنوان خروجی ایجاد می کند و آن را در آمازون S3 در فرمت MP3 ذخیره می کند.
  7. یک URL از پیش امضا شده با محل فایل صوتی ذخیره شده در Amazon S3 از طریق API Gateway به مرورگر کاربر ارسال می شود. دستگاه تلفن همراه کاربر فایل صوتی را با استفاده از URL از پیش امضا شده پخش می کند.

در بخش‌های بعدی، دلایل انتخاب خدمات خاص، الگوی معماری و ویژگی‌های سرویس را برای این راه‌حل مورد بحث قرار می‌دهیم.

خدمات هوش مصنوعی AWS

چندین سرویس هوش مصنوعی به هم متصل شده اند تا Read For Me را تامین کنند:

  • متن آمازون متن موجود در تصویر آپلود شده را شناسایی می کند.
  • آمازون درک زبان را تعیین می کند.
  • اگر کاربر زبان گفتاری متفاوتی را نسبت به زبان موجود در تصویر انتخاب کند، آن را با استفاده از مترجم آمازون ترجمه می کنیم.
  • آمازون پولی فایل MP3 را ایجاد می کند. ما از موتور عصبی آمازون پولی استفاده می کنیم که صدای ضبط شده طبیعی تر و واقعی تر را ایجاد می کند.

یکی از مزایای اصلی استفاده از این سرویس‌های هوش مصنوعی، سهولت پذیرش با تجربه کم یا بدون نیاز به یادگیری ماشین اصلی است. این سرویس ها API هایی را که مشتریان می توانند با استفاده از SDK های موجود در چندین زبان برنامه نویسی، مانند پایتون و جاوا، فراخوانی کنند، نشان می دهد.

با Read For Me، ما زیربنا را نوشتیم AWS لامبدا توابع در پایتون

AWS SDK برای پایتون (Boto3)

La AWS SDK برای پایتون (Boto3) تعامل با خدمات AWS را ساده می کند. به عنوان مثال، خطوط زیر از کد پایتون، متن موجود در تصویر یا سندی را که ارائه می‌دهید برمی‌گرداند:

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

تمام کدهای پایتون در توابع لامبدا جداگانه اجرا می شوند. هیچ سروری برای ارائه و هیچ زیرساختی برای نگهداری وجود ندارد.

الگوهای معماری

در این بخش، الگوهای مختلف معماری مورد استفاده در راه حل را مورد بحث قرار می دهیم.

بدون سرور

ما معماری بدون سرور را به دو دلیل اصلی اجرا کردیم: سرعت ساخت و هزینه. بدون سخت‌افزار اساسی برای نگهداری یا زیرساختی برای استقرار، ما کاملاً روی کد منطق تجاری تمرکز کردیم و هیچ چیز دیگری. این به ما اجازه داد تا یک نمونه اولیه کارآمد را در عرض چند روز راه اندازی کنیم. اگر کاربران به‌طور فعال تصاویر را آپلود نمی‌کنند و به موارد ضبط‌شده گوش نمی‌دهند، هیچ چیز اجرا نمی‌شود، و بنابراین هیچ چیز هزینه‌های خارج از فضای ذخیره‌سازی را متحمل نمی‌شود. یک قانون مدیریت چرخه حیات S3 تصاویر آپلود شده و فایل های MP3 را پس از 1 روز حذف می کند، بنابراین هزینه های ذخیره سازی پایین است.

گردش کار همزمان

هنگامی که در حال ساخت گردش‌های کاری بدون سرور هستید، مهم است که بفهمید چه زمانی تماس همزمان از معماری و تجربه کاربر بیشتر از یک فرآیند ناهمزمان منطقی است. با Read For Me، ما در ابتدا مسیر ناهمزمان را طی کردیم و برنامه‌ریزی کردیم که از WebSockets برای برقراری ارتباط دو طرفه با قسمت جلویی استفاده کنیم. گردش کار ما شامل مرحله ای برای یافتن شناسه اتصال مرتبط با گردش کار توابع مرحله است و پس از تکمیل، به قسمت جلویی هشدار می دهد. برای اطلاعات بیشتر در مورد این فرآیند به ادامه مطلب مراجعه کنید از نظرسنجی تا فشار: تبدیل APIها با استفاده از APIهای API Gateway REST و WebSockets آمازون.

ما در نهایت تصمیم گرفتیم این کار را انجام ندهیم و از توابع گام سریع که همزمان هستند استفاده کردیم. کاربران می دانند که پردازش یک تصویر فوری نخواهد بود، اما همچنین می دانند که 30 ثانیه یا یک دقیقه طول نمی کشد. ما در فضایی بودیم که چند ثانیه برای کاربر نهایی رضایت بخش بود و نیازی به مزایای WebSockets نداشتیم. این به طور کلی گردش کار را ساده کرد.

گردش کار توابع Express Step

توانایی تقسیم کد خود به توابع کوچکتر و ایزوله امکان کنترل دقیق، تعمیر و نگهداری آسان تر و توانایی مقیاس بندی دقیق تر را فراهم می کند. به عنوان مثال، اگر تشخیص دهیم که عملکرد Lambda که آمازون پولی را برای ایجاد فایل صوتی فعال می‌کند کندتر از عملکردی است که زبان را تعیین می‌کند، می‌توانیم آن عملکرد را به صورت عمودی مقیاس‌بندی کنیم و حافظه بیشتری اضافه کنیم، بدون اینکه این کار را برای بقیه انجام دهیم. به طور مشابه، شعاع انفجاری را که عملکرد Lambda شما می‌تواند انجام دهد یا به آن دسترسی داشته باشد، محدود می‌کنید، زمانی که دامنه و دامنه آن را محدود می‌کنید.

یکی از مزایای تنظیم گردش کار با توابع Step، امکان معرفی منطق جریان تصمیم بدون نیاز به نوشتن کد است.

گردش کار توابع مرحله ما پیچیده نیست. تا مرحله ترجمه خطی است. اگر نیازی به فراخوانی تابع Lambda ترجمه نداشته باشیم، هزینه کمتری برای ما و تجربه سریع‌تری برای کاربر خواهد داشت. می‌توانیم از طراح بصری در کنسول Step Functions برای پیدا کردن کلید خاص در بار ورودی استفاده کنیم و در صورت وجود، با استفاده از JSONPath یک تابع را بر دیگری فراخوانی کنیم. به عنوان مثال، بار ما شامل کلیدی به نام ترجمه است:

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

در طراح بصری توابع Step، کلید ترجمه را پیدا می کنیم و قوانینی را برای مطابقت تنظیم می کنیم.

با استفاده از Amazon Texttract و Amazon Polly PlatoBlockchain Data Intelligence برای افراد کم بینا فعال کنید تا اسناد را بشنوند. جستجوی عمودی Ai.

معماری بی سر

Amplify کد جلویی را میزبانی می کند. قسمت جلویی در React نوشته شده و کد منبع بررسی می شود AWS CodeCommit. Amplify چند مشکل را برای کاربرانی که سعی در استقرار و مدیریت وب سایت های ثابت دارند حل می کند. اگر این کار را به صورت دستی انجام می دادید (با استفاده از یک سطل S3 که برای میزبانی وب سایت ایستا تنظیم شده است و جلوی آن را با آمازون CloudFront)، هر بار که استقرار را انجام می‌دهید، باید حافظه پنهان را خود منقضی کنید. شما همچنین باید خط لوله CI/CD خود را بنویسید. Amplify این کار را برای شما انجام می دهد.

این امکان ایجاد یک معماری بدون سر را فراهم می‌کند، که در آن کد فرانت‌اند از باطن جدا شده است و هر لایه می‌تواند مستقل از دیگری مدیریت و مقیاس‌بندی شود.

شناسه را تحلیل کنید

در بخش قبل، الگوهای معماری برای پردازش تصویر آپلود شده و ایجاد یک فایل MP3 از آن را مورد بحث قرار دادیم. خواندن یک سند برای شما اولین قدم عالی است، اما اگر بخواهید فقط یک چیز خاص بدانید بدون اینکه کل مطلب برای شما خوانده شود چه؟ به عنوان مثال، باید فرمی را به صورت آنلاین پر کنید و شناسه دولتی یا شماره پاسپورت خود یا شاید تاریخ انقضای آن را ارائه دهید. سپس باید از شناسه خود عکس بگیرید و در حالی که برای شما خوانده می شود، منتظر آن قسمت خاص باشید. از طرف دیگر، می توانید از Analyze ID استفاده کنید.

Analyze ID یکی از ویژگی های Amazon Textract است که به شما امکان می دهد اسناد را پرس و جو کنید. Read For Me حاوی یک منوی کشویی است که می توانید به طور خاص تاریخ انقضا، تاریخ صدور یا شماره سند را بخواهید. شما می توانید از همان گردش کار برای ایجاد یک فایل MP3 استفاده کنید که پاسخی به سوال خاص شما می دهد.

می‌توانید ویژگی Analyze ID را در این نشانی نمایش دهید readforme.io/analyze.

ویژگی های اضافی Polly

  • Read For Me صداهای عصبی متعددی را با استفاده از زبان ها و گویش های مختلف ارائه می دهد. توجه داشته باشید که چندین مورد دیگر وجود دارد صداها شما می توانید یکی را انتخاب کنید که ما آن را اجرا نکردیم. هنگامی که صدای جدیدی در دسترس است، به‌روزرسانی کد فرانت‌اند و عملکرد لامبدا تمام آن چیزی است که برای استفاده از آن لازم است.
  • سرویس Polly گزینه‌های دیگری را نیز ارائه می‌کند که هنوز در Read For Me گنجانده نشده‌اند. این موارد شامل تنظیم سرعت صداها و علائم گفتاری.

نتیجه

در این پست، نحوه استفاده از چندین سرویس AWS، از جمله هوش مصنوعی و بدون سرور، برای کمک به افراد کم بینا را مورد بحث قرار دادیم. با مراجعه به سایت می توانید درباره پروژه Read For Me اطلاعات بیشتری کسب کنید و از آن استفاده کنید readforme.io. همچنین می‌توانید نمونه‌های متن آمازون را در آن بیابید GitHub repo. برای کسب اطلاعات بیشتر در مورد Analyze ID، بررسی کنید اعلام پشتیبانی برای استخراج داده ها از اسناد هویتی با استفاده از Amazon Textract.

کد منبع این پروژه به زودی به صورت منبع باز و به GitHub عمومی AWS اضافه می شود.


درباره نویسنده

با استفاده از Amazon Texttract و Amazon Polly PlatoBlockchain Data Intelligence برای افراد کم بینا فعال کنید تا اسناد را بشنوند. جستجوی عمودی Ai.جک مارکتی یک معمار ارشد Solutions در AWS است. جک با سابقه‌ای در مهندسی نرم‌افزار، عمدتاً بر کمک به مشتریان در پیاده‌سازی معماری‌های رویداد محور و بدون سرور متمرکز است. او اولین اپلیکیشن توزیع شده و مبتنی بر فضای ابری خود را در سال 2013 پس از شرکت در دومین کنفرانس AWS re:Invent ساخت و از آن زمان تاکنون درگیر بوده است. قبل از AWS، جک بخش اعظمی از حرفه خود را در تجارب ساخت فضای آژانس تبلیغاتی برای برخی از بزرگترین برندهای جهان گذراند. جک از نظر قانونی نابینا است و با همسرش ارین و گربه مینو در شیکاگو زندگی می کند. او همچنین یک فیلمنامه نویس و کارگردان با تمرکز اصلی بر روی فیلم های کریسمس و ترسناک است. فیلم شناسی جک را در او ببینید فیلم احتمال برد مراجعه کنید.

با استفاده از Amazon Texttract و Amazon Polly PlatoBlockchain Data Intelligence برای افراد کم بینا فعال کنید تا اسناد را بشنوند. جستجوی عمودی Ai.الک اسواراداس یک معمار راه حل در AWS مستقر در شیکاگو، ایلینوی است. او مشتاق کمک به مشتریان در طراحی معماری های ابری با استفاده از خدمات AWS برای حل چالش های تجاری است. او دارای مدرک کارشناسی ارشد در رشته مهندسی علوم کامپیوتر است. قبل از پیوستن به AWS، او برای سازمان‌های مختلف مراقبت‌های بهداشتی کار می‌کرد و تجربه عمیقی در زمینه معماری سیستم‌های پیچیده، نوآوری‌های فناوری و تحقیقات دارد. او با دخترانش رفت و آمد می کند و در اوقات فراغت خود به گشت و گذار در فضای باز می پردازد.

با استفاده از Amazon Texttract و Amazon Polly PlatoBlockchain Data Intelligence برای افراد کم بینا فعال کنید تا اسناد را بشنوند. جستجوی عمودی Ai.سوگات کولکارنی یک معمار ارشد راه حل در AWS و از علاقه مندان به AI/ML است. او مشتاق حل مشکلات دنیای واقعی برای مشتریان با خدمات بومی ابری و یادگیری ماشین است. سواگات خارج از محل کار از سفر، مطالعه و مراقبه لذت می برد.

تمبر زمان:

بیشتر از آموزش ماشین AWS