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

Xây dựng hệ chuyên gia tư vấn chọn quần áo thời trang

19 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây Dựng Hệ Chuyên Gia Tư Vấn Chọn Quần Áo Thời Trang
Tác giả Giảng Viên Thực Hiện
Người hướng dẫn Lê Thị Trang Linh
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Chuyên Đề
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 1,05 MB

Nội dung

Một trong những ứng dụng tiêu biểu của trí tuệ nhân tạo là hệ chuyên gia, giúp con người giải quyết các vấn đề phức tạp dựa trên tri thức chuyên môn.. Đề tài "Xây dựng hệ chuyên gia tư v

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN

HỆ CHUYÊN GIA

ĐỀ TÀI:

XÂY DỰNG HỆ CHUYÊN GIA TƯ VẤN CHỌN QUẦN ÁO

THỜI TRANG

Sinh viên thực hiện :

Giảng viên hướng dẫn : LÊ THỊ TRANG LINH

Hà Nội, tháng năm 2024

Trang 2

PHIẾU CHẤM ĐIỂM STT Họ và tên

sinh viên

1

2

3

Giảng viên chấm 1:

Giảng viên chấm 2:

Trang 3

MỤC LỤC

Trang 4

LỜI MỞ ĐẦU

Trong thời đại công nghệ phát triển mạnh mẽ, nhu cầu về việc sử dụng các hệ thống thông minh để hỗ trợ con người trong việc ra quyết định ngày càng trở nên quan trọng Một trong những ứng dụng tiêu biểu của trí tuệ nhân tạo là

hệ chuyên gia, giúp con người giải quyết các vấn đề phức tạp dựa trên tri thức chuyên môn Đối với việc chọn mua quần áo thời trang không chỉ ảnh hưởng đến phong cách mà còn phản ánh cá tính và lối sống của mỗi người Một hệ chuyên gia có thể trở thành công cụ hữu ích, giúp đưa ra tư vấn trên gu thẩm

mỹ, ngân sách và có thể là xu hướng thời trang hiện tại, nhằm đảm bảo sự hài lòng tối đa và phù hợp với nhu cầu cá nhân

Đề tài "Xây dựng hệ chuyên gia tư vấn chọn quần áo thời trang" nhằm

mục đích phát triển một hệ thống có khả năng cung cấp các lời khuyên cụ thể và chính xác, giúp người dùng đưa ra quyết định tối ưu khi chọn mua quần áo thời trang Nhóm em đã cố gắng hoàn thành, nhưng do có nhiều hạn chế về kiến thức

và kinh nghiệm tìm hiểu thực tế, nên báo cáo còn có nhiều sai xót Em rất mong nhận được sự giúp đỡ và góp ý của thầy cô để bài báo cáo của nhóm em được hoàn thiện hơn

Nội dung của báo cáo gồm 3 chương:

Chương 1: Giới thiệu về hệ chuyên gia

Chương 2: Phân tích bài toán

Chương 3: Thiết kế, xây dựng chương trình tư vấn

Kết luận

Cuối cùng nhóm em xin chân thành cám ơn thầy cô đã tạo điều kiện thuận lợi và hướng dẫn chúng em hoàn thành bài tập lớn này

Nhóm em xin trân thành cảm ơn!

Trang 5

CHƯƠNG 1: GIỚI THIỆU VỀ HỆ CHUYÊN GIA

1 Giới thiệu hệ chuyên gia.

1.1 Hệ chuyên gia là gì?

Theo E Feigenbaum: “Hệ chuyên gia (Expert System) là một chương trình máy tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference procedures) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới giải được”

Hệ chuyên gia là một hệ thống tin học có thể mô phỏng (emulates) năng lực quyết đoán (decision) và hành động (making abilily) của một chuyên gia (con người) Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo (Artifical Intelligence) như hình dưới đây

Hình 1.1: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo.

Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn đề (bài toán) khác nhau thuộc mọi lĩnh vực

Tri thức (knowledge) trong hệ chuyên gia phản ánh sự tinh thông được tích tụ từ sách vở, tạp chí, từ các chuyên gia hay các nhà bác học Các thuật ngữ

hệ chuyên gia, hệ thống dựa trên tri thức (knowledge-based system) hay hệ chuyên gia dựa trên tri thức (knowledge-based expert system) thường có cùng nghĩa

Trang 6

1.2 Ưu điểm và nhược điểm của hệ chuyên gia.

