วิธีแปลงคำพูดเป็นข้อความด้วย Python [กระบวนการทีละขั้นตอน]
เผยแพร่แล้ว: 2020-08-07สารบัญ
บทนำสู่คำพูดเป็นข้อความ
เรากำลังอยู่ในยุคที่วิธีการโต้ตอบกับเครื่องจักรมีความหลากหลายและซับซ้อน เราได้พัฒนาจากปุ่มกลไกแบบหนาๆ ไปจนถึงอินเทอร์เฟซหน้าจอสัมผัส แต่วิวัฒนาการนี้ไม่ได้จำกัดอยู่แค่ฮาร์ดแวร์เท่านั้น สถานะที่เป็นอยู่สำหรับการป้อนข้อมูลสำหรับคอมพิวเตอร์เป็นข้อความตั้งแต่เริ่มปฏิสนธิ ด้วยความก้าวหน้าใน NLP (การประมวลผลภาษาธรรมชาติ) และ ML (การเรียนรู้ของเครื่อง) Data Science เรามีเครื่องมือในการรวมคำพูดเป็นสื่อในการโต้ตอบกับแกดเจ็ตของเรา
เครื่องมือเหล่านี้อยู่รอบตัวเราแล้วและให้บริการเราโดยทั่วไปในฐานะผู้ช่วยเสมือน Google, Siri, Alexa ฯลฯ เป็นความสำเร็จครั้งสำคัญในการเพิ่มมิติที่เป็นส่วนตัวและสะดวกยิ่งขึ้นในการโต้ตอบกับโลกดิจิทัล
ไม่เหมือนกับนวัตกรรมทางเทคโนโลยีส่วนใหญ่ เทคโนโลยีเสียงพูดเป็นข้อความพร้อมให้ทุกคนได้สำรวจ ทั้งเพื่อการบริโภคและเพื่อสร้างโครงการของคุณ
Python เป็นหนึ่งในภาษาโปรแกรมที่ใช้กันมากที่สุดในโลก มีเครื่องมือสำหรับสร้างคำพูดเป็นแอปพลิเคชันข้อความ
ประวัติการพูดเป็นข้อความ
ก่อนที่เราจะสำรวจข้อความสั่งเป็นข้อความใน Python คุณควรชื่นชมความก้าวหน้าของเราในด้านนี้ ต่อไปนี้เป็นไทม์ไลน์แบบง่ายของ:
- ออเดรย์ ,1952: ระบบรู้จำเสียงพูดระบบแรกที่พัฒนาโดยนักวิจัยห้องปฏิบัติการ 3 Bells มันสามารถรับรู้ได้เฉพาะตัวเลขเท่านั้น
- IBM Showbox (1962): ระบบรู้จำเสียงพูดระบบแรกของ IBM ที่คอยล์จดจำคำได้ 16 คำนอกเหนือจากตัวเลข สามารถแก้การเขียนตามคำบอกเลขคณิตอย่างง่ายและพิมพ์ผลลัพธ์ออกมาได้
- สำนักงานโครงการวิจัยขั้นสูงด้านการป้องกันประเทศ (DARPA) (1970): DARPA ให้ทุนสนับสนุนการวิจัยเพื่อทำความเข้าใจคำพูด ซึ่งนำไปสู่การพัฒนาของ Harpy ให้รู้จักคำศัพท์ 1,011 คำ
- Hidden Markov Model (HMM) ทศวรรษ 1980: HMM เป็นแบบจำลองทางสถิติที่จำลองปัญหาซึ่งต้องการข้อมูลตามลำดับ โมเดลนี้ถูกนำไปใช้กับความก้าวหน้าเพิ่มเติมในการรู้จำคำพูด
- การค้นหาด้วยเสียงโดย Google ,2001: Google ได้แนะนำคุณลักษณะการค้นหาด้วยเสียงที่ช่วยให้ผู้ใช้สามารถค้นหาโดยใช้คำพูดได้ นี่เป็นแอปพลิเคชั่นเปิดใช้งานเสียงตัวแรกที่ได้รับความนิยมอย่างมาก
- Siri , 2011: Apple ได้แนะนำ Siri ที่สามารถโต้ตอบกับอุปกรณ์ต่างๆ ได้แบบเรียลไทม์และสะดวก
- Alexa , 2014 & google home , 2016: ผู้ช่วยเสมือนที่ใช้คำสั่งเสียงกลายเป็นกระแสหลักในขณะที่ google home และ Alexa ขายรวมกันกว่า 150 ล้านเครื่อง
อ่านเพิ่มเติม: ไลบรารี Python NLP 7 อันดับแรก

