Tải bản đầy đủ (.pdf) (58 trang)

Đồ án học phần phát triển hệ thống ai chẩn đoán y khoa dựa vào thông tin triệu chứng bằng tri thức hệ chuyên gia (expert system) dùng thuật toán dfs , luật dẫn xuất(suy diễn tiến),suy luận logic mờ, voice assistant

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.68 MB, 58 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCMKHOA CÔNG NGHỆ THÔNG TIN</b>

<b>ĐỒ ÁN HỌC PHẦN</b>

<b>TÊN HỌC PHẦN: TRÍ TUỆ NHÂN TẠO (Artificial Intelligence: AI)MÃ SỐ LỚP HP: ARIN330585 - Nhóm 05 (Sáng thứ 7)</b>

<b>Tên đề tài: </b>

<b>PHÁT TRIỂN HỆ THỐNG AI CHẨN ĐOÁN Y KHOA DỰA VÀO THÔNG TIN TRIỆU CHỨNG BẰNG TRI THỨC HỆ CHUYÊN GIA (Expert System) DÙNG THUẬT TOÁN DFS , LUẬT DẪN XUẤT(SUY DIỄN TIẾN),SUY LUẬN LOGIC MỜ, VOICE </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>TP.HCM, ngày 08 tháng 06 năm 2021</b>

<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCMKHOA CÔNG NGHỆ THÔNG TIN</b>

<b>ĐỀ TÀI ĐỒ ÁN HỌC PHẦN</b>

<b>Giảng viên giảng dạy: VÕ XUÂN THỂ</b>

<b>TÊN HỌC PHẦN: TRÍ TUỆ NHÂN TẠO (Artificial Intelligence: AI)MÃ SỐ LỚP HP: ARIN330585 - Nhóm 05 (Sáng thứ 7)</b>

<b>Tên đề tài: <small>PHÁT TRIỂN HỆ THỐNG AI CHẨN ĐỐN Y KHOA DỰA VÀO THƠNG TIN TRIỆU CHỨNG BẰNG TRI THỨC HUỆ CHUYÊN GIA (Expert System) SỬ DỤNG DFS, LUẬT DẪN XUẤT( SUY DIỄN TIẾN) , SUY LUẬN LOGIC MỜ, VOICE ASSISTANT( TRỢ LÝ ẢO)</small></b>

<b>Họ tên sinh viên: Trần Thành QuangMã số sinh viên:…19133047[41]Lớp: 191330B </b>

<b><small>Tên sản phẩm đề tài : N5S7.41.TranThanhQuang.19133047.DoaAnHPAI.rarCông cụ sử dụng (phiên bản): Spyder (Anaconda3)</small></b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>TP.HCM, ngày 08 tháng 06 năm 2021</b>

LỜI CẢM ƠN

Đầu tiên, em xin gửi lời cảm ơn sâu sắc đến Trường Đại Học Sư Pham Kỹ Thuật TPHCM đã đưa bộ môn Trí Tuệ Nhân Tạo vào chương trình giảng dạy. Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến giảng viên bộ môn thầy Võ Xuân Thế . Chính thầy là người đã tận tình dạy dỗ và truyền đạt những kiến thức quý báu cho em trong suốt học kỳ vừa qua. Trong thời gian tham dự lớp học của thầy, em đã được tiếp cận với nhiều kiến thức bổ ích và rất cần thiết cho quá trình học tập, làm việc sau này của em.

Bộ mơn Trí tuệ nhân tạo là một môn học thú vị và vô cùng bổ ích. Tuy nhiên, những kiến thức và kỹ năng về mơn học này của em vẫn cịn nhiều hạn chế. Do đó, bài báo cáo”Phát triển hệ thơng AI chẩn đoán y khoa dựa trên triệu chứng bằng tri thức hệ chuyên gia” của em khó tránh khỏi những sai sót. Kính mong thầy xem xét và góp ý giúp bài báo cáo của em được hoàn thiện hơn.

Em xin chân thành cảm ơn !

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

DANH MỤC CÁC TỪ VIẾT TẮT

CSDL hoặc DB Cơ sở dữ liệu: DataBase

AI Trí tuệ (Trí thơng minh) nhân tạo: Artificial Intelligence ANN Mạng nơ ron nhân tạo: Artificial Neural Network ES Hệ thống chuyên gia: Expert Systems

ML Máy học = Học máy: Machine Learning

NLP Xử lý ngôn ngữ tự nhiên: Natural Language Processing

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

DANH MỤC CÁC THUẬT NGỮ

Bài toán (vấn đề) AI: AI Problem

Là các tình huống thực tế mà con người cần giải quyết thuộc một lĩnh vực nào đó, thơng thường phải dựa vào “trí khơn” con người.

Giao diện người dùng (User-Interface)

Là hệ thống các màn hình giao tiếp cho phép người sử dụng tương tác với các thành phần phần mềm, điều khiển phần mềm hoạt động theo yêu cầu của người dùng - tương ứng các chức năng hiện có của phần mềm.

Người dùng (User): Tài khoản (Account)

Là một quyền làm việc trên hệ thống phần mềm được cấp phát cho một cá nhân thông qua tên tài khoản (username) và mật khẩu (password).

BigData <sup>Dữ liệu lớn: là một tập hợp dữ liệu rất lớn và phức tạp,</sup><sub>không thể xử lý dữ liệu bằng các phương pháp truyền thống.</sub> Heuristics

Là các kỹ thuật dựa trên kinh nghiệm để giải quyết vấn đề, nhằm đưa ra một giải pháp mà không được đảm bảo là tối ưu

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

PHIẾU GIAO NHIỆM VỤ ĐỀ TÀI ĐỒ ÁN HỌC PHẦN...9