1.2.1 Ưu điểm.

 Phổ cập (Increased availability): Là sản phẩm chuyên gia, được phát triển không ngừng với hiệu quả sử dụng không thể phủ nhận

 Giảm giá thành (reduced cost)

 Giảm rủi ro (reduced dangers): Giúp con người tránh được trong các môi trường rủi ro, nguy hiểm

 Tính thường trực (Permanace): Bất kể lúc nào cũng có thể khai thác

sử dụng, trong khi con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt

 Đa lĩnh vực (multiple expertise): chuyên gia về nhiều lĩnh vực khác nhau và được khai thác đồng thời bất kể thời gian sử dụng

 Độ tin cậy (Increased relialility): Luôn đảm bảo độ tin cậy khi khai thác

 Khả năng giảng giải (explannation) Câu trả lời với mức độ tinh thông được giảng giải rõ ràng chi tiết, dễ hiểu

 Khả năng trả lời (fast reponse) Trả lời theo thời gian thực, khách quan

 Tính ổn định, suy luận có lý và đầy đủ mọi nơi (steady, une motional, and complete respone at all times)

 Trợ giúp thông minh như một người hướng dẫn (intelligent - tutor)

1.2.2 Nhược điểm.

 Hệ chuyên gia có thể hoạt động tốt trong một lĩnh vực hẹp với một

độ phức tạp nhất định Việc mô hình hóa một hệ chuyên gia cho nhiều lĩnh vực có thể gây tác dụng ngược lại

 Hệ chuyên gia không hoàn toàn đảm bảo hay tính đúng đắn của các luật trong quá trình suy luận

Trang 7

 Việc thêm các luật, các tri thức mới có thể sẽ xung đột với những luật hiện tại và có thể giảm độ tin cậy của hệ thống

1.3 Các thành phần của hệ chuyên gia.

Một hệ chuyên gia kiểu mẫu gồm bảy thành phần cơ bản như sau:

Hình 1.2: Những thành phần cơ bản của hệ chuyên gia.

 Cơ sở tri thức (knowledge base) Gồm các phần tử (hay đơn vị) tri thức, thông thường được gọi là luật (rule), thường tổ chức như một cơ sở

dữ liệu

 Máy suy diễn ( inference engine) Công cụ (chương trình, hay bộ xử

lý ) tạo ra sự suy luận bằng các quyết định xem những luật nào sẽ làm thỏa mãn các sự kiện, các đối tượng, chọn ưu tiên các luật thỏa mãn, thực hiện các luật có tính ưu tiên cao nhất

 Lích công việc (agenda) Danh sách các luật ưu tiên do máy suy diễn tạo ra thỏa mãn các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc

 Bộ nhớ làm việc (working memory) Cơ sở dữ liệu toàn cục chứa các sự kiện phục vụ cho các luật

 Khả năng giải thích (explanation facility) Giải thích các lập luận của hệ thống cho người sử dụng

 Khả năng thu nhận tri thức (explanation facility) Cho phép người

sử dụng bổ sung các tri thức vào hệ thống một cách tự động thay vì tiếp

Trang 8

nhận tri thức bằng cách mã hóa tri thức một cách tường minh Khả năng thu nhận tri thức là yếu tố mặc nhiên của nhiều hệ chuyên gia

 Giao diện người sử dụng (user interface) là nơi người sử dụng và hệ chuyên gia trao đổi với nhau Cơ sở tri thức còn dược gọi là bộ nhớ sản xuất (production memory) trong hệ chuyên gia

Người ta thường phân loại tri thức theo nhiều cách Theo phân loại chức năng, người ta thường phân biệt hai loại tri thức là:

 tri thức phán đoán (assertion knowledge): mô tả các tình huống đã được thiết lập hoặc sẽ được thiết lập

 tri thức thực hành (operation knowledge) thể hiện những hậu quả rút ra hay những thao tác cần phải hoàn thiện khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh vực đang xét

Theo phân loại biểu hiện, cũng có hai loại

Tri thức hiện, rõ (explicit knowledge):

 Diễn đạt bằng ngôn ngữ hình thức, dễ trao đổi giữa các cá nhân

 Có thể biểu diễn bằng các công thức khoa học, các thủ tục tường minh, hoặc nhiều cách khác

 Bao gồm thông tin, dữ liệu, sách báo, văn bản, tài liệu đã được hệ thống bằng nhiều phương tiện

