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

Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp

73 418 1

Đ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 73
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các nhà nghiên cứu về hệ thống hỏi đáp cũng bắt đầu khai thác web như là một nguồn dữ liệu cho việc tìm kiếm câu trả lời.. Phân tích câu hỏi là phần đầu tiên trong kiến trúc chung của mộ

Trang 1

LỜI CAM ĐOAN Tôi xin cam đoan luận văn là kết quả nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực Được các tác giả cho phép tham khảo và sử dụng các tài liệu đăng tải trên các tác phẩm, tạp chí và các trang web theo danh mục tài liệu tham khảo của luận văn

Trang 2

LỜI CẢM ƠN

Tôi xin được gửi lời cảm ơn trân trọng và sâu sắc nhất đến thầy giáo PGS.TS Đoàn Văn Ban – thầy đã tận tình giúp đỡ, hướng dẫn cho tôi trong suốt quá trình

học tập và nghiên cứu, thực hiện đề tài này

Tôi cũng xin gửi lời biết ơn chân thành đến quý Thầy giáo, cô giáo Viện Công nghệ thông tin và quý Thầy cô trường Đại học Công nghệ thông tin & truyền thông Đại học Thái Nguyên đã tận tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong suốt quá trình học tập tại trường

Tôi cũng xin gửi lời biết ơn chân thành đến Ban giám hiệu, các phòng ban trường Cao đẳng Y tế Thanh Hóa đã tạo điều kiện cho tôi tham gia lớp học này Tôi cũng xin gửi lời biết ơn chân thành đến cơ quan Bắc Trung Bộ đã giúp đỡ

hỗ trợ cho tôi tham gia khóa học này

Tôi xin được cảm ơn, chia sẻ niềm vui này với gia đình, bạn bè đồng nghiệp và các y bác sĩ cùng anh chị em lớp Cao học K12G trường Đại học Công nghệ thông tin & truyền thông Đại học Thái Nguyên, những người đã luôn ở bên tôi, giúp đỡ và tạo điều kiện thuận lợi để cho tôi được học tập, nghiên cứu, hoàn thành luận văn

Trang 3

MỤC LỤC

LỜI CAM ĐOAN i

No table of figures entries found DANH MỤC CÁC CHỮ VIẾT TẮT v

DANH MỤC BẢNG BIỂU v

DANH MỤC CÁC HÌNH vi

1 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2

2 PHƯƠNG PHÁP NGHIÊN CỨU 2

3 HƯỚNG NGHIÊN CỨU CỦA ĐỀ TÀI 2

4 BỐ CỤC LUẬN VĂN 2

5 Ý NGHĨA KHOA HỌC CỦA ĐỀ TÀI 3

Chương 1 Giới thiệu về hệ thống hỏi đáp 4

1.1 Hệ thống hỏi – đáp tự động 4

1.2 Phân loại các hệ thống hỏi đáp tự động 6

1.2.1 Phân loại theo miền ứng dụng 6

1.2.2 Phân loại theo khả năng trả lời câu hỏi 7

1.2.3 Phân loại theo hướng tiếp cận 8

1.3 Cơ sở tri thức và máy suy diễn 8

1.3.1 Cơ sở tri thức 8

1.3.1.1 Khái niệm hệ cơ sở tri thức 8

1.3.1.2 Hệ phân loại tri thức 9

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

1.3.2 Máy suy diễn 15

1.4 Kiến trúc hệ thống hỏi – đáp 18

1.4.1 Giao diện người dùng 19

1.4.2 Phân tích câu hỏi 19

1.4.3 Tìm kiếm dữ liệu 19

1.4.4 Rút trích câu trả lời 20

1.4.5 Xác minh câu trả lời 20

1.5 Kết chương 1 20

Chương 2 Kỹ thuật phân lớp dữ liệu trong khai phá dữ liệu 21

2.1 Khai phá dữ liệu và phát hiện tri thức 21

2.2 Khai phá luật kết hợp 24

2.3 Phân lớp, phân cụm dữ liệu 25

2.4 Cây quyết định 29

Trang 4

2.5 Các thuật toán phân lớp dữ liệu phổ biến 30

2.5.1 Thuật toán cây quyết định ID3 30

2.5.2 Thuật toán C4.5 33

2.5.3 Thuật toán SVM 36

2.5.4 Thuật toán phân lớp K người láng giềng gần nhất 36

2.6 Các vấn đề liên quan đến phân lớp dữ liệu 37

2.6.1 Chuẩn bị dữ liệu cho việc phân lớp 37

2.6.2 So sánh các mô hình phân lớp 38

2.6.3 Các phương pháp đánh giá độ chính xác của mô hình phân lớp 39

2.7 Kết chương 2 40

Chương 3 Xây dựng hệ thống hỏi đáp tự động về một số bệnh thương gặp 41

3.1 Các loại bệnh thường gặp 41

3.1.1 Bệnh lao 41

3.1.2 Viêm phổi 46

3.2 Xây dựng cơ sở luật (KB) 52

3.3 Xây dựng cơ chế suy diễn để khai thác, tìm câu trả lời 56

3.4 Thiết kế hệ thống hỏi đáp 59

3.5 Cài đặt thử nghiệm hệ thống hỏi đáp 60

3.5.1 Môi trường phát triển hệ thống 60

3.5.2 Cấu trúc các thành phần để triển khai hệ thống 60

3.5.3 Cài đặt chương trình 61

3.5.4 Thử nghiệm hệ thống 61

3.5.4.1 Chức năng khai phá dữ liệu 61

3.5.4.2 Giao diện chẩn đoán bệnh 62

3.5.4.3 Danh mục các triệu chứng bệnh thông thường 64

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

DANH MỤC TÀI LIỆU THAM KHẢO 66

Trang 5

DANH MỤC CÁC CHỮ VIẾT TẮT

Trang 6

DANH MỤC CÁC HÌNH

Hình 1.1 Xu hướng trong nghiên cứu về Q&A 7

Hình 1.2 Mô hình đồ thị biểu diễn tri thức nhờ mạng ngữ nghĩa 11

Hình 1.3 Mô hình đồ thị thêm vào các nút và cung biểu diễn tri thức nhờ mạng NN 12

Hình 1.4 Mô hình biểu diễn tri thức nhờ bộ ba liên hợp O.A.V 14

Hình 1.5 Hệ thống tìm kiếm thông tin 18

Hình 1.6 Kiến trúc hệ thống hỏi đáp 19

Hình 2.1 Quá trình phát hiện tri thức 21

Hình 2.2 Phân lớp dữ liệu 26

Hình 2.3 Phân cụm dữ liệu 28

Hình 2.4 Siêu phẳng h phân chia dữ liệu huấn luyện thành 2 lớp + và – với khoảng cách biên lớn nhất Các biên gần h nhất là các vector hỗ trợ (Support Vector – được khoanh tròn) 36

Hình 2.5 Ước lượng độ chính xác của mô hình phân lớp với phương pháp holdout 39

Hình 3.1 Phân hoạch các thuộc tính 54

Hình 3.2 Phân hoạch các thuộc tính 55

Hình 3.3 Mô hình kiến trúc của hệ thống 59

Hình 3.4 Giao diện khai phá dữ liệu 61

Hình 3.5 Chẩn đoán bệnh của hệ thống 62

Hình 3.6 Chẩn đoán 62

Hình 3.7 Giao diện câu hỏi của hệ thống 63

Hình 3.8 Giao diện kết quả chẩn đoán của 63

Hình 3.9 Giao diện hỗ trợ của hệ thống 64

Trang 8

ĐẶT VẤN ĐỀ Ngày nay với sự phát triển mạnh mẽ của khoa học kỹ thuật từ lý thuyết đến ứng dụng, người ta đang cố gắng đưa công nghệ thông tin vào các ngành nghề như: khoa học kỹ thuật, giáo dục, y tế, v.v, trong đó lĩnh vực y tế ngày càng được nhiều người quan tâm Các nhà nghiên cứu về hệ thống hỏi đáp cũng bắt đầu khai thác web như là một nguồn dữ liệu cho việc tìm kiếm câu trả lời

