เปิดใช้งานผู้พิการทางสายตาเพื่อฟังเอกสารโดยใช้ Amazon Texttract และ Amazon Polly PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เปิดใช้งานผู้พิการทางสายตาเพื่อฟังเอกสารโดยใช้ Amazon Texttract และ Amazon Polly

ที่งานประชุม AWS re:Invent ปี 2021 ที่ลาสเวกัส เราได้สาธิตการใช้งาน อ่านสำหรับฉัน ที่งาน AWS Builders—เว็บไซต์ที่ช่วยให้ผู้พิการทางสายตาได้ยินเอกสาร

เพื่อคุณภาพที่ดีขึ้น ดูวิดีโอ โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม.

เทคโนโลยีที่ปรับเปลี่ยนได้และคุณสมบัติการช่วยสำหรับการเข้าถึงมักจะมีราคาแพง หากมีให้ใช้งานเลย หนังสือเสียงช่วยผู้พิการทางสายตาในการอ่าน คำอธิบายเสียงทำให้ภาพยนตร์สามารถเข้าถึงได้ แต่คุณจะทำอย่างไรเมื่อเนื้อหายังไม่ถูกแปลงเป็นดิจิทัล

โพสต์นี้เน้นที่บริการ AWS AI Amazon Text และ Amazon Pollyซึ่งช่วยให้ผู้ที่มีความบกพร่องทางการมองเห็น Read For Me ได้รับการพัฒนาร่วมกันโดย Jack Marchetti ผู้พิการทางสายตา

ภาพรวมโซลูชัน

เราสามารถสร้างไฟล์เสียงที่เป็นธรรมชาติในหลายภาษาจากรูปภาพของเอกสารหรือรูปภาพใดๆ ที่มีข้อความผ่านสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ที่ขับเคลื่อนด้วยเหตุการณ์และการรวมกันของบริการ AI ที่หลากหลาย ตัวอย่างเช่น จดหมายจากกรมสรรพากร การ์ดวันหยุดจากครอบครัว หรือแม้แต่ชื่อเรื่องเริ่มต้นของภาพยนตร์

ดังต่อไปนี้ สถาปัตยกรรมอ้างอิง, ตีพิมพ์ใน ศูนย์สถาปัตยกรรม AWS แสดงขั้นตอนการทำงานของผู้ใช้ที่ถ่ายภาพด้วยโทรศัพท์และเล่นไฟล์ MP3 ของเนื้อหาที่พบในเอกสารนั้น

เปิดใช้งานผู้พิการทางสายตาเพื่อฟังเอกสารโดยใช้ Amazon Texttract และ Amazon Polly PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เวิร์กโฟลว์ประกอบด้วยขั้นตอนต่อไปนี้:

  1. เนื้อหาคงที่ (HTML, CSS, JavaScript) โฮสต์บน AWS ขยาย.
  2. อนุญาตให้ผู้ใช้ที่ไม่ระบุชื่อเข้าถึงบริการแบ็กเอนด์ผ่าน an . ชั่วคราว Amazon Cognito Co สระประจำตัว
  3. ไฟล์รูปภาพถูกเก็บไว้ใน บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (อเมซอน เอส3).
  4. ผู้ใช้ส่งคำขอ POST ผ่าน Amazon API Gateway Amazon กับบริการเสียงซึ่งมอบฉันทะให้ด่วน ฟังก์ชันขั้นตอนของ AWS เวิร์กโฟลว์
  5. เวิร์กโฟลว์ Step Functions ประกอบด้วยขั้นตอนต่อไปนี้:
    1. Amazon Text ดึงข้อความออกจากภาพ
    2. เข้าใจ Amazon ตรวจจับภาษาของข้อความ
    3. หากภาษาเป้าหมายแตกต่างจากภาษาที่ตรวจพบ อเมซอนแปลภาษา แปลเป็นภาษาเป้าหมาย
    4. Amazon Polly สร้างไฟล์เสียงเป็นเอาต์พุตโดยใช้ข้อความ
  6. เวิร์กโฟลว์ AWS Step Functions สร้างไฟล์เสียงเป็นเอาต์พุตและจัดเก็บไว้ใน Amazon S3 ในรูปแบบ MP3
  7. URL ที่ลงนามล่วงหน้าพร้อมตำแหน่งของไฟล์เสียงที่จัดเก็บไว้ใน Amazon S3 จะถูกส่งกลับไปยังเบราว์เซอร์ของผู้ใช้ผ่าน API Gateway อุปกรณ์มือถือของผู้ใช้เล่นไฟล์เสียงโดยใช้ URL ที่ลงชื่อล่วงหน้า

