1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo pbl5 – dự án kỹ thuật máy tính tên Đề tài trợ lý ảo thông

40 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 4,6 MB

Nội dung

Phương pháp giải quyết bao gồmviệc sử dụng công nghệ xử lý ngôn ngữ tự nhiên NLP và nhận diện giọng nói tựđộngASR nhằm giúp cho trợ lý ảo có thể hiểu và thực hiện các lệnh từ người dùng.

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

PBL5 – DỰ ÁN KỸ THUẬT MÁY TÍNH

TÊN ĐỀ TÀI: Trợ lý ảo thông minh

Giảng viên hướng dẫn: TS Huỳnh Hữu Hưng

NHÓM SINH VIÊN THỰC HIỆN LỚP HỌC PHẦNDương Bích Hòa An - 102210144 21Nh14

Phạm Minh Quân - 102210074 21Nh14

ĐÀ NẴNG, 06/2024

Trang 2

TÓM TẮT ĐỒ ÁN

Các trợ lý ảo như Siri của Apple, Google Assistant của Google, Alexa của Amazon vàCortana của Microsoft đã tích hợp sâu vào đời sống hàng ngày, hỗ trợ người dùngthực hiện các tác vụ từ tìm kiếm thông tin, quản lý lịch trình, đến điều khiển các thiết

bị nhà thông minh Do đó nhóm muốn thử sức với việc tạo ra 1 trợ lý ảo có thể hệthống có khả năng hiểu và phản hồi tự nhiên các yêu cầu của người dùng, giúp cảithiện hiệu quả làm việc và trải nghiệm người dùng Phương pháp giải quyết bao gồmviệc sử dụng công nghệ xử lý ngôn ngữ tự nhiên (NLP) và nhận diện giọng nói tựđộng(ASR) nhằm giúp cho trợ lý ảo có thể hiểu và thực hiện các lệnh từ người dùng.Kết quả đạt được là một hệ thống trợ lý ảo thông minh có khả năng thực hiện cácchức năng cơ bản như điều khiển các thiết bị IoT, bật tắt ứng dụng và trả lời câu hỏi.Tuy nhiên, hệ thống vẫn còn nhiều thiếu sót và sẽ cần phải khắc phục thêm

2

Trang 3

BẢNG PHÂN CÔNG NHIỆM VỤ

Dương Bích Hòa An Thu thập dữ liệu về nhận

biết câu lệnh và giọng nói Đã hoàn thànhHuấn luyện mô hình nhận

diện giọng nói tự động Đã hoàn thànhHuấn luyện mô hình nhận

biết ý định trên câu lệnh

Đã hoàn thành

Thiết kế hệ thống và lậptrình ứng dụng phía máytính

Đã hoàn thành

Thiết kế và triển khai phần

Lập trình các thiết bị trên viđiều khiển ESP8266

Đã hoàn thànhViết báo cáo Đã hoàn thànhPhạm Minh Quân Thu thập dữ liệu về giọng

Đã hoàn thành

Lập trình các thiết bị trên viđiều khiển ESP8266 Đã hoàn thànhViết báo cáo Đã hoàn thành

Trang 4

MỤC LỤC

TÓM TẮT ĐỒ ÁN 2

BẢNG PHÂN CÔNG NHIỆM VỤ 3

MỤC LỤC 4

DANH SÁCH HÌNH ẢNH 5

1 GIỚI THIỆU 6

2 GIẢI PHÁP 12

2.1 Giải pháp phần cứng và truyền thông 12

2.1.1 Giải pháp phần cứng 12

2.1.2 Giải pháp truyền thông(HTTP) 14

2.2 Giải pháp Phần mềm 15

2.2.1 Ứng dụng trợ lý ảo trên máy tính 15

2.2.2 Chương trình trên module IoT 19

2.3 Giải pháp AI 20

2.3.1 Mô hình nhận diện giọng nói tự động(ASR) 20

