25/05/2018, 08:59

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

Script là một cách biểu diễn tri thức tương tự như frame nhưng thay vì đặc tả một đối tượng, nó mô tả một chuỗi các sự kiện . Để mô tả chuỗi sự kiện, script sử dụng một dãy các slot chứa thông tin về các con người, đối tượng và hành động ...

Script là một cách biểu diễn tri thức tương tự như frame nhưng thay vì đặc tả một đối tượng, nó mô tả một chuỗi các sự kiện. Để mô tả chuỗi sự kiện, script sử dụng một dãy các slot chứa thông tin về các con người, đối tượng và hành động liên quan đến sự kiện đó.

Tuy cấu trúc của các script là rất khác nhau tùy theo bài toán, nhưng nhìn chung một script thường bao gồm các thành phần sau :

Điều kiện vào(entry condition): mô tả những tình huống hoặc điều kiện cần được thỏa mãn trước khi các sự kiện trong script có thể diễn ra.

Role (diễn viên): là những con người có liên quan trong script.

Prop (tác tố): là tất cả những đối tượng được sử dụng trong các chuỗi sự kiện sẽ diễn ra.

Scene(Tình huống) : là chuỗi sự kiện thực sự diễn ra.

Result (Kết quả) : trạng thái của các Role sau khi script đã thi hành xong.

Track (phiên bản) : mô tả một biến thể (hoặc trường hợp đặc biệt) có thể xảy ra trong đoạn script.

Sau đây là một ví dụ tiêu biểu cho script. Ví dụ này là một biến thể của ví dụ nổi tiếng về nhà hàng bán thức ăn nhanh (các nhà hàng bán gà rán mà ta thường gặp trong các siêu thị!) thường được sử dụng để minh họa cách biểu diễn tri thức bằng script trong cách sách nói về trí tuệ nhân tạo. Đi ăn trong một nhà hàng là một tình huống thường gặp trong cuộc sống với những điều kiện vào, diễn viên, tác tố, hoàn cảnh, kết quả khá "chuẩn". Và qua script ở ví dụ, bạn sẽ thấy phương pháp này có thể được dùng để mô tả chính xác những tình huống diễn ra hàng ngày của những nhà hàng bán thức ăn nhanh. Các tình huống là những đoạn script con trong đoạn script chính để mô tả những tình huống nhỏ trong toàn bộ quá trình. Lưu ý rằng trong đoạn script này có tình huống tùy chọn trong đó mô tả việc khách hàng mua thức ăn về thay vì vào nhà hàng ăn.

Script "nhà hàng"

Phiên bản : Nhà hàng bán thức ăn nhanh.

Diễn viên :  Khách hàng

Người phục vụ.

Tác tố :        Bàn phục vụ.

Chỗ ngồi.

Khay đựng thức ăn

Thức ăn

Tiền

Các loại gia vị như muối, tương, ớt, tiêu, ...

Điều kiện vào :

Khách hàng đói

Khách hàng có đủ tiền để trả.

Tình huống 1 : Vào nhà hàng

Khách hàng đậu xe vào bãi đậu xe.

Khách hàng bước vào nhà hàng.

Khách hàng xếp hàng trước bàn phục vụ.

Khách hàng đọc thực đơn trên tường và quyết định sẽ kêu món ăn gì.

Tình huống 2: Kêu món ăn.

Khách hàng kêu món ăn với người phục vụ (đang đứng ở quầy phục vụ)

Người phục vụ đặt thức ăn lên khay và đưa hóa đơn tính tiền cho khách.

Khách hàng trả tiền cho người phục vụ.

Tình huống 3: Khách hàng dùng món ăn

Khách hàng lấy thêm các gia vị

Khách hàng cầm khay đến một bàn còn trống.

Khách hàng ăn thức ăn.

Tình huống 3A (tùy chọn) : Khách hàng mua thức ăn đem về

Khách hàng mang thức ăn về nhà.

Tình huống 4 : Ra về

Khách hàng thu dọn bàn

Khách hàng bỏ rác (thức ăn thừa, xương, mảng vụn, ...) vào thùng rác.

Khách hàng ra khỏi nhà hàng.

Khách hàng lái xe đi.

Kết quả :

Khách hàng không còn đói.

Khách hàng còn ít tiền hơn ban đầu.

Khách hàng vui vẻ *

Khách hàng bực mình *

Khách hàng quá no.

* Tùy chọn.

Script rất hữu dụng trong việc dự đoán điều gì sẽ xảy đến trong những tình huống xác định. Thậm chí trong những tình huống chưa diễn ra, script còn cho phép máy tính dự đoán được việc gì sẽ xảy ra và xảy ra đối với ai và vào thời điểm nào. Nếu máy tính kích hoạt một script, người dùng có thể đặt câu hỏi và hệ thống có thể suy ra được những câu trả lời chính xác mà không cần người dùng cung cấp thêm nhiều thông tin (trong một số trường hợp có thể không cần thêm thông tin). Do đó, cũng giống như frame, script là một dạng biểu diễn tri thức tương đối hữu dụng vì nó cho phép ta mô tả chính xác những tình huống "chuẩn" mà con người vẫn thực hiện mỗi ngày hoặc đã nắm bắt chính xác.

Để cài đặt script trong máy tính, bạn phải tìm cách lưu trữ các tri thức dưới dạng hình thức. LISP là ngôn ngữ lập trình phù hợp nhất để làm điều này. Sau khi đã cài đặt xong script, bạn (người dùng) có thể đặt câu hỏi về những con người hoặc điều kiện có liên quan trong script. Hệ thống sau đó sẽ tiến hành thao tác tìm kiếm hoặc thao tác so mẫu để tìm câu trả lời. Chẳng hạn bạn có thể đặt câu hỏi "Khách hàng làm gì trước tiên?". Hệ thống sẽ tìm thấy câu trả lời trong scene 1 và đưa ra đáp án "Đậu xe và bước vào nhà hàng".

0