ในส่วนต่อไปนี้ เราจะพูดถึงสาเหตุที่เราเลือกบริการเฉพาะ รูปแบบสถาปัตยกรรม และคุณลักษณะบริการสำหรับโซลูชันนี้

บริการ AWS AI

บริการ AI หลายอย่างเชื่อมต่อเข้าด้วยกันเพื่อขับเคลื่อน Read For Me:

  • Amazon Texttract ระบุข้อความในรูปภาพที่อัปโหลด
  • Amazon Comprehend กำหนดภาษา
  • หากผู้ใช้เลือกภาษาพูดที่แตกต่างจากภาษาในภาพ เราจะแปลโดยใช้ Amazon Translate
  • Amazon Polly สร้างไฟล์ MP3 เราใช้ประโยชน์จากกลไกประสาทของ Amazon Polly ซึ่งสร้างการบันทึกเสียงที่เป็นธรรมชาติและสมจริงยิ่งขึ้น

ประโยชน์หลักประการหนึ่งของการใช้บริการ AI เหล่านี้คือความง่ายในการปรับใช้โดยไม่จำเป็นต้องมีประสบการณ์การเรียนรู้ของเครื่องหลักเพียงเล็กน้อยหรือไม่มีเลย บริการดังกล่าวเปิดเผย API ที่ไคลเอ็นต์เรียกใช้ได้โดยใช้ SDK ที่มีอยู่ในภาษาการเขียนโปรแกรมหลายภาษา เช่น Python และ Java

ด้วย Read For Me เราได้เขียนข้อความอ้างอิง AWS แลมบ์ดา ฟังก์ชันในไพทอน

AWS SDK สำหรับ Python (Boto3)

พื้นที่ AWS SDK สำหรับ Python (Boto3) ทำให้การโต้ตอบกับบริการของ AWS เป็นเรื่องง่าย ตัวอย่างเช่น บรรทัดต่อไปนี้ของโค้ด Python ส่งคืนข้อความที่พบในรูปภาพหรือเอกสารที่คุณระบุ:

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

โค้ด Python ทั้งหมดทำงานภายในฟังก์ชัน Lambda แต่ละรายการ ไม่มีเซิร์ฟเวอร์ให้จัดเตรียมและไม่มีโครงสร้างพื้นฐานที่ต้องบำรุงรักษา

รูปแบบสถาปัตยกรรม

ในส่วนนี้ เราจะพูดถึงรูปแบบสถาปัตยกรรมต่างๆ ที่ใช้ในโซลูชัน

serverless

เราใช้สถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ด้วยเหตุผลหลักสองประการ: ความเร็วในการสร้างและต้นทุน เมื่อไม่มีฮาร์ดแวร์พื้นฐานที่ต้องบำรุงรักษาหรือโครงสร้างพื้นฐานในการปรับใช้ เราจึงมุ่งเน้นที่รหัสตรรกะทางธุรกิจทั้งหมดและไม่มีอะไรอื่น สิ่งนี้ทำให้เราสามารถสร้างต้นแบบที่ใช้งานได้และใช้งานได้ในเวลาไม่กี่วัน หากผู้ใช้ไม่ได้อัปโหลดรูปภาพและฟังเสียงที่บันทึกไว้ จะไม่มีสิ่งใดทำงานอยู่ ดังนั้นจึงไม่มีค่าใช้จ่ายใดๆ เกิดขึ้นนอกพื้นที่จัดเก็บข้อมูล กฎการจัดการวงจรการใช้งาน S3 จะลบภาพที่อัปโหลดและไฟล์ MP3 หลังจากผ่านไป 1 วัน ดังนั้นต้นทุนพื้นที่จัดเก็บจึงต่ำ