Chương 1:<small>...</small>GIỚI THIỆU VỀ ĐỀ TÀI

<b>1.5. Bố cục của báo cáo...14</b>

Chương 2:<small>...</small>CƠ SỞ LÝ THUYẾT VỀ TRÍ TUỆ NHÂN TẠO 15 <b>2.1. Tổng quan về Trí tuệ nhân tạo (AI)...15</b>

2.1.1. Các khái niệm...15

2.1.2. Vai trò AI...17

2.1.3. Nền tảng kỹ thuật của AI...17

2.1.4. Các lĩnh vực nghiên cứu và ứng dụng cơ bản của AI...17

<b>2.2. Giới thiệu về các bài toán (vấn đề) AI...18</b>

2.2.1. Một số khái niệm...18

2.2.2. Tìm kiếm lời giải (searching) cho AI Problem...20

<b>2.3. Biểu diễn một số bài toán AI...22</b>

2.3.1. Các bài tốn Trị chơi...22

2.3.2. Cây khơng gian trạng thái của Bài toán AI...22

<b>2.4. Các phương pháp biểu diễn tri thức...22</b>

2.4.1. Phân loại tri thức theo phương pháp biểu diễn...22

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

2.4.2. Phân loại tri thức theo nền tảng hình thành Cơ sở tri thức...24

2.4.3. Logic mệnh đề và Logic vị từ...24

2.4.4. Biểu diễn tri thức bằng Frame (Cấu trúc = "Khung")...27

2.4.5. Suy diễn tri thức bằng luật dẫn xuất...27

2.4.6. Biểu diễn suy luận bằng đồ thị AND/OR...29

2.4.7. Các biểu diễn tương đương trong Logic mệnh đề và Logic vị từ...30

2.4.8. Xử lý ngôn ngữ tự nhiên (Natural Language Processing = NLP): Voice Assistant....31

<b>2.5. Các phương pháp tìm kiếm lời giải của bài toán AI...31</b>

2.5.1. Giới thiệu...31

2.5.2. Các phương pháp tìm kiếm mù (Blind Search) = tìm kiếm khơng có thêm thơng tin (uninformed search)...32

2.5.3. Các phương pháp tìm kiếm theo kinh nghiệm (Heuristic Search) = tìm kiếm với thông tin bổ sung (Informed Search) = Cải tiến BFS...33

2.5.4. Lập trình Logic (Logic Programming) phát triển cơ chế lập luận logic...35

Chương 3:<small>...</small>GIỚI THIỆU VỀ MƠ HÌNH BÀI TỐN AI :Phát Triển Hệ Thơng AI Chẩn Đốn y khoa dựa trên triệu chứng Bằng Tri Thức Hệ Chuyên Gia( Expert System) Sử dụng DFS,Luật suy diễn ( suy diễn tiến) ,suy luận logic”mờ” , voice Assistant...36

3.1. Mô tả bài toán AI...36

3.2. Các yếu tố xác định bài toán AI...36

3.3. Giới thiệu nguồn dữ liệu gốc dùng thực nghiệm bài tốn AI...37

Chương 4: BIỂU DIỄN BÀI TỐN AI VÀ CƠ SỞ TRI THỨC: Phát Triển <small>.</small> Hệ Thông AI Chẩn Đoán y khoa dựa trên triệu chứng Bằng Tri Thức Hệ Chuyên Gia Sử dụng DFS,Luật suy diễn ( suy diễn tiến) ,suy luận logic”mờ” , voice Assistant...37

4.1. Giới thiệu...37

4.2. Biểu diễn bài toán AI bằng suy diễn tri thức bằng luật dẫn xuất và logic xác suất...38

4.3. Lập trình xử lý ngơn ngữ tự nhiên (Natural Language Processing = NLP): Voice Assistant (trợ lý ảo)...39 Chương 5:<small>...</small>PHƯƠNG PHÁP TÌM KIẾM LỜI GIẢI CHO BÀI TỐN AI

Phát Triển Hệ Thơng AI Chẩn Đốn y khoa dựa trên triệu chứng

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Bằng Tri Thức Hệ Chuyên Gia Sử dụng DFS,Luật suy diễn ( suy

diễn tiến) ,suy luận logic”mờ” , voice Assistant...40

5.1. Giới thiệu...40

5.2. Mơ tả sơ bộ về mơ hình cây khơng gian trạng thái của bài tốn AI...40

5.3. Xác định phương pháp tìm kiếm lới giải cho bài tốn AI:...41

5.4. Cài đặt (lập trình) phương pháp tìm kiếm lới giải cho bài tốn AI:...41

5.5. Cài đặt (lập trình) Logic (Logic Programming) xây dựng cơ sở lập luận và suy luận Logic...42

Chương 6:<small>...</small>GIỚI THIỆU SẢN PHẨM CỦA ĐỀ TÀI AI : Phát Triển Hệ Thông AI Chẩn Đoán y khoa dựa trên triệu chứng Bằng Tri Thức Hệ Chuyên Gia( Expert System) Sử dụng DFS,Luật suy diễn ( suy diễn tiến) ,suy luận logic”mờ” , voice Assistant...43

6.1. Giới thiệu sản phẩm bài toán AI:...43

6.2. Kết quả thực nghiệm sản phẩm bài toán AI:……...54

6.3. Nhận xét và đánh giá về sản phẩm bài toán AI...54

Chương 7:<small>...</small>KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCMKHOA CÔNG NGHỆ THÔNG TIN</b>

PHIẾU GIAO NHIỆM VỤ ĐỀ TÀI ĐỒ ÁN HỌC PHẦN

<b>Giảng viên giảng dạy: VÕ XUÂN THỂ</b>