2.3.2 Nhận diện ý định người dùng bằng cách Fine Tuning mô hình BERT để đánh nhãn ý định cho từng từ trong câu 29

3 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 36

3.1 Kết quả mô hình 36

3.1.1 Mô hình nhận diện giọng nói tự động(ASR) 36

3.1.2 Mô hình nhận diện ý định người dùng 36

3.2 Triển khai phần cứng 37

3.3 Ứng dụng trợ lý ảo 38

4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 38

4.1 Kết luận đạt được 38

4.2 Kiến nghị và hướng phát triển 39

5 TÀI LIỆU THAM KHẢO 40

DANH SÁCH HÌNH ẢNH

Hình 1 Phân tích quy trình hoạt động của hệ thống 13

Hình 5 Cửa sổ quản lý thiết bị IoT Và ứng dụng 18

4

Trang 5

Hình 7 Sử dụng trợ lý ảo để trả lời câu hỏi 19

Hình 9 Sử dụng trợ lý ảo để điều khiển các module IoT 20Hình 10 Sử dụng trợ lý ảo để mở các trang web mạng xã hội 20

Hình 16 Các từ có tần số xuất hiện nhiều nhất 28

Hình 23 Fine Tuning mô hình BERT để nhận diện hành động và ý định trên từng

Hình 24 Phân bố dữ liệu theo loại đối tượng 34

Trang 6

thống điều khiển bằng giọng nói không chỉ giới hạn trong các thiết bị thông minhgia đình như loa thông minh, đèn, và điều hòa không khí, mà còn mở rộng đến cáclĩnh vực khác như ô tô tự lái, chăm sóc sức khỏe và giáo dục Điều này không chỉgiúp giảm bớt công việc tay chân cho người dùng mà còn tăng cường khả năngtương tác và tự động hóa trong nhiều hoạt động hàng ngày.

Phạm vi đề tài của nhóm tập trung vào việc điều khiển các thiết bị Internet ofThings (IoT) cũng như các ứng dụng trên máy tính hay trả lời câu hỏi thông quacác hệ thống điều khiển bằng giọng nói và văn bản Trong bối cảnh công nghệ IoTngày càng phổ biến, việc tích hợp các thiết bị này với các hệ thống điều khiểnbằng giọng nói mang lại sự tiện lợi vượt trội, cho phép người dùng quản lý cácthiết bị gia đình thông minh như đèn chiếu sáng, quạt, loa, cảm biến và cửa từ xamột cách dễ dàng và hiệu quả Bên cạnh đó, hệ thống cũng giúp người dùng thựchiện các tác vụ hàng ngày như khởi động phần mềm, mở các ứng dụng và tìmkiếm thông tin thông qua các câu lệnh Mục tiêu của đề tài là nghiên cứu và pháttriển các giải pháp tích hợp, tối ưu hóa trải nghiệm người dùng, và nâng cao mức

độ tự động hóa trong cuộc sống hiện đại

1.2 Hiện trạng và vấn đề cần giải quyết

1.2.1 Hiện trạng

Hiện nay, Trợ lý ảo đang dần phổ biến và có đa dạng ứng dụng trong thực tế:

● Trợ lý ảo đã trở nên phổ biến với nhiều ứng dụng trong các lĩnh vực như chămsóc khách hàng, hỗ trợ kỹ thuật, quản lý công việc cá nhân, và tương tác xãhội

● Các trợ lý ảo nổi tiếng hiện nay bao gồm Siri của Apple, Alexa của Amazon,Google Assistant, và Cortana của Microsoft

Các công nghệ và kỹ thuật hiện nay đã có thể đáp ứng cho việc xây dựng 1 trợ lýảo:

● Sử dụng các kỹ thuật học máy (machine learning) và xử lý ngôn ngữ tự nhiên(NLP) để hiểu và phản hồi người dùng

● Kết hợp các công nghệ khác như nhận diện giọng nói, nhận diện khuôn mặt, vàhọc sâu (deep learning)

Tính năng và dịch vụ:

6

Trang 7

● Trợ lý ảo có thể thực hiện nhiều nhiệm vụ khác nhau như lên lịch hẹn, gửi tinnhắn, tìm kiếm thông tin trên internet, điều khiển các thiết bị thông minh trongnhà, và thậm chí tham gia vào các cuộc trò chuyện phức tạp,

1.2.2 Các vấn đề cần giải quyết

1 Nhận biết ý định của người dùng thông qua câu lệnh

Bài toán nhận biết ý định của người dùng thông qua câu lệnh (IntentRecognition) là một bài toán quan trọng trong lĩnh vực xử lý ngôn ngữ tựnhiên (Natural Language Processing - NLP) và trí tuệ nhân tạo (ArtificialIntelligence - AI) Mục tiêu của bài toán này là xác định mục đích hoặc yêucầu của người dùng từ câu lệnh họ nhập vào, nhằm thực hiện các hành độngphù hợp trong các ứng dụng như trợ lý ảo, chatbot, hệ thống hỏi đáp, và nhiềuứng dụng khác

Mô tả bài toán

● Đầu vào: Một câu lệnh hoặc câu hỏi từ người dùng, dưới dạng văn bản

● Đầu ra: Ý định của người dùng (Intent), thường được biểu diễn dướidạng một nhãn (label) hoặc danh mục (category) Ví dụ, trong một hệ thốngtrợ lý ảo, các ý định có thể bao gồm: hỏi thời tiết, tìm kiếm thông tin, v.v

Yêu cầu:

● Hệ thống cần đạt độ chính xác cao trong việc phân loại các ý định củangười dùng Việc đo độ chính xác của mô hình sẽ được thực hiện trên các tiêuchí như độ chính xác(accuracy), độ nhạy(recall), độ đặc hiệu(precision),

● Hệ thống cần phản hồi nhanh chóng, đặc biệt là trong các ứng dụngthời gian thực như trợ lý ảo hay chatbot Hệ thống cũng cần dễ dàng mở rộng

để thêm vào các ý định mới khi yêu cầu ứng dụng thay đổi hoặc mở rộng

2 Nhận diện giọng nói tự động

Bài toán nhận diện giọng nói tự động (Automatic Speech Recognition ASR) là một bài toán thuộc lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) và trí tuệnhân tạo (AI) Mục tiêu của bài toán này là chuyển đổi ngôn ngữ nói của conngười thành văn bản, để từ đó có thể xử lý và hiểu được các yêu cầu hoặcmệnh lệnh của người dùng

-Mô tả bài toán

● Đầu vào: Một đoạn âm thanh chứa giọng nói của người dùng

● Đầu ra: Văn bản chuyển đổi từ đoạn âm thanh đầu vào

Trang 8

● Xử lý nhiễu và tiếng ồn: Hệ thống cần hoạt động tốt trong cácmôi trường có tiếng ồn và nhiễu âm thanh.

1.3 Đề xuất giải pháp tổng quan

Việc phát triển một hệ thống trợ lý ảo điều khiển các thiết bị IoT (Internet of Things)đòi hỏi sự kết hợp giữa nhiều công nghệ tiên tiến và một kiến trúc hệ thốnglinh hoạt Dưới đây là giải pháp tổng quan cho hệ thống trợ lý ảo của nhóm:

Kiến trúc tổng quan của hệ thống

Hệ thống trợ lý ảo điều khiển các thiết bị IoT có thể được chia thành các thànhphần chính sau:

1 Ứng dụng người dùng

Chương trình trên máy tính: Cung cấp giao diện để người dùng tương tác

với trợ lý ảo thông qua ứng dụng máy tính, bao gồm điều khiển và giám sátcác thiết bị IoT cũng như thực hiện hiện các hành động khác trên máy tínhnhư bật tắt các ứng dụng, tăng giảm âm lượng

Giao diện giọng nói và văn bản: Cho phép người dùng điều khiển thiết bị

bằng giọng nói thông qua các thiết bị thu âm hay nhập từ bàn phím

Lưu trữ và xử lý dữ liệu: Lưu trữ các thông tin cần thiết như thông tin các

loại thiết bị IoT và các ứng dụng trong máy tính

2 Các Mô hình Trí tuệ nhân tạo:

Hệ thống sử dụng các mô hình có kích thước vừa phải, có khả năng hoạt độngngay trên máy tính của người dùng phục vụ cho các hoạt động của trợ lý ảo

Xử lý ngôn ngữ tự nhiên: Sử dụng mô hình BERT để nhận biết yêu cầu của

người dùng

8

Trang 9

Nhận diện giọng nói tự động: Sử dụng một mô hình nhận diện giọng nói tự

động có kích thước nhỏ để chuyển đổi giọng nói thành văn bản

3 Nền tảng IoT (IoT Platform)

Sử dụng các module IoT và các thiết bị giá rẻ để mô phỏng lại các thiết bị IoT: Để xây dựng hệ thống với chi phí rẻ nhất, nhóm sử dụng và các module

IoT giá rẻ như ESP8266, để điều khiển các thiết bị giá rẻ như đèn led RGB,động cơ DC, động cơ servo,v.v Ưu điểm của việc sử dụng các thiết bị này làchi phí bỏ ra ít và dễ dàng trong việc lập trình cũng như triển khai Tuy nhiêncác thiết bị này chỉ mang tính chất mô phỏng các thiết bị IoT thực tế

Giao thức giao tiếp (Communication Protocols): Các module IoT giá rẻ như

ESP8266 có khả năng kết nối tới Wifi và sử dụng giao thức HTTP để nhậnlệnh điều khiển Ngoài ra, ESP8266 có thể điều khiển các thiết bị khác thôngqua các chân GPIO

4 Các chức năng

Hệ thống trợ lý ảo sẽ phục vụ các chức năng sau:

Điều khiển các thiết bị IoT đơn giản: Hệ thống sẽ điều khiển các thiết bị IoT

đơn giản thông qua giao thức HTTP như đèn, quạt, cửa, cảm biến,

Thực hiện các hành động trên máy tính: Hệ thống cũng sẽ thực hiện một số

chức năng trên máy tính như bật tắt các trang web hay ứng dụng

Trả lời câu hỏi: Hệ thống sử dụng dịch vụ Chat GPT cũng như dữ liệu thu

thập được trên internet để trả lời 1 số câu hỏi cơ bản

5 Các thư viện và công nghệ được sử dụng

Trang 10

Mô hình Trí tuệ nhân tạo: Các mô hình Trí tuệ nhân tạo kể trên được phát trên framework PyTorch, một thư viện mã nguồn mở dành cho việc học sâu

nổi bật với khả năng cung cấp một giao diện dễ sử dụng, linh hoạt và hiệuquả cho việc xây dựng và huấn luyện các mô hình học sâu Bên cạnh đónhóm còn sử dụng nền tảng Hugging Face để lưu trữ và tham khảo các môhình

Nền tảng IoT: Các module IoT được phát triển trên Arduino IDE, 1 một môi

trường phát triển tích hợp mã nguồn mở, được thiết kế để giúp lập trình, nạp

mã và thử nghiệm các chương trình trên các dòng vi điều khiển một cách dễdàng Như đã đề cập ở trên, các module IoT như ESP8266 có thể được điềukhiển thông qua giao thức HTTP và sử dụng các chân GPIO để điều khiểncác thiết bị phái sinh

10

Trang 11

Quy trình hoạt động của hệ thống:

1 Nhận lệnh từ người dùng: Người dùng tương tác với trợ lý ảo thông qua

giọng nói hoặc văn bản

5 Phản hồi cho người dùng: Trợ lý ảo cung cấp phản hồi cho người dùng về

trạng thái của thiết bị hoặc xác nhận rằng lệnh đã được thực hiện

Hình 1 Phân tích quy trình hoạt động của hệ thống

Trang 12

Micro cho máy