ความท้าทายในการพูดเป็นข้อความ
การพูดเป็นข้อความยังคงเป็นปัญหาที่ซับซ้อนซึ่งยังห่างไกลจากการเป็นผลิตภัณฑ์สำเร็จรูปอย่างแท้จริง ปัญหาทางเทคนิคหลายประการทำให้เครื่องมือนี้สมบูรณ์แบบที่สุด ต่อไปนี้คือความท้าทายทั่วไปของเทคโนโลยีการรู้จำคำพูด:
1. ฉัน ตีความได้แม่นยำ
การรู้จำคำพูดไม่ได้ตีความคำพูดอย่างถูกต้องเสมอไป VUIs (Voice User Interface) ไม่เชี่ยวชาญเท่ามนุษย์ในบริบทการทำความเข้าใจที่เปลี่ยนความสัมพันธ์ระหว่างคำและประโยค เครื่องจึงอาจพยายามทำความเข้าใจความหมายของประโยค
2. เวลา
บางครั้ง การประมวลผลระบบการรู้จำเสียงใช้เวลานานเกินไป อาจเป็นเพราะรูปแบบเสียงที่หลากหลายของมนุษย์ ความยากลำบากในการจดจำเสียงดังกล่าวสามารถหลีกเลี่ยงได้โดยการลดความเร็วของคำพูดหรือการออกเสียงที่แม่นยำยิ่งขึ้น ซึ่งจะลดความสะดวกของเครื่องมือไป
3. สำเนียง
VUI อาจพบว่าเป็นการยากที่จะเข้าใจภาษาถิ่นที่แตกต่างจากค่าเฉลี่ย ภายในภาษาเดียวกัน ผู้พูดสามารถมีวิธีการพูดคำเดียวกันที่แตกต่างกันอย่างมาก
4. เสียงรบกวนและความดังของพื้นหลัง
ในโลกอุดมคติ สิ่งเหล่านี้จะไม่เป็นปัญหา แต่นั่นไม่ใช่กรณี ดังนั้น VUI จึงอาจพบว่าการทำงานในสภาพแวดล้อมที่มีเสียงดัง (พื้นที่สาธารณะ สำนักงานขนาดใหญ่ ฯลฯ) เป็นเรื่องยาก
ต้องอ่าน: วิธีสร้างแชทบ็อตใน Python
พูดเป็นข้อความใน Python
หากไม่ต้องการผ่านกระบวนการที่ยากลำบากในการสร้างข้อความจากพื้นดิน ให้ใช้สิ่งต่อไปนี้เป็นแนวทาง คู่มือนี้เป็นเพียงการแนะนำเบื้องต้นในการสร้างแอปพลิเคชันคำพูดเป็นข้อความของคุณเอง ตรวจสอบให้แน่ใจว่าคุณมีไมโครโฟนที่ใช้งานได้นอกเหนือจาก Python เวอร์ชันล่าสุด
ขั้นตอนที่ 1 :
ดาวน์โหลดแพ็คเกจหลามต่อไปนี้:
- speech_recogntion (pip ติดตั้ง SpeechRecogntion): นี่คือแพ็คเกจหลักที่ใช้ขั้นตอนที่สำคัญที่สุดในการแปลงคำพูดเป็นข้อความ ทางเลือกอื่นมีทั้งข้อดีและข้อเสีย เช่น การอุทธรณ์, การประกอบ, google-cloud-search, pocketsphinx, Watson-developer-cloud, wit เป็นต้น
- เสียงของฉัน (pip ติดตั้ง Pyaudio)
- Portaudio (pip ติดตั้ง Portaudio)
ขั้นตอนที่ 2 :
สร้างโครงการ (ตั้งชื่อตามที่คุณต้องการ) และนำเข้า speech_recogntion เป็น sr.
สร้างอินสแตนซ์ของคลาสตัวจำแนกประเภทให้ได้มากที่สุด
ขั้นตอนที่ 3 :
เมื่อคุณสร้างอินสแตนซ์เหล่านี้แล้ว ตอนนี้เราต้องกำหนดแหล่งที่มาของอินพุต
ตอนนี้ มากำหนดแหล่งที่มาเป็นไมโครโฟนกันก่อน (คุณสามารถใช้ไฟล์เสียงที่มีอยู่ได้)
ขั้นตอนที่ 4 :
ตอนนี้เราจะกำหนดตัวแปรเพื่อเก็บข้อมูลอินพุต เราใช้วิธี 'ฟัง' เพื่อดึงข้อมูลจากแหล่งที่มา ดังนั้น ในกรณีของเรา เราจะใช้ไมโครโฟนเป็นแหล่งที่เรากำหนดไว้ในบรรทัดโค้ดก่อนหน้า
ขั้นตอนที่ 5 :

ตอนนี้เรามีอินพุต (ไมโครโฟนเป็นแหล่งที่มา) ที่กำหนดไว้และจัดเก็บไว้ในตัวแปร ('เสียง') เราเพียงแค่ใช้วิธีการรับรู้_google เพื่อแปลงเป็นข้อความ เราอาจเก็บผลลัพธ์ไว้ในตัวแปรหรือพิมพ์ผลลัพธ์ก็ได้ เราไม่ต้องพึ่งเพียง trust_google เท่านั้น เรามีวิธีการอื่นที่ใช้ API ต่างๆ ที่ใช้งานได้เช่นกัน ตัวอย่างของวิธีการดังกล่าว ได้แก่
รู้จัก_bing()
recongize_google_cloud()
recongize_houndify()
reconize_ibm()
recongize_Sphinx() (ทำงานแบบออฟไลน์ด้วย)
วิธีการต่อไปนี้ใช้แพ็คเกจที่มีอยู่ซึ่งช่วยลดการพัฒนาคำพูดของคุณเป็นซอฟต์แวร์จดจำข้อความตั้งแต่เริ่มต้น แพ็คเกจเหล่านี้มีเครื่องมือเพิ่มเติมที่สามารถช่วยคุณสร้างโครงการที่แก้ปัญหาเฉพาะเจาะจงมากขึ้น ตัวอย่างหนึ่งของคุณลักษณะที่มีประโยชน์คือ คุณสามารถเปลี่ยนภาษาเริ่มต้นจากภาษาอังกฤษเป็นภาษาฮินดีได้ การดำเนินการนี้จะเปลี่ยนผลลัพธ์ที่พิมพ์เป็นภาษาฮินดี (แม้ว่าในขณะนี้ คำพูดเป็นข้อความจะได้รับการพัฒนาให้เข้าใจภาษาอังกฤษมากที่สุด)
แต่เป็นความคิดที่ดีสำหรับนักพัฒนาที่จริงจังที่จะเข้าใจว่าซอฟต์แวร์ดังกล่าวทำงานอย่างไร
มาทำลายมันกันเถอะ
โดยพื้นฐานที่สุดแล้ว คำพูดเป็นเพียงคลื่นเสียง คลื่นเสียงหรือสัญญาณเสียงดังกล่าวมีคุณสมบัติเฉพาะบางประการ (ซึ่งอาจดูเหมือนคุ้นเคยกับฟิสิกส์ของอะคูสติก) เช่น แอมพลิจูด ยอดและร่อง ความยาวคลื่น รอบ และความถี่
สัญญาณเสียงดังกล่าวมีความต่อเนื่องและมีจุดข้อมูลไม่สิ้นสุด ในการแปลงสัญญาณเสียงดังกล่าวเป็นสัญญาณดิจิทัล โดยที่คอมพิวเตอร์อาจประมวลผลได้ เครือข่ายจะต้องทำการแจกแจงตัวอย่างที่ไม่ต่อเนื่องซึ่งใกล้เคียงกับความต่อเนื่องของสัญญาณเสียง
เมื่อเรามีความถี่ในการสุ่มตัวอย่างที่เหมาะสมแล้ว (8000 Hz เป็นมาตรฐานที่ดี เนื่องจากความถี่เสียงพูดส่วนใหญ่อยู่ในช่วงนี้ ) ตอนนี้เราสามารถใช้ไลบรารี Python เช่น LibROSA และ SciPy ประมวลผลสัญญาณเสียงได้ จากนั้น เราสามารถสร้างปัจจัยการผลิตเหล่านี้ได้โดยแบ่งชุดข้อมูลออกเป็น 2 ชุด ฝึกแบบจำลอง และอีกชุดหนึ่งเพื่อตรวจสอบสิ่งที่ค้นพบของแบบจำลอง
ในขั้นตอนนี้ เราอาจใช้สถาปัตยกรรมแบบจำลองของ Conv1d ซึ่งเป็นโครงข่ายประสาทเทียมแบบ Convolutional ที่ทำงานในมิติเดียว จากนั้น เราสามารถสร้างแบบจำลอง กำหนดฟังก์ชันการสูญเสีย และใช้โครงข่ายประสาทเทียมเพื่อบันทึกแบบจำลองที่ดีที่สุดจากการแปลงคำพูดเป็นข้อความ ด้วยการใช้การเรียนรู้เชิงลึกและ NLP (การประมวลผลภาษาธรรมชาติ) เราสามารถปรับแต่งข้อความสั่งเป็นข้อความสำหรับการใช้งานและการนำไปใช้ที่กว้างขวางยิ่งขึ้น
การประยุกต์ใช้การรู้จำเสียง
ดังที่เราได้เรียนรู้ไปแล้ว เครื่องมือต่างๆ ในการเรียกใช้นวัตกรรมทางเทคโนโลยีนี้สามารถเข้าถึงได้มากขึ้น เนื่องจากส่วนใหญ่เป็นนวัตกรรมซอฟต์แวร์ และไม่มีบริษัทใดเป็นเจ้าของ การช่วยสำหรับการเข้าถึงนี้ได้เปิดประตูสำหรับนักพัฒนาที่มีทรัพยากรจำกัดในการประยุกต์ใช้เทคโนโลยีนี้