Tri thức ngầm, ẩn (tacit knowledge):

 Có được và ẩn chứa trong kinh nghiệm của từng cá nhân, mang tính chủ quan, bao gồm những hiểu biết riêng thấu đáo, trực giác, linh cảm, kỹ năng, …

 Khó trao đổi hoặc chia sẻ với người khác

 Chí có thể học được từ người khác nhờ quan hệ gần gũi trong một khoảng thời gian nào đó

Trang 9

1.4 Đặc điểm chính của một hệ chuyên gia.

Các đặc điểm chính của một hệ chuyên gia:

+ Các kỹ thuật suy diễn

+ Hỗ trợ suy luận tương đối (không chắc chắn)

+ Trình bày tri thức

+ Giao tiếp người dùng

+ Cơ chế giải thích

1.4.1 Các kỹ thuật suy diễn

- Suy diễn lùi:

Là tính hiệu quả để giải quyết vấn đề mà có thể mô hình hóa lại là cấu trúc lựa chọn các vấn đề Trang bị cho hệ thống khả năng chọn cái tốt nhất từ những cái có thể

Kiến thức được cấu trúc lại và đưa vào các luật, chúng mô tả làm như thế nào một khả năng nào đó được chọn Luật chia nhỏ vấn đề thành nhiều vấn đề khác nhỏ hơn Có nhiều vấn đề được đặt ra, khó mà có thể thống kê được số lượng các câu trả lời và chọn được một câu đúng nhất trong tất cả những câu đó

- Suy diễn tiến:

Là sử dụng tập luận tương tự nhau nhằm cho việc sử dụng suy diễn lùi Mặc

dù vậy, tiến trình suy diễn có khác đi, hệ thống giữ vết, cho tình trạng hiện tại của giải pháp và tìm kiếm luật, điều này sẽ dẫn đến việc đi dần đến giải pháp cuối cùng

Ví dụ: Hệ thống thiết lập chỗ cho các đồ đạc trong 1 phòng Có 1 phòng và 1

số các đồ đạc chưa được sắp vào 1 chỗ Hệ thống sẽ chịu trách nhiệm bố trí đồ đạc trong phòng Khi tất cả các món đồ được đặt vào thì hệ thống hoàn tất và tiến hành in ra lời giải cuối cùng Sau đây là 1 ví dụ về luật đặt ti vi cạnh ghế trường kỉ: If Tivi chưa được đặt và ghế trường kỉ đặt gần tivi (X) và (Y) đối diện (X) thì: Đặt tivi (X)

Trang 10

1.4.2 Biểu diễn tri thức.

- Dạng đối tượng- thuộc tính- giá trị.

Cơ chế tổ chức nhận thức của con người thường được xây dựng dựa trên các sự kiện (fact), xem như các đơn vị cơ bản nhất Một sự kiện là một dạng tri thức khai báo Nó cung cấp một số hiểu biết về một biến có hay một vấn đề nào

đó

Một sự kiện có thể được dùng để xác nhận giá trị của một thuộc tính xác định của một vài đối tượng VD: Mệnh đề “quả bóng màu đỏ” xác nhận “đỏ” là giá trị thuộc tính “màu” của đối tượng “quả bóng” Kiểu sự kiện này được gọi là

bộ ba Đối tượng- Thuộc tính- Giá trị (O-A-V- Object-Attribute-Value) Nhưng khi biểu diễn cho một vấn đề có tính tương đối thì chúng ta phải thêm tác nhân chắc chắn vào bên trong luật (CF)

rule(Name, LHS, RHS)

rhs(Goal, CF)

lhs(GoalList)

av(Attribute, Value)

rule(Name, lhs([av(A1, V1), av(A2, V2), ]), rhs(av(Attr, Val), CF) )

rule(5,

lhs([

av(turns_over, yes),

av(gas_gauge, empty)

]),

rhs(

av(problem, flooded), 80

)

)

left hand side (LHS) ==>> right hand side (RHS)

Trang 11

-Dạng khung (Frame):

Là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến một đối tượng cụ thể nào đó Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng (thực ra frame là nguồn gốc của lập trình hướng đối tượng) Ngược lại các phương pháp biểu diễn tri thức đã được đề cập đến, frame “đóng gói” toàn bộ một đối tượng, tình huống hoặc cả một vấn đề phức tạp thành một thực thể duy nhất có cấu trúc Một frame bao hàm trong nó một khối lượng tương đối lớn tri thức về một đối tượng, sự kiện, vị trí, tình huống hoặc những yếu tố khác Do

