AssistantBot[0] – มาทำ JARVIS กัน

AssistantBot[0] – มาทำ JARVIS กัน

” เมื่อโลกเปลี่ยน เราก็ต้องเปลี่ยน เทคโนโลยีเกิดขึ้นใหม่ทุกวัน “

จะพิมพ์อะไรเนี่ย 55555 เกือบเท่แล้วเชียว แต่ ชั่งมันเถอะ มาเข้าเรื่องเราดีกว่า

jarvis
JARVIS Marvel Movies

        สิ่งที่ผมจะมาทำในวันนี้คือ บอกเลยจะเร็วเกินไปงั้นขอเล่าหน่อย 555 ตอนผมเป็นเด็กๆผมได้ดูหนังเรื่อง Iron man แล้วก็เลยมีความฝันว่าในอนาคตผมจะต้องสร้างระบบที่สามารถพูดคุยตอบโต้กับเราได้ ดังนั้นวันนี้ผมจะมาสอนเพื่อนๆทำบอทแบบฉลาดน้อย ที่อยู่ในบ้านเหมือนเป็น J.A.R.V.I.S ในหนังเรื่อง Iron man แต่ JARVIS ในเรื่องก็ไม่ได้ฉลาดน้อยนะ 5555
สิ่งที่ผมมีคือ Labtop [Ubuntu 16.04] 1 เครื่อง เท่านั้น ภาษาที่จะใช้เขียนคือ ภาษา Python 3.5.2 และต้องขอเสนอเครื่องมือที่จะช่วยเราครั้งนี้นั่นก็คือ

Snowboy, a Customizable Hotword Detection Engine

        Snowboy คือ โมดูลที่ช่วยในการจับคำพูดของเราแบบเรียลไทม์ และรอฟังเราอยู่ตลอดเวลา มีคำที่ควรรู้จักก็คือ Hotword แล้ว Hotword คืออะไรหล่ะ จริงๆแล้วมันก็เหมือนกับเสียงปลุก เสียงเรียก ซึ่งจะเป็นคำสั้นๆซึ่งเมื่อระบบได้ยินแล้วจะนำไปทำอะไรบางอย่างต่อไป ยกตัวอย่างระบบที่ใช้ hotword ก็เช่น “Alexa” ของอเมซอน, “OK Google” ของกูเกิ้ล และ “Hey Siri” ของไอโฟน hotword เมื่อเราเรียกไปแล้วก็จะทำให้ไปทริ๊กให้บอทตื่นขึ้นมาคุยกับเรา แต่จริงๆแล้วมันก็ขึ้นอยู่ว่าเราเขียนโปรแกรมไว้ยังไง

        แล้วทำไมเราไม่ใช้ ASR (Automatic Speech Recognition) ในการหา hotword หล่ะ นั่นก็เพราะว่าการใช้ ASR นั้นจะใช้ bandwidth เปลืองมาก และบางทีอาจจะไม่ปลอดภัยถ้ามันอยู่บน Cloud-based แต่ Snowboy ตัวนี้ จะตอบโจทย์นี่มาก เพราะเป็นแบบ Offline

ข้อดีของ Snowboy ดียังไง

  • ปรับแต่งเองได้ : snowboy นั้นให้เราไปเพิ่ม hotword ของเราเองได้ เช่น “เปิดประตูบ้าน”, “เจ้ากระจกวิเศษ”, “เปิดไฟ” โดยทีมพัฒนาเค้าบอกว่า “If you can think it, you can hotword it!” หมายความว่า ถ้าคุณคิดได้ ก็ทำเป็น hotword ได้
  • คอยฟังตลอดเวลาแต่ปลอดภัย : ที่เป็นแบบนี้ เพราะว่า snowboy นั้นไม่ต้องต่อ internet หรือ stream voice ของเราไปให้ใคร
  • มีขนาดเล็ก : สามารถนำไปใส่อยู่บน raspberry pi ได้ กิน cpu ไม่เกิน 10%
  • Apache licensed!
Name CPU CPU Usage RAM Usage
RPi 1 single-core 700MHz ARMv6 <10%
  • Python: < 15MB
  • C: < 2MB
RPi 2 quad-core 900MHz ARMv7 <5%
RPi 3 quad-core 1.2GHz ARMv8 <5%
RPi Zero single-core 1GHz ARMv6 <5%
Macbooks Intel Core i3/5/7 <1%

ตอนนี้ที่ Snowboy Supports มี

  • Raspberry Pi ทุกเวอร์ชั่น (Raspbian based)
  • 64bit Mac OS X
  • 64bit Ubuntu (12.04 และ 14.04) [แต่ผมใช้ 16.04]
  • iOs
  • Android with ARMv7 CPUs
  • Pine 64 with Debian Jessie 8.5
  • Intel Edison with Ubilinux

ไม่ support windows 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s