เวิร์กโฟลว์แบบซิงโครนัส

เมื่อคุณสร้างเวิร์กโฟลว์แบบไร้เซิร์ฟเวอร์ คุณควรทำความเข้าใจว่าเมื่อใดที่การโทรแบบซิงโครนัสจะเหมาะสมกว่าจากสถาปัตยกรรมและประสบการณ์ของผู้ใช้มากกว่ากระบวนการแบบอะซิงโครนัส ด้วย Read For Me เราเริ่มใช้เส้นทางแบบอะซิงโครนัสและวางแผนที่จะใช้ WebSockets เพื่อสื่อสารกับส่วนหน้าแบบสองทิศทาง เวิร์กโฟลว์ของเราจะรวมขั้นตอนในการค้นหารหัสการเชื่อมต่อที่เกี่ยวข้องกับเวิร์กโฟลว์ Step Functions และเมื่อเสร็จสิ้น ให้แจ้งเตือนส่วนหน้า สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการนี้ โปรดดูที่ จากแบบสำรวจความคิดเห็นเป็นพุช: แปลงโฉม API โดยใช้ Amazon API Gateway REST API และ WebSockets.

ในที่สุด เราก็เลือกที่จะไม่ทำเช่นนี้ และใช้ฟังก์ชันขั้นตอนด่วนที่ซิงโครนัส ผู้ใช้เข้าใจว่าการประมวลผลภาพจะไม่เกิดขึ้นทันที แต่ก็รู้ว่าจะใช้เวลาไม่เกิน 30 วินาทีหรือหนึ่งนาที เราอยู่ในพื้นที่ที่ผู้ใช้พึงพอใจในไม่กี่วินาทีและไม่ต้องการประโยชน์ของ WebSockets สิ่งนี้ทำให้เวิร์กโฟลว์โดยรวมง่ายขึ้น

เวิร์กโฟลว์ของฟังก์ชันขั้นตอนด่วน

ความสามารถในการแยกโค้ดของคุณออกเป็นฟังก์ชันแยกส่วนที่มีขนาดเล็กลง ช่วยให้ควบคุมได้ละเอียด บำรุงรักษาง่ายขึ้น และปรับขนาดได้แม่นยำยิ่งขึ้น ตัวอย่างเช่น หากเราพิจารณาแล้วว่าฟังก์ชัน Lambda ที่เรียกให้ Amazon Polly สร้างไฟล์เสียงทำงานช้ากว่าฟังก์ชันที่กำหนดภาษา เราสามารถปรับขนาดฟังก์ชันนั้นในแนวตั้งได้ โดยเพิ่มหน่วยความจำให้มากขึ้นโดยไม่ต้องทำเพื่อฟังก์ชันอื่น ในทำนองเดียวกัน คุณจำกัดรัศมีการระเบิดของสิ่งที่ฟังก์ชัน Lambda สามารถทำได้หรือเข้าถึงเมื่อคุณจำกัดขอบเขตและการเข้าถึง

ข้อดีอย่างหนึ่งของการจัดเวิร์กโฟลว์ของคุณด้วย Step Functions คือความสามารถในการแนะนำลอจิกโฟลว์การตัดสินใจโดยไม่ต้องเขียนโค้ดใดๆ

เวิร์กโฟลว์ Step Functions ของเราไม่ซับซ้อน เป็นเส้นตรงจนถึงขั้นตอนการแปล หากเราไม่ต้องการเรียกใช้ฟังก์ชันการแปลแลมบ์ดา เราก็มีค่าใช้จ่ายน้อยลง และประสบการณ์การใช้งานที่รวดเร็วยิ่งขึ้นสำหรับผู้ใช้ เราสามารถใช้โปรแกรมออกแบบภาพบนคอนโซล Step Functions เพื่อค้นหาคีย์เฉพาะในส่วนข้อมูลที่ป้อนเข้า และหากมีอยู่ ให้เรียกใช้ฟังก์ชันหนึ่งแทนอีกฟังก์ชันหนึ่งโดยใช้ JSONPath ตัวอย่างเช่น เพย์โหลดของเรามีคีย์ที่เรียกว่า translate:

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