tính Thu âm giọng nói Sử dụng micro cánhân Đã muaESP8266 Đóng vai trò như 1

module IoT, nhậnyêu cầu từ máytính và trả phản

12

Trang 13

hồi về máy tínhĐèn LED RGB Đóng vai trò như 1

Adapter 9V Cấp điện cho động

Dưới đây là danh sách các chân mà module IoT ESP8266 sử dụng:

● Vin: Cấp nguồn 5V cho module

● GND: Chân đất của module

● D0: Chân điều khiển động cơ Servo

● D1: Điều khiển chân in1 của mạch cầu L298N

● D2: Điều khiển chân in2 của mạch cầu L298N

● D3: Điều khiển chân enA của mạch cầu L298N

● D4: Điều khiển chân R(Red) của LED RGB

● D5: Điều khiển chân G(Green) của LED RGB

● D6: Điều khiển chân B(Blue) của LED RGB

● D7: Đọc giá trị cảm biến nhiệt độ ẩm

Trang 14

Hình 3 Sơ đồ lắp mạch ESP8266

2.1.2 Giải pháp truyền thông(HTTP)

Giao thức HTTP được sử dụng để trợ lý ảo gửi lệnh điều khiển tới ESP8266.Giao thức HTTP có ưu điểm là hoạt động theo mô hình client server cũng chiacác request gửi đi theo các URI và có thể kèm theo tham số

HTTP và RESTful API

● Định nghĩa: HTTP (Hypertext Transfer Protocol) là giao thức nền tảng của

web, được sử dụng để truyền dữ liệu giữa máy khách (client) và máy chủ(server) RESTful API (Representational State Transfer) là một phong cáchkiến trúc sử dụng HTTP để tạo, đọc, cập nhật và xóa tài nguyên

● Phương thức HTTP: Các phương thức chính của HTTP như GET, POST,

PUT, DELETE được sử dụng để thực hiện các hành động khác nhau trên tàinguyên

b Cấu trúc URI

● Endpoint: URI (Uniform Resource Identifier) xác định các endpoint mà trợ lý

ảo có thể truy cập để thực hiện các hành động cụ thể

14

Trang 15

● Tham số và Headers: Sử dụng tham số URL và headers để truyền dữ liệu và

thông tin cấu hình giữa client và server

2.2 Giải pháp Phần mềm

2.2.1 Ứng dụng trợ lý ảo trên máy tính

Trợ lý ảo là một phần mềm hoặc ứng dụng có khả năng hiểu và phản hồi các lệnhcủa người dùng bằng ngôn ngữ tự nhiên, thông qua giọng nói hoặc văn bản, cũngnhư phải thực hiện hiện các công việc do người dùng đưa ra

Việc xây dựng ứng dụng trợ lý ảo là một quá trình quá trình quan trọng, đòi hỏi sựkết hợp giữa công nghệ và thiết kế tập trung vào người dùng Dưới đây là các khíacạnh được xem xét trong ứng dụng trợ lý ảo thông minh:

1 Giao diện người dùng

Giao diện người dùng là nơi mà người dùng thực hiện tương tác lên trợ lý ảo.Giao diện người dùng phải đảm bảo các yếu tố sau:

● Thiết kế trực quan và thân thiện:Giao diện cần phải đơn giản, không

quá phức tạp hoặc rối rắm, giúp người dùng dễ dàng tương tác màkhông cảm thấy quá tải

Đáp ứng nhanh chóng: Ứng dụng cần phản hồi ngay lập tức các thao

tác của người dùng để tạo cảm giác mượt mà Đảm bảo rằng giao diệnhoạt động mượt mà ngay cả khi xử lý các tác vụ phức tạp

Hỗ trợ đa ngôn ngữ : Hệ thống nên có khả năng hoạt động trên các

ngôn ngữ khác nhau Trong đồ án lần này, nhóm quyết định huấn luyện

mô hình để trợ lý ảo có thể hoạt động trên tiếng Anh và tiếng Việt

● Tương tác giọng nói: Cần có các nút hoặc biểu tượng để người dùng

kích hoạt và tắt micrô dễ dàng Chỉ báo rõ ràng khi ứng dụng đang lắngnghe hoặc xử lý giọng nói

Dưới đây là các giao diện của hệ thống:

Trang 16

Hình 4 Cửa sổ giao tiếp với trợ lý ảo

Hình 5 Cửa sổ quản lý thiết bị IoT Và ứng dụng

Hình 6 Cửa sổ theo dõi thiết bị IoT

2 Các Mô hình Trí tuệ nhân tạo được sử dụng:

Trong các hệ thống trợ lý ảo, việc sử dụng các mô hình trí tuệ nhân tạo (AI) làcốt lõi để xử lý ngôn ngữ tự nhiên, hiểu ngữ cảnh và đưa ra hành động phù hợp

16

Trang 17

● Nhận diện ý định người dùng: Mô hình BERT để đánh nhãn hành

động và thực thể cho từng từ trong câu

● Chuyển đổi giọng nói thành văn bản: Mô hình nhận diện giọng nói tự

động

● Ngoài ra, trợ lý ảo còn sử dụng dịch vụ của ChatGPT để trả lời câu hỏi

3 Các chức năng chính

Trợ lý ảo có thể thực hiện các chức năng sau đây:

● Điều khiển các thiết bị IoT

○ Đèn RGB(light): bật/tắt đèn, điều chỉnh độ sáng và màu sắc

○ Quạt(fan): bật tắt quạt và điều chỉnh tốc độ

○ Loa: kết nối tới loa và thay đổi âm lượng

○ Cửa: kiểm tra tình trạng cửa, đóng mở cửa

○ Cảm biến: Kiểm tra cảm biến

● Mở các ứng dụng, trang web

● Điều chỉnh độ sáng và âm lượng máy tính

● Trả lời câu hỏi bằng ChatGPT

Hình 7 Sử dụng trợ lý ảo để trả lời câu hỏi

Trang 18

Hình 8 Sử dụng trợ lý ảo để mở ứng dụng

Hình 9 Sử dụng trợ lý ảo để điều khiển các module IoT

Hình 10 Sử dụng trợ lý ảo để mở các trang web mạng xã hội

18

Trang 19

2.2.2 Chương trình trên module IoT

Chương trình được nạp module IoT cho phép module có thể điều khiển cácthiết đã được kết nối với module IoT cũng như nhận các request từ trợ lý ảothông qua việc vận hành 1 Web server

1 Danh sách API

‘/light’:

● Method: GET

● Parameter: r, g, b, brightness

● Response: Thông tin về r, g, b và độ sáng của đèn

● Mục đích: Chỉnh màu và độ sáng cho đèn, cũng như cho biếtthông tin của đèn

‘/fan’:

● Method: GET

● Parameter: speed

● Response: Thông tin về tốc độ quạt

● Mục đích: Chỉnh tốc độ quạt, cũng như thông tin của quạt

● Response: Thông tin về nhiệt độ độ ẩm đo được từ cảm biến

● Mục đích: Cho biết các chỉ số đo đạt được từ cảm biến

2 Giao diện Web

Giao diện Web cho phép điều khiển module IoT trong trường hợp trợ lý

ảo không hoạt động Giao diện này sẽ nằm ở trang chủ trang web

Trang 20

Hình 11 Giao diện Web của module IoT

Để xây dựng Mô hình nhận diện giọng nói tự động cho trợ lý ảo, nhóm quyết

LearnedVector/A-Hackers-AI-Voice-Assistant[1]tuy nhiên nhóm tiến hành mởrộng bộ kí tự và huấn luyện mô hình trên tập dữ liệu tiếng Việt để mô hìnhhoạt động trên tiếng Việt

Mô hình Nhận diện giọng nói tự động nhóm sử dụng có cấu trúc như sau:

20

Ngày đăng: 02/12/2024, 15:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN