
Lập Trình Trợ Lý Ảo Tiếng Việt – Bot Siri (Phần 2)
Trong bài viết trước, mình đã giới thiệu về Deep learning và chia sẻ kinh nghiệm học về lĩnh vực này.
Bài viết hôm nay mình sẽ hướng dẫn các bạn xây dựng một hệ thống sử dụng công nghệ học máy (machine learning) đơn giản cho những người mới bắt đầu về Siri. Mặc dù đây là một bài toán khá đơn giản, nhưng mình tin rằng nó sẽ là một bài toán phù hợp cho những người bắt đầu tiếp cận với công nghệ Machine Learning.
Nào chúng ta hãy cùng bắt đầu tạo trợ lí ảo bằng Tiếng Việt ngay thôi nào!
1. Cần chuẩn bị những gì?
- IDE hỗ trợ ngôn ngữ Python, ở đây mình dùng Visual Studio Code
- Cài đặt các thư viện gTTS, Speech_Recognition , pypiwin32
- Kiếm thức cơ bản về lập trình Python
2. Cài đặt các thư viện
Để cài đặt các thư viện trong Python ta dùng pip install + tên thư viện (Ví dụ: pip install pyttsx3).
Ở đây ta cần cài đặt 3 thư viện là Speech_Recognition, pypiwin32 và gTTS. Các thư viện này các bạn có thể tìm kiếm trên google, nó được giải thích khá rõ ràng.
Để tránh xảy ra lỗi khi cài đặt các thư viện thì trước khi cài đặt bạn nên cài đặt thư viện này trước tiên. Tại terminal gõ : pip install pypiwin32
3. Phân tích vấn đề
Vấn đề đặt ra ở đây là phải làm thế nào đó để máy tính có thể nghe và thấu hiểu được những gì chúng ta nói thông qua Microphone và từ đó nó sẽ đưa ra câu trả lời phù hợp thông qua Loa. Vì vậy, chúng ta phải dạy, phải cho máy tính học được điều đó nhờ sử dụng thư viện speech_recognition để nó nghe được những gì ta nói và ta dạy máy tính hiểu bằng những câu lệnh cơ bản của Python. Sau khi nó đã hiểu, ta dùng thư viện gTTS để máy tính có thể đưa kết quả thông qua Loa.
4. Triển khai thuật toán
Import các thư viện:
#import các thư viện cần dùng
import speech_recognition
from gtts import gTTS
import os
Khởi tạo các giá trị ban đầu:
#Khởi tạo
bot_brain= "" #Ban đầu chưa học gì nên não chưa có thông tin
bot_ear = speech_recognition.Recognizer()#Siri nghe
Nhận diện người nói:
with speech_recognition.Microphone() as mic:
print("\nSiri: I'm listening")
#audio = bot_ear.listen(mic)
audio = bot_ear.record(mic, duration= 3) #Siri nghe trong vòng 3 giây sau đó tắt Mic, tránh treo máy do bật Mic lien tục
print("\nSiri: ....")
try:
you = bot_ear.recognize_google(audio,language='vi-VN')# nó sẽ lấy giọng của chị Google
print("\nYou: "+you)
except:
you ="Tôi không hiểu bạn nói gì."
print("\nSiri: "+you)
Siri hiểu những gì người dùng nói:
Nhìn vào những dòng code ở dưới, sẽ có một số bạn thắc mắc rằng tại sao ko dùng so sánh “=”. Theo mình, dùng “=” và kiểu so sánh như mình cả 2 đều đúng. Tuy nhiên sử dụng cách mà mình code ở dưới sẽ tối ưu hơn rất nhiều. Thay vì bạn chỉ nói một từ, một cụm từ thì bạn có thể nói một câu miễn là trong câu đó có “keyword” đã cho Siri học thì nó sẽ hiểu hết.
if "Xin chào" in you:
bot_brain ="Xin chào Sỹ"
elif "thời tiết" in you:
bot_brain = " Hôm nay trời nhiều mây"
elif "ngày" in you:
bot_brain ="Thứ 5 ngày 11 tháng 6 năm 2020"
elif "bye" in you:
bot_brain = "Chào tạm biệt và hẹn gặp lại."
else:
bot_brain =" Cảm ơn bạn"
print("\nSiri: "+bot_brain)
print("\nSiri: "+bot_brain)
Ở bước này, nếu bạn có càng nhiều dữ liệu, thì Siri sẽ học nhiều hơn, nó sẽ trả lời được tất cả những câu hỏi hơn.
Siri trả lời:
tts = gTTS(text =bot_brain,lang='vi')
tts.save("Siri.mp3")
os.system("start Siri.mp3")
Sau khi chạy xong chương trình ngoài terminal hiện thông báo thì nó còn phát ra âm thanh.
Lưu ý: Các bạn có thể dạy Siri học tiếng Anh thông qua thư viện pyttsx3.
5. Thành quả
Trên đây là chương trình về trợ lí ảo Siri mà mình đã hướng dẫn các bạn làm.
Nếu có bất kì thắc mắc hay câu hỏi nào, hoặc bạn bị gặp lỗi ở phần nào đó mà chưa biết cách khắc phục hãy bình luận phía bên dưới. Rất mong nhận được những ý kiến của các bạn để phát triển tốt hơn nữa về những ứng dụng Deep Learning mà mình đang hướng tới. Hi vọng bài viết sẽ giúp các bạn phần nào hiểu rõ hơn về Deep Learning và những ứng dụng to lớn của nó trong cuộc sống.
Post Comment