Phân tích câu hỏi là phần đầu tiên trong kiến trúc chung của một hệ thống hỏi đáp, có nhiệm vụ tìm ra các thông tin cần thiết làm đầu vào cho quá trình xử lý của các phần sau (trích chọn tài liệu, trích xuất câu trả lời, v.v) Vì vậy,việc phân tích câu hỏi có vai trò hết sức quan trọng, ảnh hưởng trực tiếp đến hoạt động của toàn bộ hệ thống Nếu phân tích câu hỏi không tốt thì sẽ không thể tìm ra được câu trả lời

Hệ thống hỏi - đáp tự động là một công cụ hữu hiệu phục vụ cho nhu cầu tìm kiếm trao đổi thông tin ngày càng cao của con người, trong hệ thống hỏi đáp

có rất nhiều dạng câu hỏi như: Câu hỏi dạng định nghĩa (What), câu hỏi về nơi chốn (Where), câu hỏi như thế nào (How), câu hỏi đúng/sai (Yes/No) Nhưng hệ thống hỏi - đáp (Yes/No) lại mới chỉ được quan tâm trong vài năm gần đây Như vậy,việc xây dựng một hệ thống hỏi - đáp (Yes/No) là một nhu cầu cần thiết Hướng tới mục tiêu này, chúng tôi muốn xây dựng một mô hình hệ thống hỏi - đáp

tự động (Yes/No) nhằm phục vụ cho một lĩnh vực cụ thể là hỗ trợ việc chẩn đoán

và khuyến nghị điều trị các bệnh lý thông thường trong cuộc sống

Trong cuộc sống hằng ngày, có rất nhiều các loại bệnh thường xuyên đe dọa đến sức khỏe của con người chúng ta Thường các loại bệnh này xuất phát từ các triệu chứng, nhưng không phải ai cũng biết Cho nên yêu cầu của con người chúng ta cần có một hệ thống hỏi - đáp giúp họ chẩn đoán được các bệnh và giúp

họ hướng giải quyết để đảm bảo được sức khỏe cho chính mình

Như vậy, mục tiêu của đề tài này là tìm hiểu các tri thức cơ bản của y khoa

về các loại bệnh thông thường, thu thập tri thức để xây dựng một hệ thống hỏi đáp nhằm hổ trợ chẩn đoán và phân loại các bệnh thường gặp, cho người sử dụng những lời khuyên hữu ích trong việc phòng và điều trị bệnh

Trang 9

Nhận thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên

hướng dẫn, tôi đã chọn đề tài “Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp"

1 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

- Nghiên cứu kỹ thuật phân lớp dữ liệu trong khai phá dữ liệu

- Tìm hiểu về các bệnh thường gặp và xây dựng cơ sở tri thức về các biểu hiện của bệnh dựa trên cơ sở dữ liệu thu thập được tại Bệnh viện Đa khoa tỉnh Thanh Hóa để phân lớp các loại bệnh

2 PHƯƠNG PHÁP NGHIÊN CỨU

 Phương pháp nghiên cứu lý thuyết: Nghiên cứu qua các tài liệu, sách,

sách điện tử, các bài báo, thông tin tài liệu trên các website và các tài liệu liên quan và công nghệ liên quan, tổng hợp các tài liệu, phân tích và thiết kế hệ thống thông tin theo quy trình xây dựng ứng dụng phần mềm

 Phương pháp nghiên cứu thực nghiệm: Phân tích hiện trạng và yêu cầu

thực tế của bài toán và xây dựng các bước phân tích hệ thống để hỗ trợ việc lập trình, xây dựng ứng dụng,vận dụng các vấn đề nghiên cứu về mã hóa thông tin trong tiến trình xây dựng hệ thống, đánh giá kết quả đạt được

3 HƯỚNG NGHIÊN CỨU CỦA ĐỀ TÀI

- Nghiên cứu phương pháp phân lớp dữ liệu trong KPDL, các thuật toán liên quan đến quy nạp cây quyết định, tìm hiểu các ngôn ngữ mã lệnh siêu tìm kiếm

- Tìm hiểu hệ thống hỏi đáp tự động, ứng dụng công nghệ tri thức hỗ trợ phục vụ chẩn đoán và đưa ra khuyến nghị điều trị một số bệnh thường gặp

4 BỐ CỤC LUẬN VĂN

Sau phần mở đầu, nội dung chính của luận văn được chia thành 3 chương: Chương 1 trình bày lý thuyết về hỏi đáp tự động, cơ sở tri thức, máy suy diễn và ứng dụng máy suy diễn trong hỏi đáp tự động

Trang 10

Chương 2 trình bày các thuật toán phân lớp dữ liệu và trình bày về khai phá

dữ liệu Trên cơ sở lý thuyết đã trình bày ở chương 1, xây dựng ứng dụng cho việc chẩn đoán và đưa ra lời khuyến nghị điều trị các loại bệnh thông thường

Chương 3 trình bày một số vấn đề liên quan đến việc chẩn đoán các loại bệnh thông thường, mô tả cài đặt và thử nghiệm ứng dụng

5 Ý NGHĨA KHOA HỌC CỦA ĐỀ TÀI

Đề tài đưa ra một phương thức ứng dụng cây quyết định, ID3 trong chẩn đoán được các loại bệnh,và đưa ra khuyến nghị điều trị các loại bệnh thông thường

Trang 11

Chương 1 Giới thiệu về hệ thống hỏi đáp

1.1 Hệ thống hỏi – đáp tự động

Hệ thống hỏi đáp tự động là một hệ thống tự động trả lời câu hỏi của người dùng dựa trên quá trình tự động nhận diện, phân tích câu hỏi, trên cơ sở kết quả phân tích dữ liệu, hệ thống sẽ tìm kiếm các nội dung có liên quan đến câu hỏi và cuối cùng, hệ thống xử lý các nội dung này để trích chọn câu trả lời

Nghiên cứu về hệ thống hỏi đáp tự động hiện đang thu hút sự quan tâm của rất nhiều các nhà nghiên cứu từ các trường đại học, các viện nghiên cứu và cả các doanh nghiệp lớn trong ngành công nghệ thông tin, có ý nghĩa khoa học lẫn ý nghĩa thực tế

Một hệ thống hỏi đáp tự động (QA) thường gồm 3 bước chung như sau [7]:

 Phân tích câu hỏi (Question Analysis)

 Tìm kiếm tài liệu (Document Retrieval)

 Lựa chọn câu trả lời (Answer Extraction)

Bước 1 Phân tích câu hỏi:

Phân tích câu hỏi là pha đầu tiên trong kiến trúc chung của một hệ thống hỏi đáp, có nhiệm vụ tìm ra các thông tin cần thiết làm đầu vào cho quá trình xử lý của các pha sau (trích chọn tài liệu, trích xuất câu trả lời, v.v) Vì vậy,việc phân tích câu hỏi có vai trò hết sức quan trọng, ảnh hưởng trực tiếp đến hoạt động của toàn bộ hệ thống Nếu phân tích câu hỏi không tốt thì sẽ ảnh hưởng lớn đến chất lượng, sự thỏa mãn của người dùng về câu trả lời của hệ thống

Nếu các câu hỏi là độc lập lẫn nhau người ta thường dùng các kỹ thuật phân tích cú pháp và phân loại, giới hạn câu hỏi để xác định loại câu trả lời tương ứng Tuy nhiên, trên thực tế, người sử dụng đặt các câu hỏi thường liên quan với nhau (câu hỏi tình huống) Trong trường hợp này, tri thức, phạm vi của câu hỏi trước đó cần được lưu trữ và xử lý; hay nói cách khác các câu hỏi trước đó là cơ sở cho việc

xử lý và lựa chọn câu trả lời phù hợp với câu hỏi đang hỏi

Trang 12

Vai trò của quá trình phân tích câu

- Tạo ra các câu truy vấn thông tin làm cơ sở đáp ứng cho quá trình tìm

kiếm tài liệu liên quan

- Xác định, phân loại câu hỏi giúp cho quá trình lựa chọn câu trả lời xác

định đúng loại câu trả lời phù hợp

Bước 2 Tìm kiếm nguồn tài liệu liên quan

Vai trò chính của thành phần tìm kiếm tài liệu liên quan là rút trích ra một tập con từ tập tài liệu cha Tập tài liệu con này sẽ làm đầu vào cho bộ lựa chọn câu trả lời Vấn đề chính ở đây là mô hình nào là phù hợp với khối lượng và cấu trúc của văn bản rút trích Nhiều hướng tiếp cận sử dụng cơ chế sắp xếp các tài liệu đang được rất nhiều nghiên cứu quan tâm và cải tiến [8] Với hướng tiếp cận này, kết quả trả về là một tập các tài liệu được sắp xếp giảm dần độ liên quan của chúng với câu hỏi đã cho Để đánh giá kết quả tìm kiếm, hai thông số được sử dụng là độ chính xác và độ bao phủ Gaizauskas [7] đã đưa ra nhận định: nếu tăng số lượng các tài liệu tìm kiếm được; tức là làm tăng độ bao phủ nhưng lại làm giảm độ chính xác của quá trình lựa chọn câu trả lời Vì thế, trong quá trình tìm kiếm cần phải cân đối hai thông số này

Ngoài ra, hướng tiếp cận sử dụng mô hình logic để biểu diễn và rút trích tài liệu cho kết quả tìm kiếm rất khó để đánh giá mức độ liên quan với câu trả lời vì

nó xem các thuật ngữ là tách biệt, không có quan hệ với nhau về mặt ngữ nghĩa Tài liệu đầu vào của bộ lựa chọn câu trả lời có thể tồn tại ở nhiều cấu trúc khác nhau Đối với hệ thống hoạt động tốt với số lượng văn bản nhỏ, nếu sử dụng tất cả nội dung của kết quả tìm kiếm thì rõ ràng không phù hợp và có thể cho kết quả không tốt mà lại mất nhiều thời gian xử lý hơn là trả về các đoạn ngắn của tài liệu có liên quan [8] Vì thế, nhiều bài báo đã nghiên cứu việc ngắt đoạn văn bản

từ một tài liệu nguyên bản với mục đích có thể nâng cao độ bao phủ mà vẫn giữ được số lượng kết quả tìm kiếm ở mức nhỏ nhất, [5], [6] đề xuất cách thức chọn các đoạn trong tài liệu và sắp xếp chúng; trong khi [4] không dựa trên kích thước

Trang 13

cố định của đoạn văn và chỉ chọn đoạn có kích thước nhỏ nhất có chứa các từ khóa của câu hỏi

Bước 3 Lựa chọn câu trả lời:

Đầu vào của quá trình này bao gồm hai thành phần:

 Tập các tài liệu có liên quan chứa câu trả lời ứng viên

 Loại câu trả lời mong đợi được trả về trong quá trình phân tích câu hỏi Dựa trên các tài liệu đầu vào, quá trình lựa chọn câu trả lời sẽ thực hiện các

xử lý như: tách câu, gán nhãn, nhận diện tên riêng, v.v Việc lựa chọn các kỹ thuật

và sự kết hợp các kỹ thuật tùy thuộc vào hướng tiếp cận và phương thức xử lý của từng hệ thống hỏi đáp cụ thể

Hướng tiếp cận sử dụng các mẫu để lựa chọn câu trả lời được rất nhiều bài báo đề xuất [6] Theo đó, quá trình lựa chọn câu trả lời thường không đi sâu vào

xử lý tài liệu mà chỉ so khớp mẫu

1.2 Phân loại các hệ thống hỏi đáp tự động

Có nhiều cách phân loại hệ thống hỏi đáp dựa trên các tiêu chí khác nhau như: phân loại theo miền ứng dụng, theo việc xử lý trên tài liệu rút trích nhiều hơn; vì thế tốn nhiều thời gian hơn

1.2.1 Phân loại theo miền ứng dụng

Hệ thống hỏi đáp miền mở (open domain Question answering): Hệ thống trả lời bất kỳ câu hỏi nào được đưa vào Khó khăn cho hệ thống miền mở đó chính là việc xây dựng các tri thức nên cho việc trả lời cũng như phân tích câu hỏi, các phương pháp hiện nay thường sử dụng một số các bản thể khái quát hay các mạng tri thức như: wikipedia, bách khoa từ điển, v.v Tuy nhiên, dữ liệu cho việc trích rút câu trả lời là phong phú, dễ thu thập

Hệ thống hỏi đáp miền đóng (close domain Question answering): Hệ thống tập trung vào trả lời các câu hỏi liên quan đến một miền cụ thể (giáo dục, y tế, thể thao, v.v) Xây dựng hệ thống hỏi đáp miền đóng được coi là bài toán dễ hơn so

Trang 14

với xây dựng hệ thống hỏi đáp miền mở vì có thể sử dụng các tri thức miền (thường là ontology của miền cụ thể)

Hình 1.1 Xu hướng trong nghiên cứu về Q&A

Các nghiên cứu hiện nay về Q&A đang tập trung vào xây dựng hệ thống hỏi đáp trên miền mở, sử dụng nguồn dữ liệu phi cấu trúc (kho văn bản lớn hay dữ liệu web) để tìm câu trả lời Các nghiên cứu mới và cải tiến những phương pháp

cũ để có thể áp dụng cho nguồn dữ liệu web vốn đa dạng, nhiều “nhiễu” và trùng lặp đang rất được quan tâm (Hình 1.1)

1.2.2 Phân loại theo khả năng trả lời câu hỏi

Hệ thống có khả năng trả lời các câu hỏi liên quan đến sự vật, hiện tượng,v.v dựa trên việc trích ra câu trả lời có sẵn trong tập tài liệu Câu trả lời là các chuỗi ký tự trong một tài liệu Kỹ thuật chính được sử dụng là xử lý chuỗi và

Trang 15

Hệ thống trả lời các câu hỏi yêu cầu khả năng tổng hợp: Các phần của câu trả lời được trích rút từ nhiều tài liệu sau đó được tổng hợp lại thành câu trả lời hoàn chỉnh Câu hỏi thường là về danh sách, về cách thức, nguyên nhân, v.v

Hệ thống có khả năng giao tiếp với người dùng: Trả lời chuỗi các câu hỏi của người dùng về cùng một vấn đề Ví dụ các câu hỏi của người dùng như: “Giáo

sư A sinh năm nào? Ở đâu? Ông ấy đang công tác ở đâu?”

Hệ thống có khả năng lập luận tương tự: Có thể trả lời các câu hỏi có tính chất suy đoán, câu trả lời ẩn trong tập tài liệu Hệ thống cần trích ra các luận chứng và sử dụng lập luận tương tự để tìm ra câu trả lời

1.2.3 Phân loại theo hướng tiếp cận

Hướng tiếp cận nông: Nhiều phương pháp sử dụng trong Q&A dùng các kĩ thuật dựa trên từ khóa để định vị các câu, đọan văn có khả năng chứa câu trả lời từ các văn bản được trích chọn về Sau đó giữ lại các câu, đoạn văn có chứa chuỗi ký

tự cùng loại với loại câu trả lời mong muốn (ví dụ các câu hỏi về tên người, địa danh, số lượng, v.v)

Hướng tiếp cận sâu: Trong những trường hợp khi mà hướng tiếp cận bề mặt không thể tìm ra câu trả lời, những quá trình xử lý về ngữ pháp, ngữ nghĩa và ngữ cảnh là cần thiết để trích xuất hoặc tạo ra câu trả lời Các kĩ thuật thường dùng như nhận dạng thực thể, trích xuất mối quan hệ, loại bỏ nhập nhằng ngữ nghĩa, v.v Hệ thống thường sử dụng các nguồn tri thức như Wordnet, bản thể để làm giàu thêm khả năng lập luận thông qua các định nghĩa và mối liên hệ ngữ nghĩa Các hệ thống hỏi đáp dựa theo mô hình ngôn ngữ thống kê cũng đang ngày càng phổ biến

1.3 Cơ sở tri thức và máy suy diễn

1.3.1 Cơ sở tri thức

1.3.1.1 Khái niệm hệ cơ sở tri thức

Hệ cơ sở tri thức (CSTT) là chương trình máy tính được thiết kế để mô hình hoá khả năng giải quyết vấn đề của chuyên gia con người

Trang 16

Hệ CSTT là hệ thống dựa trên tri thức, cho phép mô hình hoá các tri thức của chuyên gia, dùng tri thức này để giải quyết vấn đề phức tạp thuộc cùng lĩnh vực

Hai yếu tố quan trọng trong Hệ CSTT là: tri thức chuyên gia và lập luận, tương ứng với hệ thống có hai khối chính là Cơ sở tri thức và mô tơ suy diễn

Hệ Chuyên gia là một loại cơ sở tri thức được thiết kế cho một lĩnh vực ứng dụng cụ thể

Ví dụ: Hệ Chuyên gia về chẩn đoán bệnh trong Y khoa, Hệ Chuyên gia chẩn đoán hỏng hóc của đường dây điện thoại, v.v

- Hệ Chuyên gia làm việc như một chuyên gia thực thụ và cung cấp các ý kiến dựa trên kinh nghiệm của chuyên gia con người đã được đưa vào Hệ Chuyên gia

- Cơ sở tri thức: Chứa các tri thức chuyên sâu về lĩnh vực như chuyên gia

Cơ sở tri thức bao gồm: các sự kiện, các luật, các khái niệm và các quan hệ

- Mô tơ suy diễn: bộ xử lý tri thức theo mô hình hoá theo cách lập luận của chuyên gia Mô tơ hoạt động trên thông tin về vấn đề đang xét, so sánh với tri thức lưu trong cơ sở tri thức rồi rút ra kết luận

- Kỹ sư tri thức: người thiết kế, xây dựng và thử nghiệm Hệ Chuyên gia

1.3.1.2 Hệ phân loại tri thức

Tri thức tồn tại dưới hai dạng cơ bản:

1 Tri thức định lượng: Thường gắn với các loại kinh nghiệm khác nhau Ở đây chúng ta xét về tri thức định tính

2 Tri thức định tính Được chia làm 3 loại:

Tri thức mô tả

Cho những thông tin về một sự kiện, hiện tượng hay quá trình mà không đưa

ra thông tin về cấu trúc bên trong cũng như phương pháp sử dụng bên trong của tri thức đó Ví dụ: Khẳng định “Việt Nam là đất nước tươi đẹp” Đây là một khẳng định bất biến, không phụ thuộc vào tình huống, không gian và thời gian Các tri thức phụ thuộc không gian và thời gian đòi hỏi những mô hình biểu diễn đặc biệt, cho phép thể hiện các tương quan giữa các sự kiện, quá trình không gian và thời gian

Trang 17

Ngoài ra các tri thức mô tả còn cho phép miêu tả các mối liên hệ, các ràng buộc giữa các đối tượng, các sự kiện và các quá trình Ví dụ: “Tôi muốn mua ô tô” miêu

tả mối quan hệ giữa đối tượng “tôi” và “ô tô” thông qua quan hệ “muốn mua”

Tri thức thủ tục

Mô tả cách thức giải quyết một vấn đề Loại tri thức này đưa ra giải pháp để thực hiện một công việc nào đó Các dạng tri thức thủ tục tiêu biểu thường là các luật, chiến lược, lịch trình và thủ tục

Tri thức điều khiển

Dùng để điều khiển, phối hợp các nguồn tri thức thủ tục và tri thức mô tả khác nhau

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

Biểu diễn tri thức nhờ logic

Dựa vào các khái niệm cơ bản về logic mệnh đề và logic vị từ,với một số bài toán, các trạng thái được mô tả qua các biểu thức logic Khi đó bài toán được phát biểu dưới dạng:

 Chứng minh: Từ GT1  GT2  …  GTm suy ra một trong các kết luận:

KL1,…, KLn

Ở đây: GTi, KLj là các biểu thức logic (mệnh đề hoặc vị từ)

 Tìm ghép: Gán cho các biến tự do sao cho từ GT1,…, GTm suy ra một trong các kết luận KL1,…, KLn

Cơ sở tri thức gồm hai phần: Các sự kiện và Các luật

Các sự kiện được cho bởi các luật đặc biệt dạng:

p  q1;

p  q2; ……

p  qk; Tập F = (p1,…, pn) tạo nên giả thiết cho quá trình suy diễn

Trang 18

Các luật ở dạng chuẩn Horn: p1  … pn  q

Cơ sở tri thức được cấu tạo bởi hai phần:

(1) Tập các sự kiện F

(2) Tập các luật R

Các sự kiện được cho bởi: p  qi (x,y,z,…), i = , ở đây qi (x,y,z, …) là các vị từ phụ thuộc vào các hạng thức x, y, z,…

Logic vị từ cho phép biểu diễn hầu hết các khái niệm và các phát biểu định

lý, định luật trong các bộ môn khoa học Cách biểu diễn này khá trực quan và ưu điểm căn bản của nó là có một cơ sở lý thuyết vững chắc cho những thủ tục suy diễn nhằm tìm kiếm và sản sinh ra những tri thức mới, dựa trên các sự kiện và các luật đã cho

Biểu diễn tri thức nhờ mạng ngữ nghĩa

Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị trong đó nút biểu diễn đối tượng cung biểu diễn quan hệ giữa các đối tượng Các nút và các cung đều được gắn nhãn

Ví dụ 1.1: để thể hiện tri thức “sáo là một loài chim có cánh và biết bay”,

người ta vẽ một đồ thị (xem Hình 1.2):

Hình 1.2 Mô hình đồ thị biểu diễn tri thức nhờ mạng ngữ nghĩa

Bằng cách thêm nút mới và các cung mới vào đồ thị người ta có thể mở rộng mạng ngữ nghĩa Các cung mới được thêm thể hiện các đối tượng tương tự (với các nút đã có trong đồ thị), hoặc tổng quát hơn Chẳng hạn để thể hiện “chim là một loài động vật đẻ trứng” và “cánh cụt là loài chim biết lặn”, người ta vẽ thêm (Hình 1.3):

Loài chim Sáo

Trang 19

Hình 1.3 Mô hình đồ thị thêm vào các nút và cung biểu diễn tri thức nhờ mạng ngữ nghĩa

Biểu diễn tri thức nhờ các luật

Để có thể tận dụng những điểm mạnh trong suy diễn logic nhờ nguyên lý Modun Ponens, các hệ chuyên gia trí tuệ nhân tạo đưa ra các luật sản xuất có dạng:

Nếu Điều kiện 1

Ưu điểm luật sản xuất:

- Cách biểu diễn khá đơn giản và trực quan

Trang 20

- Có thể suy diễn theo các chiến lược khác nhau: suy diễn tiến, suy diễn lùi, suy diễn hỗn hợp

- Khá gần gũi về cú pháp với các mô tả của ngôn ngữ LISP

- Có thể kiểm tra tính mâu thuẩn giữa các luật

- Tính mô đun cao, có nghĩa là việc thêm, bớt, loại bỏ các luật không làm ảnh hưởng tới các luật khác và cơ chế suy diễn

Biểu diễn tri thức bằng khung

Khung là một phương pháp biểu diễn tri thức 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 đó

Khung có liên hệ chặt chẽ đến khái niệm hướng đối tượng Khung thường được dùng để biểu diễn những tri thức “chuẩn” hoặc những tri thức dựa trên kinh nghiệm hoặc các điểm đã được hiểu biết cặn kẽ

Nếu phương pháp nhờ logic và mạng ngữ nghĩa dùng để biểu diễn tri thức

mô tả và phương pháp luật sản xuất dùng để biểu diễn tri thức thủ tục thì các khung là kết hợp của cả hai dạng biểu diễn: mô tả và thủ tục

Cấu trúc của khung:

< tên khung >

< tên slot 1 >

< thuộc tính kế thừa > - (như trên, duy nhất, miền)

< kiểu slot > - (text, integer, real, pointer …)

< giá trị slot > - (tên, giá trị, thủ tục, …) < tên slot 2 >

Cấu trúc này cho ta một “khung dữ liệu” để khoanh vùng các đối tượng là học sinh Trường hợp gặp 1 người cao 180 cm, nặng 45kg ta có thể khẳng định rằng đó không phải học sinh, vì không thỏa mãn các ràng buộc đã có

Trang 21

Biểu diễn nhờ bộ ba liên hợp O.A.V

Một cách biểu diễn khác là sử dụng bộ ba liên hợp OAV Value) là sử dụng bộ ba “Đối tượng”, “Thuộc tính”, “Giá trị” để chỉ sự kiện rằng

(Object-Attribute-“Đối tượng” với “Thuộc tính” đã cho có một “Giá trị” nào đó

Ví dụ 1.2

(Lê Anh, nặng , 70)

(Lê Anh, cao, 170)

(Lê Anh, râu, không)

(Lê Anh, nói, tiếng Anh)

 Có thể mô tả dưới dạng mạng ngữ nghĩa và các bộ liên hợp (xem Hình 1.4):

Hình 1.4 Mô hình biểu diễn tri thức nhờ bộ ba liên hợp O.A.V

Đối tượng trong bộ ba liên hợp được chia thành 2 loại: đối tượng tĩnh và đối tượng động

 Các đối tượng tĩnh được lưu trong bộ nhớ ngoài (băng từ, đĩa, v.v) và khi cần được nạp vào bộ nhớ trong để xử lý

 Các đối tượng động được khởi tạo trong quá trình làm việc và được lưu ở

bộ nhớ trong phục vụ cho các việc xử lý

Một điều quan trọng là các đối tượng có thể sắp xếp và liên kết lại với nhau cũng giống như trong liên kết các khung Tuy vậy, không thể biết một cách chính xác và tường minh bản chất của từng liên kết Vì vậy người ta thường sử dụng bộ

ba liên hợp để biểu diễn các sự kiện không chắc chắn

Trang 22

1.3.2 Máy suy diễn

Suy diễn tiến

Suy diễn tiến là lập luận các sự kiện, sự việc để rút ra các kết luận Ví dụ: Nếu thấy trời mưa trước khi ra khỏi nhà (sự kiện) thì phải lấy áo mưa (kết luận)

Trong phương pháp này, người sử dụng cung cấp các sự kiện cho hệ chuyên gia để hệ thống (máy suy diễn) tìm cách rút ra các kết luận có thể Kết luận được xem là những thuộc tính có thể được gán giá trị Trong số những kết luận này, có thể có những kết luận làm người sử dụng quan tâm, một số khác không nói lên điều gì, một số khác có thể vắng mặt

Các sự kiện thường có dạng: Attribute = Value

Lần lượt các sự kiện trong cơ sở tri thức được chọn và xem xét tất cả các luật mà các sự kiện này xuất hiện như là tiền đề Theo nguyên tắc lập luận trên, hệ thống sẽ lấy ra những luật thỏa mãn Sau khi gán giá trị cho các thuộc tính thuộc kết luận tương ứng, người ta nói rằng các sự kiện đã được thỏa mãn Sau khi mọi

sự kiện đã được xem xét, kết quả đã được xuất ra cho người sử dụng dùng

Thuật toán: (suy diễn tiến)

Đầu vào: - Tập luật Rule = {r1, r2, r3,…rm}

- Giả thiết(GT), Kết luận(KL) Đầu ra: - Thông báo “thành công” nếu GT → KL

- Ngược lại, thông báo “không thành công”

Bước 1: Ghi nhận các sự kiện giả thiết và mục tiêu của bài toán

Bước 2: Khởi tạo lời giải là rỗng

Bước 3: Kiểm tra mục tiêu If mục tiêu đáp ứng then goto bước 8

Bước 4: Tìm luật có thể áp dụng để phát sinh sự kiện mới

Bước 5: If trong bước 4 thất bại then Áp dụng thuật toán suy diễn lùi Bước 6: If tìm trong bước 4 thành công then

Trang 23

Ghi nhận thông tin về luật vào lời giải và sự kiện mới vào giả thiết được phát sinh từ các luật

Bước 7: Goto bước 4

Bước 8: Biến đổi lời giải tìm được

Biến đổi lời giải là quá trình đưa ra các kết quả suy luận và nêu lý do để có được các suy luận đó

Suy diễn lùi

Phương pháp suy diễn lùi tiến hành các lập luận theo chiều ngược lại (đối với phương pháp suy diễn tiến) Từ một giả thuyết (như là một kết luận), hệ thống đưa ra một tình huống trả lời gồm các sự kiện là cơ sở của giả thuyết đã cho này

Ví dụ: Nếu ai đó vào nhà mà cầm áo mưa và quần áo bị ướt thì giả thuyết này là trời mưa Để củng cố giả thuyết này, ta hỏi người đó xem có phải trời mưa không? Nếu người đó trả lời là có thì giả thuyết trời mưa là đúng và trở thành một

sự kiện Nghĩa là trời mưa nên phải cầm áo mưa và quần áo bị ướt

Suy diễn lùi là cho phép nhận được giá trị của một thuộc tính Đó là câu trả lời cho câu hỏi “giá trị của thuộc tính A là bao nhiêu?” với A là một đích

Để xác định giá trị của A, cần có các nguồn thông tin Những nguồn này có thể là những câu hỏi hoặc có thể là những luật Căn cứ vào các câu hỏi, hệ thống nhận được một cách trực tiếp từ người sử dụng những giá trị của thuộc tính liên quan Căn cứ vào các luật, hệ thống suy diễn có thể tìm ra giá trị sẽ là kết luận của một trong số các kết luận có thể của thuộc tính liên quan, v.v

Ý tưởng của thuật toán suy diễn lùi như sau: Với mỗi thuộc tính đã cho, người ta định nghĩa nguồn của nó:

 Nếu thuộc tính xuất hiện như là tiền đề của một luật (phần đầu của luật), thì nguồn sẽ thu gọn thành một câu hỏi

 Nếu thuộc tính xuất hiện như là hậu quả của một luật (phần cuối của luật), thì nguồn sẽ là các luật mà trong đó, thuộc tính là kết luận

Trang 24

 Nếu thuộc tính là trung gian, xuất hiện đồng thời như là tiền đề và như là kết luận, khi đó nguồn có thể là các luật, hoặc có thế là các câu hỏi mà chưa được nêu ra

Nếu mỗi lần với câu hỏi đã cho, người sử dụng trả lời hợp lệ, giá trị trả lời này sẽ được gán cho thuộc tính và xem như thành công Nếu nguồn là các luật, hệ thống sẽ lấy lần lượt các luật mà thuộc tính đích xuất hiện như kết luận, để có thể tìm giá trị các thuộc tính thuộc tiền đề Nếu các luật thỏa mãn, thuộc tính kết luận

sẽ được ghi nhận

Thuật toán (suy diễn lùi)

Đầu vào: - Tập các mệnh đề giả thiết đã cho GT = {g1, g2, g3, …, gn}

- Tập các luật RULE = {r1, r2, r3, …, rm}

- Tập các mệnh đề kết luật KL = {q1, q2, q3, …, qk} Đầu ra: - Kết luận thành công hay không thành công

Bước 1: Giả sử sự kiện là mục tiêu đúng

Bước 2: Phát sinh các mục tiêu con

Bước 3: Kiểm tra các mục tiêu con

If mục tiêu con đáp ứng then goto bước 8 của thuật toán suy diễn tiến Bước 4: If mức độ lùi > 6 then //lùi quá mức giới hạn

Kết luận “không tìm thấy lời giải” và kết thúc Else

Sang bước 5 (túc là quay lại bước 4 của thuật toán của suy diễn tiến)

Tức là tiếp tục thực hiện các bước sau:

Bước 5: Tìm luật có thể áp dụng để phát sinh sự kiện mới

Bước 6: If tìm trong bước 4 thất bại then Áp dụng thuật toán suy diễn lùi Bước 7: If tìm trong bước 4 thành công then

Trang 25

Ghi nhận thông tin về luật vào lời giải và sự kiện mới vào giả thiết được phát sinh từ các luật

Bước 8: Goto bước 4

Bước 9: Biến đổi lời giải tìm được

Biến đổi lời giải là quá trình đưa ra các kết quả suy luận và nêu lý do để có

được các suy luận đó

1.4 Kiến trúc hệ thống hỏi – đáp

Hệ thống hỏi - đáp phát triển từ lĩnh vực tìm kiếm thông tin (IR) IR truyền thống thực hiện tìm kiếm thông tin dựa trên từ khóa của các câu truy vấn Trong quá trình tìm kiếm, các từ khóa sẽ được so khớp với một chỉ mục tài liệu tham khảo cho các tài liệu khác nhau Mô hình cơ bản của một hệ thống IR [11] có kiến trúc (xem Hình 1.5):

Hình 1.5 Hệ thống tìm kiếm thông tin

Các hệ thống IR thường không giúp được người sử dụng tìm ra chính xác thông tin mà người dùng cần, nó chỉ có thể tổng hợp các thông tin tồn tại trong hệ thống và tìm các văn bản có liên quan đến yêu cầu của người sử dụng Tính năng này là một bước tiến gần hơn để xây dựng một hệ thống hỏi - đáp

Kiến trúc chung của các hệ thống hỏi - đáp [11] (xem Hình 1.6):

Lập chỉ mục truy vấn

Giao diện

Viết lại truy vấn

Tìm kiếm Xếp hạng

Lập chỉ mục tài liệu

Cơ sở dữ liệu

Tài liệu văn bản Các tài liệu đã xếp hạng

Tài liệu

Từ khóa của truy vấn

Truy vấn đã tinh chế

Từ khóa Tập tài liệu

Yêu cầu Tài liệu

Trang 26

Hình 1.6 Kiến trúc hệ thống hỏi đáp

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

Hầu hết các hệ thống hỏi - đáp đã được triển khai thực hiện trong thời gian gần đây cung cấp cho người dùng một giao diện web mà người dùng có thể nhập câu hỏi vào ([4],[5]) Các câu hỏi sau đó được gửi đi, hệ thống sẽ xử lý và trả về cho người dùng một câu trả lời dưới định dạng tương tự

1.4.2 Phân tích câu hỏi

Phân tích câu hỏi đóng vai trò quan trọng trong bất kỳ loại hình hệ thống đáp nào Trong giai đoạn này, câu hỏi được phân tích, xử lý để trích lọc càng nhiều thông tin càng tốt mà có thể được sử dụng sau này trong giai đoạn tìm kiếm dữ liệu Kết quả của bước này khác nhau tùy theo việc phân tích câu hỏi nông hay sâu

hỏi-1.4.3 Tìm kiếm dữ liệu

Một số thông tin đã được trích xuất trong giai đoạn phân tích câu hỏi sẽ được sử dụng để tìm kiếm thông tin trong cơ sở tri thức Điều này có thể được thực hiện bằng nhiều phương pháp khác nhau Một hệ thống hỏi - đáp lĩnh vực rộng sẽ sử dụng một máy tìm kiếm để tìm kiếm các tài liệu được phân phối qua Internet Một hệ thống lĩnh vực hẹp có thể tìm kiếm trong các nguồn dữ liệu không

có cấu trúc, bán cấu trúc, hoặc có cấu trúc ví dụ như một cơ sở dữ liệu Trong phần này, thông tin được tiền xử lý nhiều lần để tăng hiệu quả của hệ thống Tìm kiếm

dữ liệu trong một hệ thống hỏi-đáp tương tự với giai đoạn tìm kiếm dữ liệu trong

hệ thống IR, sử dụng các phương pháp tìm kiếm như là phương pháp tìm kiếm từ

Phân tích câu hỏi

Tìm kiếm

dữ liệu

Tài nguyên hỏi đáp

Cơ sở dữ liệu

Các tài liệu web Internet

Truy vấn

Dữ liệu dưới dạng văn bản

Câu hỏi bằng ngôn ngữ tự nhiên

Truy vấn đã tinh Câu trả lời bằng ngôn

ngữ tự nhiên

Trang 27

khóa dạng logic hoặc phương pháp đánh trọng số từ khóa [5] Trong giai đoạn tìm kiếm dữ liệu của hệ thống hỏi - đáp, điều quan trọng là lấy càng nhiều thông tin có liên quan đến câu hỏi càng tốt Chất lượng của việc tìm kiếm tài liệu sẽ ít quan trọng hơn bởi vì kết quả sẽ không cần thiết phải được hiển thị ra giao diện cho người dùng Điều quan trọng là những thông tin do người dùng yêu cầu sẽ được tìm thấy

1.4.4 Rút trích câu trả lời

Rút trích câu trả lời thuộc lĩnh vực rút trích thông tin Thông tin đã được trả

về trong giai đoạn này có thể là các tài liệu hoặc các văn bản từ việc truy vấn cơ sở

dữ liệu Những thông tin này được sử dụng để rút trích các đoạn có liên quan ngữ nghĩa đến câu hỏi mà người dùng đưa ra Có rất nhiều phương pháp được đưa ra trong việc rút trích các đoạn văn bản chứa câu trả lời,ví dụ như phương pháp phân đoạn tài liệu dựa trên chủ đề và so khớp với câu hỏi do người dùng đưa vào để chọn ra các phân đoạn tài liệu tương tự với câu hỏi người dùng đưa vào [4]

1.4.5 Xác minh câu trả lời

Một số hệ thống Q&A cải thiện thêm tính chính xác bằng cách phân tích các câu trả lời thu được, qua việc sử dụng phương pháp xử lý ngôn ngữ tự nhiên bằng cách phân tích sâu hơn để xác minh lại câu hỏi Các câu hỏi và câu trả lời được phân tích cú pháp và chuyển đổi sang cùng một hình thức logic Các câu hỏi và câu trả lời

sau đó được so sánh với nhau để xác minh tính hợp lý của các câu trả lời

1.5 Kết chương 1

Chương 1, giới thiệu hệ thống hỏi đáp tự động, cơ sở tri thức, máy suy diễn

và hiện trạng hệ thống hỏi đáp tự động cùng với một số vấn đề cần quan tâm khi xây dựng hệ thống hỏi đáp tự động

Trang 28

Chương 2 Kỹ thuật phân lớp dữ liệu trong khai phá dữ liệu

2.1 Khai phá dữ liệu và phát hiện tri thức

Định nghĩa khai phá dữ liệu: khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp

Khai phá tri thức từ cơ sở dữ liệu là quy trình bao gồm nhiều công đoạn: như xác định vấn đề, tập hợp và chọn lọc dữ liệu, khai thác dữ liệu, đánh giá kết quả, giải thích dữ liệu, áp dụng tri thức vào thực tế

Quá trình phát hiện tri thức thường tuân theo các bước [10]:

Hình 2.1 Quá trình phát hiện tri thức

 Hình thành, xác định và định nghĩa bài toán

Là tìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu

 Thu thập và tiền xử lý dữ liệu:

Dữ liệu được thu thập và xử lý ở dạng thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu (làm sạch dữ liệu), xử lý việc thiếu dữ liệu (làm giàu dữ

Hình thành và định nghĩa bài toán

Thu thập và tiền xử lý dữ liệu

Khai phá dữ liệu và rút ra các tri thức

Sử dụng các tri thức phát hiện được Phân tích và kiểm định kết quả

Trang 29

liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức Do dữ liệu được lấy

từ nhiều nguồn khác nhau, không đồng nhất,v.v, có thể gây ra các nhầm lẫn Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và rời rạc hoá

 Khai phá dữ liệu và rút ra các tri thức:

Là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào?

Thông thường, các bài toán khai phá dữ liệu bao gồm:

- Các bài toán mang tính mô tả: đưa ra tính chất chung nhất của dữ liệu;

- Các bài toán dự báo: bao gồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có Tuỳ theo bài toán xác định được mà ta lựa chọn các phương pháp khai phá dữ liệu cho phù hợp

 Phân tích và kiểm định kết quả:

Là hiểu các tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Trong bước này, kết quả tìm được sẽ được biến đổi sang dạng phù hợp với

lĩnh vực ứng dụng và dễ hiểu hơn cho người dùng

 Sử dụng các tri thức phát hiện được:

Trong bước bước này, các tri thức khám phá được sẽ được củng cố, kết hợp lại thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng trong các tri thức đó Các mô hình rút ra được đưa vào những hệ thống thông tin thực tế dưới dạng các môdun hỗ trợ việc đưa ra quyết định

Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ với nhau trong bối cảnh chung của hệ thống, Các kỹ thuật được sử dụng trong giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải thuật được sử dụng trong các giai đoạn tiếp theo Các bước của quá trình khám phá tri thức có thể được lặp

Trang 30

đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện

Khai phá dữ liệu ngày càng đóng một vai trò quan trọng trong việc tìm ra các trí thức thực sự có ích, hiệu quả tiềm ẩn trong các khối dữ liệu thông tin khổng

lồ vẫn hành ngày đang được thu thập, lưu trữ để giúp các cá nhân và tổ chức đưa

ra được các quyết định đang được thu thập, lưu trũ để giúp các cá nhân và tổ chức đưa ra được các quyết định chính xác và nhanh chóng Tuy đã có rất nhiều các giải pháp và phương pháp được ứng dụng trong khai phá dữ liệu nhưng trên thực tế quá trình nãy vẫn gặp không ít khó khăn và thách thức như:

- Cơ sở dữ liệu lớn

- Số chiều các thuộc tính lớn

- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp

- Dữ liệu bị thiếu hoặc bị nhiễu

- Quan hệ giữa các trường phức tạp

- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có

- Tích hợp với các hệ thống khác

Cơ sở dữ liệu có thể lớn về số lượng các bản ghi, lớn về số lượng các thuộc tính trong CSDL Số lượng các bản ghi trong CSDL lớn có khi dung lượng tới hàng gigabyte, terabyte, số các thuộc tính trong CSDL có thể rất nhiều và đa dạng

Để giải quyết vấn đề này, người ta thường đưa ra một ngưỡng nào đó cho CSDL bằng các cách như chiết xuất mẫu, xấp xỉ hoặc xử lý song song

Trong CSDL có các thuộc tính lớn, cùng với số lượng lớn các bản ghi sẽ dẫn đến kích thước độ phức tạp của bài toán tăng lên Vì vậy, không gian trạng thái gia tăng, nhiều mẫu hay mô hình thừa, trùng lặp phát sinh nhiều luật thừa, đây được coi là vấn đề nan giải trong quá trình khai phá dữ liệu Nhằm giải quyết được những vấn đề trên, phải sử dụng một số các tri thức đã biết trước để loại bỏ và trích lọc ra những dữ liệu thích hợp với yếu cầu của bài toán

Trang 31

Vấn đề dữ liệu bị thay đổi phụ thuộc theo thời gian, có nghĩa là dữ liệu bị ảnh hưởng và phụ thuộc vào thời điểm quan sát, lấy mẫu, thời điểm khai phá Kết quả đạt được sau khai phá cũng gây không ít khó khăn cho khai phá dữ liệu, như các mẫu được khai phá ở bước trước, có thể không còn giá trị hay vô nghĩa đối với thời điểm sử dụng, hoặc có thể làm nhiễu hay phát sinh hiệu ứng phụ làm sai lệch kết quả Để khắc phục được vấn đề này cần phải chuẩn hóa, cải tiến, nâng cấp các mẫu, các mô hình và có thể xem các thay đổi này là mục đích của khai phá và tìm kiếm các mẫu bị thay đổi

Thuộc tính không phụ hợp, các bộ giá trị không đầy đủ, bị thiết giá trị trong các miền thuộc tính đã làm ảnh hưởng rất lớn trong khai phá dữ liệu Trong quá trình khai phá dữ liệu, khi các hệ thống tương tác với nhau phụ thuộc nhau mà thiếu vắng một vài giá trị nào đó, sẽ dẫn đến các mẫu không được chính xác, bị thiếu, không đầy đủ Để giải quyết vấn đề này, người ta coi sự thiếu vắng của các

dữ liệu này là giá trị ẩn, chưa biết và có thể được tiên đoán bằng một số phương pháp nào

Quan hệ phức tạp giữa các thuộc tính trong CSDL cũng là vấn đề cần được quan tâm Những bộ thuộc tính có cấu trúc, phân lớp phức tạp, có mối liên hệ phức tạp với nhau trong CSDL đòi hỏi khai phá dữ liệu phải có các giải pháp, các

kỹ thuật để có thể áp dụng được, nhân ra được các mối quan hệ này trong quá trình khai phá dữ liệu

2.2 Khai phá luật kết hợp

Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được

sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học

Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêu thị, các nhà quản lý rất thích có được các thông tin mang tính thống kê như: “90% phụ nữ có xe máy màu đỏ và đeo đồng hồ Thụy Sỹ thì dùng nước hoa hiệu Chanel” hoặc “70% khách hành là công nhân khi mua Tivi thường mua loại TV 21 inches” Những thông tin như vậy rất hữu ích trong việc định hướng kinh doanh Vậy vấn đề

Trang 32

đặt ra là liệu có tìm được các luật như vậy bằng các công cụ khai phá dữ liệu hay không: Câu trả lời là hoàn toàn có thể Đó chính là khai phá dữ liệu kết hợp

Giả sử chúng ta có một cơ sở dữ liệu D Luật kết hợp cho biết phạm vi mà trong đó sự xuất hiện của tập các mục S nào đó trong các bản ghi của D sẽ kéo theo sự xuất hiện của một tập những mục U cũng trong những bản ghi đó Mỗi luật kết hợp được đặc trưng bởi một cặp tỉ lệ Mỗi tỉ lệ hỗ trợ được biểu diễn bằng tỉ lệ

% những bản ghi trong D chứa cả S và U

Vấn đề khám phá luật kết hợp được phát biểu như sau: Cho trước tỉ lệ hỗ trợ

 và độ tin cậy  Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ và tin cậy lớn hơn  và  tương ứng

Giả thiết D là CSDL giao dịch và với  = 40%,  = 90% Vấn đề phát hiện luật kết hợp được thực hiện như sau:

Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ kéo theo một số mục khác

Chỉ xét những qui luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%

Ví dụ một công ty bán hàng qua mạng Internet Các khách hàng được yêu cầu điền vào các mẫu bán hàng để công ty có được một CSDL về các yêu cầu của khách hàng Giả sử công ty quan tâm đến mối quan hệ “tuổi, giới tính, nghề nghiệp và sản phẩm” Khi đó có thể có rất nhiều câu hỏi tương ứng với luật trên

Ví dụ trong lứa tuổi nào thì những khách hàng nữ là công nhân đặt mua hàng gì

đó, ví dụ áo dài chẳng hạn là nhiều nhất, thỏa mãn một ngưỡng nào đó?

2.3 Phân lớp, phân cụm dữ liệu

Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mực đích

sử dụng thông tin của mình Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó phương pháp khai phá dữ liệu để tìm kiếm các mẫu đáng quan tâm theo dạng xác định Có thể kể ra đây một vài phương pháp như: sử dụng công cụ truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K-láng giềng gần nhất), giá trị trung bình, phát hiện luật kết hợp, v.v

Trang 33

Trong lĩnh vực máy học và nhận dạng mẫu, bài toán phân lớp đề cập đến các thuật toán nhằm xác định lớp của đối tượng đã cho sẽ thuộc về lớp nào trong các lớp đã cho trước

Khác với bài toán phân cụm, dữ liệu huấn luyện dùng để xây dựng mô hình trong bài toán phân lớp phải được xác định nhãn trước

Ví dụ 2.1: Xác định một email thuộc “spam” hoặc “non-spam”, hay xác

định loại bệnh của bệnh nhân dựa vào các triệu chứng ho

 Phân lớp dữ liệu là tiến trình có 2 bước:

 Huấn luyện: Dữ liệu huấn luyện được phân tích bởi thuật toán phân lớp (có thuộc tính nhãn lớp), (xem Hình 2.2):

fair fair excellent

……

fair excellent excellent fair fair excellent

Trang 34

- Phân lớp: Dữ liệu kiểm tra được dùng để ước lượng độ chính xác của bộ phân lớp Nếu độ chính xác là chấp nhận được thì có thể dùng bộ phân lớp để phân lớp các mẫu dữ liệu mới

- Độ chính xác của bộ phân lớp trên tập kiểm tra cho trước là phần trăm của các mẫu trong tập kiểm tra được bộ phân lớp xếp lớp đúng

Độ chính xác =

 Đánh giá phương pháp phân lớp

- Độ chính xác của dự đoán: khả năng bộ phân lớp dự đoán đúng dữ liệu chưa thấy

- Tính bền vững: khả năng của bộ phân lớp thực hiện dự đoán đúng vớ dữ liệu có nhiễu hay thiếu giá trị

- Tính kích cỡ: khả năng tạo bộ phân lớp hiệu quả với số lượng dữ liệu lớn

- Khả năng diễn giải: bộ phân lớp cung cấp tri thức có thể hiểu được

 Phân cụm dữ liệu

Phân cụm dữ liệu là một kỹ thuật quan trọng trong phân tích dữ liệu và được áp dụng trong nhiều ngành khoa học khác nhau như: sinh học, tâm lý học, y học, v.v Phân cụm là chia dữ liệu thành các nhóm mà các đối tượng trong cùng một nhóm thì giống nhau theo một nghĩa nào đó và khác với các đối tượng trong các nhóm khác Mỗi nhóm được gọi là một cluster Mỗi đối tượng được mô tả bởi một tập các độ đo hoặc bằng mối quan hệ với các đối tượng khác Phân cụm dữ liệu là một

ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện

Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu như là phân loại và

mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm

Trang 35

Hình 2.3 là một ví dụ về phân cụm Trong ví dụ này chúng ta dễ dàng xác định được 4 cụm từ các dữ liệu được chia, tiêu chí “tương tự” là khoảng cách: hai hoặc nhiều đối tượng thuộc cùng cụm nếu nó là “gần gũi” nhau, theo một khoảng cách nhất định (trong trường hợp này là khoảng cách hình học) Đây được gọi là phân cụm dựa trên khoảng cách

Hình 2.3 Phân cụm dữ liệu

Một định nghĩa rộng hơn về phân cụm: “phân cụm là quá trình tổ chức các đối tượng thành các nhóm mà các thành viên trong nhóm là tương tự nhau theo cách nào đó” [12] Ngoài ra, còn có một số định nghĩa về cluster như: “Một cluster

là một tập các đối tượng giống nhau và khác với các đối tượng không ở trong cluster đó” “Một cluster là một tập các điểm trong không gian mà khoảng cách giữa hai điểm bất kì trong nó luôn nhỏ hơn khoảng cách giữa một điểm bất kì trong nó và một điểm ngoài” “Các cluster có thể được mô tả như các miền liên thông trong không gian đa chiều chứa mật độ tương đối cao các điểm, phân biệt giữa các miền bằng mật độ khá thấp của các điểm” Hai hoặc nhiều đối tượng được gọi là cùng một cụm nếu nó được định nghĩa cùng một khái niệm chung cho tất cả các đối tượng Nói cách khác, các đối tượng được nhóm lại để phù hợp với các khái niệm mô tả

Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người từ y tế, giáo dục, xử lý thông tin, nghiên cứu phân tích thị trường,v.v Phân cụm được sử dụng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu,

xử lý ảnh, nghiên cứu thị trường, phân loại trong tin sinh học,v.v Bằng phân cụm, trong thương mại có thể giúp những nhà phân tích thị trường tìm ra những nhóm khách hàng có những nhu cầu riêng dựa trên độ tuổi, sở thích và tâm lý tiêu dùng

Trang 36

Trong sinh học, nó có thể được sử dụng để phân loại thực vật, động vật, phân loại cấu trúc protein dựa trên các cấu trúc tương đồng vốn có, từ đó có thể xây dựng ngân hàng dữ liệu protein Trong xử lý thông tin, phân cụm giúp phân loại các tài liệu với dạng lưu trữ văn bản, trên đĩa mềm, trên ổ cứng, trên mạng internet thành giúp tạo lập và hoàn chỉnh kho dữ liệu khổng lồ về tri thức của loài người

Chức năng khai phá dữ liệu, phân cụm có thể được sử dụng như một công

cụ độc lập để quan sát đặc trưng của mỗi cụm thu được bên trong sự phân bố dữ liệu và tập trung vào một tập riêng biệt của các cụm để phân tích Phân cụm có thể dụng như một bước tiền xử lý cho các thuật toán như phân loại, mô tả đặc điểm, phát hiện ra các cụm với các đặc trưng, tính chất khác nhau

2.4 Cây quyết định

Cây quyết định là một phương pháp rất mạnh và phổ biến cho cả hai nhiệm

vụ của khai phá dữ liệu là phân loại và dự đoán Mặt khác, cây quyết định còn có thể chuyển sang dạng biễu diễn tương đương dưới tri thức các luật If – Then

Cây quyết định là cấu trúc biễu diễn dưới dạng cây Trong đó, mỗi nút trong biễu diễn một thuộc tính, nhánh biễu diễn giá trị có thể có của thuộc tính, mỗi lá biểu diễn các lớp quyết định và đỉnh trên cùng của cây gọi là gốc Cây

quyết định có thể được dùng để phân lớp bằng cách xuất phát từ gốc của cây và di chuyển theo các nhánh cho đến khi gặp nút lá Trên cơ sở phân lớp này chúng ta

có thể chuyển đổi về các luật quyết định

Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định Cây quyết định là một dạng đặc biệt của cấu trúc cây

Tạo cây quyết định chính là quá trình phân tích cơ sở dữ liệu, phân lớp và đưa ra dự đoán Cây quyết định được tạo thành bằng cách lần lượt chia một tập dữ liệu thành các tập dữ liệu con, mỗi tập con được tạo thành chủ yếu từ các phần tử của cùng một lớp Lựa chọn thuộc tính để tạo nhánh thông qua Entropy và Gain

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại

Ngày đăng: 12/12/2016, 16:37

HÌNH ẢNH LIÊN QUAN

Bảng 3.2a.  Bảng dữ liệu da rám nắng  52 - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Bảng 3.2a. Bảng dữ liệu da rám nắng 52 (Trang 5)
Hình 1.1. Xu hướng trong nghiên cứu về Q&amp;A - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 1.1. Xu hướng trong nghiên cứu về Q&amp;A (Trang 14)
Hình 1.3. Mô hình đồ thị thêm vào các nút và cung biểu diễn tri thức nhờ mạng ngữ nghĩa - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 1.3. Mô hình đồ thị thêm vào các nút và cung biểu diễn tri thức nhờ mạng ngữ nghĩa (Trang 19)
Hình 1.4. Mô hình biểu diễn tri thức nhờ bộ ba liên hợp O.A.V - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 1.4. Mô hình biểu diễn tri thức nhờ bộ ba liên hợp O.A.V (Trang 21)
Hình 1.5. Hệ thống tìm kiếm thông tin - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 1.5. Hệ thống tìm kiếm thông tin (Trang 25)
Hình 1.6. Kiến trúc hệ thống hỏi đáp - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 1.6. Kiến trúc hệ thống hỏi đáp (Trang 26)
Hình 2.1 Quá trình phát hiện tri thức - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 2.1 Quá trình phát hiện tri thức (Trang 28)
Hình 2.2. Phân lớp dữ liệu - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 2.2. Phân lớp dữ liệu (Trang 33)
Bảng 3.2a.  Bảng dữ liệu da rám nắng - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Bảng 3.2a. Bảng dữ liệu da rám nắng (Trang 59)
Hình 3.3 Mô hình kiến trúc của hệ thống - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 3.3 Mô hình kiến trúc của hệ thống (Trang 66)
Hình 3.4. Giao diện khai phá dữ liệu - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 3.4. Giao diện khai phá dữ liệu (Trang 69)
Hình 3.5 Chẩn đoán bệnh của hệ thống - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 3.5 Chẩn đoán bệnh của hệ thống (Trang 69)
Hình 3.6 Chẩn đoán - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 3.6 Chẩn đoán (Trang 70)
Hình 3.7 Giao diện câu hỏi của hệ thống - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 3.7 Giao diện câu hỏi của hệ thống (Trang 70)
Hình 3.9 Giao diện hỗ trợ của hệ thống - Các thuật toán phân lớp dữ liệu và ứng dụng xây dựng hệ thống hỏi đáp tự động về một số bệnh thường gặp
Hình 3.9 Giao diện hỗ trợ của hệ thống (Trang 71)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm