Lập trình trợ lý ảo tiếng việt toàn diện với python

20 470 1
Lập trình trợ lý ảo tiếng việt toàn diện với python

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập Trình Trợ Lý Ảo Tiếng Việt Tồn Diện Với Python Ngoài Siri Apple, Alexa Amazon gần Google Asisstant Google, cịn tuyệt vời biết bạn tự tạo cho trợ lý ảo, phiên tiếng việt Nào bắt tay vào làm Trong viết, chi tiết làm để viết trở lý ảo tiếng việt Python, gọi tên cậu Alex Nhiều bạn chưa thực tiếp cận với trí tuệ nhân tạo hay cụ thể xử lý ngôn ngữ tự nhiên hay trợ lý ảo nghĩa Thực sự, trí tuệ nhân tạo nói chung xử lý ngơn ngữ tự nhiên đóng góp to lớn ngành cơng nghệ thơng tin Mình chọn sử dung python, Python ngôn ngữ lập trình có thư viện đa Nên trí tuệ nhân tạo trở nên đơn giản với Mình cụ thể hóa chi tiết giúp bạn hình dung cơng việc để làm trợ lý ảo Trợ lý ảo phát triển nào? Timeline trợ lý ảo từ 2010 đến Gần đây, Trợ lý ảo có tảng sau Apple tích hợp Trợ lý ảo đáng kinh ngạc - Siri, thức phần Apple Inc Nhưng dòng thời gian tiến hóa vĩ đại kiện năm 1962 Hội chợ Thế giới Seattle nơi IBM trưng bày máy độc đáo gọi Shoebox Đó kích thước thực tế hộp đựng giày thực chức khoa học nhận biết 16 từ nói chúng giọng nói dễ nhận biết người với đến chữ số Sau giai đoạn năm 1970, nhà nghiên cứu Đại học Carnegie Mellon Pittsburgh, Pennsylvania với hỗ trợ Bộ Quốc phòng Hoa Kỳ Cơ quan Dự án Nghiên cứu Quốc phòng Tiên tiến (DARPA) - tạo máy Harpy Nó hiểu gần 1.000 từ, gần từ vựng đứa trẻ ba tuổi Vào tháng năm 1997, Dragon NataturalSpeaking phần mềm chỉnh sửa tả hiểu khoảng 100 từ biến thành nội dung đọc Theo dịng thời gian, xử lý ngơn ngữ tự nhiên trợ lý ảo đầu tư nghiên cứu mạnh mẽ, trải qua cột mốc quan trọng đạt thành tựu thông minh ngày hôm Kiến thức cần có • • • AI - Artificial Intelligence hay cịn gọi Trí tuệ nhân tạo ngành khoa học, kỹ thuật chế tạo máy móc thơng minh, đặc biệt chương trình máy tính thơng minh AI thực cách nghiên cứu cách suy nghĩ người, cách người học hỏi, định làm việc giải vấn đề đó, sử dụng kết nghiên cứu tảng để phát triển phần mềm hệ thống thơng minh, từ áp dụng vào mục đích khác sống Nói cách dễ hiểu AI việc sử dụng, phân tích liệu đầu vào nhằm đưa dự đoán đến định cuối Xử lý ngôn ngữ tự nhiên (natural language processing - NLP) nhánh trí tuệ nhân tạo tập trung vào ứng dụng ngôn ngữ người Trong trí tuệ nhân tạo xử lý ngơn ngữ tự nhiên phần khó liên quan đến việc phải hiểu ý nghĩa ngơn ngữ-cơng cụ hồn hảo tư giao tiếp Trợ lý ảo (Virtual Assistant) hay gọi trợ lý AI hay trợ lý kỹ thuật số, chương trình ứng dụng thiết kế để "hiểu" lệnh thoại ngôn ngữ tự nhiên thực tác vụ cho người dùng Các tác vụ bao gồm đọc tin nhắn văn địa email, tìm kiếm số điện thoại, lên lịch, đặt gọi điện nhắc nhở người dùng cuối hẹn Phải nói rằng, thật tuyệt vời tự tạo trợ lý ảo máy tính để bàn hay laptop với tiện ích đơn giản như: Giao tiếp, chào hỏi Cho bạn biết thời gian Khởi chạy ứng dụng hệ thống mở trang web trình duyệt Chrome Mở Google search tìm kiếm thay cho bạn Gửi email đến người danh bạ bạn Cho bạn biết thời tết nhiệt độ hầu hết thành phố Phát cho bạn hát Youtube Thay đổi hình máy tính Cho bạn biết tin tức 10 Nói cho bạn hấu hết thứ bạn yêu cầu Do đó, viết này, xây dựng ứng dụng tiếng việt có khả thực tất nhiệm vụ Mình tương tác với trợ lý ảo laptop gọi bạn Alex Nào bắt đầu Let's go !!!! Nguyên liệu cần chuẩn bị • • System requirements: Python 3.7.6, Jupyter notebook, Anaconda Libraries: o speech_recognition: Nhận dạng giọng nói o time, datetime: Xử lý thời gian o wikipedia: Tìm kiếm từ điển wikipedia o webbrowser, selenium, webdriver_manager, urllib: Truy cập web, trình duyệt (Chrome) o gTTS: Chuyển văn thành âm Google (Chị Google) o requests: Crawl thông tin từ web o smtplib: Gửi Email giao thức SMTP o re: Biểu thức quy (Regular Expression) o os, sys, ctypes: Truy cập, xử lý file hệ thống o playsound: Phát âm từ file mp3 o json: Xử lý kiểu liệu JSON o youtube_search: Tìm kiếm video Youtube Cài đặt Anaconda công cụ tổng hợp tích hợp sẵn nhiều gói phần mềm, thư viện giúp có môi trường để thực xây dựng ứng dụng Python Anacoda tích hợp sẵn conda bên bạn cần cài đặt Anacoda đủ Khi cài đặt xong, bạn mở Anaconda Prompt (có thể tìm thấy thư mục cài đặt Anaconda), di chuyển đến thư mục chứa project thực chạy Jupyter Notebook câu lệnh: jupyter notebook Cửa số lên, bạn cần vào new chọn python ta có notebook chạy Python dạng interactive shell Cuối việc cài đặt thư viện cần thiết, tiếp tục vào Anaconda Prompt thực cài Python Package thơng qua gói thư viện pip Ví dụ, ta muốn cài đặt thư viện abcxyz gõ câu lệnh: pip install abcxyz Xây dựng trợ lý ảo tiếng việt Alex Import thư viện cần thiết import os import playsound import speech_recognition as sr import time import sys import ctypes import wikipedia import datetime import json import re import webbrowser import smtplib import requests import urllib import urllib.request as urllib2 from selenium import webdriver from selenium.webdriver.common.keys import Keys from webdriver_manager.chrome import ChromeDriverManager from time import strftime from gtts import gTTS from youtube_search import YoutubeSearch Ở trên, thư viện urlllib2 thực thay thư viện urllib.request urllib phiên Python Mình đặt tên urllib2 để tránh nhầm lẫn Với chức mà trợ lý ảo thực đại diện hàm Mỗi hàm trả giá trị thực lệnh tùy theo chức Việc khai báo vài biến để lưu đường dẫn hay tham số để xử lý ngôn ngữ dạng tiếng việt Khai báo biến mặc định wikipedia.set_lang('vi') language = 'vi' path = ChromeDriverManager().install() Hiện tại, Lab nghiên cứu trí tuệ nhân tạo Việt Nam đầu tư đẩy mạnh nghiên cứu mảng xử lý ngôn ngữ tự nhiên (Natural Language Processing) dạng tiếng việt đạt kết đáng ghi nhận Các mơ hình nghiên cứu xử lý ngơn ngữ tiếng việt nhiều vùng miền, nam lẫn nữ, thực Ở góc độ người sử dụng phổ thơng khó máy tính, đâu người thực Các nghiên cứu có tính ứng dụng cao, công ty công nghệ áp dụng triển khai thực tế, nâng cao suất lao động cách rõ rệt Các thư viện sử dụng phổ thơng, tích hợp nhiều hàm xử lý Tuy chất lượng xử lý tiếng việt chưa thực tuyệt vời góc độ viết thấy ổn Mình lưu thêm biến path để lưu đường dẫn cài đặt Chrome để tránh việc cài đặt lại Chrome chạy lại hàm Chức chuyển văn thành âm Google Cloud Text To Speech def speak(text): print("Bot: {}".format(text)) tts = gTTS(text=text, lang=language, slow=False) tts.save("sound.mp3") playsound.playsound("sound.mp3", False) os.remove("sound.mp3") Chức cần chuyển đoạn văn thành âm đọc lên máy tính Mình sử dụng hàm gTTS (google Text To Speech ) để chuyển văn thành âm theo ngôn ngữ nhận dạng tiếng việt lưu máy tính liệu âm file sound.mp3 Sau đó, minh dùng hàm playsound.playsound() để đọc file sound.mp3 máy tính Sau đọc xong, phải xóa file sound.mp3 để tránh lỗi đọc đoạn văn khác lưu lại file sound.mp3 Chức chuyển âm thành văn Quy trình chung hệ thống nhận dạng giọng nói Đây chức thứ hai với chức chuyển văn thành âm Trong chức này, sử dụng hàm khác hỗ trợ get_audio() stop() def get_audio(): r = sr.Recognizer() with sr.Microphone() as source: print("Tôi: ", end='') audio = r.listen(source, phrase_time_limit=5) try: text = r.recognize_google(audio, language="vi-VN") print(text) return text except: print(" ") return Ở hàm trên, sử dụng thư viện speech_recognition (sr) có chức nhận dạng giọng nói để chuyển âm thành văn Âm đọc vào microphone máy tính sau xử lý qua hàm listen sr.Recognition lưu liệu âm vào biến audio Dữ liệu âm audio thu nhận dạng ngôn ngữ tiếng việt hàm r.recognize_google để chuyển thành dạng văn lưu liệu vào biến text Nếu liệu âm audio không lỗi tức hàm r.recognize_google nhận dạng audio để chuyên thành text hàm get_audio() trả giá trị text liệu audio bị lỗi mà hàm r.recognition_google khơng nhận dạng hàm get_audio() trả giá trị (Mục đích máy tính khơng hiểu nói thực lại hàm get_audio() để đọc lại) def stop(): speak("Hẹn gặp lại bạn sau!") Hàm stop() đơn giản đọc đoạn text "Hẹn gặp lại bạn sau" sử dụng hàm speak() def get_text(): for i in range(3): text = get_audio() if text: return text.lower() elif i < 2: speak("Bot khơng nghe rõ Bạn nói lại khơng!") time.sleep(2) stop() return Hàm get_text() có chức máy tính cố gắng nhận dạng âm người đọc tối đa lần máy tính hiểu Mình sử dụng hàm for lặp lại lần, đoạn text có giá trị khác hàm get_text trả giá trị text.lower() (Chuyển chữ in hoa thành in thường), text nhận giá trị (Tức minh đọc mà máy tính khơng hiểu) mà chưa đọc đến lần thứ yêu cầu người sử dụng đọc lại Nếu sau lần mà máy tính khơng hiểu nói hay khơng nghe thấy cho dừng lại sử dụng hàm stop hàm get_text lúc trả giá trị (Mục đích máy tính khơng nghe thấy cho dừng chương trình ln) Mình thêm câu lệnh time.sleep(2) mục đích chương trình tạm dừng giây để tránh máy tính đọc đoạn văn bị khớp Chức giao tiếp, chào hỏi def hello(name): day_time = int(strftime('%H')) if day_time < 12: speak("Chào buổi sáng bạn {} Chúc bạn ngày tốt lành.".format(name)) elif 12

Ngày đăng: 12/04/2021, 06:16

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan