Báo cáo bài tập lớn AI BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI Báo cáo bài tập lớn Đề tài Ứng dụng trí tuệ nhân tạo trong xử lý ngôn ngữ tự nhiên Giáo viên GS TS Nguyễn Thanh Thủy Học viên thực hiện Mai Thoại Long MSSV 21025103 Hà Nội, 5 2022 Mục lục Mục lục 1 Định nghĩa 2 Trí tuệ nhân tạo là gì 2 Ngôn ngữ tự nhiên 3 Xử lý ngôn ngữ tự nhiên và mục đích của việc xử lý ngôn ngữ tự nhiên 3 Các ứng dụng của xử lý ngôn ngữ tự nhiên 4 Thử nghiệm 5 Chuẩ.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐẠI HỌC QUỐC GIA HÀ
NỘI
*****************
Báo cáo bài tập lớn
Đề tài: Ứng dụng trí tuệ nhân tạo trong xử lý ngôn
ngữ tự nhiên
Giáo viên: GS.TS Nguyễn Thanh Thủy Học viên thực hiện: Mai Thoại Long MSSV: 21025103
Trang 2Mục lục
Xử lý ngôn ngữ tự nhiên và mục đích của việc xử lý ngôn ngữ tự nhiên 3
Huấn luyện mạng thần kinh để nhận dạng thực thể được đặt tên (Named
Trang 3Định nghĩa
1 Trí tuệ nhân tạo là gì
Trí tuệ nhân tạo (Artificial intelligence): Trong khoa học máy tính, trí tuệ nhân tạo (đôi khi được gọi là trí thông minh nhân tạo) là trí thông minh được thể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên của con người
Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tả các máy móc (hoặc máy tính) có khả năng bắt chước các chức năng "nhận thức" mà con người thường phải liên kết với tâm trí, như "học tập" và "giải quyết vấn đề"
Khi máy móc ngày càng tăng khả năng, các nhiệm vụ được coi là cần "trí thông minh" thường bị loại bỏ khỏi định nghĩa về AI, một hiện tượng được gọi
là hiệu ứng AI Một câu châm ngôn trong Định lý của Tesler nói rằng "AI là bất
cứ điều gì chưa được thực hiện." Ví dụ, nhận dạng ký tự quang học thường bị loại trừ khỏi những thứ được coi là AI, đã trở thành một công nghệ thông
thường Khả năng máy hiện đại thường được phân loại như AI bao gồm thành công hiểu lời nói của con người, cạnh tranh ở mức cao nhất trong trò chơi chiến lược (chẳng hạn như cờ vua, cờ vây, ), xe hoạt động độc lập, định tuyến thông minh trong mạng phân phối nội dung, và mô phỏng quân sự
Trí tuệ nhân tạo có thể được phân thành ba loại hệ thống khác nhau: trí tuệ nhân tạo phân tích, lấy cảm hứng từ con người và nhân tạo
- AI phân tích chỉ có các đặc điểm phù hợp với trí tuệ nhận thức; tạo
ra một đại diện nhận thức về thế giới và sử dụng học tập dựa trên kinh nghiệm trong quá khứ để thông báo các quyết định trong tương lai
- AI lấy cảm hứng từ con người có các yếu tố từ trí tuệ nhận thức và cảm xúc; hiểu cảm xúc của con người, ngoài các yếu tố nhận thức
và xem xét chúng trong việc ra quyết định
- AI nhân cách hóa cho thấy các đặc điểm của tất cả các loại năng lực (nghĩa là trí tuệ nhận thức, cảm xúc và xã hội), có khả năng tự
ý thức và tự nhận thức được trong các tương tác
Trang 42 Ngôn ngữ tự nhiên
Ngôn ngữ tự nhiên (Natural language): Trong ngôn ngữ học, một ngôn ngữ tự nhiên là bất kỳ ngôn ngữ nào phát sinh, không suy nghĩ trước trong não
bộ của con người Điển hình là một số ngôn ngữ mà con người được sử dụng để giao tiếp với nhau, dù là ngôn ngữ nói, ngôn ngữ ký hiệu, ký hiệu xúc giác hay chữ viết Những ngôn ngữ này khác với ngôn ngữ được xây dựng và ngôn ngữ hình thức chẳng hạn như ngôn ngữ lập trình hoặc nghiên cứu logic
Mặc dù sự định nghĩa chính xác khác nhau giữa các học giả, ngôn ngữ tự nhiên có thể định nghĩa theo nghĩa rộng là đối nghịch với ngôn ngữ mang tính nhân tạo hay ngôn ngữ được xây dựng Định nghĩa các ngôn ngữ tự nhiên
thường phát biểu hay ngụ ý là ngôn ngữ mà bất kỳ đứa trẻ nào cũng có thể học
và được phát triển thông qua sử dụng ngôn ngữ và nói chứ không phải theo hướng dẫn chỉ định
Nói một cách dễ hiểu thì, ngôn ngữ tự nhiên là ngôn ngữ mà các loài động vật sáng tạo ra để giao tiếp với đồng loại Con người cũng là một loại động vật sử dụng ngôn ngữ để giao tiếp Thế giới ngôn ngữ của con người rất phong phú, theo thông kê của các nhà khoa học thì có tới hàng ngàn ngôn ngữ tồn tại trên trái đất Ngôn ngữ tự nhiên có 2 dạng là chữ viết và âm thanh (tức tiếng nói) Ngôn ngữ của mỗi dân tộc, quốc gia lại khác nhau bao gồm khác nhau cả về cách viết cũng như cách phát âm
3 Xử lý ngôn ngữ tự nhiên và mục đích của việc xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (natural language processing), một nhánh nghiên cứu của trí tuệ nhân tạo, được phát triển nhằm xây dựng các chương trình máy tính có khả năng phân tích, xử lý, và hiểu ngôn ngữ con người
Xử lý ngôn ngữ tự nhiên tập trung vào việc nghiên cứu sự tương tác giữa máy tính và ngôn ngữ tự nhiên của con người dưới dạng tiếng nói (speech) hoặc văn bản (text) Mục đích của lĩnh vực này là giúp máy tính hiểu và thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con người như:
- Tương tác người - máy
- Cải thiện hiệu quả giao tiếp giữa người - người
- Nâng cao hiệu quả xử lý văn bản và lời nói
- …
Trang 54 Các ứng dụng của xử lý ngôn ngữ tự nhiên
Nhận dạng chữ viết: Có hai kiểu nhận dạng, thứ nhất là nhận dạng chữ in,
ví dụ nhận dạng chữ trên sách giáo khoa rồi chuyển nó thành dạng văn bản điện
tử như dưới định dạng doc của Microsoft Word chẳng hạn Phức tạp hơn là nhận dạng chữ viết tay, có khó khăn bởi vì chữ viết tay không có khuôn dạng rõ ràng
và thay đổi từ người này sang người khác Với chương trình nhận dạng chữ viết
in có thể chuyển hàng ngàn đầu sách trong thư viện thành văn bản điện tử trong thời gian ngắn Nhận dạng chữ viết của con người có ứng dụng trong khoa học hình sự và bảo mật thông tin (nhận dạng chữ ký điện tử)
Nhận dạng tiếng nói: Nhận dạng tiếng nói rồi chuyển chúng thành văn bản tương ứng Giúp thao tác của con người trên các thiết bị nhanh hơn và đơn giản hơn, chẳng hạn thay vì gõ một tài liệu nào đó bạn đọc nó lên và trình soạn thảo sẽ tự ghi nó ra Đây cũng là bước đầu tiên cần phải thực hiện trong ước mơ thực hiện giao tiếp giữa con người với robot Nhận dạng tiếng nói có khả năng trợ giúp người khiếm thị rất nhiều
Tổng hợp tiếng nói: Từ một văn bản tự động tổng hợp thành tiếng nói Thay vì phải tự đọc một cuốn sách hay nội dung một trang web, nó tự động đọc cho chúng ta Giống như nhận dạng tiếng nói, tổng hợp tiếng nói là sự trợ giúp tốt cho người khiếm thị, nhưng ngược lại nó là bước cuối cùng trong giao tiếp giữa robot với người
Dịch tự động (Machine translate): Như tên gọi đây là chương trình dịch
tự động từ ngôn ngữ này sang ngôn ngữ khác
Tìm kiếm thông tin (Information retrieval): Đặt câu hỏi và chương trình
tự tìm ra nội dung phù hợp nhất Thông tin ngày càng đầy lên theo cấp số nhân, đặc biệt với sự trợ giúp của Internet việc tiếp cận thông tin trở lên dễ dàng hơn bao giờ hết Việc khó khăn lúc này là tìm đúng nhất thông tin mình cần giữa bề bộn tri thức và đặc biệt thông tin đó phải đáng tin cậy
Tóm tắt văn bản: Từ một văn bản dài tóm tắt thành một văn bản ngắn hơn theo mong muốn nhưng vẫn chứa những nội dung thiết yếu nhất
Khai phá dữ liệu (Data mining) và phát hiện tri thức: Từ rất nhiều tài liệu khác nhau phát hiện ra tri thức mới Thực tế để làm được điều này rất khó, nó gần như là mô phỏng quá trình học tập, khám phá khoa học của con người, đây
là lĩnh vực đang trong giai đoạn đầu phát triển Ở mức độ đơn giản khi kết hợp với máy tìm kiếm nó cho phép đặt câu hỏi để từ đó công cụ tự tìm ra câu trả lời dựa trên các thông tin trên web mặc cho việc trước đó có câu trả lời lưu trên web hay không
Trang 6Thử nghiệm
1 Chuẩn bị dữ liệu cho neural network
Bước này sẽ đào tạo một Mạng thần kinh cho nhiệm vụ Nhận dạng Thực thể Được đặt tên (NER) Vì vậy, chúng ta cần thực hiện một số sửa đổi trong dữ liệu để chuẩn bị dữ liệu theo cách sao cho nó có thể dễ dàng phù hợp với mạng nơ-ron Bắt đầu bước này bằng cách trích xuất các ánh xạ được yêu cầu để đào tạo mạng nơ-ron:
Sau đó, chuyển đổi các cột trong dữ liệu để trích xuất dữ liệu tuần tự cho mạng nơ-ron:
Trang 7Tiếp theo, ta chia dữ liệu thành các tập huấn luyện và thử nghiệm, ta sẽ tạo một hàm để tách dữ liệu vì các lớp LSTM (Long short-term memory) chỉ chấp nhận các chuỗi có cùng độ dài Vì vậy, mọi câu xuất hiện dưới dạng số nguyên trong dữ liệu phải được đệm cùng với độ dài:
Và đây là kết quả:
Trang 82 Huấn luyện mạng thần kinh để nhận dạng thực thể được đặt tên (Named Entity Recognition - NER)
Đầu tiên, ta sẽ tiến hành đào tạo kiến trúc mạng nơ-ron của mô hình này
Ta sẽ nhập tất cả các gói cần thiết để đào tạo mạng nơ-ron:
Bây giờ, tạo một hàm trợ giúp sẽ giúp ta đưa ra tóm tắt về mọi lớp của
mô hình mạng nơ-ron cho NER:
Trang 9Tiếp theo, tạo một hàm trợ giúp để đào tạo mô hình NER:
Tiến hành train cho mạng nơ-ron:
Các thông số trong quá trình train:
Trang 103 Kết quả
Tiến hành hiện ra kết quả:
Kết quả:
Trang 11Kết luận
Qua quá trình thử nghiệm, vẫn còn một vài vấn đề như máy chưa thể nhận diện được tiếng việt hay thuật toán học máy vẫn chưa tối ưu Tuy nhiên, ta phần nào có thể nắm bắt cơ bản định nghĩa Xử lý ngôn ngữ tự nhiên và cách mà máy có thể nhận biết được các đối tượng trong một văn bản chữ
Ứng dụng của việc xử lý ngôn ngữ tự nhiên trong cuộc sống, một vài ứng dụng xử lý ngôn ngữ tự nhiên rất tốt có thể kể đến như: Grammarly với việc đọc văn bản, google asistant với việc xử lý Automatic speech recognition, hoặc với Siri trong việc chẩn đoán sentiment của người dùng qua giọng nói, Qua đó ta
có thể thấy dược rằng, lĩnh vực xử lý ngôn ngữ tự nhiên là một lĩnh vực rất rộng lớn và đầy tiềm năng trong tương lai