TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆ *********** TIỂU LUẬN MÔN HỌC TRÍ TUỆ NHÂN TẠO Sinh viên thực hiện Bình Dương, tháng 10/2022 Phạm Phương Tây 1924801030117 Nguyễn Huỳnh Minh Quân Đân[.]
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT - CÔNG NGHỆ
***********
TIỂU LUẬN MÔN HỌC
TRÍ TUỆ NHÂN TẠO
Sinh viên thực hiện:
Bình Dương, tháng 10/2022
Phạm Phương Tây : 1924801030117
Nguyễn Huỳnh Minh Quân
Đâng Hoàng Minh : 1924801030102
Trang 2TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆ
***********
TIỂU LUẬN MÔN HỌC TRÍ TUỆ NHÂN TẠO
Sinh viên thực hiện:
Bình Dương, tháng 10/2022
Phạm Phương Tây : 1924801030022
Nguyễn Huỳnh Minh Quân
Đâng Hoàng Minh : 1924801030102
Trang 3TÓM TẮT
Trong bối cảnh công nghệ số, dữ liệu lớn, đòi hỏi con người phải xử lý rấtnhiều thông tin cùng một lúc Bài toán đặt ra là các công ty cần phân loại, đánh giá cácphản hồi khách hàng qua các đoạn tin nhắn thoại, nhận diện cảm xúc qua giọng nóicho các chatbot để có hướng xử lý tiếp theo, nhận diện cảm xúc qua giọng nói cho cácrobot con người, nhằm xử lý các hướng phản hồi tiếp Bài báo đưa ra phương án tạo ramodel để xác định, phân loại dữ liệu này.
Dựa trên nền tảng máy học song song là ngôn ngữ Python cùng với công cụ lưutrữ cơ sở dữ liệu Excel thuộc Microsoft và công cụ Visual Studio Code là một trìnhsoạn thảo mã nguồn được phát triển bởi Microsoft dành cho Windows, Linux vàmacOS Nó hỗ trợ chức năng debug, đi kèm với Git, có chức năng nổi bật cú pháp, tựhoàn thành mã thông minh, snippets, và cải tiến mã nguồn. Để có thể xây dựng môhình dự đoán mức lương của các ứng cử viên công nghệ thông tin
Cấu trúc bài báo cáo được chia thành 4 phần:
Chương 1: Tổng quan
Chương 2: Thu thập và xử lý dữ liệu
Chương 3: Thiết kế mô hình
Chương 4: Đánh giá thực nghiệm
ii
Trang 4In the context of digital technology, big data requires people to process a lot of information at the same time The problem is that companies need to classify and evaluate customer responses through voice messages, identify emotions via voice for chatbots to have the next processing direction, identify emotions through voice speak
to human robots, in order to process further feedback directions The article gives a plan to create a model to identify and classify this data
Based on the parallel machine learning platform Python language along with Microsoft's Excel database storage engine and Visual Studio Code engine is a source code editor developed by Microsoft for Windows, Linux and macOS It supports debugging, comes with Git, has syntax highlighting, smart code autocomplete,
snippets, and code enhancements To be able to build a model to predict the salary of information technology candidates
The structure of the report is divided into four parts:
Chapter 1: Overview
Chapter 2: Data collection and processing
Chapter 3: Model Design
Chapter 4: Empirical Evaluation
Trang 5Trong thời gian gần đây, các nhà nghiên cứu đang tập trung vào công nghệnhận dạng giọng nói và đã có một số hành công đối với việc nhận dạng tiếng anh vàmột số ngôn ngữ khác Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạnggiọng nói (Speech recognition) trên cơ sở lý thuyết và các hệ thống thông minh nhântạo, nhiều kết quả đã trở thành sản phẩm như Via Voice old của hãng IBM, DragonNatural Speaking của Dragon System, Speech SDK của Microsoft, Triển khai nhữngcông trình nghiên cứu và đưa vào thực tế ứng dụng vấn đề này là một việc làm hết sức
ý nghĩa trong giai đoạn công nghiệp hóa, hiện đại hóa nước nhà
Vì thế, nhóm em đã chọn đề tài” Tìm hiểu Công nghệ nhận diện giọng nói” đểtìm hiểu và trình bày về nội dung cũng như tổng quan về công nghệ Tuy đã rất cốgắng học hỏi và tìm tài liệu từ nhiều nguồn thông tin nhưng điều kiện thời gian và khảnăng có hạn nên cũng không tránh được thiếu sót Kính mong được sự đóng góp ýkiến từ cô và các bạn để nhóm em có thể hoàn thiện hơn về bài báo cáo công nghệ này.Nhóm em xin chân thành cảm ơn
1
Trang 6MỤC LỤC
TÓM TẮT ii
MỞ ĐẦU 1
MỤC LỤC 2
DANH MỤC HÌNH 3
DANH MỤC BẢNG 4
DANH SÁCH CÁC KÝ TỰ, CHỮ VIẾT TẮT 5
CHƯƠNG 1 TỔNG QUAN 10
1.1 Giới thiệu đề tài 10
1.2 Công nghệ sử dụng 10
1.2.1 Ví dụ : Giới thiệu về PHP 10
1.2.2 _ 11
1.2.3 11
CHƯƠNG 2 TIỀN XỬ LÝ DỮ LIỆU 12
2.1 THU THẬP DỮ LIỆU 12
2.2 Mô tả dữ liệu 12
2.2.1 Ví dụ: Trường (Cột ID) 12
2.2.2 .12
2.2.3 .12
2.2.4 .12
2.3 TRỰC QUAN HÓA DỮ LIỆU 12
14
CHƯƠNG 3 THIẾT KẾ MÔ HÌNH 14
3.1 giới thiệu mô hình 14
3.2 GIAI ĐOẠN HUẤN LUYỆN (training) 14
3.2.1 Phân chia tập huấn luyện 14
3.2.2 Huấn luyện mô hình 15
3.3 giai đoạn đánh giá (testing) 15
3.4 Lan truyền ngược (Backpropagation) 16
CHƯƠNG 4 ĐÁNH GIÁ THỰC NGHIỆM 17
1 kết quả thực nghiệm 17
2 Đánh giá mô hình 17
TÀI LIỆU THAM KHẢO 19
Trang 7DANH MỤC HÌNHHình 1.1 - Mô hình Client-Server 10 Hình 2.1 - 12
3
Trang 8“references –.Insert Table
of Figures”
Danh mục các Từ viết tắt
và ý nghĩa của chúng Chỉviết tắt khi từ lặp lại nhiều
Trang 9XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
CHƯƠNG 1 TỔNG QUAN1.1 GIỚI THIỆU ĐỀ TÀI
Đề tài “Xây dựng mô hình AI nhận diện giọng nói”.
Mô hình được xây dựng với mục đích tiết kiệm thời gian và tăng hiệu suất côngviệc và cho phép người dùng làm việc rảnh tay Công nghệ nhận dạng giọng nói là xu thếtất yếu của tương lai, có thể mang lại lợi ích không chỉ cho cá nhân mà còn cho cả cácdoanh nghiệp
1.2 CÔNG NGHỆ SỬ DỤNG
1.2.1 Giới thiệu về Python
Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web,phát triển phần mềm, khoa học dữ liệu và máy học (ML) Các nhà phát triển sử dụngPython vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau Phần mềmPython được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độphát triển
Ngôn ngữ Python được sử dụng nhiều trong lĩnh vực phát triển ứng dụng, bao gồmnhững ví dụ sau:
Phát triển web phía máy chủ
Python hữu ích trong việc lập trình mã phía máy chủ bởi vì ngôn ngữ này cung cấpnhiều thư viện bao gồm mã viết sẵn cho các hàm backend phức tạp Các nhà phát triểncũng sử dụng một loạt các khung Python cung cấp tất cả những công cụ cần thiết để xâydựng ứng dụng web một cách nhanh chóng và dễ dàng hơn Ví dụ: các nhà phát triển cóthể tạo ứng dụng web khung trong nháy mắt bởi vì họ không cần phải lập trình nó từ đầu.Sau đó, họ có thể kiểm tra ứng dụng web này bằng cách sử dụng các công cụ kiểm thử củakhung, mà không cần phụ thuộc vào những công cụ kiểm thử bên ngoài
Khoa học dữ liệu và máy học
Khoa học dữ liệu trích xuất thông tin quý giá từ dữ liệu và máy học (ML) dạy máytính tự động học hỏi từ dữ liệu và đưa ra các dự đoán chính xác Các nhà khoa học dữ liệu
sử dụng Python cho các tác vụ khoa học dữ liệu sau:
Sửa và loại bỏ dữ liệu không chính xác, hay còn được gọi là làm sạch dữ liệu
Trích xuất và chọn lọc các đặc điểm đa dạng của dữ liệu
Ghi nhãn dữ liệu gán tên có ý nghĩa cho dữ liệu
Tìm các số liệu thống kê khác nhau từ dữ liệu
Trực quan hóa dữ liệu bằng cách sử dụng các biểu đồ và đồ thị, chẳng hạn như biểu đồđường, biểu đồ cột, biểu đồ tần suất và biểu đồ tròn
10
Trang 10XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
Các nhà khoa học dữ liệu sử dụng những thư viện ML của Python để đào tạo các mô hình
ML và xây dựng các công cụ phân loại giúp phân loại dữ liệu một cách chính xác Cácchuyên gia từ nhiều lĩnh vực sử dụng những công cụ phân loại dựa trên Python để thựchiện các tác vụ phân loại, chẳng hạn như phân loại hình ảnh, văn bản cũng như lưu lượngtruy cập mạng, nhận dạng giọng nói và nhận diện khuôn mặt Các nhà khoa học dữ liệucũng sử dụng Python cho deep learning, một kỹ thuật ML nâng cao
1.2.2 Giới thiệu về PyCharm
Pycharm là một nền tảng kết kết hợp được JetBrains phát triển như một IDE (Môi
trường phát triển tích hợp) để phát triển các ứng dụng cho lập trình trong Python.
Các tính năng của pycharm
Pycharm có thể chạy trên Windows, Linux, hoặc Mac OS Ngoài ra, nó cũng chứa các Mô đun và các gói giúp các lập trình viên phát triển phần mềm bằng Python trong thờigian ngắn với ít công sức hơn Hơn nữa, nó cũng có khả năng tùy chỉnh theo yêu cầu của nhà phát triển
Khi cài đặt Pycharm, LTV có thể sử dụng một số tính năng sau:
Trình chỉnh sửa mã thông minh:
- Giúp các lập trình viên viết mã chất lượng cao
- Bao gồm các lược đồ màu cho các từ khóa, lớp và hàm Điều này giúp tăng khảnăng đọc và hiểu mã
- LTV có thể xác định vị trí của một phần tử, một ký hiệu hoặc một biến trong mã
nguồn trong thời gian ngắn khi sử dụng Pycharm
- Bằng việc sử dụng chế độ thấu kính, nhà phát triển có thể kiểm tra và gỡ lỗi toàn
bộ mã nguồn
Tái cấu trúc
- Sử dụng Pycharm có lợi thế là thực hiện các thay đổi hiệu quả và nhanh chóng đối
với cả biến cục bộ và biến toàn cục
- Tái cấu trúc trong Pycharm cho phép các nhà phát triển cải thiện cấu trúc bêntrong mà không thay đổi hiệu suất bên ngoài của mã
- Nó cũng cho phép phân chia các lớp với các chức năng mở rộng hơn
Trang 11XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
CHƯƠNG 2 TIỀN XỬ LÝ DỮ LIỆU2.1 THU THẬP DỮ LIỆU
Bộ dữ liệu dataset trong bài báo cáo này được lấy từ một trang web khá nổi tiếng có tên là Kaggle Đây là là một trong những nền tảng tốt nhất trong Machine Learning và Data Science Nếu hỏi bất kỳ những người đam mê với dữ liệu, những người chuyên nghiên cứu về mảng Machine Learning, Data Science,… thì độ tin cậy của trang web này khỏi phải bàn
Dưới đây là hình ảnh minh họa của bộ dataset từ trang Kaggle:
Hình 2.1 - Hình ảnh mô tả bộ dataset từ trang Kaggle
Trang 12XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
Year_experience dùng để chỉ ra số năm kinh nghiệm được tích lũy của ứng cửviên
2.2.6 Trường main_programing_language
Trang 13XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
Trường main programing language được thiết kế với kiểu dữ liệu là String domain programing language được hình thành từ cả số, chữ cái, ký tự đặc biệt đã nênkhông thể dùng kiểu cơ bản khác
main programing language dùng để chỉ ra ngôn ngữ lập trình chính mà ứng cửviên đang sử dụng
2.2.7 Trường salary_per_month
Trường salary_per_month được thiết kế với kiểu dữ liệu là Numeric dosalary_per_month được hình thành từ cả ký tự số nên không thể dùng kiểu cơ bảnkhác
Salary_per_month dùng để chỉ ra tiền lương thu nhập mỗi tháng của ứng cử viên
2.3 TRỰC QUAN HÓA DỮ LIỆU
Hình 2.1 - Hình ảnh thống kê số lượng người theo từng thang điểm knowledge
Trang 14XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
Hình 2.2 - Hình ảnh thống kê số lượng người theo từng thang điểm technical
Trang 15XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
Hình 2.3 - Hình ảnh thống kê số lượng người theo từng thang điểm technical
Hình 2.4 - Hình ảnh thống kê số lượng người dựa theo số năm kinh nghiệm tích lũy
Hình 2.5 - Bảng tổng quan về bộ dự liệu
Trang 16XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
CHƯƠNG 3 THIẾT KẾ MÔ HÌNH3.1 GIỚI THIỆU MÔ HÌNH
3.1.1 Khi nào sử dụng Multiple Linear Regression
Hồi quy tuyến tính bội là một phần mở rộng của hồi quy tuyến tính đơn.Nóđược sử dụng khi chúng ta muốn dự đoán giá trị của một biến phản hồi dựa trên giá trịcủa hai hoặc nhiều biến giải thích khác.Biến chúng ta muốn dự đoán được gọi là biếnphản hồi (hoặc đôi khi là biến phụ thuộc).Các biến mà chúng ta đang sử dụng để dựđoán giá trị của biến phản hồi được gọi là các biến giải thích (hoặc đôi khi là biến dựbáo, biến phụ thuộc) Ví dụ, chúng ta có thể sử dụng hồi quy bội số để hiểu liệu có thểdự đoán kết quả kỳ thi Toán giải thích dựa trên thời gian ôn tập, và giới tính của sinhviên hay không
3.1.2 Giả thuyết vô hiệu và suy luận thống kê
Khi có nhiều hơn một biến độc lập, mô hình phù hợp tổng thể được đánh giábằng thống kê F (F statistic) Giả thuyết vô hiệu được thử nghiệm liên quan đến tất cảcác tham số hồi quy ngoại trừ điểm chặn Ví dụ, nếu có ba biến giải thích trong môhình thì giả thuyết vô hiệu sẽ là: H0: β1 = β2 = β3 = 0 Thống kê F được đánh giá là tỷ
lệ giữa bình phương trung bình của mô hình so với bình phương trung bình của sai số
3.1.3 Các giả định thống kê
Khi phân tích dữ liệu bằng cách sử dụng hồi quy tuyến tính, một phần của quytrình bao gồm việc kiểm tra để đảm bảo rằng dữ liệu muốn phân tích thực sự có thểđược phân tích bằng hồi quy tuyến tính.Tập dữ liệu cần vượt qua các giả định cần thiếtcho hồi quy tuyến tính để cung cấp kết quả hợp lệ
Việc đo lường biến phản hồi Y ít nhất phải liên tục về mặt lý thuyết (Ví dụ: cóthể sử dụng điểm trên thang đánh giá; 0, 1, 2, 3 n) và trong hồi quy bội, một hoặcnhiều biến giải thích có thể là nhị phân (ví dụ: trong hồi quy, chúng được gọi là biếngiả dummy variables, giới tính biến nhị phân có thể được mã hóa là 0 = nam, 1 =nữ).Mối quan hệ giữa các biến phản hồi và giải thích phải gần đúng tuyến tính Xácminh bằng cách vẽ biểu đồ của biến phản hồi so với từng biến độc lập trong mô hình.Mối tương quan mạnh mẽ được biểu thị bằng xu hướng đường thẳng rõ ràng trong sựphân tán của các điểm.Sai số (error) trong mô hình hồi quy, ε, nên có phân phối xácsuất chuẩn Các phần dư (residuals) trong phân tích hồi quy đại diện cho các ướclượng mẫu của các sai số Chúng phải có giá trị trung bình bằng 0 và phương saikhông đổi (điều này được gọi là đồng nhất homoscedasticity) Lưu ý rằng cả biến phảnhồi hoặc biến giải thích đều không bắt buộc phải có phân phối chuẩn, chính các phần
dư phù hợp mới là chuẩn
Xác minh giả định về tính chuẩn bằng cách thực hiện vẽ biểu đồ xác suất chuẩncủa các phần dư Phân phối của phần dư chỉ cung cấp dấu hiệu về sự phân bố sai số cơ
Trang 17XÂY DỰNG MÔ HÌNH DỰ ĐOÁN MỨC LƯƠNG CỦA ỨNG CỬ VIÊN CÔNG NGHỆ THÔNG TIN
bản (underlying error distribution) trong dân số và có thể không đáng tin cậy với các
cỡ mẫu nhỏ Cách diễn giải đồ thị xác suất chuẩn theo cách tương tự như đã mô tảtrong bài Kiểm tra phân phối chuẩn
Xác minh giả định về phương sai không đổi (hoặc xác minh sự đồng nhất) bằngcách vẽ biểu đồ phần dư so với các giá trị dự đoán Sự phân tán ngẫu nhiên của cácđiểm về giá trị trung bình bằng 0 chỉ ra phương sai không đổi và thỏa mãn giả địnhnày Tức là các phương sai dọc theo đường phù hợp nhất vẫn tương tự khi bạn dichuyển dọc theo đường Một mô hình hình phễu cho biết phương sai không hằng số.Những quan sát bên ngoài kì dị có thể dễ dàng phát hiện ra trên biểu đồ này
Dữ liệu không được xuất hiện đa cộng tuyến (multicollinearity), xảy ra khi cóhai hoặc nhiều biến độc lập có tương quan cao với nhau Điều này dẫn đến các vấn đềtrong việc hiểu biến độc lập nào góp phần vào phương sai được giải thích trong biếnphụ thuộc, cũng như các vấn đề kỹ thuật trong việc tính toán mô hình hồi quy bội số
Tất cả các giả định đều quan trọng nhưng một số giả định còn hơn cả những giảđịnh khác Kinh nghiệm cho phép nhà nghiên cứu đánh giá xem các giả định có thểđược nới lỏng đến mức nào trước khi các suy luận bị vô hiệu đây cũng là một nghệthuật giống như một môn khoa học Ví dụ, việc thiếu tính chuẩn của các phần dưkhông phải là điều quan trọng, nhưng sai số chuẩn (standard errors) có thể bị thổiphồng Tương tự, việc thiếu phương sai không đổi không có khả năng làm sai lệchnghiêm trọng các hệ số hồi quy nhưng các giá trị p liên quan sẽ cần được diễn giải mộtcách thận trọng Vi phạm nghiêm trọng nhất là một sự ra đi đáng kể so với tuyến tính.Trong tình huống này, việc chuyển đổi dữ liệu hoặc một phương pháp phân tích thaythế nên được xem xét
3.2 GIAI ĐOẠN HUẤN LUYỆN (TRAINING)
3.2.1 Phân chia tập huấn luyện
- Đầu tiên, mô hình này sẽ cần import một số thư viện để thao tác dễ dàng hơn như:speech_recognition, os,playsound, wikipedia,webbrowser, datetime từ thư việndatetime và gTTS và thư viện gtts