<b>Tên học phần: Trí tuệ nhân tạo (AI) </b> Mã số lớp HP:<b> ARIN330585 - N5S7</b>

<b>Tên đề tài: <small>Phát triển hệ thông AI chẩn đoán y khoa dựa trên triệu chứng bằng tri thức hệchuyên gia (Expert System) sử dụng DFS , Luật dẫn xuất, suy luận logic “mờ” , voice Assistant</small></b>

<b>Sinh viên thực hiện: <Trần Thành Quang>, <19133047> </b>

<b>Thời gian thực hiện: 27/02/2021 đến 08/06/2021<small>Yêu cầu của đề tài </small></b>

<b><small>Lý thuyết: Vận dụng AI vào thực tiễn và tiếp cận thành tựu tiên tiến trong lĩnh vực AI:</small></b>

<small>+ Nền tảng và đặc trưng của các dạng bài toán AI và giải thuật tương ứng. </small>

<small>+ Một số phương pháp biểu diễn không gian (trạng thái) giải quyết bài toán AI: biểu diễn tri thức và suy diễn logic.</small>

<small>+ Một số phương pháp thông dụng trong tìm kiếm lời giải bài tốn AI = giải quyết bài tốn thơng qua tìm kiếm lời giải (Solving Problems by Searching), đặc biệt là DFS và BFS,… </small>

<b><small>Thực hành: Phát triển hệ thống AI chẩn đoán y khoa dựa trên triệu chứng bằng tri thứchệ chuyên gia( Expert System)</small></b>

<b><small>+Thư viện chính được dùng: gTTS ,os , googlesearch, playsound, speech_recognition,</small></b>

<small>pyodbc, collections , wikipedia</small>

<small>+ Giải thuật chính : Suy diễn tri thức bằng luật dẫn xuất (Suy diễn tiến), suy luận logic “mờ”,Voice Assistant (trợ lý ảo) ..</small>

<small>Ngồi ra cịn có thuật tốn tìm kiếm DFS, Phân tách chuỗi (xử lý chuỗi) , xử lý dữ liệu trong</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small>SQL Server , trợ lí ảo..</small>

<small>+Tập thực nghiệm: được lưu trong database (SQL Server)</small>

<small>+Chức năng của sản phẩm : Tư vấn các loại bệnh dựa trên một số triệu chứng mà người dùnggặp phải, ngồi ra cịn cung cấp thêm thơng tin loại bệnh đó bằng (link goole ), cung cấp cáctriệu chứng của một căn bênh.</small>

<b>SV Thực hiện</b>

Chương 1:

GIỚI THIỆU VỀ ĐỀ TÀI

1.1.Tổng quan về đề tài

Thế giới ngày nay phát triển mạnh mẽ với các hoạt động vô cùng đa dạng và phức tạp đòi hỏi khả năng giải quyết vấn đề ở mức độ trí tuệ nhân tạo ngày càng cao. Lĩnh vực trí tuệ nhận tạo nói chung và hệ chuyên gia nói riêng góp phần tạo ra các hệ thống có khả năng trí tuệ của con người, có được tri thức tiên tiến của các hệ chuyên gia để giải quyết các vấn đề phức tạp trong cuộc sống.

Đề tài chuẩn đoán bệnh dựa trên triệu chứng của em có mục đích nhằm giúp người dùng có thể nhận biết được bản thân đang bị bệnh gì dựa vào các triệu chứng của bệnh nhân đang có, ngồi ra trong dịch bệnh Covid 19 nó cịn quan trọng hơn khi giúp người dùng biết về các loại bệnh triệu chứng, nắm bắt thông căn bệnh mà không cần đến trực tiếp nơi tư vấn.

<b><small>+Giải thuật chính :</small></b>

<small>Suy diễn tri thức bằng bằng luật dẫn xuất (Suy diễn tiến )Thuật tốn tìm kiếm BFS </small>

<small>Kỹ thuật xử lý chuỗi bằng REPLACE, SPLIT</small>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<small>Logic mệnh đề </small>

<small>Hàm xử dữ liệu – tách dữ liệu có được trong SQL Server thành các khóa để nhận biết triệu chứng</small>

<b><small>+ Thư viện:</small></b>

<small>from gtts import gTTS : Chuyển văn bản thành âm thanh của Google (Module Google)import os : Truy cập , xử lý file hệ thống</small>

<small>from googlesearch import search : Tìm kiếm thơng tin trên googleimport playsound : Phát âm thanh từ file mp3</small>

<small>import speech_recognition as sr : Nhận dạng giọng nóiimport wikipedia :Tìm kiếm trên từ điển wikipediaimport pyodbc : Kết nối với SQL Server</small>

<small>import collections : tạo các danh sách dict, list , set and tuple</small>

<b><small>+ Tập thực nghiệm:</small></b>

<small>Được lưu trên database, dữ liệu được thu thập dựa trên các triệu chứng của các loại bênh được cácchuyên gia cung cấp:</small>

<small>Dữ liệu bao gồm 2 cột thuộc tính:Tên loại bệnh và triệu chứng loại bệnh:</small>

<b><small>Quá trình thu thập dữ liệu : em dựa vào kiến thức của các bác sĩ chuyên gia đã chia sẽ nhưng kiến</small></b>

<small>thức họ biết về các loại bênh, họ dựa và kiến thức của mình để đưa ra một số triệu chứng của từngloại bệnh sau đó em tổng hợp và đưa kết quả vào database như hình bên dưới , một thơng tin em sửdụng đều là kiến thức của các chuyên gia chia sẽ lại.</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b><small>Đặc Trưng: Bài toán dựa vào luật dẫn xuất (suy diễn tiến), hệ chuyên gia (Expert System)</small></b>