đó, frame có thể giúp ta mô tả khá chi tiết một đối tượng

rule <rule id>:

[<N>: <condition>, ]

==>

[<action> ]

Trong đó:

rule id - mã nhận dạng luật

N -tùy chọn cho điều kiện

condition -mẫu điều kiện

action -hành động

frame(name, [

slotname1 - [

facet1 val11, facet2 val12, ],

slotname2 - [

facet1 val21, facet2 val 22,

],

]

)

Trang 12

1.4.3 Suy luận không chắc chắn.

- Độ tin cậy:

goal problem

rule 1

if

not turn_over and battery_bad

then

problem is battery

rule 2

if

lights_weak

then

battery_bad cf 50

rule 3

if

radio_weak

then

battery_bad cf 50

rule 4

if

turn_over and

smell_gas

then

problem is flooded cf 80

rule 5

if

turn_over and

gas_gauge is empty then

Trang 13

problem is out_of_gas cf 90.

rule 6

if

turn_over and gas_gauge is low

then

problem is out_of_gas cf 30

ask turn_over

menu (yes no)

prompt 'Does the engine turn over?"

ask lights_weak

menu (yes no)

prompt 'Are the lights weak?"

ask radio_weak

menu (yes no)

prompt 'Is the radio weak?"

ask smell_gas

menu (yes no)

prompt 'Do you smell gas?"

ask gas_gauge

menu (empty low full)

prompt 'What does the gas gauge say?"

-Luật với độ tin cậy:

Có những khẳng định không phải lúc nào cũng là tuyệt đối 100% Có nhiều

vấn đề chúng ta không thể khẳng định được chúng là hoàn toàn đúng hoặc hoàn toài sai

Chẳng hạn, khi đang đi dạo trên đường, chúng tôi muốn ghé nhà anh bạn

nhưng chợt nghĩ đến việc là “Thường thường, vào lúc 7h tối như thế này thì anh

Trang 14

ta đã đi chơi với bạn gái” Như vậy nghĩa là sao ? Không phải là anh ta không

nhà, nhưng không hẳn là anh ta có nhà, trạng từ “thường thường” đó chính là độ tin cậy vào việc anh ta có ở nhà lúc này hay không?

Chẳng hạn, khi phỏng vấn về xem hơi thì hệ thống sẽ hỏi người dùng rất nhiều câu hỏi, và chúng sẽ tổng hợp những gì mà người dùng cung cấp để cuối cùng cho ra được các vấn đề mà chúng nghi ngờ Khi đề nghị ra giải pháp cho người sử dụng hệ thống hiển thị thông tin về mức độ tin cậy của mệnh đề Như trong VD sau đây: Độ nghi ngờ về tình trạng hết gas là đến 90% trong khi đó hiện

tượng gas bị rò rỉ là lên đến 80%

1.4.4 Giao tiếp với người dùng

-Hỏi người dùng:

Để hỏi người dùng về các thông tin về đặc điểm cá nhân của đối tượng Giả sử ta có các thuộc tính, hành động của một động vật là eat (ăn), feet (chân, wings (đuôi), neck (cổ), color (màu)

Ta có các vị từ sau:

eats(X) :-ask(eats, X)

feet(X) :-ask(feet, X)

wings(X) :-ask(wings, X)

neck(X) :-ask(neck, X)

color(X) :-ask(color, X)

Vị từ ask được thiết kế với mục đích là hỏi đối tượng ấy có thuộc tính A,V

Trang 15

và chờ người dùng nhập vào câu trả lời.

ask(A,

V]:-write(A:V),

write('? '),

read(yes)

- Ghi nhận trả lời người dùng:

Những thông tin mà người dùng cung cấp sẽ được hệ thống ghi nhận lại vào cơ sở dữ liệu (với sự xác nhận của người dùng khi trả lời câu hỏi: yes) bằng

vị từ assert với mẫu do kỹ sư chuyên môn cung cấp

ask(A,

V):-known(yes, A, V), !

ask(A,

V):-known(, A, V), !,

fail

ask(A,

V):-write(A:V),

write('?: '),

read(Y),

asserta(known(Y, A, V)),

Y == yes

- Câu hỏi có nhiều giá trị:

Trang 16

Với trường hợp câu hỏi có nhiều giá trị thì theo thuật toán cải tién cho vị từ

ask là chúng ta thêm mẫu multivalued để ghi nhận thuộc tính nào đó của đối tượng

mang nhiều giá trị

multivalued(voice)

multivalued(feed)

ask(A,

V):-not multivalued(A),

known(yes, A, V2),

V \== V2,

!, fail

-Hệ thống thực đơn người dùng:

Khi người dùng sẽ được hệ thống giao tiếp thông qua hệ thống thực đơn

đã được thiết kế Vị từ menuask được thiết kế để người dùng qua đó giao tiếp với hệ thống

Đầu tiên với thuộc tính- giá trị, khi muốn hỏi giá trị cho thuộc tính nào đó thì các câu trả lời sẽ tùy thuộc vào danh sách các câu trả lời mà hệ thống đã cung cấp sẵn thông qua tham số MenuList, khi muốn truy vấn người dùng một thuộc tính của đối tượng nào đó Khi người trả lời câu hỏi hệ thống sẽ kiểm tra xem câu trả lời của người dùng có nằm trong danh sách thực đơn hay không? (Điều này sẽ được kiểm tra thông qua vị từ check-val) Khi đã xác thực là câu trả lời hợp lệ thì vị từ assert sẽ ghi nhận câu trả lời vào cơ sở dữ liệu

-Tạo Shell:

Trang 17

Cùng giống như một phần mềm bình thường, để giao tiếp với người dùng

hệ thống phải cần đến shell Shell chẳng qua là một cầu nối giao tiếp trung gian giữa người dùng và hệ thống, thông qua đó người dùng và hệ thống có thể trao đổi thông tin, liên lạc với nhau

Quy trình làm viện của hệ thống với người dùng là như sau:

+Khởi động shell

+Nạp cơ sở tri thức vào hệ thống

+Tương tác giữa người dùng và Shell

+Hệ thống dựa cơ sở trên thông tin người dùng cung cấp để giải quyết vấn đề

1.4.5 Cơ chế giải thích

-Giải thích cho người dùng:

Xe khởi động được? Sai

Động cơ không chạy? Đúng

Bạn nghe mùi xăng? Đúng

Lời đề nghị- Chờ khoảng 5 phút sau hãy khởi động lại

Tại sao?

Hệ thống sử dụng luật:

Nếu:

Xe không khởi động và

Động cơ không chạy và

Có mùi nhiên liệu

Trang 18

Đề nghị 5 phút sau hãy khởi động xe lại

Trong ngữ cảnh cuộc hội thoại giữa người và hệ thống trợ giúp ở trên, sau khi đưa ra lời đề nghị là chờ thêm 5 phút thì nếu người dùng có nhu cầu muốn xem là “tại sao lại như vậy” thì hệ thống sẽ cung ứng những lý do tại sao chúng ta phải chờ Đối với người dùng việc chúng ta giải thích lý do tại sao chúng ta giải thích sẽ làm người dùng rõ vấn đề hơn

-Giải thích cho kỹ sư:

Đối với kỹ sư thiết kế hệ thống và kỹ sư chuyên môn, giải thích đối với họ

là một việc hết sức quan trọng trong quá trình thiết kế và xây dựng hệ, họ có thể căn cứ vào đó để lần ra được những bug trong chương trình, có thể căn cứ vào

đó để kiểm tra tính đúng đắn của hệ, dễ dàng phát hiện được những chỗ hỏng về mặc chuyên môn, cũng như các lỗi về kỹ thuật khi hệ thống đã được vận hành Những giải thích này có thể xóa khỏi hệ thống khi hệ thống đã hoàn tất, nhưng đôi khi như thế sẽ làm công tác bảo trì sẽ gặp nhiều khó khăn hơn

-Các loại giải thích:

Có 4 loại giải thích thường được sử dụng trong hệ chuyên gia:

+Lần vết theo suy luận: của luật (rất hợp đối với người thiết kế hệ thống)\ +Giải thích How: là làm như thế nào để có được suy luận

+Giải thích Why: là lời giải thích tại sao hệ thống hỏi vấn đề đó

+Giải thích Why not: là kết luận được cung cấp

Như đã khảo sát, quá trình suy diễn lùi cũng là quá trình đối thoại giữa người dùng và hệ chuyên gia Đó là khi hệ chuyên gia cần nhập dữ liệu cho các

sự kiện yêu cầu (là nút tận cùng- loại nút số 3) Ở đây người ta có thể có quyền đặt ra những câu hỏi nghi vấn như Tại sao? Why phải cung cập số liệu này?

Ngày đăng: 23/01/2025, 12:23

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

TÀI LIỆU LIÊN QUAN