บางสาขาที่การรู้จำคำพูดเติบโตขึ้นมีดังนี้:
- วิวัฒนาการในเครื่องมือค้นหา: การรู้จำคำพูดจะช่วยปรับปรุงความแม่นยำในการค้นหาโดยเติมช่องว่างระหว่างการสื่อสารด้วยวาจาและลายลักษณ์อักษร
- ผลกระทบต่ออุตสาหกรรมการดูแลสุขภาพ: การรู้จำคำพูดกลายเป็นลักษณะทั่วไปในภาคการแพทย์โดยช่วยให้การรายงานทางการแพทย์เสร็จสมบูรณ์ เมื่อ VUI เข้าใจศัพท์แสงทางการแพทย์ได้ดีขึ้น การใช้เทคโนโลยีนี้จะช่วยให้แพทย์มีเวลาเหลือน้อยลงจากงานธุรการ
- อุตสาหกรรมบริการ: ในแนวโน้มที่เพิ่มขึ้นของระบบอัตโนมัติ อาจเป็นกรณีที่ลูกค้าไม่สามารถให้มนุษย์ตอบคำถาม ดังนั้นระบบการรู้จำเสียงจึงสามารถเติมเต็มช่องว่างนี้ได้ เราจะเห็นการเติบโตอย่างรวดเร็วของฟีเจอร์นี้ในสนามบิน การขนส่งสาธารณะ ฯลฯ
- ผู้ให้บริการ: ผู้ให้บริการโทรคมนาคมอาจพึ่งพาระบบเสียงพูดเป็นข้อความมากขึ้น ซึ่งสามารถลดเวลารอได้ด้วยการช่วยสร้างความต้องการของผู้โทรและแนะนำให้พวกเขาไปรับความช่วยเหลือที่เหมาะสม
อ่านเพิ่มเติม: เทคโนโลยีการค้นหาด้วยเสียง – ข้อเท็จจริงที่น่าสนใจ
บทสรุป
คำพูดเป็นข้อความเป็นเทคโนโลยีที่ทรงพลังที่จะแพร่หลายในไม่ช้า การใช้งานที่ตรงไปตรงมาพอสมควรร่วมกับ Python (หนึ่งในภาษาโปรแกรมที่ได้รับความนิยมมากที่สุดในโลก) ทำให้การสร้างแอปพลิเคชันง่ายขึ้น ขณะที่เราก้าวหน้าในด้านนี้ เรากำลังปูทางไปสู่โลกที่การเข้าถึงโลกดิจิทัลไม่ได้อยู่แค่เพียงปลายนิ้วสัมผัส แต่ยังเป็นคำพูดด้วย
หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับการประมวลผลภาษาธรรมชาติ โปรดดูโปรแกรม Executive PG in Machine Learning และ AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง
หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดู โปรแกรม Executive PG ของ IIIT-B & upGrad ใน Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1 -on-1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
การแปลงคำพูดเป็นข้อความคืออะไร?
ในยุคแรก ๆ ของการรู้จำคำพูด นักถอดความนั่งกับหูฟังและคำพูดที่บันทึกไว้ กระบวนการนี้ใช้เวลานานและได้ใบรับรองผลการเรียนคุณภาพต่ำ ปัจจุบัน ระบบการรู้จำคำพูดใช้คอมพิวเตอร์เพื่อแปลงคำพูดเป็นข้อความ สิ่งนี้เรียกว่าการแปลงคำพูดเป็นข้อความ การรู้จำเสียงพูด (หรือที่เรียกว่าการแปลงคำพูดเป็นข้อความ) คือกระบวนการแปลงคำพูดเป็นข้อมูลที่เครื่องอ่านได้ มีวัตถุประสงค์เพื่อให้ผู้คนสามารถสื่อสารกับเครื่องด้วยเสียงและเพื่อให้เครื่องสามารถสื่อสารกับผู้คนด้วยการพูด ซอฟต์แวร์แปลงคำพูดเป็นข้อความใช้เพื่อแปลงนี้
อะไรคือความท้าทายในการแปลงคำพูดเป็นข้อความ?
มีความท้าทายมากมายในการแปลงคำพูดเป็นข้อความ ความท้าทายหลักคือ: ความแม่นยำ ซึ่งระบบต้องได้รับคำพูดที่ถูกต้องเพื่อดึงความตั้งใจของผู้ใช้ ความเร็วระบบต้องสามารถดำเนินการดังกล่าวได้เร็วพอที่จะเป็นที่ยอมรับของผู้ใช้ ความเป็นธรรมชาติ ระบบควรฟังดูเป็นธรรมชาติที่สุด ดังนั้นผู้ใช้จึงไม่รู้สึกว่าต้องพูดในลักษณะที่ผิดธรรมชาติ ความทนทาน ระบบควรจะสามารถจัดการกับเสียงพื้นหลังจำนวนมาก คำพูดอื่น ๆ และผลกระทบอื่น ๆ ที่อาจรบกวนกระบวนการแปลงได้เป็นจำนวนมาก
การประยุกต์ใช้คำพูดกับการประมวลผลข้อความคืออะไร?
เหตุผลที่คุณต้องแปลงคำพูดเป็นข้อความเพราะเป็นวิธีที่สะดวกและรวดเร็วในการสื่อสาร การประมวลผลคำพูดเป็นข้อความสามารถใช้ในแอปพลิเคชันต่างๆ มากมาย เช่น สามารถใช้ในอุปกรณ์สื่อสารเคลื่อนที่ ซึ่งผู้ใช้สามารถใช้คำพูดของเขาเพื่อส่งข้อความและโทรออกแทนการพิมพ์บนแป้นพิมพ์ได้ การประยุกต์ใช้การประมวลผลคำพูดกับข้อความก็คือการควบคุมเครื่อง เป็นวิธีการควบคุมเครื่องยนต์หรือเครื่องจักรอุตสาหกรรมอื่น ๆ โดยการพูดกับมัน