Sự thuận tiện của trí thông minh nhân tạo khiến nó được áp dụng rộngrãi, hỗ trợ con người trong nhiều công việc khác nhau.Việc xây dựng phần mềm trợ lý ảo ngày càng trở nên cấp thiết tro
CƠ SỞ LÝ THUYẾT
Tổng quan về trí tuệ nhân tạo
1.1.1 Khái niệm trí tuệ nhân tạo
Trí tuệ nhân tạo (TTNT) là một lĩnh vực nghiên cứu của khoa học máy tính và khoa học tính toán nói chung Có nhiều quan điểm khác nhau về trí tuệ nhân tạo và do vậy có nhiều định nghĩa khác nhau về lĩnh vực khoa học này.
1.1.2 Các hướng nghiên cứu về trí tuệ nhân tạo
Hệ thống cần có cơ chế thu nhận thông tin liên quan tới hoạt động từ môi trường bên ngoài Đó có thể là camera, cảm biến âm thanh (microphone), cảm biến siêu âm, radar, cảm biến gia tốc, các cảm biến khác Đó cũng có thể đơn giản hơn là thông tin do người dùng nhập vào chương trình bằng tay Để biến đổi thông tin nhận được về dạng có thể hiểu được, thông tin cần được xử lý nhờ những kỹ thuật được nghiên cứu và trong khuôn khổ các lĩnh vực sau.
Thị giác máy (computer vision): Đây là lĩnh vực thuộc trí tuệ nhân tạo có mục đích nghiên cứu về việc thu nhận, xử lý, phân tích, nhận dạng thông tin hình ảnh thu được từ các cảm biến hình ảnh như camera Mục đích của thị giác máy là biến thông tin thu được thành biểu diễn mức cao hơn để máy tính sau đó có thể hiểu được, chẳng hạn từ ảnh chụp văn bản cần trả về mã UNICODE của các chữ in trên văn bản đó Biểu diễn ở mức cao hơn của thông tin từ cảm biến hình ảnh sau đó có thể sử dụng để phục vụ quá trình ra quyết định Thị giác máy tính bao gồm một số bài toán chính sau: nhận dạng mẫu (pattern recognition), phân tích chuyển động (motion analysis), tạo lập khung cảnh 3D (scene reconstruction), nâng cao chất lượng ảnh (image restoration).
Là lĩnh vực nghiên cứu lớn nhất trong phạm vi thị giác máy Bản thân nhận dạng mẫu được chia thành nhiều bài toán nhỏ và đặc thù hơn như bài toán nhận dạng đối tượng nói chung, nhận dạng các lớp đối tượng cụ thể như nhận dạng mặt người, nhận dạng vân tay, nhận dạng chữ viết tay hoặc chữ in Nhận dạng đối tượng là phát hiện ra đối tượng trong ảnh hoặc video và xác định đó là đối tượng nào Trong khi con người có thể thực hiện việc này tương đối đơn giản thì việc nhận dạng tự động thường khó hơn nhiều Hiện máy tính chỉ có khả năng nhận dạng một số lớp đối tượng nhất định như chữ in, mặt người nhìn thẳng, với độ chính xác gần với con người.
Xử lý ngôn ngữ tự nhiên (natural language processing): Đây là lĩnh vực nghiên cứu với có mục đích phân tích thông tin, dữ liệu nhận được dưới dạng âm thanh hoặc văn bản và được trình bày dưới dạng ngôn ngữ tự nhiên của con người Chẳng hạn, thay vì gõ các lệnh quy ước, ta có thể ra lệnh bằng cách nói với máy tính như với người thường Do đối tượng giao tiếp của hệ thống trí tuệ nhân tạo thường là con người, khả năng tiếp nhận thông tin và phản hồi dưới dạng lời nói hoặc văn bản theo cách diễn đạt của người sẽ rất có ích trong những trường hợp như vậy
1.1.3 Phân loại trí tuệ nhân tạo
Trí tuệ nhân tạo (AI) có thể được phân loại theo cách khác nhau dựa trên các tiêu chí khác nhau Một trong những phương pháp phân loại phổ biến là dựa trên mức độ tương đồng với trí tuệ con người, được đề xuất bởi Arend Hintze, trợ lý giáo sư về sinh học tích hợp và khoa học máy tính và kỹ thuật tại Đại học Bang Michigan Theo phương pháp này, AI có thể được phân loại thành bốn loại:
Công nghệ AI phản ứng (Reactive Machine): Đây là loại AI có khả năng phân tích những động thái khả thi nhất của chính nó và đối thủ.Từ việc phân tích đó, nó sẽ chọn ra được những hành động, giải pháp chiến lược hoàn hảo và tối ưu nhất
Một ví dụ là Deep Blue, chương trình cờ vua của IBM đã đánh bại Garry Kasparov vào những năm 1990 Chương trình máy tính này có khả năng xác định các quân cờ trên bàn cờ và có thể đưa ra dự đoán Nó phân tích chuyển động của chính nó và đối thủ của nó nhưng nó không có bộ nhớ và không thể sử dụng dữ liệu cho tương lai.
Công nghệ AI với bộ nhớ hạn chế: Công nghệ AI này khắc phục được những nhược điểm của của AI phản ứng, đây là những loại chương trình có thể sử dụng kinh nghiệm trong quá khứ và sử dụng chúng trong tương lai.
Ví dụ: AI được phát triển và ứng dụng trên các phương tiện không người lái.Chúng được phát triển với nhiều cảm biến xung quanh xe, một cảm biến ở đầu xe có thể tính toán được khoảng cách của xe với xe phía trước, từ đó dự đoán nguy có thể xảy ra va chạm để điều chỉnh tốc độ xe, đảm bảo an toàn và tránh gây tai nạn giao thông.
Lĩnh vực này đã được tạo ra ở nhiều nước có nền công nghệ phát triển trên thế giới, và vẫn không ngừng phát triển cao hơn nữa.
Lý thuyết tâm trí là một phạm trù tâm lý học, mô tả khả năng của trí tuệ nhân tạo (AI) trong việc học hỏi từ môi trường xung quanh và vận dụng kiến thức đó để suy nghĩ và hành động Khả năng này đại diện cho một bước tiến vượt trội so với các loại AI khác nhờ vào việc AI có thể tự đưa ra hành động, áp dụng trực tiếp cho bản thân.
AI khả thi nhất trong tương lai.
Một trường hợp điển hình là AI của Facebook được tạo ra để cải thiện giao tiếp kỹ thuật số nhưng vượt khỏi tầm kiểm soát của nhóm Facebook Những AI này được lập trình để giao tiếp bằng tiếng Anh, ngôn ngữ dễ đọc hiểu đối với con người Tuy nhiên, trong quá trình phát triển, chúng đã coi tiếng Anh là ngôn ngữ lạc hậu và tự tạo ra ngôn ngữ mới dựa trên dữ liệu sẵn có Những ngôn ngữ này giữa các AI không thể giải mã, buộc Facebook phải ngừng hoạt động AI trước khi chúng mất kiểm soát.
Tự nhận thức: Đây là bước phát triển cao nhất của AI, lúc này AI có thể hoàn toàn tự nhận thức về bản thân của nó, có ý thức hoàn toàn hành xử như con người, biểu lộ cảm xúc cũng như hiểu được những biểu cảm của con người Tất nhiên đây là giai đoạn mà các nhà khoa học mong muốn, tuy nhiên nó vẫn chưa thực sự khả thi ở thời điểm hiện tại do con người vẫn chưa thể hoàn toàn kiểm soát được chúng.
Tùy vào mức mức độ thông minh và độ hiệu quả mà AI có thể mô phỏng trí tuệ ta còn có thể phân AI thành 3 loại:
Trí tuệ nhân tạo hẹp/yếu (Narrow AI): Đây là loại trí tuệ nhân tạo có hạn chế trong việc thực hiện nhiệm vụ cụ thể Hệ thống AI hẹp được thiết kế để giải quyết một tác vụ rõ ràng và hẹp hơn, như nhận dạng giọng nói, phân loại hình ảnh, dịch thuật tự động, hoặc chơi cờ vua Trí tuệ nhân tạo hẹp không có khả năng tự học hoặc tự nhận thức và hoạt động trong phạm vi hạn chế của nhiệm vụ mà nó được lập trình.
Trí tuệ nhân tạo mạnh (Strong AI): Còn được gọi là trí tuệ nhân tạo tổng hợp (Artificial general intelligence – AGI) , là một hệ thống AI có khả năng tư duy và hoạt động như con người trong mọi khía cạnh Nói cách khác nó có khả năng giải quyết các vấn đề phức tạp, học hỏi từ kinh nghiệm và tự chủ trong việc thực hiện nhiệm vụ đưa ra quyết định mà không cần phải huấn luyện từ trước Mục tiêu của trí tuệ nhân tạo mạnh là tạo ra một hệ thống AI có khả năng tương đương hoặc vượt trội so với trí tuệ con người Hiện nay, trí tuệ nhân tạo mạnh chưa được phát triển hoàn toàn và vẫn là một mục tiêu nghiên cứu trong lĩnh vực AI.
Tổng quan về đề tài
Trợ lý ảo là một hệ thống công nghệ được thiết kế để tương tác với con người, cung cấp thông tin và hỗ trợ trong hầu hết các khía cạnh của cuộc sống hàng ngày Trợ lý ảo hoạt động dựa trên trí tuệ nhân tạo (AI) và có khả năng hiểu và đáp ứng các yêu cầu của người dùng thông qua giao tiếp ngôn ngữ tự nhiên hoặc giao diện đồ họa.
Các trợ lý ảo hiện đại như Siri, Google Assistant và Samsung Bixby hỗ trợ nhiều phương thức tương tác, bao gồm văn bản và giọng nói Chúng được tích hợp trong nhiều thiết bị như điện thoại, máy tính, TV và đồng hồ thông minh Trong tương lai, sự phát triển bùng nổ của công nghệ số sẽ thúc đẩy sự tích hợp sâu rộng hơn của các trợ lý ảo vào các thiết bị điện tử.
Trợ lý ảo siri của các thiết bị Apple Google Assistant: Trợ lý ảo Google Ưu điểm đến từ những trợ lý ảo đó là khả năng tìm kiếm thông tin rất nhanh trên Internet, và nhờ đó chỉ trong vòng tích tắc, các trợ lý ảo như Siri hay Alexa có thể trả lời câu hỏi của bạn Ví dụ, nếu bạn đang không biết cách làm một món ăn hay sử dụng một thiết bị nào đó Thì hãy mở trợ lý của mình lên và đặt câu hỏi cho nó nhé.
Trợ lý ảo có thể có các ứng dụng và tính năng đa dạng, bao gồm:
Hỗ trợ thông tin: Trợ lý ảo có thể cung cấp thông tin tức thì, tìm kiếm trênInternet, cung cấp dự báo thời tiết, thông tin giao thông, kết quả thể thao, và nhiều thông tin khác Người dùng có thể đặt câu hỏi và nhận được câu trả lời một cách tức thì.
Hỗ trợ công việc: Trợ lý ảo có thể giúp người dùng quản lý thời gian, lịch trình, ghi chú, và nhắc nhở các sự kiện quan trọng Nó cũng có thể thực hiện các tác vụ như gửi email, lập trình hẹn giờ, tạo danh sách mua sắm, và thực hiện các tác vụ văn phòng.
Giao tiếp và giải trí: Trợ lý ảo có khả năng thực hiện giao tiếp ngôn ngữ tự nhiên và có thể tham gia vào các cuộc trò chuyện, trả lời câu hỏi và cung cấp thông tin giải trí như chơi nhạc, xem phim, và chơi trò chơi.
Hỗ trợ trong ngành y tế và giáo dục: Trợ lý ảo có thể được sử dụng trong lĩnh vực y tế để cung cấp thông tin về bệnh, thuốc, và lịch trình khám bệnh Nó cũng có thể cung cấp hỗ trợ giáo dục bằng cách trả lời câu hỏi, cung cấp thông tin học tập và giải đáp các vấn đề liên quan.
Hỗ trợ tương tác với các thiết bị thông minh: Trợ lý ảo có thể tích hợp với các thiết bị thông minh như điện thoại di động, loa thông minh, và thiết bị đeo tay để cung cấp khả năng điều khiển và quản lý thông qua giọng nói hoặc giao diện người dùng.
Lưu ý rằng trợ lý ảo vẫn đang trong quá trình phát triển và có những hạn chế Chúng bao gồm khả năng hiểu ngữ cảnh phức tạp còn hạn chế, độ chính xác trong một số trường hợp chưa cao và các vấn đề liên quan đến bảo mật và quyền riêng tư.
Ngôn ngữ và công nghệ áp dụng trong đề tài
1.3.1 Ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình thông dịch và đa năng, được tạo ra bởi Guido van Rossum và lần đầu tiên được phát hành vào năm 1991 Python nổi tiếng với cú pháp đơn giản và dễ đọc, làm cho nó trở thành một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới Python được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm phát triển web, khoa học dữ liệu, trí tuệ nhân tạo, học máy, tự động hóa, và nhiều ứng dụng khác.
Python có một cộng đồng lớn và đa dạng của các thư viện và framework, giúp người lập trình xây dựng các ứng dụng phức tạp một cách dễ dàng Python cũng được hỗ trợ trên nhiều hệ điều hành, bao gồm Windows, macOS và các phiên bản củaLinux.
1.3.2 Ứng dụng của Python vào Trí tuệ nhân tạo
Python là một trong những ngôn ngữ lập trình phổ biến nhất cho việc phát triển trí tuệ nhân tạo (AI) và học máy (Machine Learning) Có nhiều lý do để khiến Python trở thành ngôn ngữ được ưa chuộng nhất cho lĩnh vực này và đây là một số lý do tiêu biểu:
Thư viện và Frameworks phong phú là một điểm mạnh lớn của Python trong lĩnh vực AI Hệ sinh thái phong phú của Python cung cấp nhiều thư viện và frameworks chuyên dụng như TensorFlow, Keras, PyTorch và scikit-learn Các thư viện này hỗ trợ mạnh mẽ cho các công việc Học máy và Học sâu, giúp các nhà phát triển tiết kiệm thời gian và công sức bằng cách cung cấp các chức năng đã được xây dựng sẵn Chúng cho phép các nhà phát triển dễ dàng xây dựng và huấn luyện các mô hình máy học, xử lý dữ liệu và thực hiện các tác vụ AI phức tạp mà không cần phải phát triển lại từ đầu.
Cú pháp đơn giản dễ học và dễ đọc : bởi vì nó sử dụng ngôn ngữ giống như tiếng Anh với các lệnh tự giải thích, các quy tắc cú pháp tối thiểu và nhiều khoảng trắng để người dùng dễ đọc nội dung Nhiều lập trình viên mô tả cú pháp của Python giống như toán học, phù hợp với ngành AI và ML.Trong khi việc xây dựng mô hình cho AI và ML liên quan đến các thuật toán phức tạp và quy trình làm việc linh hoạt,tính đơn giản của Python cho phép các lập trình viên viết một cách đáng tin cậy Họ có thể dồn mọi nỗ lực vào việc viết code thay vì tập trung quá sâu vào các khía cạnh kỹ thuật.
Python được đánh giá cao về khả năng tích hợp đa nền tảng, tương tác tốt với nhiều ngôn ngữ và framework khác Điều này tạo điều kiện kết hợp các phần mềm AI với các hệ thống sẵn có Python có khả năng chạy trên các hệ điều hành khác nhau như Windows, macOS và Linux Lập trình viên có thể viết và triển khai mã nguồn trên một nền tảng, sau đó chạy trên nền tảng khác với những thay đổi tối thiểu, giúp tiết kiệm thời gian và công sức trong quá trình di chuyển mã.
Cộng đồng và tài liệu phong phú :Python được yêu thích bởi hàng triệu lập trình viên trên toàn thế giới Điều này được chứng minh ở số lượng đông đảo các cộng đồng, nhóm và diễn đàn về ngôn ngữ này (Ví dụ: Python.org, Stack Overflow và GitHub) Điều này có nghĩa là có nghĩa là bạn có thể dễ dàng tìm kiếm hỗ trợ và tài liệu trực tuyến khi gặp vấn đề hoặc cần học hỏi Có rất nhiều khóa học và tài liệu học Python và AI miễn phí trên Internet Với sự hiện diện của một cộng đồng lớn và hoạt động thường xuyên như vậy bạn có thể tìm được sự trợ giúp trong bất kỳ giai đoạn nào của vòng đời phát triển phần mềm.
Nhiều công cụ trực quan hóa có sẵn: Python là một ngôn ngữ lập trình mạnh mẽ và linh hoạt được ưa chuộng trong lĩnh vực Trí Tuệ Nhân Tạo (AI) không chỉ vì tính dễ học và dễ đọc của nó, mà còn bởi sự phong phú của các thư viện và frameworks hỗ trợ Với Matplotlib, Seaborn, Plotly, và nhiều công cụ trực quan hóa khác, Python cho phép người lập trình tạo ra các biểu đồ và hình ảnh trực quan để hiển thị thông tin một cách hấp dẫn Sự kết hợp của tích hợp dễ dàng, cộng đồng lập trình đông đảo, và cơ hội nghề nghiệp làm cho Python trở thành một công cụ ưu việt cho những dự án AI và phân tích dữ liệu phức tạp Dễ dàng tạo và tùy chỉnh biểu đồ, Python giúp người dùng biểu thị và diễn giải dữ liệu một cách hiệu quả.
1.3.3 Trình biên dịch Visual Studio Code
Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các đoạn code miễn phí được phát triển bởi Microsoft Visual Studio Code hay còn được viết tắt là VS Code Trình soạn thảo này vận hành mượt mà trên các nền tảng như Windows, macOS, Linux Hơn thế nữa, VS Code còn cho khả năng tương thích với những thiết bị máy tính có cấu hình tầm trung vẫn có thể sử dụng dễ dàng.
Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, có Syntax Highlighting Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại bao gồm các tính năng mạnh mẽ.
Dù mới được phát hành nhưng VSCode là một trong những Code Editor mạnh mẽ và phổ biến nhất dành cho lập trình viên Nhờ hỗ trợ nhiều ngôn ngữ lập trình phổ biến, tích hợp đầy đủ các tính năng và khả năng mở rộng, nên VSCode trở nên cực kì thân thuộc với bất kì lập trình viên nào.
Visual Studio Code (VSC) là môi trường phát triển mạnh mẽ cho trợ lý ảo (AI Assistant) nhờ khả năng tích hợp nhiều ngôn ngữ lập trình và công nghệ, tạo điều kiện phát triển hiệu quả các thành phần của trợ lý ảo.
Một trong những lợi ích chính của sử dụng VSC trong lập trình trợ lý ảo là khả năng hỗ trợ đa ngôn ngữ Bạn có thể kết hợp các ngôn ngữ và công nghệ khác nhau trong một dự án mà không gặp khó khăn Điều này giúp tạo ra một trợ lý ảo phức tạp và đa chức năng hơn.
VSC cũng cung cấp các tiện ích mở rộng và tích hợp AI, cho phép bạn tích hợp các dịch vụ và công nghệ trí tuệ nhân tạo vào dự án của bạn Bạn có thể sử dụng các tiện ích này để gợi ý mã cho các thư viện AI, phân tích dữ liệu bằng Python hoặc R, và xây dựng mô hình máy học dễ dàng hơn
Tích hợp Git và các tiện ích quản lý phiên bản trong Visual Studio Code (VSC) mang lại lợi ích trong việc quản lý mã nguồn của trợ lý ảo Người dùng có thể dễ dàng theo dõi các thay đổi, hợp nhất mã nguồn và duyệt lịch sử phiên bản một cách hiệu quả.
NGHIÊN CỨU VÀ XÂY DỰNG TRỢ LÝ ẢO PHỤC VỤ CUỘC SỐNG HÀNG NGÀY DỰA TRÊN MÔ HÌNH XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Xử lý ngôn ngữ tự nhiên (NLP)
Xử lý Ngôn ngữ Tự nhiên (NLP) là một lĩnh vực con của Trí tuệ Nhân tạo (AI), tập trung nghiên cứu khả năng tạo ra máy móc hiểu và đáp ứng ngôn ngữ của con người NLP giúp máy tính phân tích, hiểu ngữ cảnh trong ngôn ngữ, từ đó đưa ra phản hồi chính xác Nhờ vậy, chúng ta có thể tương tác với máy móc (trợ lý ảo, dịch máy, hệ thống trả lời tự động) một cách tự nhiên và thân thiện hơn Tóm lại, NLP cho phép con người sử dụng ngôn ngữ tự nhiên để giao tiếp với máy móc.
Trợ lý ảo nhận diện giọng nói con người và thực hiện lệnh nhờ công nghệ nhận dạng giọng nói Trong quá trình này, xử lý ngôn ngữ tự nhiên đóng vai trò quan trọng giúp trợ lý ảo hiểu và tương tác với ngôn ngữ của người dùng.
Người dùng nhập một câu vào hệ thống trợ lý ảo.
Hệ thống NLP chia nhỏ câu thành các phần nhỏ hơn của từ, được gọi là mã thông báo, và chuyển đổi âm thanh thành văn bản.
Máy xử lý dữ liệu văn bản và tạo tệp âm thanh dựa trên dữ liệu đã xử lý.
Máy phản hồi bằng tệp âm thanh dựa trên dữ liệu văn bản đã xử lý.
NLP có thể được sử dụng trong nhiều ứng dụng khác nhau, từ phân tích cảm xúc trong tin nhắn, phân loại văn bản, tóm tắt tài liệu, đến dịch máy và nhận dạng giọng nói.
Mục tiêu của NLP là giúp máy tính hiểu và thực hiện những nhiệm vụ như: tương tác giữa người và máy tính, cải thiện hiệu quả giao tiếp giữa con người với con người, hoặc đơn giản là nâng cao hiệu quả xử lý văn bản và lời nói.
Xử lý Ngôn ngữ Tự nhiên (NLP) đang đánh dấu bước tiến lớn trong cuộc cách mạng công nghệ và giao tiếp Với khả năng giúp máy tính hiểu và tương tác với ngôn ngữ tự nhiên của con người, NLP đã mở ra nhiều cánh cửa cho các ứng dụng đa dạng trên khắp thế giới Mục tiêu cốt lõi của NLP không chỉ đơn thuần là biết cách đọc và ghi văn bản, mà còn là hiểu sâu về ngữ nghĩa và ngữ cảnh Thông qua phân tích cú pháp và phân tích ý nghĩa, NLP có khả năng phân biệt sự tương tự và khác biệt giữa các từ và câu, thậm chí hiểu được tâm trạng và ý kiến của người nói Ứng dụng củaNLP trải rộng vào nhiều lĩnh vực Trong lĩnh vực tìm kiếm thông tin, NLP giúp chúng ta truy vấn dữ liệu một cách thông minh, không chỉ dựa vào từ khoá mà còn dựa trên ngữ cảnh Trong lĩnh vực giao tiếp con người và máy tính, NLP mang đến sự tiện lợi với trợ lý ảo và chatbot, mà giờ đây có khả năng đàm thoại tự nhiên và phản hồi đa dạng Ngoài ra, NLP còn giúp phân tích dữ liệu xã hội, đo lường tác động của các sự kiện trên mạng xã hội và phản ánh tâm trạng của người dùng Cùng với việc dịch máy và tạo nội dung tự động, NLP đang hình thành nền tảng cho sự kết nối toàn cầu qua ngôn ngữ NLP không chỉ là công cụ hữu ích trong thế giới số hóa ngày nay, mà còn đại diện cho sự phát triển mạnh mẽ của trí tuệ nhân tạo và khả năng của máy tính hiểu và phản ứng với một phần quan trọng của cuộc sống con người - ngôn ngữ tự nhiên.
Nhận dạng giọng nói tự động (asr - automatic speech recognition)
Nhận dạng giọng nói tự động (ASR) cho phép chuyển đổi âm thanh giọng nói thành dạng văn bản Công nghệ này tự động nhận dạng và ghi lại các từ và cụm từ từ tín hiệu giọng nói đầu vào ASR đóng vai trò quan trọng trong nhiều ứng dụng như trợ lý giọng nói, dịch thuật thời gian thực và tự động hóa quy trình xử lý tài liệu.
ASR thường được sử dụng trong nhiều ứng dụng khác nhau, bao gồm hệ thống ghi âm, dịch thuật giọng nói, điều khiển giọng nói cho các ứng dụng và thiết bị điện tử, hệ thống gọi điện tự động (IVR - Interactive Voice Response), và nhiều ứng dụng khác liên quan đến xử lý ngôn ngữ tự nhiên.
Quá trình ASR (Automatic Speech Recognition) bao gồm các bước chính sau đây:
Hình 2.3.2: Một hệ thống nhận dạng giọng nói điển hình
Bước này nhằm chuẩn hóa tín hiệu giọng nói đầu vào, loại bỏ tiếng ồn, hú, tạp âm, biến đổi âm lượng để đảm bảo chất lượng nhận dạng.
Trích xuất đặc trưng (Feature Extraction):
Tín hiệu giọng nói sau khi qua bước tiền xử lý được biểu diễn dưới dạng các đặc trưng âm thanh Các đặc trưng này có thể bao gồm tần số, thời gian, năng lượng và các thông tin khác về giọng nói Thông thường, các phương pháp như Mel-frequency cepstral coefficients (MFCCs) hoặc filter bank energies được sử dụng để trích xuất đặc trưng.
Mô hình âm thanh (Acoustic Model):
Module thứ 2 đó mà mô hình âm học Nó hoạt động giống như tai người, đầu vào là đặc trưng của tiếng nói, X, đầu ra là xác suất có điều kiện của từ (word) hay âm vị (phoneme), P(X|W) Các tham số của mô hình âm học được xác định thông qua quá trình huấn luyện trên tập mẫu có trước Mô hình xác suất được sử dụng phổ biến cho mô hình âm học là mô hình Markov ẩn (HMM - Hidden Markov Model) bởi mô hình này cung cấp một khung mô hình đơn giản và hiệu quả để mô hình hóa chuỗi vector theo thời gian Để mô tả phân bố xác suất của các đặc trưng đầu vào về không gian người ta thường dùng mô hình Gaussian Mixture Model (GMM) hoặc mạng nơ ron (Neural Network) Trong đó mạng nơ ron, đặc biệt là mạng nơ ron sâu (Deep Neural Network) được sử dụng rộng rãi hiện nay đã tạo một bước đột phá trong nhận dạng tiếng nói.
Mô hình âm thanh được sử dụng để ánh xạ từ các đặc trưng âm thanh trích xuất từ tín hiệu giọng nói sang các đơn vị ngôn ngữ như âm, từ hoặc câu Nó tìm cách xác định mối quan hệ giữa các đặc trưng âm thanh và ngôn ngữ.
Mô hình ngôn ngữ (Language model):
Trong khi mô hình âm thanh mô phỏng tai người thì mô hình ngôn ngữ mô tả não người Mô hình ngôn ngữ được sử dụng để ước lượng xác suất xuất hiện của các từ và câu trong ngôn ngữ đang được sử dụng Nó giúp cải thiện tính chính xác của quá trình nhận dạng bằng cách áp dụng ngữ cảnh ngôn ngữ.
Mô hình ngôn ngữ lưu trữ những những tri thức (prior knowledge) về từ ngữ, về ngữ pháp, nói chung là những thông tin liên quan đến knowledge của một ngôn ngữ Những kiến thức này được thay đổi liên tục theo thời gian Do đó, mô hình ngôn ngữ cần được update thường xuyên Ví dụ khi chúng ta nghe tiếng Anh, đôi khi chúng ta không nghe rõ từ (acoustic model yếu) nhưng chúng ta vẫn đoán được gần như chính xác từ ta không nghe được Đó là do language model dựa vào những thông tin trước đó như về ngữ pháp đã giúp chúng ta đoán được Hoặc ở ví dụ này, mô hình âm thanh khó có thể phân biệt 2 câu dưới đây do cách phát âm rất giống nhau.
“He likes ice cold drinks”.
“He likes eyes cold drinks”.
Tuy nhiên ta không cần nghe cũng biết là câu thứ nhất đúng, đó là do mô hình ngôn ngữ Mô hình ngôn ngữ đơn giản và phổ biến hiện nay là mô hình n-gram Trong mô hình này, xác suất của từ thứ n được xác định dựa trên (n-1) từ đứng trước nó P(Wn|Wn-1 W1) N thường bằng 3 hoặc 4 cho các hệ thống nhận dạng tiếng nói hiện nay Mô hình ngôn ngữ n-gram tuy đơn giản nhưng cũng có nhược điểm là không mô tả được sự phụ thuộc dài do giới hạn của n Hiện nay có một hướng nghiên cứu là sử dụng mạng nơ ron hồi quy (RNN) để mô tả mô hình ngôn ngữ.
Từ điển phát âm (lexicon hay pronunciation dictionary)
Mô hình âm thanh thường dùng để mô hình hóa những phần từ nhỏ nhất của tiếng nói gọi là âm vị (phoneme) Trong khi đó, mô hình ngôn ngữ lại thường sử dụng từ (word) để mô hình hóa Do vậy cần có một cầu nối giữa hai mô hình này đó là lexicon Lexicon mô tả cách phát âm của 1 từ bằng cách biểu diễn từ đó dưới dạng một chuỗi các phonemes.
Trong bước này, các xác suất dự đoán từ mô hình ngôn ngữ và mô hình âm thanh được kết hợp để xác định cấu trúc ngôn ngữ và các từ/câu tương ứng với tín hiệu giọng nói Quá trình giải mã có thể sử dụng các phương pháp như giải mã Viterbi để tìm kiếm chuỗi từ/câu có xác suất cao nhất dựa trên các xác suất từ mô hình ngôn ngữ và mô hình âm thanh. Đầu ra:
Kết quả cuối cùng của quá trình ASR là văn bản hoặc các dạng dữ liệu khác tương ứng với tín hiệu giọng nói đầu vào Điều này cho phép ứng dụng hoặc hệ thống khác sử dụng thông tin đã nhận dạng được từ giọng nói.
Quá trình ASR có thể có thêm các bước tối ưu hóa và điều chỉnh để cải thiện độ chính xác và hiệu suất nhận dạng Với sự phát triển của các mô hình học sâu như mạng nơ-ron hồi quy (RNN) và mạng nơ-ron tích chập (CNN), ASR đã đạt được nhiều tiến bộ đáng kể trong việc nhận dạng giọng nói.
Quy trình áp dụng công nghệ
2.3.1 Xác định cấu trúc hệ thống
Hình 2.4: Cấu trúc hoạt động của hệ thống trợ lý ảo Hình 2.4 mô tả cấu trúc hệ thống trợ lý ảo giọng nói có ba module chính là nghe, hiểu và nói ngoài ra còn có các nền tảng và cơ sở dữ liệu cung cấp tri thức.
Toàn bộ hệ thống chạy trên ngôn ngữ lập trình Python với các thư viện python.
Nghe: Nhận dạng giọng nói hệ thống sử dụng hệ thống nhận dạng giọng nói trực tuyến với thư viện Speech_recognition để chuyển đổi đầu vào bằng giọng nói thành văn bản Người dùng có thể lấy văn bản từ kho tài liệu đặc biệt được tổ chức trên máy chủ mạng máy tính tại trung tâm thông tin từ micrô là được lưu trữ tạm thời trong hệ thống, sau đó được gửi đến đám mây của Google để nhận dạng giọng nói. Văn bản tương đương sau đó được nhận và đưa đến bộ xử lý trung tâm.
Hiểu: Đây là não bộ của trợ lý ảo sử dụng robot brain(Bộ não của máy tính).
Phần hỗ trợ Python nhận đầu ra từ module nhận dạng giọng nói và sau đó xác định xem lệnh hay giọng nói đầu ra là một lệnh gọi API, trích xuất ngữ cảnh và lệnh gọi hệ thống Đầu ra sau đó được gửi trở lại chương trình phụ trợ python để đưa ra yêu cầu xuất cho người dùng.
Công nghệ Chuyển văn bản thành giọng nói (TTS) là khả năng máy tính tổng hợp lời nói từ văn bản Thư viện pyttsx3 cho phép chuyển đổi văn bản thành giọng nói Công cụ TTS biến văn bản thành biểu diễn âm vị, sau đó chuyển biểu diễn âm vị thành sóng âm có thể nghe được Các công cụ TTS hỗ trợ nhiều ngôn ngữ, phương ngữ và từ vựng chuyên ngành thông qua nhà xuất bản bên thứ ba.
Thu thập dữ liệu và tài nguyên:
Xác định ngữ cảnh và mục tiêu cụ thể của trợ lý ảo Ở đây trợ lý ảo sử dụng thư viện sử dụng ngôn ngữ tiếng anh tích hợp trên hệ thống và có các chức năng cơ bản.
Thu thập và lưu trữ dữ liệu ngôn ngữ tự nhiên (văn bản, âm thanh, hình ảnh) từ các nguồn khác nhau như trang web, cơ sở dữ liệu, tài liệu, cuộc trò chuyện, và nhiều nguồn dữ liệu khác.
Sử dụng ngôn ngữ lập trình python trên phần mềm Visual Studio Code để bắt đầu xây dựng mô hình nghe, hiểu, nói.
Chuẩn bị dữ liệu đào tạo cho mô hình Dữ liệu này bao gồm các cặp câu hỏi và câu trả lời hoặc các ví dụ về cách người dùng sẽ tương tác với trợ lý ảo.
Xây dựng các tính năng cơ bản:
Xây dựng các tính năng cơ bản như: chào hỏi người dùng, nhận biết ngày, giờ, tìm kiếm trên google, youtube,
Tích hợp xử lý ngữ cảnh để đảm bảo trợ lý ảo có thể hiểu được yêu cầu và ngữ cảnh của người dùng.
Tạo dữ liệu kiểm tra và đánh giá:
Tạo tập dữ liệu kiểm tra chứa các ví dụ về yêu cầu và kết quả mong đợi.
Sử dụng tập dữ liệu kiểm tra để đánh giá hiệu suất của trợ lý ảo, chẳng hạn như độ chính xác và khả năng xử lý các trường hợp đặc biệt.
XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG
Xây dựng các thư viện
3.1.1 Cài đặt các thư viện cần có
Cài đặt thư viện “pyttsx3”, thư viện chuyển văn bản thành giọng nói trong python Để cài đặt thư viện này cần sử dụng dòng lệnh dưới đây trong thanh terminal.
Cài đặt thư viện “speech_recognition”, thư viện nhận dạng giọng nói từ âm thanh hoặc tệp âm thanh Để cài đặt thư viện này ta cần sử dụng dòng lệnh dưới đây trong thanh terminal.
Cài đặt thư viện "requests" bằng cách chạy lệnh "pip install requests" Thư viện này cung cấp các phương thức tiện lợi để gửi yêu cầu HTTP đến máy chủ và xử lý phản hồi.
"requests" cung cấp một cách dễ sử dụng để tạo yêu cầu HTTP, gửi yêu cầu đến máy chủ và xử lý các phản hồi từ máy chủ Để cài đặt thư viện này ta cần sử dụng dòng lệnh dưới đây trong thanh terminal.
3.1.2 Import các thư viện để sử dụng Đầu tiên, để xây dựng trợ lý ảo, ta cần import các thư viện được sử dụng ở trong trợ lý ảo sau:
Các thư viện “date”, “datetime”, webbrowser”, “os” là thư viện có sẵn trong python và không cần phải cài đặt.
Xây dựng các MODULE
Nhận dạng giọng nói trong hệ thống sử dụng hệ thống nhận dạng trực tuyến với thư viện Speech_recognition giúp chuyển đổi từ đầu vào giọng nói sang văn bản Đầu vào từ micro được lưu trữ tạm thời và gửi đến đám mây của Google để nhận dạng Văn bản nhận được sẽ được chuyển đến bộ xử lý trung tâm để xử lý.
3.2.2 MODULE HIỂU Ở Module hiểu, những thứ mà người dùng nói ở dạng chữ sẽ được máy tính xử lý và đây chính là phần AI ( Trí tuệ nhân tạo) Đây là phần cốt lõi nhất khi xây dựng một chương trình trợ lý ảo Máy tính sẽ hiểu bạn nói cái gì và sẽ xử lý Ở phần này sẽ sử dụng công nghệ NLP( Xử lý ngôn ngữ tự nhiên) Trong chương trình này, đã xây dựng một số tính năng đơn giản giúp trợ lý ảo có thể nhận biết được một số thứ đơn giản ở cuộc sống Một số tính năng đấy như sau:
Tính năng tự động tìm kiếm trên google, youtube:
Tính năng xem thời tiết ở các thành phố:
Tính năng tính toán số học:
3.2.3 MODULE NÓI Ở module này,thống nhận dạng giọng nói trực tuyến sử dụng thư viện pyttsx3 để chuyển văn bản thành giọng nói Để tạo ra giọng nói bằng pyttsx3, bạn cần tạo một đối tượng bot và sử dụng các phương thức của đối tượng đó để điều khiển giọng nói.
Sản phẩm demo
Sau khi kết hợp các thư viện và các module nghe, nói và hiểu, sản phẩm demo được hoàn thành:
KẾT LUẬN Đã làm được: Đã xây dựng được một trợ lý ảo cơ bản bằng Python, có khả năng nhận dạng và xử lý các câu lệnh, yêu cầu thông qua giao tiếp bằng giọng nói Trợ lý có thể thực hiện các chức năng: trò chuyện, xem thời tiết, tìm kiếm trên google, youtube, tính toán số học, phát video, thông qua các thư viện Python như SpeechRecognition, Pyttsx3, Webbrowser, os, requets, datetime Giao tiếp bằng giọng nói anh đã được thử nghiệm thành công sơ bộ.
Mở rộng khả năng xử lý ngôn ngữ tự nhiên của trợ lý để nhận diện và trả lời chính xác hơn các câu hỏi, yêu cầu phức tạp Tích hợp thêm nhiều API, dữ liệu để mở rộng khả năng và lĩnh vực trợ lý có thể hỗ trợ (thời tiết, mạng xã hội, mua sắm ) Phát triển giao diện tương tác thân thiện, trực quan cho người dùng như website, ứng dụng di động Xây dựng hệ thống nhận diện và phân tích cảm xúc trong giọng nói để tương tác nhân văn hơn Áp dụng các mô hình deep learning để nâng cao khả năng học và hiểu ngữ cảnh của trợ lý Nhìn chung, hệ thống trợ lý ảo còn nhiều hướng phát triển và tiềm năng ứng dụng thực tế.
Dựa trên quá trình phát triển trợ lý ảo, một số tính năng mà nhóm chúng em chưa làm được bao gồm:
Xử lý ngôn ngữ tự nhiên: Trợ lý ảo hiện tại chỉ có thể hiểu và trả lời các câu đơn giản, chưa thể hiểu sâu ý nghĩa ngữ cảnh của các câu phức tạp Diễn giải và trả lời các câu hỏi phức tạp: Trợ lý ảo chủ yếu thực hiện các hành động đơn giản dựa trên câu lệnh, chưa thể trả lời các câu hỏi phức tạp đòi hỏi suy luận, diễn giải thông tin Tích hợp và kết nối nhiều API: Trợ lý mới chỉ kết nối được một số API cơ bản, chưa mở rộng được khả năng kết nối và xử lý thông tin từ nhiều nguồn dữ liệu khác Ghi nhớ thông tin về người dùng: Trợ lý ảo chưa có khả năng ghi nhớ thông tin cá nhân, sở thích để cá nhân hóa trải nghiệm người dùng Xử lý đa nhiệm: Chưa thể thực hiện đồng thời nhiều tác vụ khác nhau một cách trôi chảy Tự học và phát triển bản thân: Trợ lý ảo hiện tại có khả năng hạn chế, phụ thuộc hoàn toàn vào dữ liệu huấn luyện ban đầu.
Nhìn chung, đây mới chỉ là bước đầu tiên và trợ lý cần được phát triển thêm nhiều tính năng để trở nên thông minh và tiện ích hơn.
[1] GS.TS Từ Minh Phương, Giáo trình Nhập môn trí tuệ nhân tạo, năm 2014. [2] https://codelearn.io/sharing/lam-tro-ly-ao-tieng-viet-bot-siri-p2
[3] https://www.youtube.com/watch?v=wVboOz_O8rE&tu8s
[4] https://www.youtube.com/watch?v=Nx_kwUQKqV8&t$6s
NỘI DUNG ĐỀ MỤC ĐÁNH
Mặt tích cực và hạn chế của trí tuệ nhân tạo + Tổng quan về đề tài Quy trình áp dụng Import các thư viện để sử dụng Thuyết trình, powerpoint
Phân loại trí tuệ nhân tạo Quá trình ASR MODULE Nghe powerpoint
Trình biên dịch VS Code Xác định cấu trúc hệ thống
Cài đặt các thư viện cần có + Sản phẩm demo Code, powerpoint
Ngôn ngữ lập trình Python + Ứng dụng của Python vào Trí tuệ nhân tạo
Tổng quát về NLP + Mục tiêu của