ภายในตัวออกแบบภาพ Step Functions เราพบคีย์การแปลและตั้งค่ากฎเพื่อให้ตรงกัน

เปิดใช้งานผู้พิการทางสายตาเพื่อฟังเอกสารโดยใช้ Amazon Texttract และ Amazon Polly PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

สถาปัตยกรรมหัวขาด

ขยายโฮสต์รหัสส่วนหน้า ส่วนหน้าเขียนใน React และตรวจสอบซอร์สโค้ดใน AWS CodeCommit. Amplify แก้ปัญหาเล็กน้อยสำหรับผู้ใช้ที่พยายามปรับใช้และจัดการเว็บไซต์แบบคงที่ หากคุณทำสิ่งนี้ด้วยตนเอง (โดยใช้ถัง S3 ที่ตั้งค่าไว้สำหรับการโฮสต์เว็บไซต์แบบคงที่และนำหน้านั้นด้วย Amazon CloudFront) คุณจะต้องทำให้แคชหมดอายุเองทุกครั้งที่คุณทำการปรับใช้ คุณต้องเขียนไปป์ไลน์ CI/CD ของคุณเองด้วย Amplify จัดการสิ่งนี้ให้คุณ

ซึ่งช่วยให้มีสถาปัตยกรรมแบบ Headless โดยที่โค้ดส่วนหน้าแยกออกจากส่วนหลัง และแต่ละเลเยอร์สามารถจัดการและปรับขนาดได้อย่างอิสระจากอีกชั้นหนึ่ง

วิเคราะห์ ID

ในส่วนก่อนหน้านี้ เราได้พูดถึงรูปแบบสถาปัตยกรรมสำหรับการประมวลผลภาพที่อัพโหลดและสร้างไฟล์ MP3 จากมัน การอ่านเอกสารให้คุณฟังเป็นก้าวแรกที่ดี แต่ถ้าคุณเพียงต้องการทราบข้อมูลเฉพาะเจาะจงโดยที่คุณไม่ต้องอ่านข้อมูลทั้งหมดกลับคืนมาล่ะ ตัวอย่างเช่น คุณต้องกรอกแบบฟอร์มออนไลน์และระบุบัตรประจำตัวประชาชนหรือหมายเลขหนังสือเดินทางของคุณ หรืออาจเป็นวันหมดอายุ จากนั้นคุณต้องถ่ายรูปบัตรประจำตัวของคุณและรออ่านส่วนนั้นในขณะที่อ่านข้อมูลนั้น หรือคุณสามารถใช้ Analyze ID

Analyze ID เป็นคุณสมบัติของ Amazon Text ที่ช่วยให้คุณสืบค้นเอกสารได้ Read For Me มีเมนูดรอปดาวน์ที่คุณสามารถถามถึงวันหมดอายุ วันที่ออก หรือหมายเลขเอกสารได้โดยเฉพาะ คุณสามารถใช้เวิร์กโฟลว์เดียวกันเพื่อสร้างไฟล์ MP3 ที่ให้คำตอบสำหรับคำถามเฉพาะของคุณได้

คุณสามารถสาธิตคุณสมบัติวิเคราะห์ ID ได้ที่ readforme.io/วิเคราะห์.

คุณสมบัติเพิ่มเติมของพอลลี่

  • Read For Me นำเสนอเสียงประสาทที่หลากหลายโดยใช้ภาษาและภาษาถิ่นต่างกัน โปรดทราบว่ายังมีอีกหลายรายการ เสียง คุณสามารถเลือกได้ ซึ่งเราไม่ได้ดำเนินการ เมื่อมีเสียงใหม่ การอัปเดตโค้ดส่วนหน้าและฟังก์ชันแลมบ์ดาก็เพียงพอแล้วเพื่อใช้ประโยชน์จากมัน
  • บริการ Polly ยังมีตัวเลือกอื่นๆ ที่เรายังไม่ได้รวมไว้ใน Read For Me ซึ่งรวมถึงการปรับค่า ความเร็วของเสียง และ เครื่องหมายคำพูด.

สรุป

ในโพสต์นี้ เราได้พูดถึงวิธีการใช้บริการต่างๆ ของ AWS รวมถึง AI และไม่มีเซิร์ฟเวอร์ เพื่อช่วยเหลือผู้พิการทางสายตา คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับโครงการ Read For Me และใช้งานได้โดยไปที่ readforme.io. คุณยังสามารถค้นหาตัวอย่าง Amazon Text ได้ที่ repo GitHub. หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Analyze ID โปรดดูที่ ประกาศรองรับการดึงข้อมูลจากเอกสารระบุตัวตนโดยใช้ Amazon Texttract.

ซอร์สโค้ดสำหรับโปรเจ็กต์นี้จะเป็นโอเพนซอร์สและเพิ่มไปยัง GitHub สาธารณะของ AWS ในไม่ช้า


เกี่ยวกับผู้เขียน

เปิดใช้งานผู้พิการทางสายตาเพื่อฟังเอกสารโดยใช้ Amazon Texttract และ Amazon Polly PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.แจ็ค มาร์เค็ตติ เป็นสถาปนิกโซลูชันอาวุโสที่ AWS ด้วยพื้นฐานด้านวิศวกรรมซอฟต์แวร์ Jack มุ่งเน้นที่การช่วยเหลือลูกค้าในการติดตั้งสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์และขับเคลื่อนด้วยเหตุการณ์เป็นหลัก เขาสร้างแอปพลิเคชันบนระบบคลาวด์แบบเผยแพร่ครั้งแรกในปี 2013 หลังจากเข้าร่วมการประชุม AWS re:Invent ครั้งที่สองและได้รับความสนใจตั้งแต่นั้นเป็นต้นมา ก่อนหน้าที่ AWS Jack ใช้เวลาส่วนใหญ่ในอาชีพการงานของเขาในการสร้างประสบการณ์ด้านพื้นที่ของหน่วยงานโฆษณาสำหรับแบรนด์ที่ใหญ่ที่สุดในโลก แจ็คตาบอดอย่างถูกกฎหมายและอาศัยอยู่ที่ชิคาโกกับอีริน ภรรยาของเขาและแมวมิโน เขายังเป็นนักเขียนบทและผู้กำกับโดยเน้นที่ภาพยนตร์คริสต์มาสและสยองขวัญเป็นหลัก ดูผลงานของแจ็คที่ของเขา ไอเอ็ม หน้า.

เปิดใช้งานผู้พิการทางสายตาเพื่อฟังเอกสารโดยใช้ Amazon Texttract และ Amazon Polly PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.อาลัก เอสวาร์ดาส เป็นสถาปนิกโซลูชันที่ AWS ในเมืองชิคาโก รัฐอิลลินอยส์ เธอหลงใหลในการช่วยลูกค้าออกแบบสถาปัตยกรรมระบบคลาวด์โดยใช้บริการของ AWS เพื่อแก้ปัญหาทางธุรกิจ เธอสำเร็จการศึกษาระดับปริญญาโทด้านวิศวกรรมวิทยาการคอมพิวเตอร์ ก่อนร่วมงานกับ AWS เธอเคยทำงานในองค์กรด้านการดูแลสุขภาพหลายแห่ง และเธอมีประสบการณ์เชิงลึกในการออกแบบระบบที่ซับซ้อน นวัตกรรมเทคโนโลยี และการวิจัย เธอออกไปเที่ยวกับลูกสาวและออกสำรวจกลางแจ้งในเวลาว่าง

เปิดใช้งานผู้พิการทางสายตาเพื่อฟังเอกสารโดยใช้ Amazon Texttract และ Amazon Polly PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.สวากัต กุลกรนี เป็นสถาปนิกโซลูชันอาวุโสที่ AWS และผู้ที่ชื่นชอบ AI/ML เขาหลงใหลในการแก้ปัญหาในโลกแห่งความเป็นจริงให้กับลูกค้าด้วยบริการคลาวด์เนทีฟและแมชชีนเลิร์นนิง นอกที่ทำงาน Swagat สนุกกับการท่องเที่ยว อ่านหนังสือ และนั่งสมาธิ

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS