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

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 (LV thạc sĩ)

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.31 MB, 77 trang )

i

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

NGUYỄN DUY DŨ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

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên 2015

Số hóa bởi Trung tâm Học liệu – ĐHTN




ii

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.

Số hóa bởi Trung tâm Học liệu – ĐHTN





iii

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.

Số hóa bởi Trung tâm Học liệu – ĐHTN




iv

MỤC LỤC


LỜI CAM ĐOAN ...................................................................................................... i
MỤC LỤC ................................................................................................................ iv
DANH MỤC CÁC CHỮ VIẾT TẮT ...................................................................... vi
DANH MỤC BẢNG BIỂU ..................................................................................... vi
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.
4.

HƯỚNG NGHIÊN CỨU CỦA ĐỀ TÀI ............................................................2
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.
2.2.
2.3.
2.4.

Khai phá dữ liệu và phát hiện tri thức .......................................................... 21
Khai phá luật kết hợp ..................................................................................... 24
Phân lớp, phân cụm dữ liệu ........................................................................... 25
Cây quyết định................................................................................................. 29
Số hóa bởi Trung tâm Học liệu – ĐHTN




v

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

Số hóa bởi Trung tâm Học liệu – ĐHTN




vi


DANH MỤC CÁC CHỮ VIẾT TẮT
Chữ viết tắt

Tiếng anh

Tiếng việt

Q&A

Question Answering

Hỏi - đáp
Cơ sở dữ liệu

CSDL

DANH MỤC BẢNG BIỂU
Tên bảng

Trang

Bảng 3.2a. Bảng dữ liệu da rám nắng

52

Bảng 3.2b. Phân hoạch

54


Số hóa bởi Trung tâm Học liệu – ĐHTN




vii

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

Số hóa bởi Trung tâm Học liệu – ĐHTN




viii

Số hóa bởi Trung tâm Học liệu – ĐHTN




1

ĐẶ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

Số hóa bởi Trung tâm Học liệu – ĐHTN




2

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.
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:
Số hóa bởi Trung tâm Học liệu – ĐHTN




3

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.
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.

Số hóa bởi Trung tâm Học liệu – ĐHTN




4

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
Số hóa bởi Trung tâm Học liệu – ĐHTN




5

(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.

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
Số hóa bởi Trung tâm Học liệu – ĐHTN




6

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
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

Số hóa bởi Trung tâm Học liệu – ĐHTN




7

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
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ệ thống hỏi đáp

Miền đóng

Miền mở

Dữ liệu có cấu trúc

Web

Dữ liệu phi cấu trúc (Text)

Tập dữ liệu lớn

Một văn bản đơn

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à
Số hóa bởi Trung tâm Học liệu – ĐHTN




8

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à
từ khóa.
Hệ thống có cơ chế lập luận đơn giản: Trích xuất các câu trả lời có sẵn
trong tập tài liệu sau đó sử dụng các suy luận để tìm mối liên kết giữa câu trả lời
và câu hỏi. Hệ thống sử dụng các nguồn tri thức như bản thể về từng miền cụ thể
và bản thể chung.
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.
Số hóa bởi Trung tâm Học liệu – ĐHTN




9

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.
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:
Số hóa bởi Trung tâm Học liệu – ĐHTN




10

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.
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.
Số hóa bởi Trung tâm Học liệu – ĐHTN




11

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.
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):


Sáo



Cánh

Loài chim

Số hóa bởi Trung tâm Học liệu – ĐHTN



Bay
Biết


12

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):


Sáo





Loài chim


Biết
Cánh cụt

Biết

Cánh
Động vật


Đẻ

Trứng

Bay

Lặn

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
Điều kiện 2

Điều kiện m

Thì

Kết luận 1


Số hóa bởi Trung tâm Học liệu – ĐHTN





13

Kết luận n
Trường hợp mỗi điều kiện i, mỗi kết luận j là vị từ hay mệnh đề thì ta có thể
suy diễn logic thông thường.
Ví dụ:
Nếu

điểm Toán >8.0
Điểm Lý >=7.5
Điểm Hóa >= 8.0

Thì thi đại học khối A
Ưu điểm luật sản xuất:
-

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

-

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:
Số hóa bởi Trung tâm Học liệu – ĐHTN




14

< 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ó.

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 (Object-AttributeValue) là sử dụng bộ ba “Đối tượng”, “Thuộc tính”, “Giá trị” để chỉ sự kiện rằng
“Đố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):

Số hóa bởi Trung tâm Học liệu – ĐHTN




15

Tiếng Anh

Nặng

Nói

70

Lê Anh


Không

Râu

Cao

170

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.
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.
Số hóa bởi Trung tâm Học liệu – ĐHTN





16

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
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.
Số hóa bởi Trung tâm Học liệu – ĐHTN




17

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.
 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}

Số hóa bởi Trung tâm Học liệu – ĐHTN




×