Chuyên gia (Expert) là hệ thống AI được xây dựng và hình thành dựa trên cơ sở chuyên gia

+ Người có đầy đủ kỹ năng, kiến thức sâu (cả về luật và các sự kiện ) về một lĩnh vực nào đó;

+ Người có thể làm những việc mà người khác ít khả năng làm được <small>+ </small>Suy diễn = lập luận

Suy luận : là dựa trên : CSTT ban đầu (đã có || đã biết) = tri thức cơ sở + Luật (Rules) dẫn xuất (Tập )

1.2.Nội dung chun mơn chính của đề tài

<small>+ Thư viện : gTTS ,os , googlesearch, playsound, speech_recognition, pyodbc, collections ,wikipedia</small>

<small>BFS , tìm kiếm tuần tự, suy diễn, suy diễn logic , suy diễn mờ , lưu dữ liệu bằng sql+ Sản phẩm đề tài : Trợ lí ảo tư vấn </small>

<small>Chuẩn đốn y khoa bằng trợ lý ảo+Bước tiền xử lý để đưa ra kết quả:</small>

<small>Tính xác suất xuất hiện của từng loại bệnh rồi đưa ra kết quả:</small>

<small>Giải thích: </small>

<small>+ Ban đầu người bệnh có thể nhập một câu bất kì trong đó có các triệu chứng của người bệnh mắcphải:</small>

<small>Sau đó phần mềm sẽ lọc từ trong câu nói của người bệnh nhập vào và thiết lập thành một danh sáchcác triệu chứng như nở trên ảnh.</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small>+ Sau đó dựa vào danh sách các triệu chứng nhập vào máy tính sẽ phân tích , tính xem xác suất(%) của loại bệnh mà bệnh nhân có thể mắc phải sau đó sẽ chọn căn bệnh có tỉ lệ cao nhất sau đócung cấp thơng tin cho người dùng.</small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<small>Ngồi ra em cịn xây dựng con trợ lý ảo có chức năng tìm kiếm trên google , nó sẽ tự độngtìm kiếm đến những trang web có liên quan đến căn bệnh sau đó xuất ra màn hình console đểngười dùng có thề truy cập và tìm kiếm thơng tin chi tiết mà căn bệnh mình có thể mắc phải</small>

1.3.Ngơn ngữ lập trình và cơng cụ sử dụng <small>+ Ngơn ngữ lập trình: Python</small>

<small>+ Công cụ sử dụng (phiên bản) : spyder ( Anaconda : python 3.8.3 -64 bit)</small>

1.4.Sản phẩm của đề tài

<small>Phần mềm trợ lý ảo trả lời tư vấn bệnh dựa vào triệu chứng của bệnh nhân:Phần mềm gồm có các chức năng như sau:</small>

<small>-Trợ lý ảo có thể giao tiếp với người dùng bằng giọng nói ( tiếng việt )-Trợ lý ảo có chức nẳng chẩn đốn bệnh dựa vào triệu chứng-Trợ lý ảo cung cấp các thông tin triệu chứng của một căn bệnh-Trợ lý ảo có thể tìm kiếm trên wikipedia , google</small>

1.5.Bố cục của báo cáo

<small>Chương 1: Giới thiệu tổng quan về đề tài</small>

<small>Chương 2: Cơ sở lý thuyết của học phần: gồm những lý thuyết cơ bản về AI liên quan đến đề tài.Chương 3: Giới thiệu về thư viện và giải thuật AI:……….</small>

<small>Chương 4: Mô hình bài tốn AI và cài đặt giải thuật tìm kiếm lời giảiChương 5: Giới thiệu về sản phẩm hệ thống AI:……….</small>

<small>Chương 6: Kết luận về kết quả đạt được và những tồn tại, trên cơ cở đó đề xuất các giải pháp khắc phục tồn và hướng mở rộng đề tài.</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Chương 2:

CƠ SỞ LÝ THUYẾT VỀ TRÍ TUỆ NHÂN TẠO

2.1. Tổng quan về Trí tuệ nhân tạo (AI) 2.1.1. Các khái niệm

2.1.1.1. Trí tuệ nhân tạo = AI (Artificial Intelligence)

+ Là ngành khoa học nghiên cứu và ứng dụng các nền tảng kỹ thuật làm cơ sở cho việc thiết kế và sản xuất ra các hệ thống, đặc biệt là các hệ thống CNTT, có khả năng thực hiện các hành vi công việc “khôn” như con người.

+...Hành vi và nhận thức +...Đặc trưng

Khơng nhất thiết chính xác 100%: tỷ lệ sai tùy thuộc bài tốn AI

Khơng nhất thiết phải chứng minh hoặc giải thích, cần hiệu quả của giải pháp AI mang lại

Học và tự học

“Khôn” dần theo thời gian

Sử dụng ngơn ngữ lập trình và cơng cụ riêng 2.1.1.2. Phân loại hệ thống Trí tuệ nhân tạo + Nền tảng “ Trí khơn con người ”: heuristuc & ES + Biểu hiện: hành vi nhận thức

+ Nền tảng công nghệ: ML, NLP, ANN , Mờ,…..

2.1.1.3. Turing Test kiểm tra khả năng khôn của các hệ thống AI 2.1.1.4. Tác tử (Agent: Intelligent Agent) trong hệ thống AI

Tác tử (Agent) trong hệ thống AI là 1 nhân tố nhỏ nhất biểu hiện khả năng “Khôn” [nhận thức || hành động] cấu thành nên hệ thống AI

Tác tử (Agent) có thể biểu diễn dạng ánh xạ: f:P* A

[Lịch sử quá trình nhận thức] [Hành động]

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

2.1.1.5. Tri thức là gì (Knowledge)?

- Tri thức là hệ thống sự biểu hiện bằng lý thuyết hay thực tế về một chủ đề hay lĩnh vực - Trí thức tự nhiên OR tri thức hệ thống

-Phân biệt (ss): PM QUẢN LÝ(TRUYỀN THƠNG) -PM TTNT + Chương trình truyền thơng

= Cấu trúc dữ liệu + thuật tốn (thuật giải) + Chương trình trí tuệ nhân tạo

= Cơ sở trí thức + qui tắc suy diễn

2.1.1.6. Cơ sở tri thức (Knowledge Base: KB)

- Cơ sở tri thức là tập hợp cá tri thức liên quan đến vấn đề quan tâm được hệ thống và lưu trữ trên các thiết bị số (máy tính) dưới một dạng nào đó.

-Cơ sở tri thức chứa các kiến thức được sử dụng để giải quyết các vấn đề ( bài tốn ) trong trí tuệ nhân tạo

2.1.1.7. Hệ quản trị cơ sở tri thức (KBMS) - Hệ cơ sở tri thức tối thiểu có hai chức năng c/b + Khối tri thức: hình thành và duy trì cơ sở tri thức

+ Khối điều khiển: cung cấp các công cụ cho phép xây dựng và phát triển các cơ chế suy diễn

-Với các hệ thống phức tạp, khối điều khiển cũng có thể là một hệ thống cơ sở tri thức khác ....chứa ...các siêu tri thức (tri thức về các tri thức)

-Cấu trúc chương trình truyền thống (bên trái) và cấu trúc chương trình trí tuệ nhân tạo (bên phải)

*Cơ chế suy diễn: là phương pháp vận dụng tri thức trong cơ sở tri thức để giải quyết vấn đề.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

-Một số hệ quản trị cơ sở tri thức thơng dụng: IPLV, auto LISP, PLANNER, PROLOG,...

2.1.2. Vai trị AI

-Là nhân tố trung tâm gần như không thể thiếu trong các hệ thống hiện nay và tương lai -AI là yếu tố nền tảng mang tính chất bắt buộc của các hệ thống trong thời đại CMCM 4.0( cách mạng công nghiệp lần thứ 4: IR 4.0= the fourth industrail revolution)

2.1.3. Nền tảng kỹ thuật của AI [1] Cơ sở Tri thức ( Knowleged base= KB)

[2] Cơ chế : Suy diễn || suy luận(Inference) và lập luận(Reasoning) [3] Xử lý ngôn ngữ tự nhiên (Natural language Processing=NLP) Automata( lý thuyết ngơn ngữ hình thức )

[4] ML+ Machine learning = máy học = học máy

<b>CÁC LÝ THUYẾT CƠ SỞ</b>

[1]: giải bài tốn và suy diễn thơng minh [2]: Lý thuyết tìm kiếm may rủi ( ngẫu nhiên) [3]: Các ngôn ngữ công cụ và trí tuệ nhân tạo [4]: Lý thuyết biểu diễn tri thức và hệ chuyên gia [5]: Nguyên lý nhận dạng và xử lý tiếng nói [6]: Người máy(ROBOT)

[7]: Tâm lý học trong xử lý thông tin

2.1.4. Các lĩnh vực nghiên cứu và ứng dụng cơ bản của AI + Games

+ Tối ưu

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

- Điều khiển phi tuyến và robitics

- Computer vision, thực tế ảo và xử lý ảnh - Lý thuyết trò chơi và lập kế hoạch - Trò chơi TTNT và computer game bot 2.2. Giới thiệu về các bài toán (vấn đề) AI 2.1.5. Một số khái niệm

2.1.5.1. AI Problem (Bài toán AI = Vấn đề AI)

Bài tốn AI là các tình huống thực tế mà con người giải quyết thuộc một lĩnh vực nào đó, thơng thường dựa vào “Trí khơn” con người

Game cờ vua, bài tốn tìm đường đi tốt nhất, Bài tốn tư vấn pháp luật, Tư vấn tình u gia đình, Dự đốn hành vi khách hàng,....

2.1.5.2. Các yếu tố cơ bản xác định bài toán AI

Như vậy với một bài tốn AI thơng thường được xác định bởi 4 yếu tố cơ bản: + Tập hợp các trạng thái của bài toán

Vd:Trạng thái bàn cờ (quân cờ), trạng thái bước đi

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

+ Có mục tiêu đặt ra (Thông qua hàm mục tiêu) mà kỹ thuật AI phải giải quyết theo bài toán

Vd:

BT cờ tướng mục tiêu: “chiếu tướng bí”. Rubik mục tiêu: 6 mặt cùng màu.

Tìm đường đi mục tiêu: tìm được 1 hoặc 1 số lộ trình đường đi mà người đi họ “hài lòng” nhất

+ Cơ chế chuyển từ “Trạng thái” này sang “Trạng thái” khác VD:

Cờ tướng = nước đi của 1 quân cờ trên bàn cờ tương ứng trạng thái đầu . Tháp Hà Nội = Trường hợp chuyển “Thớt đĩa” từ “Cột này” sang “Cột khác”

Ghi chú: Cơ chế chuyển trạng thái phải có quy tắc || quy luật || quy định || ràng buộc. + Trạng thái bắt đầu (1 hoặc 1 số)

Tóm lại bài tốn AI phải có 4 yếu tố: khơng gian trạng thái, trạng thái bắt đầu mục tiêu, cơ chế chuyển đổi trạng thái, trạng thái bắt đầu

2.1.5.3. (Hàm) Mục tiêu của Bài toán AI

Hàm mục tiêu là một trong những có chế để xác định bài tốn AI theo định lượng ( Định lượng là tính tốn được bằng một giá trị )

Hàm mục tiêu của bài tốn trí tuệ nhân tạo đa dạng tùy thuộc vào bài tốn cụ thể Vd: Tìm đường đi tốt nhất từ A B

Có rất nhiều tiêu chí dường đi của bai tốn được đặt ra để đánh giá độ tốt của lộ trình đường đi mà mình đã tiềm được (mỗi một tiêu chí được đánh giá là tham số trong hàm mục tiêu ( đối số của hàm mục tiêu parameter)

+ Mục tiêu:

.(x). Khoảng cách là tiêu chí thứ nhất .(y): thời gian -> min là tiêu chí thứ hai .(z): Tiền -> min

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Mỗi một tiêu chí nêu trên được đo lường thơng qua một giá trị nào đó

Vd: + Khoảng cách của 1 lộ trình là tổng chiều dài mà các đoạn đường mà lộ trình đó đi qua hoặc có thể tính tốn bằng một cách thực tiển

+ Với mỗi môt tham số nêu trên sẽ có một trọng số “ giá trị hệ số đánh giá mức độ quan trọng của đối số hay là tham số đó ” các giá trị trọng số này khác nhau tùy vào từng trường hợp bài toán tùy vào mục tiêu người dùng tùy vào từng tình huống ứng dụng bài tốn

Ghi Chú: Mặc dù có 2 phương pháp tìm kiếm chính DFS và BFS tuy nhiên khi áp dụng vào các bài toán AI cần phải hiểu chỉnh hợp lý

Vd: khi cần gấp thì điều kiện ưu tiên đặt yếu tố thời gian làm đâu thì yếu tố thời gian được coi là trọng số cao nhất

Hàm mục tiêu có rất nhiều dạng thơng thường là dạng tuyến tính: Hàm mục tiêu f=a1*x + a2*y +a3*z trong đó :

x,y,z là các tham số hay là đối số nêu như trên

a1,a2,a2 là các trọng số tường ứng với các đối số để tương ứng với tham số trên

+ Thông thường giá trị của các giá trị trọng số x,y,z được nạp từ giá trị có sẵn được nạp từ kho dữ liệu

+ Thường được nộp các thư viện :pandas, numpy…để xác định trạng thái nào tối ưu nhất trong không gian trạng thái

+ Các hàm mục tiêu cũng có thể là các hàm phi tuyến tùy thuộc vào bài toán cụ thể tuy nhiên dạng này ít phổ biến rất tốn kém trong phạm vi hương trình rất ít dùng. Đa số rơi vào hàm bậc 2, hệ số a âm

Thường hàm mục tiêu phi tuyến mục tiêu tốt nhất là đỉnh parabol

2.1.6. Tìm kiếm lời giải (searching) cho AI Problem

Quá trình khám phá các chuỗi có thể đạt được những mục tiêu của bài tốn gọi là tìm kiếm lời giải

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Chương trinh AI là trạng thái tìm kiếm ra lời giải chấp nhận được

Quá trình tìm kiếm lời giải thông thường phải sử dụng 1 thủ tục duyệt nhờ vào 1 Agent (token: perceptron) “chạy: qua các trạng thái trong không gian trạng thái của BT AI

Thơng thường ta sử dụng các vịng lập để chạy các agent trên không gian trạng thái cho đến khi nào phát hiện ra trạng thái mục tiêu

Thường cây khơng gian trạng thái AI khơng có sẵn vì vậy khi duyệt các agent đến đâu thì nó sẽ mở nút đến đó cho đến khi trạng thái lá ( bí hoặc tắt đường) thì quay lại ( back tracking ) vì vậy cây khơng gian trạng thái nó được hinh thành theo phương pháp duyệt của các agent Vd cây:DFS BFS

Cây không gian của 1 bài tốn AI là vơ cùng tận => kết quả tìm lời giải của bài tốn AI chỉ là các KQ tìm thấy trong Khơng gian Trạng thái “ Đã mở” khó có thể tìm thấy đc ALL LG. Agent(Token) : vị trí xem/tính

2.1.6.1. Một số dạng bài tốn (vấn đề) AI Có 4 dạng bài tốn AI quen thuộc: + Bài toán một trạng thái đơn giản + Bài toán đa trạng thái

Ghi chú: Petri net(s): state(trạng thái) + (transition) + Bài toán ngẫu nhiên

+ Bài tốn thăm dị: “thử-sai”

2.1.6.2. Các cấp độ tìm kiếm lời giải cho bài tốn (vấn đề) AI Việc tìm kiếm lời giải cho một số bài tốn được xác định + Có tìm thấy 1 phương pháp nào khơng?

+ Đó có phải là giải pháp tốt khơng (giải pháp có hàm mục tiêu tốt nhất)

+ Chi phí tim kiếm với thời gian và bộ nhớ yêu cầu để tìm 1 giải đó là bao nhiêu? Chi phí tồn bộ của việc tìm kiếm là tổng chi phí đường đi và chi phí tìm kiếm(S)

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

2.3. Biểu diễn một số bài toán AI 2.1.7. Các bài tốn Trị chơi

VD1: Trị chơi n quân cờ (cơ ta canh ) = tictac-toe(có nhiều dạng)/n cột_dịng + Trị chơi có n -1 quân cờ ; VD n=3<small>2</small>

Ta có các khái niệm như sau:

Trạng thái (không gian trạng thái): là một mô tả trong đó chỉ rõ vị trí của mỗi qn cờ trong 8 quân cờ một trong 9 ô vuông

+ Các toán tử ( luật di chuyển) + Kiểm tra mục tiêu

2.1.1.2. Phương pháp giải quyết bài toán AI 2.1.1.2.1. Phương pháp gia tăng

Đặt các con hậu từng con một 2.1.1.2.2. Phương pháp trạng thái

Bắt đầu với 8 con hậu trên bàn cờ và tiến hành di chuyển các con hậu 2.1.1.3. Sự bùng nổ không gian trạng thái

2.4. Các phương pháp biểu diễn tri thức

2.1.9. Phân loại tri thức theo phương pháp biểu diễn

Dựa vào hình thức biểu diễn, phân chia tri thức thành các dạng sau :

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

2.1.1.4. Tri thức sự kiện

Tri thức sự kiện là một khẳng định về một sự kiến, hiện tượng hay một số khái niệm nào đó trong một hồn cảnh khơng gian hoặc thời gian nhất định.

Ví dụ :

Khẳng định về hiệu tượng : “Mặt trời lặn ở phương Tây” Khái niệm về : “Tam giác đều là tam giác có ba góc bằng nhau”

Các dạng của tri thức thủ tục thường dùng là các “luật”, chiến lược, lịch trình Ví dụ 1 : IF xe máy không khởi động được THEN đầu tiên kiểm tra bugi… Ví dụ 2 : Trang wed khơng truy xuất được ?

Tri thức tham chiếu đến các tri thức khác (dựa trên tri thức thứ cấp) VD : SOP = vị từ cấp 2; FOP ==tri thức sơ cấp = vị từ cấp 1 VD : Hệ thống hỗ trợ xây dựng phần mền (nên sử dụng ES, hue,..) 2.1.1.8. Tri thức có cấu trúc

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

2.1.1.9. Tri thức hệ chuyên gia (ES = Expert System)

Chuyên gia (Expert) là hệ thống AI được xây dựng và hình thành dựa trên cơ sở chuyên gia

+ Người có đầy đủ kỹ năng, kiến thức sâu (cả về luật và các sự kiện ) về một lĩnh vực nào đó;

+ Người có thể làm những việc mà người khác ít khả năng làm được VD : bs= có chun mơn + kinh nghiệm

Hệ chun gia là chương trình máy tính có thể thực hiện các công việc, vấn đề trong thuộc lĩnh vực hẹp ở mức tương tự như một người chuyên gia

+ Hầu hết cá chệ chuyên gia là các hệ dựa “luật”

+ Hiện nay một số các hệ chuyên gia thành công trong các lĩnh vực : bán hàng, kỹ nghệ, y khoa và khai khống (tìm mỏ : GIS), các hệ điện lực

Chú ý : phân biệt {tương đối ví dụ đơng y được học trong điều trị y khoa (ES,H)} 2.1.10. Phân loại tri thức theo nền tảng hình thành Cơ sở tri thức

2.1.1.10.Tri thức hệ Heuristic

Là qui luật xác suất thống kê = qui luật số đông (lớn) [2 yêu cầu cơ bản : đủ lớn + đủ phổ biến/dàn trải]

Tri thức heuristic thường được coi là một “mẹo” tip nhằm dẫn dắt tiến trình lập luận Vì vậy có nhiều rủi ro, đơn giản,..=> có tỷ lệ sai (phải dùng ràng buộc đảm bảo có suy luận của hệ thống AI có giá VD sử dụng thư viện Pythoon-constrain).

2.1.1.11.So sánh Tri thức hệ Heuristic với tri thức hệ chuyên gia

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

2.1.11. Logic mệnh đề và Logic vị từ

Cơ sở xây dựng các cơ chế suy luận logic/cstt biểu diễn=logic mệnh đề và logic vị từ - Đa số các mệnh đề : Đúng/sai tùy thuộc vào nhiều yếu tố ngoại cảnh - (1) Theo thời điểm

Vị từ = hàm của biến là “biến mệnh đề”

VD : Nam(x) = người x có phải là nam giới hay không ? Nam = vị từ LOVE (x,y)= x và y yêu nhau ? LOVE = vị từ

2.1.1.13.2. Biểu diễn Logic vị từ và chân trị của biểu diễn tri thức vị từ

VD 1 : Vị từ P(x) : số chẵn ; với X = “Số nguyên” Tùy vào x là số nào mà p(x) có thể đúng hay sai

VD 2 : Biểu diễn phát biểu : “ Chẳng có vật nào lớn nhất và chẳng có vật nào nhỏ nhất”

Biểu diễn quy ước: ký hiệu như sau P(x,y) : :y lớn hơn x:

Q(z,x) : “z bé hơn x” Câu phát biểu trên :

(Với mọi x tồn tại y : P(y,x) ^ (Với mọi x tồn tại z : Q(z,x)))

Logic vị từ : biểu diễn gần như toàn bộ các khái niệm và nguyên lý của các khoa học cơ bản

Logic mệnh đề và lượng vị từ -> luật dẫn xuất -> thuận lợi tìm kiếm/khai thác cơ sở tri thức

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

2.1.1.13.3. Mở rộng Logic vị từ 2.1.1.13.4. Logic vị từ bậc||cấp cao VD P(x,y) -> Q(P1(x),P2(y)) : vị từ bậc/cấp 2

P1 (x) và P2 (y) : vị từ bậc/ cấp 1

Vị từ cấp 1 (FOP : First Order Predicate)= Vị từ sơ cấp ; VD : P1(..) P2 (..) Vị từ cấp 2 (SOP : Second Order Predicate) = Vị từ thứ cấp ; VD Q(..) VD1 : P1 = kết hôn => FOP x = nam? y = nữ ? P1(x,y)

P2 = Bà con (cùng huyết thống) => FOP x,y = người ? P2(x,y) Q = phạm luật => SOP Q(P1(x,y), P2(x,y))

Chú ý : Với các tri thứ dạng “luật” (Rule) có thể biểu diễn tồn bộ Rule đó dưới dạng FOP (vị từ cấp 1 = Lượng từ [Ký hiệu với mọi, tồn tại ],Vị từ

[MAN(…).PASS(…),…], Phép nối [^,~]) HOẶC cũng có thể biểu diễn dạng SOP (vị từ cấp 2)

2.1.1.13.5. Logic tình huống

Logic vị từ có bổ sung thêm các biến tình huống. VD : Thơng tin (Input)

“Tàu XYZ cập bến lúc 11h” “Bốc dỡ hàng kết thúc lúc 18h”

“Anh A chỉ huy bốc dỡ hàng” “do dịch bệnh nên có thể ngồi nhà chỉ huy” “Tàu XYZ rời cảng lúc 19h”

Hỏi (Goal): “17 giờ A đang ở đâu ?” => trả lời : A ở “Bến cảng” || “ở nhà” PC (Soft truyền thống) => khơng biết ??? người: có thể biết => PC (Soft AI: Logic vị từ ): biết

Biến tình huống = biến thời gian = lượng hóa = biểu diễn định hướng 11h ->18h->19h 11h->17h->18h

Cài App : sao cho Input [user nhập vào một phát biểu] = Output [logic tình huống : cài đặt phát biểu vào cơ sở tri thức =]

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

2.1.1.13.6. Logic trạng thái (modal) Liên quan Fuzzy logic (Logic “mờ”) :

Ví dụ : Wiki “anh ABC ở phòng khách và phòng bếp” = “Mờ” Với phát biểu trên có 3 trạng thái xảy ra :

.Anh ABC ở trong phòng khách (khơng liên quan phịng Bếp) .Anh ABC ở trong phịng bếp (khơng liên quan phịng Khách)

.Anh ABC ở giữa cửa nối 2 phòng bếp và phòng khách = Logic trạng thái “Mờ” nêu trên là chấp nhận được = cài đặt được vào AI Sys dưới dạng Logic

trạng thái.

Suy luận (lập luận) Logic cho bài toán AI 2.1.1.13.7. Logic xác suất và Logic khả xuất

Liên quan Fuzzy logic (Logic ‘mờ’) Ví dụ :Tiếp VD trên 5.3.3.3

Logic khả xuất = là trường hợp cá biệt của Logic xác xuất thay vì xác suất thơng thường thì xét “xác suất xảy ra” = ? xảy ra sự kiện đó.Thường biểu diễn VD Lp -> 0.8q (độ tin cậy 0.8): 80% xảy ra

Tức là khi có sự kiện p thì 80% xảy ra sự kiện q Ví dụ ứng dụng

VD cụ thể : “Trời nhiều mây thì 80% chiều nay mưa” = biểu diễn = Logic vị từ (logic vị từ dạng khả xuất)

“Mờ”= không rõ “nhiều mây như thế nào”

2.1.12. Biểu diễn tri thức bằng Frame (Cấu trúc = "Khung")

- Frame là phương pháp biểu diễn tri thức cấu trúc dữ liệu, chứa tất cả tri thức liên quan đến một đối tượng cụ thể nào đó = hình thức biểu diễn tri thức dựa trên cơ sỏ lập tình truyền thống (dùng CTDL = định nghĩa Agent)

2.1.13. Suy diễn tri thức bằng luật dẫn xuất 2.1.1.14. Khái niệm

Suy diễn = lập luận

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Suy luận : là dựa trên : CSTT ban đầu (đã có || đã biết) = tri thức cơ sở + Luật (Rules) dẫn xuất (Tập )

2.1.1.15. Luật dẫn xuất trong Cơ sở tri thức: Suy diễn tiến

Là các quy tắc || quy luật làm cơ sở để “suy diễn tri thức” thường là dạng biểu diễn hình thức hóa tri thức tự nhiên các ký hiệu (toán)/ lưu trữ trên pc phục vụ hệ thống phân tích Ai

Phổ biến là luật dẫn xuất “kéo theo” dạng tam đoạn luận (Logic học) : Cho 1 cơ sở tri thức biểu diễn (Giả thiết || tiền đề)

======= Giả sử : có các luật dẫn xuất sau :

A^B -> D (A[sinh viên] ^ B[Điểm TB >8]->D[SV giỏi]=”SV có điểm TB >=8 là sinh viên giỏi”)

D^C -> E (A[SV giỏi]^C[RL giỏi]->E[Khen thưởng]=Sinh viên học giỏi và RL giỏi thì được khen thưởng”)

Hỏi : A,B,C,D kiểm tra “chân trị” của Vị từ suy diên : A^B^C->E {T||F} ?

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

[Closure] ký hiệu {H,K} * hoặc nếu ký hiệu P={H,K} thì P* = bao đóng của tập P

Kết quả = {A,B,C,D,E,H,K}={H,K}*= “Bao đóng” của tập sự kiện {H,K} 2.1.1. Biểu diễn suy luận bằng đồ thị AND/OR

* Dùng để “Suy diễn lùi || ngược”

* Là dạng đồ thị có hướng AND/OR, trong đó

Minh họ thực tế cho đồ thị AND/OR nêu trên : Xét quy ước ký hiệu các sự kiện như sau : Q=“Trúng tuyển vào trường Đại học”

P1=“điểm thi môn 1 của kết quả thi TN THPTQG là >=5” P2=“điểm thi môn 2 của kết quả thi TN THPTQG là >=5” P3=“điểm thi môn 3 của kết quả thi TN THPTQG là >=5” S1=“Kết quả học tập của 3 năm THPT AVG(ALL)>=6” S2=“hạnh kiểm đạt loại Tốt trở lên”

Có luật sau (luật dẫn xuất sau là ĐÚNG) Q=(P1^P2^P3) hoặc (S1^S2)

</div>

×