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

Xây dựng giao diện thông minh dựa tá tử giao diện

149 2 0

Đ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 Giao Diện Thông Minh Dựa Tác Tử Giao Diện
Tác giả Lê Hải Quân
Người hướng dẫn PGS – TS.
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2005
Thành phố Hà Nội
Định dạng
Số trang 149
Dung lượng 2,65 MB

Cấu trúc

  • Chương I: Cơ s ở lý thuyế ề giao diện người dùng thông minh .......................12 t v 1.1. Giao diện người dùng thông minh (0)
    • 1.1.1. T ại sao cầ n s d ử ụng giao diện người dùng thông minh ? (0)
    • 1.1.2. Giao diện người dùng thông minh là gì ? (16)
      • 1.1.2.1. Định nghĩa (16)
      • 1.1.2.2. Các thuộc tính của giao diện người dùng thông minh (0)
    • 1.1.3. Giao diện người dùng thông minh khác với một hệ thống thông minh (19)
    • 1.2. Các thành phần của giao diện thông minh (20)
      • 1.2.1. Mô hình người dùng (20)
      • 1.2.2. Đa mô hình giao tiế p (21)
      • 1.2.3. Khả ă n ng nh n bi t kế ậ ế ho ch.............................................................................19 ạ 1.2.4. Khả ă n ng trình diễ độ n ng (0)
      • 1.2.5. Ngôn ngữ ự t nhiên (22)
      • 1.2.6. Khả ă n ng trợ giúp thông minh (22)
      • 1.2.7. Khả ă n ng thích nghi của giao diện (23)
    • 1.3. Thiế t k giao diện người dùng.....................................................................21 ế 1. Quy trình thiết kế chung (0)
      • 1.3.2. Phân tích (25)
      • 1.3.3. Phát triển và triển khai (26)
      • 1.3.4. ánh giá.............................................................................................................25 Đ 1.3.5. S i ự đ ều chỉnh và tích hợ p v ới công cụ (0)
      • 1.3.6. M ột số ph ương pháp thiết kế khác (27)
        • 1.3.6.1. Thiết kế ử ụ s d ng các bài tập tình huống (28)
        • 1.3.6.2. Một số nguyên t c định hướng trong thiết kế......................................................... 27 ắ 1.3.6.3. Ki ế n trúc chung (0)
    • 1.4. Các ngôn ngữ mô tả giao diện (31)
      • 1.4.1. UIML (32)
      • 1.4.2. XIML (35)
      • 1.4.3. AUIML (35)
      • 1.4.4. USIXML (36)
      • 1.4.5. AUIT (36)
      • 1.4.6. AAIML (37)
      • 1.4.7. XUL (38)
      • 1.4.8. GITK / GIML (38)
      • 1.4.9. XAML (39)
      • 1.4.10. Một số loại ngôn ngữ mô tả giao diện khác (39)
      • 1.4.11. So sánh các ngôn ngữ mô tả giao diện người dùng (40)
    • 1.5. Kết chương (41)
  • Chương II: Tác tử giao diện thông minh và ứng dụng trong xây dựng giao diện thông minh (43)
    • 2.1. Tác tử giao diện thông minh (43)
      • 2.1.1. Giới thiệu tác tử (43)
      • 2.1.2. Tác tử giao diện thông minh là gì (44)
      • 2.1.3. S c ự ần thiết của tác tử giao diệ n (0)
    • 2.2. Đặc đ ể i m của tác tử giao diện thông minh (47)
      • 2.2.1. Tính chủ độ ng (48)
      • 2.2.2. Tác tử ớ v i tư cách là trợ lý và tư ấ v n cho người dùng (49)
        • 2.2.2.1 Làm trợ lý (49)
        • 2.2.2.2 Làm tư ấ v n (49)
      • 2.2.3. Thay đổi cho phù hợ p v ới từng người dùng (cá nhân hóa) (50)
      • 2.2.4. Mô hình miền (lĩnh vực) (0)
      • 2.2.5. Mô hình người dùng (51)
      • 2.2.6. Được tin cậ y (54)
      • 2.2.7. Có khả ă n ng ph n h i thông tin.........................................................................52 ả ồ 2.2.8. Có khả ă n ng hướng d n .....................................................................................53 ẫ 2.2.9. Đượ c nhân hóa (0)
      • 2.2.10. M ột số quan đ ểm phả đối sử ụng tác tử i n d (0)
      • 2.2.11. Làm hài lòng người sử ụ d ng (58)
    • 2.3. Tích hợp tác tử giao diện thông minh trong xây dựng giao diện (58)
    • 2.4. Mô hình kiến trúc xây dựng giao diện dựa trên tác tử giao diện thông (60)
      • 2.4.1. Đặc tả miề n (60)
      • 2.4.2. Khả ă n ng thích nghi (60)
      • 2.4.3. Tác tử đ ề i u ph i .................................................................................................60 ố 2.4.4. Tác tử quan sát (62)
      • 2.4.5. Tác tử ự đ d oán (63)
      • 2.4.6. Tác tử hướng d n ...............................................................................................61 ẫ 2.4.7. Tác tử qu n lý mô hình người dùng...................................................................61 ả 2.4.7.1. Cập nhật lịch sử tương tác (63)
        • 2.4.7.2. Cập nhật mô hình tương tác (65)
        • 2.4.7.3. Sử ụ d ng tiểu sử người dùng (65)
      • 2.4.8. Tác tử qu n lý mô hình miền.............................................................................63 ả 2.4.9. Tác tử đ áp ng ...................................................................................................63 ứ 2.5. Kết chương (0)
  • Chương III: Xây dựng mô hình nhiệm vụ trong giao diện thông minh dựa tác tử (0)
    • 3.1. Các nhiệm vụ và hành động (68)
      • 3.1.1. Hành động (68)
      • 3.1.2. Nhiệm vụ (68)
    • 3.2. Mô hình nhiệm vụ ự d a trên tác tử giao diện (70)
    • 3.3. Các thành phần cơ ả b n của mô hình nhiệm vụ (71)
      • 3.3.1. Nhiệm vụ (71)
      • 3.3.2. Hành động (71)
      • 3.3.3. M c tiêu .............................................................................................................69 ụ 3.3.4. Người dùng (0)
      • 3.3.5. Tác tử (72)
      • 3.3.6. Nhiệm vụ con (72)
      • 3.3.7. Nhiệm vụ đ ề i u ki n trước ..................................................................................70 ệ 3.3.8. Nhiệm vụ đ ề i u ki n sau .....................................................................................70 ệ 3.4. Phân tích nhiệm vụ (0)
      • 3.4.1. Phân tích nhiệm vụ là gì (72)
      • 3.4.2. Các phương pháp phân tích nhiệm vụ (75)
        • 3.4.2.1. Phân tích nhiệm vụ ử ụ s d ng HTA (Hierarchical Task Analysis) (75)
        • 3.4.2.2. Phân tích nhiệm vụ ử ụ s d ng GOMS (Goals, Operators, Methods, Selectors) (0)
        • 3.4.2.3. Phân tích nhiệm vụ ử ụ s d ng GTA (Groupware Task Analysis) (76)
        • 3.4.2.4. Phương pháp phân tích dựa trên HTA (77)
    • 3.5. Xây dựng mô hình nhiệm vụ (78)
    • 3.6. Kết chương (82)
  • Chương IV: Xây dựng mô hình tương tác (84)
    • 4.1. Mô hình tương tác (84)
    • 4.2. Các giải thuật xây d ựng mô hình tươ ng tác (87)
      • 4.2.1. Thuật toán phân đ ạ o n hành động (87)
      • 4.2.2. Thuật toán lựa chọ n c p hành động ...................................................................87 ặ 4.2.3. Thuật toán lựa chọ n c p hành động cuối ...........................................................91 ặ 4.2.4. Thuật toán xây dự ng thị tương tác................................................................93 đồ 4.2.5. Thuật toán tính toán xác xuất (89)
    • 4.3. Đánh giá và hoàn thiện các giả i thu t xây d ng mô hình tương tác .....101 ậ ự 1. Thuật toán phân đ ạ o n hành động (0)
      • 4.3.2. Thuật toán lựa chọ n c p hành động .................................................................102 ặ 4.3.3. Thuật toán lựa chọ n c p hành động cuối .........................................................104 ặ 4.3.4. Thuật toán xây dự ng thị tương tác..............................................................106 đồ 4.3.5. Thuật toán tính toán xác suất (104)
      • 4.3.6. T ng k t ...........................................................................................................110 ổ ế 4.4. Bài toán thử nghiệm (0)
      • 4.4.1. H ệ thống chuyể n kho n cá nhân......................................................................112 ả 4.4.2. Xây dựng giao diện người dùng (0)
        • 4.4.2.1. Đăng nhập (114)
        • 4.4.2.2. Chuy n kho ể ản (0)
      • 4.4.3. Xây dựng mô hình nhiệm vụ (116)
      • 4.4.4. Xác định các hành độ ng nguyên t ố (0)
        • 4.4.4.1. Các hành độ ng nguyên t ..................................................................................... 118 ố 4.4.4.2. Ánh x ạ chúng v ớ i các nhi ệ m v ụ (120)
      • 4.4.5. Mô tả giao diện và nhiệm vụ ằ b ng XML (123)
        • 4.4.5.1. Ngôn ngữ đặc tả XML (123)
        • 4.4.5.2. Mô tả nhiệm vụ ử ụ s d ng XML (0)
        • 4.4.5.3. Mô tả giao diện bằng XML (125)
        • 4.4.5.4. Ánh xạ giữa giao diện và nhiệm vụ ằ b ng XML (125)
      • 4.4.6. Tác tử trợ giúp (126)
        • 4.4.6.1. Kiến trúc của tác tử (126)
        • 4.4.6.2. L ị ch s ử t ươ ng tác (126)
        • 4.4.6.3. Sinh trợ giúp người dùng (126)
    • 4.5. Thử nghiệm và đánh giá (127)
    • 4.6. Kết chương (128)
  • Phụ lục (0)

Nội dung

Kết chương ...126 Trang 6 Danh mục các hình vẽ trong luận văn Hình 1.1: Lĩnh vực nghiên cứu giao diện người dùng thông minh và một s chố ủ đề liên quan ...16Hình 1.2: Một h thệ ống thôn

Cơ s ở lý thuyế ề giao diện người dùng thông minh .12 t v 1.1 Giao diện người dùng thông minh

Giao diện người dùng thông minh là gì ?

Giao diện thông minh là một phần quan trọng trong nghiên cứu tương tác Người - Máy tính (HCI) Thuật ngữ "giao diện người dùng thông minh" không chỉ mô tả một loại giao diện đặc biệt mà còn là lĩnh vực nghiên cứu riêng Các cụm từ như giao diện thích nghi và giao diện đa phương thức cũng được sử dụng để chỉ những thành phần quan trọng trong giao diện thông minh Hai cụm từ này hiện đang được áp dụng như những khái niệm liên quan đến nghiên cứu giao diện người dùng thông minh.

Vấn đề khiến nhiều người đau đầu nhất khi định nghĩa thuật ngữ “giao diện người dùng thông minh” nằm chính ở cụm t “thông minh” Nhi u th p kỷ ừ ề ậ qua, nhiều nhà nghiên cứ đu ã cố gắng để định ngh a c m t “thông minh” này ĩ ụ ừ Quay lại nh ng n m 1950, khi mà Alan Turing ữ ă đã tiếp cận đến một ý tưởng để có thể định ngh a “sự thông minh” bằng những công cụ mà ngày nay chúng ta ĩ vẫn gọi là Turing Test, tuy nhiên các cuộc tranh luận không vì thế mà dừng lại Trải qua nhiều năm, nhiều định nghĩa về sự thông minh c ng ã ũ đ được đưa ra Hầu hết các định nghĩa này đề đều cập đến kh n ng thích nghi (kh n ng h c và ả ă ả ă ọ giải quyết các tình huống mới), khả năng giao ti p, và kh năế ả ng gi i quyết các ả vấn đề

Giao diện người dùng "thông minh" được định nghĩa là phương thức giao tiếp giữa người dùng và máy tính, sử dụng công nghệ tiên tiến để cải thiện sự tương tác Giao diện này có khả năng thích nghi với nhu cầu của người sử dụng, giao tiếp hiệu quả và giải quyết các vấn đề mà họ gặp phải.

Giao diện người dùng thông minh hướng đến mục tiêu chính là nâng cao tính linh hoạt, tiện dụng và khả năng tương tác giữa người và máy Để đạt được điều này, chúng tôi khai thác sự hiểu biết sâu sắc về người dùng, các nhiệm vụ, công cụ và nội dung, cũng như các thiết bị hỗ trợ nhằm tối ưu hóa trải nghiệm tương tác trong nhiều hoàn cảnh sử dụng khác nhau.

[6], chúng ta mô tả rất nhi u các ch đề nghiên c u và m i quan h của chúng ề ủ ứ ố ệ đối với các l nh v c nghiên c u khác ĩ ự ứ

Hình 1.1: Lĩnh vực nghiên c ứu giao diện ngườ i dùng thông minh và m ột số chủ đề liên quan

1.1.2.2 Các thuộc tính c a giao diện người dùng thông minh ủ

Giao diện người dùng thông minh được thiết kế nhằm cải thiện khả năng tương tác giữa người dùng và máy tính Người dùng thường chú ý đến "sự thông minh" của giao diện hơn là các kỹ thuật được áp dụng để nâng cao trải nghiệm này Dưới đây là danh sách các kỹ thuật hiện đang được sử dụng trong giao diện người dùng thông minh.

• K ỹ thu ậ t đầ u vào thông minh sử dụng các k thu t m i để nh n nh ng ỹ ậ ớ ậ ữ thông tin đầu vào dưới nhiều hình thức từ người dùng Những k thuật ỹ này bao gồm ngôn ngữ tự nhiên, theo dõi và nh n bi t c ch , nh n bi t ậ ế ử ỉ ậ ế các biểu hi n trên khuôn mặt và hướng nhìn của ngườệ i dùng;

Các lĩnh vực liên quan khác

Nhận dạ ng gi ng nói ọ

Xử lý ngôn ngữ tự nhiên

Các công cụ thiết kế

Các hệ thố ng a đ ph ương tiệ n

Giả lập Đ a d ng đầu ạ vào/đầu ra

Quản lý hội thoại Máy học

Tác tử thông minh Lọc thông tin Nhận biết kế hoạch

Mô hình người dùng Nhận biết cử chỉ

Các hệ thống hướng dẫn Tiện ích

Xử lý dựa trên kinh nghiệm

Giao diện người dùng thông minh

Mô hình người dùng bao gồm các kỹ thuật cho phép hệ thống lưu trữ, truy xuất và suy luận các tri thức về người dùng dựa trên những dữ liệu đầu vào nhận được.

Khả năng thích ứng của người dùng là một yếu tố quan trọng trong việc cải thiện giao tiếp giữa con người và máy tính Các kỹ thuật như máy học và nhận biết hoàn cảnh giúp máy tính có thể điều chỉnh theo nhu cầu của nhiều người sử dụng khác nhau và trong các tình huống đa dạng.

Sinh giải thích là quá trình sử dụng các kỹ thuật cho phép một hệ thống giải thích các kết quả của nó cho người dùng Ví dụ, nó có thể cung cấp đầu ra bằng giọng nói hoặc thông qua các tác tử giao diện, đồng thời nhận thông tin phản hồi từ môi trường.

Giao diện người dùng thông minh khác với một hệ thống thông minh

Tính thích nghi trong giao diện người dùng cho phép tạo ra trải nghiệm cá nhân hóa dựa trên tri thức lưu trữ trong mô hình người dùng hoặc thông qua suy luận từ thông tin đầu vào hiện tại Quá trình học xảy ra khi các tri thức đã lỗi thời và cần tương thích với dữ liệu mới Tuy nhiên, do những thách thức trong việc phát triển giao diện người dùng thông minh, hầu hết các giao diện hiện tại chỉ tập trung vào một phương pháp tương tác duy nhất, như giọng nói, hoặc giới hạn trong một phạm vi ứng dụng cụ thể.

1.1.3 Giao diện người dùng thông minh khác với một h thệ ống thông minh

Một sai lầm phổ biến là nhầm lẫn giữa giao diện người dùng thông minh và hệ thống thông minh Một hệ thống được coi là "thông minh" không nhất thiết phải có giao diện thông minh Nhiều hệ thống thông minh vẫn sử dụng giao diện đơn giản, trong khi một số giao diện thông minh lại không đi kèm với hệ thống thông minh Hình 1.2 minh họa sự khác biệt giữa hệ thống thông minh và giao diện thông minh.

Hình 1.2: Một hệ thống thông minh khác với một giao diện thông minh

Vấn đề nằm ở chỗ ranh giới giữa hệ thống bên dưới và giao diện của nó thường không rõ ràng Các công nghệ trong giao diện người dùng thông minh thường là một phần của công nghệ sử dụng cho hệ thống bên dưới Giao diện người dùng thông minh có thể được xây dựng dựa trên công nghệ của toàn bộ hệ thống Ví dụ, một hệ thống nhận dạng tiếng nói có thể vừa là một hệ thống độc lập, vừa là thành phần trong giao diện thông minh của một hệ thống khác Nếu giao diện người dùng thông minh được coi là một hệ thống, thì nó có thể được định nghĩa như một hệ thống thông minh.

Các thành phần của giao diện thông minh

Mô hình người dùng là một trong những thành phần quan trọng nhất của

Hệ thống đầu vào thông th ng ườ

Khi kích chuột trên màn hình, người dùng có thể tương tác với đầu ra thông qua ngôn ngữ tự nhiên và giọng nói, tạo ra trải nghiệm thích nghi Giao diện thông minh sẽ được chọn lọc dựa trên mô hình người dùng, giúp xác định kiểu trợ giúp phù hợp Nếu không có mô hình người dùng, chương trình sẽ thiếu thông tin cần thiết để thiết kế những nét đặc trưng riêng của giao diện, dẫn đến trải nghiệm không tối ưu cho người sử dụng.

1.2.2 Đa mô hình giao tiếp

Các giao diện thông minh sử dụng nhiều cách giao tiếp khác nhau, tạo ra một đa mô hình giao tiếp hiệu quả Chẳng hạn, người dùng có thể giao tiếp qua ngôn ngữ tự nhiên hoặc bằng cách nhấn chuột vào các biểu tượng trên màn hình Hệ thống sẽ phản hồi bằng giọng nói, giúp người dùng điều khiển và nhận kết quả một cách trực quan Sự kết hợp này mang lại hiệu quả cao, cho phép người dùng tương tác bằng tay hoặc cảm giác Đa mô hình giao tiếp không chỉ nâng cao trải nghiệm người dùng mà còn giúp hệ thống đạt được nhiều mục tiêu quan trọng.

• Nó cho phép người dùng sử dụng các thao tác m t cách tr c ti p g n g i ộ ự ế ầ ũ với thao tác tự nhiên

Người dùng không nhất thiết phải ngồi trước máy tính khi làm việc với hệ thống máy tính bằng giọng nói Đa mô hình giao tiếp rất quan trọng trong trường hợp người dùng không thể tập trung vào một việc duy nhất, mà cần thực hiện nhiều công việc cùng lúc Ví dụ, khi người dùng đang theo dõi một công việc khác trong khi chờ máy tính đưa ra kết quả, nếu hệ thống chỉ cung cấp kết quả trên màn hình thì sẽ khó theo dõi Ngược lại, nếu kết quả được cung cấp dưới dạng lời nói, người dùng có thể tập trung vào công việc khác mà không cần chăm chú nhìn vào màn hình.

1.2.3 Khả ă n ng nhận biết kế hoạch

Nhận biết kế hoạch là một công nghệ quan trọng trong giao diện thông minh, giúp xác định mục tiêu của người dùng một cách hiệu quả Để đạt được điều này, cần có một hệ thống tri thức và mô hình người dùng phù hợp Công nghệ này cho phép người dùng thực hiện ít thao tác nhưng vẫn giúp hệ thống hiểu rõ nhu cầu của họ Ngoài ra, nhận biết kế hoạch còn có thể được áp dụng trong hệ thống trợ giúp, ví dụ như hỗ trợ người dùng tự khắc phục sự cố thông qua các hướng dẫn dựa trên phân tích quá trình tương tác của họ.

1.2.4 Khả ă n ng trình diễn động

Người dùng có nhu cầu tiếp cận dữ liệu với nhiều ý nghĩa khác nhau, vì vậy hệ thống cần cung cấp thông tin phù hợp và chính xác Thông tin không nên quá phong phú hay quá nghèo nàn, mà cần phải dễ hiểu và mang lại hiệu quả cao nhất cho người sử dụng.

Hệ thống dữ liệu thông minh thăm dò rừng nhiệt đới giúp người dùng dễ dàng quản lý và phân tích thông tin quan sát Với lượng dữ liệu lớn, việc nắm bắt toàn bộ thông tin trở nên khó khăn, nhưng công nghệ này hỗ trợ tối ưu hóa quá trình xử lý dữ liệu, mang lại cái nhìn tổng quan và chính xác hơn về tình trạng rừng.

Dữ liệu thăm dò sẽ được ghi nhận và phân loại theo các lĩnh vực chuyên ngành, như côn trùng học và thực vật học Các nhà khoa học sẽ nhận dữ liệu về sâu bọ nhiệt đới và cây cối, có thể chia nhỏ hơn thành các lĩnh vực nghiên cứu hành vi cộng đồng của loài kiến hay vòng đời của loài bướm Mặc dù mỗi nhà khoa học nghiên cứu một lĩnh vực riêng, nhưng chúng có sự liên quan mật thiết, ví dụ như sự thụ phấn của côn trùng ảnh hưởng đến sự phát triển của cây Trong hệ thống này, nhà côn trùng học có thể tham khảo số liệu từ thực vật ở vùng nhiệt đới Sự giao thoa giữa các lĩnh vực khoa học yêu cầu thông tin phải thông minh và bao quát nhiều dữ liệu cần thiết cho người dùng, đồng thời khả năng trình diễn dữ liệu cũng cần được tối ưu hóa để đáp ứng nhu cầu của từng người dùng.

Ngôn ngữ tự nhiên giúp hệ thống trở nên trực quan hơn bằng cách cho phép người dùng giao tiếp bằng lời nói thay vì phải nhớ các lệnh phức tạp.

1.2.6 Khả ă n ng trợ giúp thông minh

Here is the rewritten paragraph:Trợ giúp thông minh mang lại giá trị lớn cho người dùng bằng cách cung cấp thông tin cần thiết và kịp thời Ví dụ, khi người làm vườn thắc mắc về nguyên nhân khiến năng suất dưa kém, hệ thống lưu trữ sẽ chỉ ra rằng lượng mưa đầu năm nay rất ít và đưa ra gợi ý để người làm vườn khắc phục vấn đề Ngoài ra, trợ giúp thông minh còn có thể được sử dụng khi người dùng gặp khó khăn trong công việc, chẳng hạn như in tài liệu Hệ thống sẽ đoán nhận vấn đề và đưa ra giải pháp bằng cách kiểm tra xem người dùng đã thiết lập máy in chưa, máy in đã được cài đặt chưa, v.v…

1.2.7 Khả ă n ng thích nghi của giao diện

Người dùng thường có những ưu tiên riêng trong giao diện mà họ sử dụng, và hệ thống có khả năng tự điều chỉnh để đáp ứng những mong muốn đó Chẳng hạn

1.3 Thiết kế giao diện người dùng

1.3.1 Quy trình thiết kế chung

Giao diện được thiết kế kém chỉ gây ra sự khó chịu cho người dùng và có thể dẫn đến hiểu lầm nghiêm trọng Ví dụ, một người điều hành lò phản ứng hạt nhân có thể lúng túng khi nhận thông báo không rõ ràng về nhiệt độ Giao diện người dùng thông minh cần được thiết kế cẩn thận, nhưng nhiều người vẫn sử dụng phương pháp thiết kế cũ đã lỗi thời Một nguyên tắc quan trọng là tích hợp giao diện thông minh ngay từ giai đoạn đầu của quá trình thiết kế, tuy nhiên điều này thường không được tuân thủ Khi thiết kế giao diện, người ta thường chỉ chú trọng đến sự thân thiện mà quên đi các yếu tố khác Cần xác định rõ ràng nhu cầu về giao diện thông minh từ giai đoạn phân tích vấn đề Giao diện thông minh thường mang lại giá trị gia tăng so với giao diện truyền thống, và nếu người dùng đã hài lòng với giao diện hiện tại, việc đầu tư cho giao diện thông minh cần được cân nhắc Quyết định cuối cùng phụ thuộc vào khả năng tạo ra cơ chế thích nghi, cân bằng giữa chi phí triển khai và cải thiện tương tác Nếu các chức năng thích nghi được triển khai, chúng sẽ giúp người dùng tiết kiệm thời gian học hỏi các chức năng mới Tuy nhiên, giao diện thông minh cũng yêu cầu thêm thời gian và tài nguyên để duy trì Phương pháp thiết kế lặp đi lặp lại có thể áp dụng cho giao diện thông minh, bao gồm các bước chỉnh sửa liên tục.

1 Phân tích người sử dụng, ứng dụng và môi trường

2 Phát triển và khai thác các kỹ thuật trên giao diện hay là các metaphor

3 Đánh giá các hệ thống ã được phát triểđ n

4 Thực hiện các chỉnh s a dựa trên cơ sởử các k t qu ế ả định giá và quay tr ở lại bước 2

Mỗi lần lặp lại quá trình thiết kế, chúng ta sẽ phát triển một kỹ thuật giao diện hoặc một phép ẩn dụ mới phù hợp hơn Sau đó, chúng ta chuyển sang bước

Thiế t k giao diện người dùng 21 ế 1 Quy trình thiết kế chung

Trong phần tiếp theo đây, chúng ta sẽ phân tích một cách kỹ ơ h n các bước trong quy trình thiết kế

Phân tích là bước quan trọng nhất trong quy trình thiết kế, đặc biệt là trong thiết kế giao diện người dùng thông minh Khi thiết kế giao diện bình thường, cần xác định "người sử dụng trung bình" và các nhiệm vụ mà giao diện cần thực hiện Tuy nhiên, giao diện người dùng thông minh không có khái niệm "người sử dụng trung bình", mà phải thích nghi với mọi người dùng trong bất kỳ môi trường nào Do đó, các kỹ thuật thích nghi cần được thiết kế một cách tổng quát để hỗ trợ tất cả các kiểu người sử dụng Mặc dù việc này rất khó khăn, nhưng có thể đơn giản hóa bằng cách tập trung vào một số kiểu người dùng nhất định David Benyon đã xác định năm hoạt động phân tích liên quan khi thiết kế các hệ thống thích nghi.

1 Phân tích ch ứ c n ng : Các chức năng chính của hệ thống là gì ? ă

2 Phân tích d ữ ệ li u : Cấu trúc và ý ngh a c a d li u trong ng d ng là gì ? ĩ ủ ữ ệ ứ ụ

3 Phân tích nhi ệ m v ụ : Người sử dụng c n ph i có những khả năầ ả ng nh n ậ biết gì, ví dụ như, giả định mô hình tri thức, các chiến lược tìm kiếm, m c ứ độ nhận bi t cần phả đế i áp ng v.v… ? Phân tích này yêu cầu một vài thiết ứ kế phải được hoàn thành trước khi có thể ự th c hi n nó ệ

4 Phân tích ng ườ i s ử d ụ ng : Người sử dụng thu c ki u người nào và họ có ộ ể khả năng gì, về ặt tri thứ m c và kinh nghi m ? ệ

5 Phân tích môi tr ườ ng : Hệ thống sẽ hoạ động trong môi trường nào ? t Kết quả của quá trình phân tích s là m t b n ẽ ộ ả đặc t các m c tiêu c a ả ụ ủ người dùng và những thông tin cần thiết, cũng như các chức năng và thông tin mà hệ thống yêu cầu Mộ ấn đề thường gặp phải trong quá trình thiế ết v t k giao diện người dùng thông minh đó là, “sự thay đổi trong cách tương tác của người dùng với giao diện” Trên thực tế, rất khó để có thể phân tích người dùng sẽ tương tác với giao diện như thế nào Các nghiên cứu về Wizard of Oz được thực hi n ệ để khắc phục vấn đề này Trong hướng nghiên cứu này, dữ li u sệ ẽ được thu thập từ một người dùng, người mà chúng ta sẽ làm cho anh ta cảm thấy rằng, anh ta đang làm việc trên mộ ệ ốt h th ng có đầ đủy các ch c nứ ăng và đượ ự động hóa c t trong khi trên thực tế ệ, h thống này lạ đi ang được kiểm soát bởi một người khác

1.3.3 Phát triển và triển khai

Quá trình phát triển các kỹ thuật tương tác và ẩn dụ mới đóng vai trò quan trọng trong thiết kế giao diện Nhiều nhà thiết kế thường tìm kiếm và thử nghiệm các khái niệm mới, nhưng cần ghi nhớ những nguyên tắc thiết kế cơ bản Các nguyên tắc này, vốn được phát triển cho giao diện tương tác trực tiếp, gặp khó khăn khi áp dụng cho giao diện người dùng thông minh Một số nguyên tắc định hướng cho giao diện tương tác trực tiếp bị vi phạm bởi giao diện người dùng thông minh, dẫn đến sự phản đối từ nhiều nhà thiết kế Tuy nhiên, một số nguyên tắc khi áp dụng cho giao diện thông minh lại có thể cải thiện trải nghiệm người dùng hơn so với giao diện tương tác trực tiếp Ví dụ, giao diện người dùng thông minh có khả năng sử dụng ngôn ngữ tự nhiên tốt hơn, đồng thời giảm bớt thông tin mà người dùng cần ghi nhớ Kết quả là một giao diện người dùng với “look-and-feel” tốt, mặc dù vẫn chỉ ở mức thiết kế ban đầu, hướng tới việc đáp ứng yêu cầu của người dùng và phân tích hiệu quả.

Trong quá trình thiết kế, việc đánh giá lại các yêu cầu từ bước phân tích là rất quan trọng Những yêu cầu này cần phải phù hợp với nhu cầu của người dùng và các tác động đến hệ thống cũng cần được nghiên cứu kỹ lưỡng Để xác định các ảnh hưởng, cần xây dựng các phép đo lường thích hợp, bao gồm việc đo lường lỗi, thời gian hoàn thành nhiệm vụ và phản hồi của người dùng về giao diện Một yếu tố quan trọng không thể bỏ qua là mức độ hài lòng của người dùng với giao diện, vì khi làm việc với giao diện, họ sẽ có những nhận xét nhất định về thiết kế và cảm giác hài lòng khi sử dụng.

1.3.5 Sự đ ề i u ch nh và tích hợp với công cụ ỉ

Dựa trên các vấn đề đã được đánh giá, một số cải tiến trong thiết kế sẽ được thực hiện đối với mẫu thiết kế hiện tại Sau đó, một chu kỳ mới của quá trình thiết kế, thực thi và đánh giá lại sẽ bắt đầu Quá trình này sẽ tiếp tục lặp lại cho đến khi đạt được kết quả mà mọi người đều hài lòng.

Nếu thi t k được ch ng minh thành công, k thu t giao di n cu i cùng này của ế ế ứ ỹ ậ ệ ố metaphor có thể được tích hợp với các công c thi t k giao di n s n có ụ ế ế ệ ẵ

1.3.6 Một số phương pháp thiết kế khác

Quy trình thiết kế chung thường được áp dụng trong phát triển phần mềm thương mại, nhưng nhiều giao diện người dùng thông minh vẫn đang trong giai đoạn nghiên cứu và không nhất thiết phải tuân theo các bước thiết kế này Các nhà nghiên cứu và nhà thiết kế đôi khi tạo ra giao diện mới chỉ để thử nghiệm công nghệ mà không thực hiện phân tích và đánh giá đầy đủ Một lý do khác khiến họ không theo quy trình thiết kế chuẩn là thiếu các kỹ thuật và công cụ cần thiết để đo lường hiệu suất, cũng như các phương pháp thiết kế chuyên biệt có thể áp dụng cho giao diện người dùng thông minh.

1.3.6.1 Thiết kế ử ụ s d ng các bài tập tình huống

Một phương pháp hiệu quả trong giai đoạn đầu của thiết kế là sử dụng các bài tập tình huống, thường mang tính không chính quy, mô tả hoạt động của người dùng khi thực hiện công việc cụ thể Những bài tập này giúp người dùng hình dung cách sử dụng công nghệ mới trong tương lai và cung cấp phản hồi quý giá Chúng cũng là công cụ hữu ích để phát hiện sớm các sai sót trong thiết kế, đồng thời cho phép người dùng đóng góp ý tưởng cải tiến Các tình huống mứt cao được sử dụng để kiểm tra công nghệ mới, trong khi các tình huống mứt thấp tập trung vào các phần cụ thể của thiết kế Việc áp dụng bài tập tình huống trong thiết kế yêu cầu tuân thủ bốn bước cơ bản.

1 Xây dựng t những yêu cầu ban ừ đầu một mô hình khái niệm của công nghệ mới

2 Tạo ra một hay nhiều tình huống với các nhân vật và các trạng thái xác định

3 Chấp nh n sự kiểm tra của những người dùng tiềm năng hay những người ậ có tính quyết định v i các tình huống và phân tích các phả ứớ n ng c a họ ủ Nghiên cứu tỉ mỉ cách th c mà h suy ngh và th c hi n phân tích các yêu ứ ọ ĩ ự ệ cầu

4 Phản hồi các kết qu tới mô hình khái niệm ả

Xét đoán cách suy nghĩ của người dùng là một trong những phần khó khăn nhất trong lược đồ này Nó yêu cầu người dùng giải thích công nghệ mới bằng ngôn ngữ và cách hiểu của riêng họ Tuy nhiên, những giải thích này sẽ được biên dịch lại bởi nhiều người để tránh hiểu lầm.

1.3.6.2 Một số nguyên tắc định hướng trong thiế ế t k

Nhiều nguyên tắc thiết kế giao diện người dùng đã được phát triển, nhưng ít tập trung vào giao diện thông minh Các nhà nghiên cứu đã rút ra một số nguyên tắc định hướng thiết kế cho giao diện người dùng thông minh Dưới đây là một số đề xuất về định hướng thiết kế cho giao diện người dùng thông minh được giới thiệu trong các tác phẩm của Benyon (1993), Lieberman (1997) và Birnbaum (1997).

Một giao diện người dùng thích nghi cần được phát triển song song với ứng dụng, điều này rất quan trọng vì các nhà thiết kế phải luôn tập trung vào các thành phần của hệ thống để đảm bảo sự thích nghi hiệu quả.

• Đừng gây thêm những nhi u lo n đến quá trình tương tác của người dùng ễ ạ

Người dùng thường không chú ý đến các thao tác trước đó của giao diện người dùng thông minh Trong nhiều trường hợp, giao diện thông minh nên đưa ra các đề xuất hoặc khuyến nghị thay vì tự động hành động.

Hoạt động trong thời gian thực mang lại nhiều tính năng hữu ích cho người dùng thông minh Những tính năng này cho phép thực hiện các công việc tự động trong khi người sử dụng đang bận rộn làm việc với hệ thống.

Tận dụng thời gian người dùng suy nghĩ để tối ưu hóa tài nguyên là một chiến lược hiệu quả Khi người dùng đang cân nhắc dữ liệu cần nhập vào hệ thống, giao diện người dùng thông minh có thể xử lý các tác vụ khác mà không làm gián đoạn quá trình tương tác của họ.

• Theo dõi xem người dùng đang làm gì T n dụậ ng các thông tin “mi n phí” ễ có được từ chính những hành động của người dùng

Các ngôn ngữ mô tả giao diện

Nhiều biến thể của HTML đã được giới thiệu để tối ưu hóa việc sử dụng dịch vụ trên các thiết bị di động hạn chế về năng lực xử lý, như C-HTML, WML, và MML C-HTML loại bỏ các thành phần không phù hợp với thiết bị di động, yêu cầu cấu trúc lại tài liệu để đảm bảo không mất thông tin WML, dựa trên HTML 4.0, bao gồm các thẻ tương ứng với trạng thái trong hội thoại tương tác người dùng MML là một họ ngôn ngữ do J-Phone của Nhật Bản định nghĩa, với các phiên bản S-MML, M-MML, và F-MML cho các thiết bị màn hình nhỏ HTML và các biến thể của nó cung cấp các khả năng hạn chế cho việc định nghĩa giao diện người dùng đồ họa, với các ngôn ngữ được xây dựng theo kiểu chuyên môn hóa cho từng thiết bị cụ thể Mô tả giao diện là phần quan trọng trong giao diện người dùng thích nghi, cho phép dịch các ngôn ngữ mô tả phổ biến như UIML sang các ngôn ngữ cụ thể như HTML, WML, và Java Bài viết này sẽ xem xét một số loại ngôn ngữ mô tả giao diện người dùng dựa trên XML, hỗ trợ cho việc tạo ra các giao diện người dùng thích nghi.

Ngôn ngữ Đánh Dấu Giao Diện Người Dùng (UIML) là một ngôn ngữ dựa trên XML, được sử dụng để định nghĩa các giao diện người dùng cho các thiết bị độc lập UIML cho phép mô tả các thành phần giao diện như nút bấm, trình đơn, và danh sách, đồng thời xác định cách hiển thị và hành động tương ứng với các sự kiện người dùng Việc phát triển giao diện người dùng với UIML bao gồm việc viết mã UIML và tạo thành phần giao diện ở mức thấp Lợi ích của UIML nằm ở khả năng mô tả cách hoạt động của giao diện người dùng trên các thiết bị độc lập, cung cấp các công cụ mạnh mẽ cho việc thiết kế giao diện với nội dung, cấu trúc, và kiểu dáng riêng biệt.

Ngôn ngữ cHTML cung cấp một phiên bản rút gọn của HTML với các đặc điểm hỗ trợ cho nhiều loại nền tảng khác nhau Khác với cHTML, UIML hỗ trợ tất cả các đặc trưng liên quan đến một nền tảng cụ thể thông qua việc định nghĩa các từ vựng Từ vựng này bao gồm các tên, thuộc tính và hoạt động gắn liền với các thành phần của giao diện người dùng, tương tự như việc lập trình viên sử dụng các thư viện đã được xây dựng sẵn Các nhà thiết kế giao diện người dùng có thể sử dụng các từ vựng đã được xây dựng để tạo ra giao diện thông qua UIML Mặc dù UIML là một ngôn ngữ mô tả giao diện người dùng cho nhiều loại thiết bị, nhưng nó không cung cấp công cụ nào để viết một mô tả giao diện dùng chung cho nhiều nền tảng Do đó, nhà thiết kế giao diện người dùng phải tạo ra các giao diện riêng biệt cho từng nền tảng khác nhau sử dụng từ vựng của riêng mình.

UIML, khi kết hợp với mô hình nhiệm vụ, cung cấp một bộ công cụ mạnh mẽ cho việc phát triển giao diện người dùng trên nhiều nền tảng Mô hình nhiệm vụ cho phép nhà thiết kế giao diện người dùng định nghĩa trải nghiệm người dùng ở mức khái quát cao hơn những gì UIML hỗ trợ Mô hình nhiệm vụ dựa trên ký hiệu của Cây Công Việc Song Song (Concurrent Task Tree - CTT), và được ánh xạ sang UIML ở mức khái quát Một đặc t UIML có thể được viết để có thể chuyển đổi sang nhiều nền tảng, chỉ phụ thuộc vào một họ mô hình đơn nhất Hai điều kiện để định nghĩa một họ mô hình là cách hiển thị của các thành phần giao diện người dùng và khả năng chuyển hướng giữa các thành phần do các nền tảng cung cấp Một bộ từ vựng chung được sử dụng trong họ mô hình này, định nghĩa cho tất cả các nền tảng, cho phép mô tả bất kỳ giao diện người dùng nào trên bất kỳ nền tảng nào trong họ của nó Hình 1.4 mô tả bộ công cụ cho việc xây dựng giao diện người dùng trên nhiều nền tảng sử dụng UIML và mô hình nhiệm vụ.

Hình 1.4: Bộ công cụ xây dựng giao diện ng ười dùng trên nhiề u n n t ng s ề ả ử dụng UIML

Môi trường Phát triển Tương tác Dựa trên Biến đổi (TIDE) sử dụng ba mức khái quát: đặc tả UIML với từ vựng chung, xây dựng đặc tả UIML dựa trên mô hình nhiệm vụ, và giao diện người dùng TIDE cho phép nhà thiết kế kiểm soát các ánh xạ giữa các mức khái quát này Mô hình nhiệm vụ là một khái quát mới đang được tích hợp vào TIDE UIML bắt đầu từ con số 0 trong việc đặc tả giao diện người dùng và đã mở rộng sang hỗ trợ mô hình nhiệm vụ Mục tiêu của việc sử dụng mô hình nhiệm vụ là tạo ra giao diện người dùng trên nhiều nền tảng khác nhau.

Nền tảng 1 - đặc tả giao diện người dùng

Nền tảng 2 - đặc tả giao diện người dùng

Nền tảng (n - 1) - đặc tả giao diện người dùng

Nền tảng n - đặc tả giao diện người dùng

Bước 1: Mô hình này độ c l p v i các thành ậ ớ phần hay bố cụ c c a ủ giao diệ n g n v i b t k ắ ớ ấ ỳ

1 mô hình cụ thể nào

Nó cung cấp một đặc tả giao diện ở mức cao, cho phép sử dụng để tạo ra mô hình cụ thể cho bất kỳ nhóm nền tảng nào.

Mô hình này sẽ đặc tả cho một họ xác định, trong đó giao diện được tạo ra bằng cách sử dụng các thành phần giao diện người dùng khái quát và sắp xếp chúng theo kiểu phân cấp.

Bước 3: Phần này mô tả giao diện cho nền tảng xác định sử dụng các thành phần và bố cục cần thiết, đồng thời được biên dịch bằng các bộ dịch ngôn ngữ xác định.

1.4.2 XIML eXtensible Interface Markup Language (XIML), Ngôn ngữ đ ánh dấu giao diện mở rộng, được duy trì b i di n àn XIML - m t t p oàn độc l p, là m t ở ễ đ ộ ậ đ ậ ộ ngôn ngữ dựa trên XML dành cho phát tri n a giao di n người dùng b ng cách ể đ ệ ằ chuyển đổi và chỉnh sửa nhiệm vụ người dùng cùng mô hình giao diện người dùng Nó cung cấp một bộ công cụ để mô tả cho lĩnh v c công nghiệp và các ự chức năng h trợ chung cho chu kỳ củỗ a m t giao diện bao gồm các bước “thiết ộ kế, phát triển, hoạt động, quản lý, tổ chức và đánh giá”

XIML là ngôn ngữ định nghĩa giao diện tổng quát, phân chia giao diện thành các thành phần như nhiệm vụ (quy trình kinh doanh), phạm vi (định nghĩa sự phân cấp của các thành phần), người dùng (định nghĩa sự phân cấp của người sử dụng), trình diễn và hội thoại (định nghĩa các hành động trong giao diện) Nó hỗ trợ mô hình nhiệm vụ, cho phép khái quát hóa các khái niệm như nhiệm vụ người dùng, phạm vi đối tượng và tiểu sử người dùng Các thành phần này được ánh xạ sang các phần tử, là những đặc tả chi tiết Bộ công cụ đặc tả của XIML cung cấp các hướng dẫn cho mô hình quan hệ giữa các thành phần.

XIML có khả năng đặc tả bất kỳ kiểu nào của mô hình, bao gồm các kiểu phần tử và mối quan hệ giữa chúng Mặc dù một số thuộc tính mô hình và quan hệ đã được xây dựng sẵn, chúng có thể được mở rộng và tùy chỉnh để phù hợp với các hoàn cảnh cụ thể khi sử dụng XIML đã được ứng dụng trong MANNA cho phần mềm thích nghi và trong Envir3D để chuyển đổi giao diện người dùng từ đồ họa thành giao diện ảo.

Ngôn ngữ Định nghĩa Giao diện Người dùng Trừu tượng (AUIML), trước đây được gọi là Druid, là một ngôn ngữ phát triển dựa trên các ý tưởng chủ yếu từ IBM AUIML cho phép các nhà thiết kế giao diện người dùng tạo ra ý tưởng về giao diện mà không bị ràng buộc bởi các nhiệm vụ cụ thể hay thiết bị nhất định Ngôn ngữ này bao gồm hai thành phần chính: một định nghĩa mô hình dữ liệu và một ngữ nghĩa để mô hình hóa hiển thị.

Mỗi khi ứng dụng được thực thi, bộ công cụ AUIML có thể triển khai như một ứng dụng Java Swing hoặc một ứng dụng HTML servlet mà không cần thay đổi mã nguồn Phiên bản mới nhất của AUIML hỗ trợ cả Java Swing và HTML, với phần Java Swing cung cấp nhiều chức năng cho khách hàng thông qua thanh công cụ.

Công nghệ Giao diện Người dùng Thích nghi (AUIT) là kết quả của những nỗ lực phát triển giao diện người dùng có khả năng thích ứng và các hệ thống thông tin dựa trên web AUIT cung cấp cho các nhà phát triển bộ thẻ hoàn toàn độc lập với thiết bị sử dụng, cho phép tùy chỉnh các phần trên màn hình máy khách, nhóm phần tử, người dùng và các ký hiệu liên quan Đây là phương thức kết nối giữa ngôn ngữ đánh dấu giao diện người dùng và các ngôn ngữ lập trình hiện đại AUIT không thay thế mà bổ sung cho các công nghệ đặc tả máy chủ như JSP hay ASP, cho phép nhúng các script của AUIT vào các trang JSP để tạo ra giao diện thích ứng độc đáo cho hệ thống web.

Kết chương

Trong chương này, chúng ta đã khám phá các khía cạnh của giao diện người dùng thông minh, bao gồm những định nghĩa khác nhau và các đặc điểm nổi bật Giao diện người dùng thông minh không chỉ chú trọng vào kỹ thuật đầu vào thông minh mà còn bao gồm mô hình người dùng, khả năng thích nghi với người dùng và khả năng sinh giải thích.

Giao diện người dùng thông minh ngày càng trở nên cần thiết trong bối cảnh hiện nay, nhằm giải quyết những thách thức mà giao diện truyền thống gặp phải Sự cần thiết này xuất phát từ nhu cầu cá nhân hóa hệ thống, giảm thiểu quá tải thông tin, và cung cấp hỗ trợ tốt hơn cho các chương trình phức tạp Giao diện thông minh không chỉ giúp người dùng thực hiện công việc hiệu quả hơn mà còn tối ưu hóa cách thức tương tác với các ứng dụng, từ đó nâng cao trải nghiệm người dùng.

Chúng ta phân biệt giữa giao diện thông minh và hệ thống thông minh, đồng thời chỉ ra các thành phần thiết yếu của giao diện người dùng thông minh Những thành phần này bao gồm mô hình người dùng, đa mô hình giao tiếp, khả năng nhận biết ngữ cảnh, tính năng di động, tích hợp ngôn ngữ tự nhiên, và khả năng tạo ra sự thích nghi với người dùng.

Cuối cùng, chúng ta đã khám phá quy trình thiết kế giao diện người dùng thông minh bao gồm các bước phân tích, xây dựng, triển khai, đánh giá và điều chỉnh Chương này cũng giới thiệu một số loại ngôn ngữ đặc tả giao diện người dùng phổ biến hiện nay và thực hiện so sánh giữa chúng.

Chương II sẽ tập trung vào nghiên cứu tác tử giao diện thông minh và phương pháp áp dụng chúng để phát triển một giao diện thông minh hiệu quả.

Tác tử giao diện thông minh và ứng dụng trong xây dựng giao diện thông minh

Tác tử giao diện thông minh

Chúng ta thường sử dụng cụm từ “agent” (tác tử) để mô tả những người đóng vai trò hỗ trợ trong cuộc sống, như đại lý du lịch hay thư ký Công việc của

Mối quan hệ giữa tác tử và khách hàng có tính quy định, đóng vai trò quan trọng trong việc đạt được thành công Trong lĩnh vực công nghệ, giao diện người dùng thường giữ vai trò then chốt Hình ảnh của tác tử hoặc mô hình hoạt động của hệ thống tác tử như một người trợ giúp, chẳng hạn như người quản gia, thư ký, hay tổ chức dịch vụ, minh họa rõ ràng cho ảnh hưởng của sự trợ giúp đến tương tác với người dùng.

Oliver Selfridge, trong tác phẩm "Pandemonium" năm 1959, đã giới thiệu thuật ngữ “tác tử” với hai hàm ý: tác tử vừa có thể là một thực thể độc lập, vừa có thể là một phần bên trong của hệ thống Những tác tử này thực hiện nhiều mục tiêu và cạnh tranh với nhau để tạo ra những hành vi thông minh Nhiều chương trong "Pandemonium" mô tả các tác tử “back-end”, hoạt động ẩn sau và tương tác với người dùng theo cách thông thường Tuy nhiên, phần này sẽ chỉ tập trung vào các tác tử có đặc điểm thông minh khi tương tác trực tiếp với người dùng.

2.1.2 Tác tử giao diện thông minh là gì

Thuật ngữ trong lĩnh vực này gặp khó khăn do sự đa dạng trong định nghĩa, đặc biệt với khái niệm “tác tử” Để phân tích rõ hơn, chúng ta có thể chia thuật ngữ “tác tử giao diện thông minh” thành ba phần chính.

Máy tính thông minh được định nghĩa là khi chúng thể hiện hành vi tương tự như con người, mà những hành vi này được coi là thông minh Sự thông minh của con người bao gồm nhiều loại suy nghĩ, tác động và cơ chế xử lý, từ những thao tác đơn giản như cầm bút đến các mối quan hệ phức tạp giữa các cá nhân Một số người có khả năng nhận biết tốt, trong khi những người khác lại kém thông minh tùy thuộc vào nhận xét của từng cá nhân Đôi khi, máy tính có thể giải quyết các vấn đề nhưng không theo cách mà con người mong muốn, vì vậy việc đưa sự thông minh vào máy móc là điều hợp lý.

Mặc dù không thể kỳ vọng một tác tử giao diện có được sự thông minh như con người, nhiều tác tử đã thể hiện những đặc điểm thông minh đáng chú ý Một số tác tử có khả năng lập luận và suy diễn, trong khi những tác tử khác lại sở hữu kiến thức về một lĩnh vực nhất định hoặc quy trình giúp chúng thực hiện các nhiệm vụ hữu ích Nhiều tác tử có khả năng học hỏi qua tương tác với người dùng và thích nghi với môi trường xung quanh Nếu có thể tạo ra cách để gán suy nghĩ của con người cho máy móc, tức là "máy móc học những gì mà tôi muốn", thì đó có thể được coi là thông minh.

Giao diện là một tác tử giao tiếp trực tiếp với người dùng thông qua đầu vào và đầu ra Tác tử giao diện có khả năng quan sát hành động của người dùng khi họ tương tác với giao diện, nhận biết các đối tượng trên màn hình và thực hiện hành động thông qua các lệnh được cung cấp Ngoài ra, tác tử có thể thêm đồ họa và hoạt hình vào giao diện, sử dụng ngôn ngữ làm đầu vào và đầu ra, hoặc giao tiếp qua các phương thức cảm nhận khác Hơn nữa, các tác tử cũng sử dụng cảm biến và áp dụng các phần mềm để nhận diện và hành động trực tiếp với thế giới thực.

Tác tử là một thuật ngữ gây tranh cãi, thường được mô tả với nhiều khái niệm khác nhau, nhưng đều có điểm chung là tập trung vào các đặc điểm tính cách của con người như sự tự chủ, tính linh hoạt và sự thông minh Trong bài viết này, chúng ta sẽ khám phá vai trò của tác tử như một người trợ giúp người dùng Công việc của tác tử tương tự như con người, ví dụ như đại lý du lịch hay nhà môi giới chứng khoán, nhằm hỗ trợ mọi người đạt được mục tiêu của họ Tác tử có thể hoạt động thay mặt người dùng, được gọi là “trợ lý”, hoặc hướng dẫn họ thực hiện nhiệm vụ, được gọi là “tư vấn” Máy móc cũng có thể được xem như một dạng tác tử khi thực hiện các công việc mà con người có thể làm.

2.1.3 Sự ầ c n thi t cế ủa tác tử giao diện

Từ những năm 1980, nghiên cứu về giao diện người dùng và máy tính đã tập trung vào phát triển các giao diện tương tác trực tiếp như cửa sổ, menu và biểu tượng, sử dụng các thiết bị như chuột Mặc dù mô hình này đã hoạt động hiệu quả trong hai thập kỷ qua, nhưng hiện nay nó không còn đáp ứng được nhu cầu của người dùng tương lai Nguyên nhân là do sự gia tăng nhanh chóng của các chức năng trong chương trình, khiến giao diện trở nên phức tạp và khó sử dụng Các tác giả giao diện đang tìm cách giải quyết tình trạng khó khăn này thông qua các giải pháp mới.

Nhiều ứng dụng tương tác hiện nay có thể được xem như những công cụ đa dạng, với các tính năng như menu, dòng lệnh và biểu tượng đồ họa Người dùng cần lựa chọn công cụ phù hợp cho mục đích cụ thể và thực hiện các bước để hoàn thành công việc Tuy nhiên, khi quy mô ứng dụng tăng lên, số lượng chức năng cần ghi nhớ cũng tăng theo, dẫn đến tình trạng quá tải cho người dùng Điều này đặc biệt rõ nét trong các giao diện máy tính hiện đại, như Microsoft Word, nơi mà số lượng menu và biểu tượng ngày càng phong phú nhưng cũng phức tạp hơn Xu hướng này cho thấy các ứng dụng đang ngày càng mở rộng khả năng thực hiện nhiều nhiệm vụ, mà không có dấu hiệu chậm lại, do đó cần phải đơn giản hóa giao diện người dùng để giảm bớt sự phức tạp.

Hình 2.1: Sự t ăng trưởng của số ượng các công cụ trong một ứng dụng l

Một phần tử giao diện người dùng cần có khả năng truy cập vào các công cụ và chức năng của chương trình, tự đưa ra quyết định độc lập dựa trên hoàn cảnh tương tác hiện tại mà không cần sự can thiệp của người dùng ở mỗi bước Khi đó, các phần tử giao diện người dùng sẽ trở thành các tác nhân của người dùng.

Nếu người dùng có thể chia sẻ một phần công việc của mình với máy tính, họ có thể giảm bớt sự rối rắm trong giao tiếp Khi giao tiếp với người khác, chúng ta không cần phải nhớ và liệt kê tất cả các ngữ điệu có thể sử dụng Việc sử dụng các kênh giao tiếp một cách thông minh có nghĩa là chỉ chọn những phương pháp phù hợp và có ý nghĩa.

Giao diện người dùng đang chuyển mình từ việc chỉ là công cụ chức năng sang hoạt động như các tác tử thông minh, giúp người dùng thực hiện công việc mà không cần tương tác trực tiếp với màn hình Các tác tử này hoạt động như những chuyên gia giàu kinh nghiệm, luôn nắm bắt nhu cầu và mục tiêu của người dùng để phục vụ tốt nhất Nhiều dịch vụ trực tuyến như lập tour du lịch và thương mại điện tử đang dần thay thế vai trò của con người, và xu hướng này hứa hẹn sẽ tiếp tục phát triển Bên cạnh đó, các yếu tố như tiểu sử người dùng, nhu cầu, mục tiêu, và khả năng thích nghi cũng đóng vai trò quan trọng trong việc cải thiện trải nghiệm giao diện người dùng.

Đặc đ ể i m của tác tử giao diện thông minh

Hầu hết các giao diện tương tác hiện nay sử dụng các đối tượng hiển thị trên màn hình như văn bản, hình ảnh và bảng tính Một giao diện tốt cần hướng sự chú ý của người dùng vào các chức năng phù hợp với mục tiêu của họ mà không quá chú trọng vào chi tiết Các giao diện này thường cung cấp thông tin cần thiết để hướng dẫn người dùng sử dụng chương trình hoặc ủy nhiệm công việc cho tác nhân giao diện Tuy nhiên, việc ủy nhiệm công việc cũng tiềm ẩn rủi ro, như hiểu sai nhiệm vụ hoặc thực hiện không chính xác Dù vậy, chúng ta vẫn có thể ủy nhiệm công việc cho đồng nghiệp, miễn là hạn chế rủi ro ở mức thấp nhất, và thực tế cho thấy rằng làm việc cùng nhau giúp chúng ta hoàn thành nhiều việc hơn.

Sự cộng tác là một quá trình phức tạp, phụ thuộc vào khả năng giao tiếp của từng cá nhân và tính chất công việc cần hợp tác Để đạt được sự cộng tác thành công, việc học hỏi từ những người khác, như đồng nghiệp và đối tác, là điều vô cùng quan trọng Các tác giả giao diện người dùng thành công thường rất cẩn thận trong việc lựa chọn loại thông tin cung cấp cũng như lượng thông tin sẽ được chia sẻ, đảm bảo rằng người dùng có thể thực hiện các thao tác một cách độc lập khi cần thiết.

Hầu hết các giao diện truyền thống chỉ hoạt động khi người dùng kích hoạt lệnh, trong khi các tác tử giao diện lại có khả năng chủ động thực hiện một số nhiệm vụ trong khi người dùng đang suy nghĩ hoặc thực hiện các hành động khác Điều này giúp tiết kiệm thời gian cho người dùng, vì hệ thống có thể tận dụng những khoảng thời gian nhàn rỗi Tính chủ động của các tác tử cho phép chúng dự đoán nhu cầu của người dùng và thậm chí cắt ngang thao tác của họ khi có sự kiện quan trọng xảy ra Ngoài ra, các tác tử cũng có thể thông báo cho người dùng về những khoảng thời gian nhàn rỗi mà họ có thể lãng phí Tuy nhiên, việc sử dụng tính năng này cần được thực hiện một cách khôn ngoan, vì việc cắt ngang có thể gây khó chịu cho người dùng Điều này dẫn đến một sự tương tác chủ động giữa người dùng và tác tử, trong đó cả hai bên đều có thể nắm vai trò điều khiển cuộc đối thoại.

2.2.2 Tác tử ớ v i tư cách là trợ lý và tư ấ v n cho người dùng

Chúng ta có thể phân biệt hai vai trò mà một tác t giao di n có th th c ử ệ ể ự hiện, làm trợ lý và làm tư vấn

Trong cuộc sống hàng ngày, trợ lý, thư ký và giúp việc đóng vai trò quan trọng trong tổ chức, giúp ông chủ thực hiện các nhiệm vụ quan trọng Các tác vụ của trợ lý có thể tự động hóa nhiều công việc, giúp người dùng tiết kiệm thời gian Thay vì tự đánh máy hay sắp xếp công việc, trợ lý sẽ thực hiện những nhiệm vụ đó thay cho bạn Để mở rộng chức năng này, cần xây dựng một phương thức giao tiếp mới giữa người dùng và máy tính, cho phép máy tính hoạt động hợp tác như một trợ lý Tuy nhiên, một thách thức lớn là ngôn ngữ của người dùng và máy tính khác nhau, dẫn đến nguy cơ hiểu sai mục đích của người dùng.

Công việc tư vấn ngược lại với vai trò lãnh đạo, khi mà lãnh đạo thường làm thay chúng ta một số việc, thì tư vấn viên lại hướng dẫn để chúng ta tự thực hiện công việc Tác nhân tư vấn không chỉ hỗ trợ mà còn khuyến khích người dùng tự làm mọi việc, cung cấp hướng dẫn và đề xuất để cải thiện hiệu suất Họ thực hiện các công việc như dạy dỗ, trợ giúp, đưa ra ý kiến, và cung cấp tài liệu dẫn chứng Các tác nhân tư vấn này là kiểu tác nhân đầu tiên giúp người dùng nâng cao hiệu suất một cách hiệu quả.

2.2.3 Thay đổi cho phù hợp với từng người dùng (cá nhân hóa)

Gần đây, ý tưởng thay đổi giao diện máy tính để phù hợp với từng người dùng đã trở thành hiện thực, nhấn mạnh sự phát triển trong việc cá nhân hóa trải nghiệm người dùng Các chức năng như danh sách email, danh mục và các tiện ích thường dùng đã được tùy chỉnh cho từng cá nhân, cho phép người dùng tạo danh sách địa chỉ, menu làm việc và tài liệu ưa thích của riêng mình Điều này đã mang lại lợi ích lớn cho người sử dụng, giúp họ dễ dàng truy cập thông tin cần thiết Hiện nay, nhiều tiện ích trên Internet cũng đã áp dụng cá nhân hóa, như việc không hiển thị tin tức đã xem hoặc gợi ý sản phẩm tương tự Chúng ta đang bước vào một kỷ nguyên mới, nơi máy tính không chỉ phản hồi theo lựa chọn của người dùng mà còn có khả năng tự động thích nghi dựa trên mô hình người dùng, mang lại trải nghiệm ngày càng tốt hơn.

2.2.4 Mô hình miền (l nh vĩ ực)

Các tri thức thuộc lĩnh vực mà tác tử phục vụ sẽ được biểu diễn trong mô hình miền, đây là một trong những thành phần rất quan trọng của tác tử giao tiếp thông minh.

Tri thức trong miền được tổ chức dưới dạng cây phân cấp, bao gồm nhiều loại lĩnh vực khác nhau Chẳng hạn, trong một công ty hoạt động trong lĩnh vực kinh doanh, các lĩnh vực này có thể là “quản lý”, “liên doanh”, “kết quả kinh doanh”, v.v Mỗi lĩnh vực tương ứng với một mẫu khác nhau trong miền, và mỗi mẫu này chứa các thuộc tính đặc trưng của lĩnh vực mà nó biểu diễn.

Các thuộc tính trong lĩnh vực "quản lý" bao gồm vị trí quản lý và tình trạng bỏ trống của các vị trí này Trong cơ sở tri thức, có các luật để biên dịch thông tin, giúp phản ánh các mối quan tâm của người dùng liên quan đến các loại lĩnh vực khác nhau.

Tác tử giao diện thông minh cần có hiểu biết nhất định về người dùng để tự thích nghi và đưa ra những sự thích nghi phù hợp Các tri thức về người dùng thường được lưu trữ trong một cơ sở tri thức gọi là mô hình người dùng Thành phần này chịu trách nhiệm thu thập, quản lý dữ liệu về người dùng và cung cấp các phương tiện cho ứng dụng, tức là sử dụng mô hình người dùng để truy cập vào dữ liệu Mô hình người dùng ở đây khác với mô hình người dùng trong HCI, vì mô hình trong HCI ám chỉ đến mô hình tri thức của người dùng hoặc mô hình người dùng của nhà thiết kế.

Mô hình người dùng được Kay định nghĩa là tập hợp các thông tin tạo thành một thực thể riêng biệt, trong đó các thông tin này có tính tường minh và tập trung vào việc biểu diễn các đặc điểm của người dùng Theo Greenberg và Witten, mô hình người dùng là hình ảnh của người dùng trong môi trường máy tính.

Trong mô hình người dùng, có ba vấn đề quan trọng cần chú ý: thứ nhất, xác định những thông tin cần thiết về người dùng; thứ hai, lựa chọn thời điểm thu thập thông tin; và thứ ba, quyết định cách thức biểu diễn thông tin trong mô hình người dùng.

Thông tin gì về người dùng cần được thu th p ? ậ

Encarnacao [11] đã cung cấp một danh sách các loại thông tin về người sử dụng th ng ườ được quan tâm trong mô hình người dùng:

1 Những tri thức nào mà người dùng đã có, và những tri thức nào mà họ còn thi u ế

2 Các mục tiêu và kế hoạch của người dùng

3 Sở thích và khuynh hướng của người dùng

4 Kỹ năng và kinh nghiệm của người dùng

5 Những tri thức sai lệch của người dùng

Thông tin người dùng sẽ được thu th p khi nào và bằng cách nào ? ậ

Kuhme [11] chỉ ra rằng có hai nguồn thông tin liên quan đến người dùng: nguồn thứ nhất là thông tin tường minh, nơi người dùng cung cấp thông tin về sở thích và tự đánh giá bản thân qua các bảng câu hỏi trong quá trình tương tác Nguồn thứ hai là thông tin không tường minh, trong đó hệ thống phân tích và suy diễn thông tin từ việc giám sát liên tục quá trình tương tác của người dùng với ứng dụng Cả hai phương pháp này đều có hạn chế; phương pháp tự đánh giá thường không chính xác và đáng tin cậy do tính chủ quan, trong khi phương pháp suy diễn bị giới hạn bởi lượng dữ liệu thu thập được trong quá trình giao tiếp Encarnacao [11] phân loại hai phương pháp thu thập thông tin thành riêng biệt và tích hợp, đồng thời cho rằng phương pháp thu thập riêng biệt có thể được kiểm soát bởi hệ thống hoặc người dùng Việc để hệ thống kiểm soát quá trình thu thập thông tin có thể gây khó chịu cho người dùng hơn so với việc cho họ tự do thực hiện.

Thông tin người dùng đã được thu thập sẽ chuyển vào mô hình người dùng bằng cách nào ?

Encarnacao mô tả năm kỹ thuật khác nhau để xây dựng và biểu diễn mô hình người dùng Trong số đó, ba kỹ thuật phổ biến nhất được sử dụng là:

Tích hợp tác tử giao diện thông minh trong xây dựng giao diện

Trong tương lai, các tác tử sẽ ngày càng phổ biến khi được tích hợp vào các ứng dụng tương tác truyền thống Các tác tử là những thành phần độc lập, coi giao diện truyền thống như công cụ của chúng, và các giao diện này sẽ là nơi để biên tập, bố trí và thể hiện các đối tượng Để tích hợp tác tử với giao diện, cần xử lý việc truyền dữ liệu giữa ứng dụng và tác tử, đồng thời cho phép người dùng chỉnh sửa dữ liệu qua giao diện truyền thống.

Các ứng dụng truyền thông hiện đại như soạn thảo văn bản, công cụ đồ họa, hệ thống CAD, v.v được thiết kế để hoạt động trong thời gian thực, cho phép người dùng tương tác trực tiếp thông qua việc nhập liệu và chỉnh sửa Điều này khác biệt so với việc nhận dữ liệu từ các chương trình bên ngoài hay các tác nhân khác.

Hiện nay, có một số cách tích hợp tác tử như sau:

Không nên sử dụng ứng dụng bên ngoài Thay vào đó, hãy tích hợp một module vào giao diện tương tác để biên tập và chỉnh sửa dữ liệu dưới nhiều định dạng khác nhau, giúp chuyển đổi thành dữ liệu có thể sử dụng cho tác tử Đây là lựa chọn tối ưu, mặc dù yêu cầu nhiều công sức cho việc tích hợp Nếu người dùng đã quen với công cụ biên tập và chỉnh sửa dữ liệu hiện tại, họ sẽ không có lý do gì để từ bỏ nó.

Để ứng dụng có thể làm việc hiệu quả, cần chỉnh sửa và cập nhật nó thường xuyên Tuy nhiên, việc cho phép một tác tử có quyền truy cập vào mã nguồn ứng dụng không phải là điều dễ dàng, và thậm chí nếu có thể, quá trình sửa đổi và tích hợp tác tử cũng gặp nhiều khó khăn Khi ứng dụng có một phiên bản mới, nó đòi hỏi phải có những thay đổi phù hợp để đảm bảo tính tương thích.

Sử dụng một hàm API là cách để giao diện với ứng dụng bên ngoài Người dùng có thể tích hợp các API này để tương tác với ứng dụng Tuy nhiên, thực tế cho thấy quyền truy cập của các API mà ứng dụng cung cấp thường rất hạn chế và đôi khi không đủ để thực hiện các tác vụ một cách hiệu quả.

Tích hợp vào tầng giữa của các ứng dụng là một phương thức sử dụng chương trình trung gian, cho phép kiểm soát thông tin đầu vào và đầu ra Mỗi ứng dụng thường sử dụng các chức năng của hệ thống để nhận dữ liệu và xuất thông tin, ví dụ như thu thập dữ liệu từ bàn phím hay chuột và kết xuất ra file hoặc màn hình thông qua các hàm I/O Điều này tạo cơ hội cho tác tử tham gia vào quá trình này như một thành phần của ứng dụng Nếu tác tử muốn thu thập thông tin từ tất cả các ứng dụng Web, họ chỉ cần kiểm soát dữ liệu vào ra qua giao thức HTTP, thường sử dụng cổng 80 Như vậy, hệ thống trung gian có khả năng kiểm soát đầu vào và đầu ra của bất kỳ chương trình nào, cho phép tác tử có quyền lực rõ ràng, ngay cả với các hệ thống máy tính không thể thay đổi hoặc không tích hợp được.

Mô hình kiến trúc xây dựng giao diện dựa trên tác tử giao diện thông

Hiện nay, môi trường phát triển tác tử giao diện còn rất hạn chế, chủ yếu tập trung vào giao tiếp và phân phối nhiệm vụ cho các tác tử Những môi trường này thiếu tính xác định, khả năng thích nghi, biểu diễn tri thức tác tử và cơ chế suy diễn Hơn nữa, chúng không giải quyết được các vấn đề mà người sử dụng gặp phải trong quá trình tương tác Đây là những điểm yếu lớn của các môi trường phát triển tác tử giao diện hiện tại Một mô hình dựa trên kiến trúc tác tử giao diện thông minh có thể là giải pháp tiềm năng cho những hạn chế này.

MI 2 A) [16] với mục tiêu đưa ra nh ng tr giúp h u ích cho người dùng Nh ng ữ ợ ữ ữ vấn đề sau đây đã được khắc phục trong kiến trúc này

Nhiều môi trường hiện nay không rõ ràng trong việc xác định phạm vi kiến thức cần thiết cho các tác tử giao diện Việc có một biểu diễn tường minh về môi trường sẽ giúp các nhà thiết kế nhận diện các yếu tố quan trọng liên quan đến vấn đề mà tác tử giao diện cần giải quyết Phạm vi kiến thức cần phải mô tả mối quan hệ giữa các nhiệm vụ, hành động và mục tiêu của người dùng Tất cả thông tin này là phần cốt yếu để các tác tử giao diện hỗ trợ người dùng hiệu quả.

Trong môi trường năng động, việc ứng xử phù hợp là thiết yếu để thích ứng với sự thay đổi của hệ thống Các tác tử giao diện cần học hỏi từ những biến đổi này và tự điều chỉnh bản thân, đồng thời phải tuân theo tính tổng thể của môi trường Để hiểu được môi trường, các tác tử giao diện phải có khả năng cảm biến, suy diễn và phản ứng Các tác tử giao diện thông minh cần phải học từ hành động của người dùng và điều chỉnh hành vi của mình theo những hành động đó.

Kiến trúc của MI 2 A được minh họa trong hình 2.2, với các hộp đại diện cho các tác tử giao diện Các mũi tên nét đậm thể hiện kết nối giữa các tác tử, trong khi mũi tên đứt nét chỉ ra luồng dữ liệu thu nhận và lưu trữ Bộ điều phối (Facilitator) là một tác tử quan trọng, duy trì địa chỉ của tất cả các tác tử khác, và các tác tử này cần liên lạc với nó để nhận địa chỉ Các tác tử giao diện thông minh bao gồm tác tử quan sát (Observer), tác tử dự đoán (Predictator), tác tử hướng dẫn (Guide), tác tử phản ứng (Reactor), quản lý mô hình người dùng (UM Manager) và quản lý mô hình miền (DM Manager).

Hình 2.2: Mô hình kiến trúc dựa trên tác tử giao diện thông minh

Tác tử quan sát theo dõi hành động của người dùng để giám sát sự tương tác và thu thập dữ liệu, từ đó cập nhật cho tác tử dự đoán về các hành động tiếp theo Nó cũng gửi chuỗi hành động đến tác tử quản lý mô hình người dùng, giúp cập nhật lịch sử tương tác Dựa vào mô hình này, tác tử dự đoán có khả năng dự đoán các hành động và mục tiêu tiếp theo của người dùng Mô hình nhiệm vụ được chuyển đổi thành các luật CLIPS, tạo ra hướng dẫn cho tác tử hướng dẫn cung cấp các bước cần thiết cho người dùng đạt được mục tiêu Tác tử quản lý người dùng duy trì mô hình người dùng, bao gồm tiểu sử, mô hình tương tác và lịch sử tương tác Tiểu sử người dùng chứa thông tin tĩnh như tên, giới tính và trình độ hiểu biết, trong khi lịch sử tương tác lưu trữ chuỗi hành động của người dùng Mô hình tương tác người dùng phản ánh thói quen tương tác và được suy diễn từ lịch sử tương tác, với lý do hai thành phần này được giữ riêng biệt vì chúng đại diện cho các khái niệm khác nhau và không thay đổi cùng một lúc.

Tác tử điều phối duy trì một bảng địa chỉ (Agent Address Table) chứa toàn bộ địa chỉ của các tác tử, giúp tạo ra hệ thống giao diện thông minh linh hoạt và động Thay vì phải định nghĩa trước từng địa chỉ trong mã của tác tử, việc sử dụng tác tử điều phối cho phép dễ dàng thay đổi địa chỉ mà không ảnh hưởng đến chức năng của hệ thống Để tìm kiếm địa chỉ của các tác tử khác, chỉ cần gửi yêu cầu tới tác tử điều phối, giúp đơn giản hóa quá trình này.

Hành động của người dùng qua bàn phím và chuột sẽ được ghi lại bởi tác tử quan sát Tác tử này duy trì một bảng hành động để theo dõi và phân tích các tương tác của người dùng.

Bảng được định nghĩa trước ánh xạ các thao tác vật lý thành các hành động có nghĩa Chuỗi hành động thu thập được sẽ được phân tích và quản lý mô hình người dùng Tác tử quản lý mô hình người dùng sẽ lưu giữ các chuỗi hành động này trong lịch sử tương tác Tác tử quan sát cũng sẽ cập nhật lịch sử tương tác dựa trên hành động người dùng vừa thực hiện thông qua việc gửi thông báo.

Bằng cách áp dụng mô hình tương tác (Interaction Model - IM) và mô hình công việc (Task Model - TM), cùng với khả năng quan sát của tác tử, tác tử dự đoán có thể dự đoán hành động tương lai của người dùng và hiểu rõ mục đích của họ.

Tác tử quan sát theo dõi hành động hiện tại của người dùng và cập nhật cho tác tử dự đoán thông qua việc gửi thông báo Sau đó, tác tử dự đoán sẽ tìm kiếm trong mô hình tương tác của hành động người dùng hiện tại Hành động điều kiện nào có khả năng ảnh hưởng cao nhất sẽ được dự đoán là hành động tương lai của người dùng.

Sử dụng mô hình công việc, khả năng ước đoán mức độ sử dụng của tác nhân dự đoán giúp hướng dẫn người dùng đạt được mục tiêu hiệu quả.

Mô hình công việc có thể được chuyển đổi thành các quy luật, cùng với một cơ chế suy diễn, tạo thành động cơ hướng dẫn mô hình công việc (Task Model Guidance Engine) Động cơ này là thành phần quan trọng trong hệ thống tác tử hướng dẫn.

2.4.7 Tác tử quản lý mô hình người dùng

Mô hình người dùng đóng vai trò quan trọng trong việc phát triển tác tử giao diện thông minh Nếu thiếu mô hình người dùng, tác tử sẽ không có thông tin cần thiết để tối ưu hóa trải nghiệm của người sử dụng Đồng thời, mô hình này cung cấp thông tin quý giá về người dùng và các hoạt động của họ, từ đó giúp cải thiện nhận thức về môi trường xung quanh.

Mô hình người dùng là công cụ quan trọng giúp mô tả và phân tích hành vi của người dùng, từ đó xác định cách thể hiện dữ liệu và kiểu trợ giúp cần thiết Việc áp dụng mô hình này là cần thiết để phát triển các tác tử giao diện hiệu quả, hỗ trợ hành vi thích nghi và cung cấp dịch vụ cá nhân hóa cho người dùng.

Mô hình người dùng được hình thành từ nhiều loại thông tin khác nhau về người dùng Tùy thuộc vào hệ thống được sử dụng, mô hình này có thể chứa đựng nhiều loại dữ liệu khác nhau để phục vụ cho mục đích cụ thể, chẳng hạn như sở thích, hành vi và nhu cầu của người dùng.

• Chủ để và l nh v c thông tin quan tâm và a thích ĩ ự ư

• Những lo i d ch v quan tâm và a thích ạ ị ụ ư

• Sự hiểu biết về máy tính và những ứng dụng phần mềm

• Những ki u truy nh p thông tin và d ch v ể ậ ị ụ

• Những ki u hành vi tương tác ể

Xây dựng mô hình nhiệm vụ trong giao diện thông minh dựa tác tử

Các nhiệm vụ và hành động

Hành động là các thành phần có thể định danh được trong nhiệm vụ cơ sở hoặc đơn vị nhiệm vụ, mang ý nghĩa nhất định khi thực hiện một công việc cụ thể Ý nghĩa của hành động chỉ liên quan đến nhiệm vụ mà nó thuộc về; nếu không gắn với nhiệm vụ cụ thể, hành động có thể trở nên vô nghĩa Ví dụ, phím Enter có thể có nhiều ý nghĩa khác nhau, như kết thúc một lệnh hoặc xác nhận giá trị số Hành động được xem là những thành phần nhỏ nhất của nhiệm vụ, giúp định nghĩa và thay đổi ý nghĩa của nhiệm vụ Cần phân biệt giữa hành động và mục tiêu của nó, trong đó mục tiêu xác định ý nghĩa mà không ảnh hưởng đến bản chất vật lý của hành động.

Trong lý thuyết hoạt động, các hành động có thể coi như tương đương với

Các hoạt động trong HCI và CSCW thường mang tính chất máy móc, phản ánh những hành động cụ thể nhằm thay đổi thuộc tính, vị trí hoặc sự tồn tại của các đối tượng Những hành động này không chỉ ảnh hưởng đến môi trường mà còn tác động đến việc thực hiện nhiệm vụ chung của những người tham gia Ngoài ra, các hành động nằm trong nội dung của một đối tượng cũng có thể được xem xét để tác động lên các đối tượng khác trong cùng một ngữ cảnh Tuy nhiên, vai trò của các hành động như một phần của nhiệm vụ thường không được nhận biết một cách rõ ràng.

Một nhiệm vụ bao gồm các hoạt động liên kết chặt chẽ nhằm đạt được một mục tiêu cụ thể Trong khi "hoạt động" đề cập đến những hành động thực tế, nhiệm vụ không chỉ đơn thuần là tập hợp các hành động vật lý mà còn chứa đựng ý nghĩa sâu sắc của chúng Chẳng hạn, hành động đập búa có thể được xem là một nhiệm vụ "làm chìm chiếc đinh vào trong gỗ", hoặc cũng có thể được diễn đạt là "gây ra tiếng động để thu hút sự chú ý của người khác".

Để các mô hình nhiệm vụ hoạt động hiệu quả, trước tiên cần xác định rõ đặc tính của chúng, bao gồm mức độ chi tiết cho từng hoạt động Nếu mô tả các hoạt động quá sơ sài và thiếu chi tiết, mô hình nhiệm vụ sẽ trở nên quá lớn, mang tính chung chung và khó triển khai thực tế.

Chúng ta không thể xác định nghĩa của nhiệm vụ chỉ qua các điều kiện cần và đủ, nhưng có thể mô tả các loại hành động và hành vi có thể được đưa vào nhiệm vụ Những hành động này có thể được áp dụng thông qua các phương pháp nhất định.

1 Một nhiệm vụ phải xác định được đ ểm bắ đầu và kết thúc Nhiệm vụ chỉ i t được thực hi n trong m t kho ng th i gian xác định ệ ộ ả ờ

2 Một nhiệm vụ phải thực hiệ được một phần xác định và độc lập của công n việc

3 Mỗi nhiệm vụ phải được người thực hiện nó hiểu một cách cặn kẽ Bản mô tả nhiệm vụ phải sử ụ d ng các thuật ngữ nhất quán v i nhớ ững thuật ngữ của người dùng (những người sẽ thực thi nhiệm vụ)

4 Mỗi nhiệm vụ cần phải dễ dàng được kiểm soát theo thời gian sử dụng nó

5 Mỗi nhiệm vụ phả đưa ra được sự khác nhau trong trách nhiệm thực hiện; i trong đó nêu lên ai thực hiện nó và những ai không thực hiện nó

6 Một nhiệm vụ bắt đầu và k t thúc trong m t quá trình có thểế ộ giám sát được

7 Mỗi nhiệm vụ cần ngắn gọn

8 Mỗi nhiệm vụ không nên đặt ra các giới hạn cho nó Trong trường hợp có nhiều hơn một cách để thực hiện nhiệm vụ, khi đó chúng ta mới cầ đến n giới hạn

9 Một nhiệm vụ sử dụng m t động t để mô t , tr phi có nhi u hành động ộ ừ ả ừ ề xác định được thực hiện cùng nhau trong nhiệm vụ

Một nhiệm vụ cần phải có khả năng đo lường được, tức là kết quả cuối cùng phải có thể ước lượng hoặc xác định để đánh giá xem nó đã được thực hiện chính xác và thành công hay chưa.

Mô hình nhiệm vụ ự d a trên tác tử giao diện

Mô hình nhiệm vụ giúp thể hiện rõ ràng sự hiểu biết về nhiệm vụ hiện tại và các mối quan hệ phụ thuộc giữa nhiệm vụ và hành động của người dùng Duursma và Olsson đã đề xuất hai kiểu mô hình nhiệm vụ khác nhau, góp phần vào việc nâng cao nhận thức về cách thức hoạt động của người dùng trong các tình huống cụ thể.

Kiểu thứ nhất của mô hình nhiệm vụ thể hiện cách con người mô tả công việc của họ, được xây dựng từ dữ liệu thu thập qua các cuộc phỏng vấn Mặc dù việc triển khai kiểu mô hình này khá dễ dàng, nhưng nó có thể không phải là lựa chọn tối ưu cho tự động hóa trong bối cảnh công nghệ phần mềm.

Mô hình nhiệm vụ thứ hai thể hiện rõ ý nghĩa của các nhiệm vụ trong quá trình xây dựng cấu trúc nhiệm vụ Mô hình này không chỉ phản ánh kết quả của quá trình mà còn biên dịch các nhiệm vụ thu được từ phỏng vấn thành những nhiệm vụ có ý nghĩa sâu sắc hơn Mỗi nhiệm vụ đều có mục tiêu rõ ràng và được phân tích thành các nhiệm vụ con có ý nghĩa, giúp tăng cường sự hiểu biết và hiệu quả trong thực hiện.

Sơ đồ trong hình 3.1 cung cấp cái nhìn tổng quan về phương pháp mô hình hóa nhiệm vụ trong mô hình dựa trên kiến trúc giao diện thông minh Giai đoạn phân tích nhiệm vụ bắt đầu với việc xây dựng kiểu thứ nhất của mô hình nhiệm vụ thông qua các cuộc phỏng vấn Tiếp theo, kiểu thứ hai của mô hình nhiệm vụ được phát triển bằng cách sử dụng đồ thị AND/OR.

Hình 3.1: Phương pháp xây dựng mô hình nhiệm vụ

Các thành phần cơ ả b n của mô hình nhiệm vụ

Nhiệm vụ là hoạt động do tác nhân thực hiện nhằm đạt mục tiêu cụ thể, thường yêu cầu thời gian và có thể chia thành các nhiệm vụ con Các nhiệm vụ được thực hiện theo thứ tự nhất định, và hoàn thành một nhiệm vụ có thể mở ra cơ hội cho các nhiệm vụ khác Cần phân biệt giữa nhiệm vụ cơ sở và đơn vị nhiệm vụ, trong đó đơn vị nhiệm vụ chỉ được thực hiện thông qua việc thực hiện một hoặc nhiều nhiệm vụ cơ sở Sự hiểu biết về mối quan hệ giữa đơn vị nhiệm vụ và nhiệm vụ cơ sở là quan trọng, giúp tác nhân nhận diện các vấn đề trong quá trình thực hiện nhiệm vụ.

Hành động là khái niệm cốt lõi trong mô hình nhiệm vụ, đóng vai trò là nguyên nhân dẫn đến mọi thay đổi Mỗi nhiệm vụ có thể bao gồm một hoặc nhiều hành động khác nhau.

Người sử dụng thường được xác định để phục vụ cho một cá nhân cụ thể Đối với mô hình nhiệm vụ, việc nhận diện các kiểu người dùng là rất quan trọng.

Xây dựng mô hình nhiệm vụ

Tích hợp mô hình nhiệm vụ đặc biệt liên quan đến từng kiểu người dùng, trong đó có hai loại tham số khác nhau: thứ nhất, các tham số mang ngữ nghĩa đặc trưng liên quan đến tâm lý như cách nhận thức; thứ hai, các tham số liên quan đến nhiệm vụ như mức độ chuyên nghiệp và kiến thức về công nghệ thông tin.

Tác tử được xem như một thực thể chủ động, là phần mềm tham gia vào mô hình nhiệm vụ để thực hiện các nhiệm vụ cụ thể, nhằm hỗ trợ người dùng đạt được mục tiêu của mình.

Nhiệm vụ con là những phần việc được phân chia từ một nhiệm vụ lớn hơn Mỗi nhiệm vụ con đều liên quan đến nhiệm vụ chính mà nó được tách ra, và thường nằm trong chuỗi nhiệm vụ có thứ tự cụ thể.

Nhiệm vụ điều kiện trước là các nhiệm vụ cần hoàn thành trước khi thực hiện nhiệm vụ hiện tại Kết quả của những nhiệm vụ này sẽ trở thành đầu vào cho các nhiệm vụ tiếp theo trong chuỗi các nhiệm vụ, nhằm đạt được mục tiêu đã xác định.

Các nhiệm vụ đề điều kiện sau được xác định dựa trên các nhiệm vụ đề điều kiện trước, trong đó nhiệm vụ đề điều kiện trước bao hàm nhiệm vụ đề điều kiện sau.

3.4.1 Phân tích nhiệm vụ là gì

Phân tích nhiệm vụ là quá trình nghiên cứu các hành động cần thiết mà người dùng thực hiện để đạt được mục tiêu Quá trình này cung cấp cấu trúc mô tả các hoạt động, giúp dễ dàng hơn trong việc phối hợp và hỗ trợ thiết kế sản phẩm Đặc biệt, phân tích nhiệm vụ rất hữu ích trong việc thiết kế giao diện sản phẩm, cho thấy cách người dùng tương tác với sản phẩm.

Phân tích nhiệm vụ giúp nghiên cứu cách người dùng sử dụng sản phẩm hiện tại và xác định những khó khăn mà họ gặp phải, từ đó đưa ra các cải tiến thích hợp Kỹ thuật này cũng có thể được áp dụng trong hệ thống dự đoán để mô phỏng các thao tác của người dùng đối với sản phẩm đang phát triển Những mô phỏng này hỗ trợ các nhà phát triển và người dùng cuối trong quá trình phát triển sản phẩm, giúp xây dựng giao diện tốt hơn Ngoài ra, phân tích nhiệm vụ còn đóng vai trò quan trọng trong việc xây dựng sách hướng dẫn sử dụng cho người dùng.

Một yếu tố quan trọng cần thực hiện khi phân tích nhiệm vụ là mở rộng phạm vi ảnh hưởng của phân tích, bao gồm tất cả các tương tác của người dùng với sản phẩm Bên cạnh đó, các công việc hàng ngày, như bảo trì và làm sạch, cũng cần được xem xét, cùng với những sai sót có thể xảy ra trong quá trình thực hiện nhiệm vụ.

Tất cả các dạng phân tích nhiệm vụ đều cần mô tả và biểu diễn các hoạt động, đồng thời cung cấp cách tổ chức và cấu trúc cho quá trình mô tả này Điều này rất quan trọng trong việc mô tả chuỗi hoạt động hàng ngày của con người, và cũng có giá trị khi thiết kế sản phẩm mới Nghiên cứu chuỗi hành động cần thực hiện khi sử dụng sản phẩm giúp xác định liệu quy trình sử dụng đã được tổ chức hợp lý hay chưa, đồng thời hỗ trợ cho việc thiết kế và cải tiến các hành động cần thiết khi sử dụng sản phẩm.

Có hai quá trình chính trong phân tích nhiệm vụ Thứ nhất, chúng ta cần tìm hiểu chuỗi các hoạt động khác nhau và mối quan hệ giữa chúng Việc nghiên cứu không chỉ giới hạn trong phạm vi xác định mà còn cần mở rộng ra một bối cảnh rộng hơn để hiểu rõ hơn về các liên quan giữa các hoạt động Tuy nhiên, việc mở rộng nghiên cứu cần phải có trọng tâm, nếu không, nhiệm vụ sẽ trở nên phức tạp hơn rất nhiều.

Quá trình thứ hai thể hiện cách thức phối hợp các hoạt động hay nhiệm vụ, phân rã các nhiệm vụ lớn thành các thành phần nhỏ hơn Phương pháp phổ biến để thực hiện quá trình này là sử dụng cây phân cấp, giúp chia nhỏ các hoạt động cho đến khi đạt mức độ chi tiết cần thiết Một cách hiệu quả để phân chia là liên tục đặt câu hỏi “như thế nào” cho đến khi các hoạt động được phân tách đầy đủ Phương pháp HTA thường được áp dụng khi chia nhỏ nhiệm vụ.

Xây dựng mô hình nhiệm vụ

Trong quá trình phân tích nhiệm vụ, công việc chính là xác định các nhiệm vụ mức đỉnh và phân tích chúng thành các nhiệm vụ nguyên tố, đồng thời tìm ra các mối quan hệ phụ thuộc giữa chúng Mục tiêu của giai đoạn xây dựng mô hình nhiệm vụ là cấu trúc các mức nhiệm vụ để thể hiện một cách có nghĩa các mối quan hệ phụ thuộc giữa các nhiệm vụ của người dùng Phương pháp phân tích từ trên xuống được áp dụng để xây dựng đồ thị mô hình nhiệm vụ, bắt đầu từ nút nhiệm vụ ở mức đỉnh, sau đó khởi tạo các nút nhiệm vụ điều kiện theo hướng phân tích dần xuống dưới.

Trước khi bắt tay vào việc xây dựng mô hình nhiệm vụ, cần xem xét hai vấn đề quan trọng mà mô hình này phải làm rõ trong kiến trúc.

Thứ nhất, Tác tử hướng dẫn c n mô hình nhiệm vụ đểầ sinh ra các bước cần thiết nhằm đạ đượt c các mục tiêu xác định của người dùng

Mỗi lần Tác tử dự đoán hành vi của người dùng, nó sẽ khai thác kiến thức của mô hình để cung cấp thông tin về các nhiệm vụ liên quan, nhằm suy diễn mục đích của người dùng Để đạt được hai mục tiêu này, mô hình nhiệm vụ sẽ được cấu trúc trong một đồ thị AND/OR để xác định các ràng buộc giữa các nhiệm vụ của người dùng Có nhiều cách biểu diễn khác nhau có thể được sử dụng cho nhiệm vụ của người dùng trong một cấu trúc phân cấp.

1 Phương pháp nhận biết kế hoạch được thực hiện dễ dàng hơn bằng cách liệt kê các đ ềi u kiện trước và đ ềi u kiện sau của các nhiệm vụ

2 Các nhiệm vụ cần thi t có th dễ dàng đượế ể c xác nh trong khi theo đ ổđị u i một mục tiêu nhất định bằng cách đi theo các nhiệm vụ đ ề i u ki n sau ệ Đ ềi u này c ng đồng ngh a v i vi c làm cho m c tiêu ban đầu c a mô hình ũ ĩ ớ ệ ụ ủ nhiệm vụ có thể được thỏa mãn

3 Những nhiệm vụ đ ề i u ki n sau trong s các nhi m v hi n th i quan sát ệ ố ệ ụ ệ ờ được của người dùng có thể chính là m c tiêu c a người dùng, trên c sở ụ ủ ơ đó suy di n ra m c tiêu c a người dùng ễ ụ ủ Để hoàn thành một nhi m v , m t người dùng ph i ệ ụ ộ ả đạt được m t s ộ ố nhiệm vụ nào đó trước khi có thể hoàn thành nhiệm vụ hiện thời Các nhiệm vụ có thể có rất nhiều các nhiệm vụ iđ ều kiện trước và nhiệm vụ đ ều kiện sau Các i nhiệm vụ đ ề i u ki n trước là các nhiệm vụ cầệ n ph i hoàn thành trước khi nhiệm ả vụ hiện thời có thể hoàn thành Các nhiệm vụ đ ều kiện sau là các nhiệm vụ mà i các nhiệm vụ đ ề i u kiện trước của nó cũng n m trong nhiệm vằ ụ này Nhiệm vụ đ ềi u ki n trước trệ ực tiếp và nhiệm vụ đ ề i u kiện sau trực tiếp của các nhiệm vụ là các nhiệm vụ được kết nối trực tiếp với nhiệm vụ hiện thời trong đồ thị AND/OR Với một nhiệm vụ “AND”, tất cả các nhiệm vụ làm đ ềi u ki n trệ ước ph i ả được hoàn thành trước khi nhiệm vụ hiện thời có thể hoàn thành Với một nhiệm v “OR”, ch c n m t trong s các nhi m v làm i u ki n trước c n được ụ ỉ ầ ộ ố ệ ụ đ ề ệ ầ hoàn thành trước khi nhiệm vụ hiện thời có thể hoàn thành

Mỗi nút trong đồ thị đại diện cho một nhiệm vụ của người dùng, trong đó mỗi nhiệm vụ bao gồm các đường và mối quan hệ được xác định trong mô hình nhiệm vụ.

ID là một thành phần quan trọng trong mô hình nhiệm vụ, cần phải được xác định một cách rõ ràng và duy nhất Nó đóng vai trò là định danh chính, giúp phân biệt các nhiệm vụ trong toàn bộ hệ thống.

Tên: Tên của nhi m v , c ng r t ng n g n ệ ụ ũ ấ ắ ọ

Mô tả: Mộ ựt s mô t nhi m v theo ngôn ng t nhiên Mô tả thông thường bao ả ệ ụ ữ ự gồm một giải thích tỉ mỉ về mục tiêu của nhiệm vụ

Các điều kiện trước trực tiếp là những nhiệm vụ cần hoàn thành trước khi nhiệm vụ hiện tại kết thúc Có hai loại nút nhiệm vụ: nút “OR” yêu cầu ít nhất một trong các điều kiện trước phải hoàn thành, được kết nối bằng dấu “+”, trong khi nút “AND” yêu cầu tất cả các điều kiện trước phải hoàn thành, được kết nối bằng dấu “*”.

Các điều kiện sau trực tiếp là các nhiệm vụ mà các điều kiện trước trực tiếp ụ đê ệ ự ế của nó trong nhiệm vụ này Chúng được kết nối với nhau bằng dấu "*" và có thể có nhiều hạng mục nhiệm vụ khác nhau.

Hành động được liên kết là một khái niệm quan trọng, trong đó mỗi nhiễm vết được xem như một chuỗi các hành động nguyên tố Khái niệm này thể hiện mối liên hệ giữa các hành động và nhiễm vết, giúp hiểu rõ hơn về sự tương tác giữa chúng.

Tác tử được liên kết: nó là một tác tử được gắn li n v i các hành động g n liền ề ớ ắ với nhiệm vụ

Một ví dụ đơn giản để khái quát mô hình nhiệm vụ được trình bày trong hình 3.2 là mối quan hệ giữa các nhiệm vụ Trước khi người dùng hoàn thành nhiệm vụ A1, họ cần hoàn thành một trong hai nhiệm vụ B1 hoặc B2 Để hoàn thành B1, người dùng phải hoàn tất cả hai nhiệm vụ C1 và C2, trong khi để hoàn thành B2, họ cần hoàn thành cả hai nhiệm vụ C3 và C4.

Hình 3.2: Đồ thị AND/OR c a một mô hình nhiệm vụ ủ

Các đ ềi u ki n sau = Không ệ

Mô tả = Hoàn thành B2 Các đ ềi u ki n trước = C3*C4 ệ Các đ ềi u ki n sau = A1 ệ Hành động = hành_động_B2 Tác tử = tác_tử_B2

Mô tả = ht C1 ĐK trước = Không ĐK sau = B1

Mô tả = ht C2 ĐK trước = Không ĐK sau = B1 Hành động hđ_C2

Mô tả = ht C3 ĐK trước = Không ĐK sau = B2 Hành động hđ_C3

Mô tả = ht C4 ĐK trước = Không ĐK sau = B2 Hành động hđ_C4

Bảng 3.1: Định nghĩa các nhiệm vụ trong hình 3.2

Các định nghĩa tương ứng cho mô hình nhiệm v trong ụ đồ th 3.2 ị được mô tả trong bảng 3.1 [16]

Nhiệm vụ C1 liên quan chặt chẽ đến hành động hiện tại của người dùng, như minh họa trong hình 3.2 Có thể dễ dàng nhận thấy rằng nhiệm vụ C1, B1 và A1 đều là những mục tiêu tiềm năng mà người dùng hướng tới.

Để đạt được mục tiêu A1, người dùng cần hoàn thành nhiệm vụ B1 hoặc B2 Nếu chọn B1, cả hai nhiệm vụ C1 và C2 phải được hoàn thành trước Ngược lại, nếu chọn B2, nhiệm vụ C3 và C4 sẽ cần hoàn tất Do đó, hướng dẫn để hoàn thành A1 có thể được tóm tắt là C1 => C2 => B1 => A1 hoặc C3 => C4 => B2 => A1.

Kết chương

Trong chương này, chúng ta ã cùng nhau phân tích mô hình nhiđ ệm vụ

Mô hình nhiệm vụ là một cách thể hiện rõ ràng về công việc và mối quan hệ giữa chúng Hai thành phần cơ bản nhất của mô hình này là hành động và nhiệm vụ Nhiệm vụ bao gồm các hoạt động phối hợp nhằm đạt được mục tiêu xác định và có thể chứa một hoặc nhiều hành động Hành động là đơn vị nhỏ nhất trong nhiệm vụ, không thể chia nhỏ hơn nữa Bên cạnh đó, mô hình nhiệm vụ còn có các thành phần khác như mục tiêu, nhiệm vụ con, nhiệm vụ điều kiện trước và nhiệm vụ điều kiện sau.

Chúng ta sẽ khám phá một số phương pháp xây dựng mô hình nhiệm vụ, bao gồm phương pháp HTA, GOMS, GTA, và phương pháp dựa trên HTA, với trọng tâm là phát triển nhiệm vụ ở mức đỉnh.

Chúng ta sẽ nghiên cứu một phương pháp xây dựng mô hình nhiệm vụ, bắt đầu từ việc xác định các nhiệm vụ cấp cao, phân tích chúng thành các nhiệm vụ con nguyên tố và mối quan hệ giữa chúng thông qua đồ thị AND/OR Quy trình này bắt đầu bằng việc xác định các nhiệm vụ điều kiện trước và sau của từng nhiệm vụ, từ đó suy diễn ra mục đích của người dùng dựa trên các nhiệm vụ điều kiện này.

Trong Chương 4, chúng ta sẽ khám phá phương pháp xây dựng mô hình tương tác dựa trên hành vi của người dùng với giao diện Đồng thời, chúng ta cũng sẽ nghiên cứu các thuật toán cần thiết để phát triển mô hình tương tác này.

Xây dựng mô hình tương tác

Mô hình tương tác

Hệ thống chỉ có thể nhận tín hiệu từ người dùng thông qua các hành động khi họ tương tác với giao diện Mô hình tương tác phân tích các hành động này để xây dựng biểu đồ thói quen và dự đoán chuỗi hành động tiếp theo Khi người dùng thực hiện nhiệm vụ, các hành động được tạo ra và thu thập bởi tác tử Quan sát Các hành động này thường phụ thuộc vào những hành động trước đó trong cùng chuỗi, nhưng lại độc lập khi chuyển sang nhiệm vụ mới Dựa trên giả định này, các hành động sẽ được phân loại thành chuỗi có ý nghĩa, xác định xem người dùng có đang thực hiện nhiệm vụ mới hay không Mỗi chuỗi hành động được lưu vào lịch sử tương tác của người dùng, từ đó xây dựng đồ thị tương tác để biểu diễn thông tin theo thứ tự hành động Mỗi hành động trong đồ thị có thể dẫn đến một hoặc nhiều hành động tiếp theo, gọi là các hành động điều kiện sau Cần gán xác suất cho mỗi hành động điều kiện để thể hiện khả năng xảy ra của hành động tiếp theo, với hành động có xác suất cao nhất là khả năng xảy ra nhất trong thực tế.

Làm thế nào để biết một người dùng đang chuyển sang thực hi n m t ệ ộ nhiệm vụ mới ?

Cần bao nhiêu hành động theo thứ tự để xây dựng đồ thị tương tác ?

Làm cách nào để tính toán xác suất cho khả năng x y ra đối v i t ng hành ẩ ớ ừ động kế ế ti p của người dùng trong mô hình tương tác ?

1 Làm thế nào để biết một người dùng đang chuyển sang thực hiện một nhiệm vụ mới ?

Nếu ánh xạ giữa các hành động trong mô hình tương tác và các nhiệm vụ trong mô hình nhiệm vụ được thiết lập, việc giải quyết vấn đề sẽ trở nên dễ dàng Khi tác giả Quan sát nhận diện một hành động, các tác tử giao diện có thể dựa vào ánh xạ giữa nhiệm vụ và hành động để xác định nhiệm vụ trong mô hình nhiệm vụ tương ứng với hành động vừa quan sát Nếu nhiệm vụ liên kết với hành động mới khác với nhiệm vụ trước đó, tác giả Quan sát có thể kết luận rằng người dùng đang chuyển sang thực hiện một nhiệm vụ mới.

Trong nhiều ứng dụng, hành động của người dùng không luôn tương ứng với nhiều nhiệm vụ trong mô hình nhiệm vụ Mô hình này sử dụng cấu trúc phân cấp với đồ thị AND/OR, nơi các nhiệm vụ liên kết với hành động của người dùng có quan hệ điều kiện trước và sau Tác tử Quan sát sẽ xác định rằng nhiệm vụ ở mức cao nhất trong mô hình là nhiệm vụ liên quan đến hành động của người dùng, vì các nhiệm vụ này phải được hoàn thành, ngay cả khi người dùng cố gắng thực hiện nhiệm vụ ở mức cao hơn Người dùng có thể ngừng hoạt động trợ giúp từ tác tử Hướng dẫn hoặc thay đổi mục tiêu mà họ đã dự đoán.

Trong một số tình huống, tác tử Quan sát cần đánh giá nhiệm vụ T p mà người dùng đã thực hiện trước đó Nếu T p thuộc về các nhiệm vụ liên kết của hành động hoặc là nhiệm vụ điều kiện của hệ T p, thì nhiệm vụ hiện tại của người dùng không nên bị gián đoạn Ngược lại, nếu không, nhiệm vụ hiện tại sẽ bị gián đoạn, và người dùng sẽ được xem là đang thực hiện một nhiệm vụ mới, trong khi tác tử giao diện sẽ hỗ trợ người dùng chọn nhiệm vụ mà họ muốn thực hiện.

2 Cần bao nhiêu hành động theo thứ tự để xây d ng đồ th tương tác ? ự ị

Chúng ta cần chú ý đến thứ tự giữa hai hành động, vì có hai lý do quan trọng Thứ nhất, thứ tự này giúp suy diễn ra trình tự thực hiện trong rất nhiều hành động khác nhau Thứ hai, khi số lượng các hành động theo thứ tự này tăng lên, chi phí tính toán sẽ tăng theo hàm mũ.

Người dùng có thể thực hiện một số hành động không cần thiết trong quá trình hoàn thành nhiệm vụ, ví dụ như thực hiện hành động f trước khi tiến hành a2 trong chuỗi a1=>f=>a2=>a3 Các cặp hành động liên tiếp trong chuỗi này bao gồm a1=>f, f=>a2 và a2=>a3, cho thấy thứ tự thực hiện giữa các hành động cần được chú ý Khi xem xét chuỗi a1=>f=>a2=>a3, các cặp hành động sẽ là a1=>f, a1=>a2, a1=>a3, f=>a2, f=>a3 và a2=>a3 Một hạn chế của phương pháp này là nó có thể tạo ra thông tin dư thừa như a1=>a3 Để khắc phục vấn đề này, chúng ta sẽ tính toán xác suất cho các hành động theo thứ tự liên tiếp, theo đó, nếu một cặp hành động ít xuất hiện trong lịch sử tương tác của người dùng, xác suất gán cho cặp hành động đó sẽ thấp Nếu hành động là dư thừa trong quá trình thực hiện nhiệm vụ, nó sẽ không thường xuyên xuất hiện trong các tình huống khác và sẽ có giá trị xác suất thấp.

3 Cách tiếp cận mô hình hóa tương tác

Dựa vào các lập luận đã nêu, chúng ta sẽ phát triển một phương thức mô hình hóa như trong hình 4.1 Quy trình này sẽ lần lượt áp dụng các thuật toán: phân định hành động, lựa chọn cặp hành động, lựa chọn cặp hành động cuối, xây dựng đồ thị tương tác, và cuối cùng là tính toán xác suất.

Hình 4.1: Phương pháp xây dựng mô hình tương tác

Các giải thuật xây d ựng mô hình tươ ng tác

4.2.1 Thuật toán phân đ ạo n hành động

Trong mô hình kiến trúc tác tử giao diện thông minh, tác tử Quan sát đóng vai trò quan trọng trong việc thu thập và theo dõi toàn bộ hành động của người

1 Thuậ t toán phân o n hành động đ ạ

2 Thuật toán lựa chọn cặp hành động

3 Thuật toán lựa chọn cặp hành động cuối

4 Thuật toán xây dựng đồ thị tương tác

5 Thuật toán loại bỏ đ ề i u kiện sau

6 Thuật toán loại bỏ đ ề i u kiện trước

7 Thuật toán tính toán xác suất

Mô hình tương tác có vai trò quan trọng trong việc gửi thông tin đến tác tử quản lý mô hình người dùng, nơi mà mô hình tương tác được tạo ra và lưu trữ Dù phương pháp thu thập thông tin có vẻ đơn giản, việc phân loại các hành động thành những hành động có ý nghĩa lại phức tạp hơn Một chuỗi hành động có nghĩa bao gồm những hành động của người dùng nhằm hoàn thành một nhiệm vụ cụ thể Chúng ta sẽ phân biệt các hành động theo mô hình nhiệm vụ, trong đó mỗi hành động có thể liên kết với một hoặc nhiều nhiệm vụ Một chuỗi hành động sẽ không bị gián đoạn khi nó thuộc vào một trong những trường hợp nhất định.

1 Khi những nhi m vụệ liên kết với các hành động mới được thu thập bao hàm nhiệm vụ đ ã được thực hiện trước đó

2 Khi các nhiệm vụ liên kết với các hành động mới thu thập được là các nhiệm vụ đ ề i u ki n sau của nhiệm vụ được thực hiện trước ó ệ đ

Sau đây sẽ là giải thuật phân đ ạo n hành động [16]:

5 if Task(a j ) ⊆ Task(a i ) or Task(a i ) nằm trong các nhi ệm vụ đ ề i u ki n sau củ ệ a Task( a j ) then

7 Thêm a i vào S temp như là hành động cuối cùng trong nó

8 a j ← a i (a j sẽ là hành động cuối cùng trong S temp )

15 a j ← a i (a j sẽ là hành động cuối cùng trong S temp )

B ảng 4.1: Giải thuật phân đ ạn hành động o

Stemp : Chuỗi hành động được phân đ ạo n aj : Hành động đã duyệt qua trước đó ai : Hành động hiện th iờ

Task(a): Hàm trả ề v các nhiệm vụ liên kết với hành động a

Trong hình 4.2 [16], mô hình nhiệm vụ cho thấy để hoàn thành nhiệm vụ T6, nhiệm vụ T5 cần phải được thực hiện trước Để đạt được T5, ít nhất một trong hai nhiệm vụ T3 hoặc T4 phải hoàn thành Nhiệm vụ T4 yêu cầu cả hai nhiệm vụ T1 và T2 phải được hoàn thành trước đó, trong khi nhiệm vụ T3 bắt buộc T1 phải hoàn tất Các nhiệm vụ T1, T2, T3, T4, T5 là những điều kiện cần thiết cho T6, với T5 là điều kiện tiên quyết trực tiếp cho T6 Ngoài ra, T3, T5, và T6 là các nhiệm vụ phụ thuộc vào T1, trong đó T3 là điều kiện trực tiếp sau của T1.

Hình 4.2: Một ví dụ về mô hình nhiệm vụ

Trong bài viết này, chúng ta xem xét một tập hợp các hành động được quan sát, bao gồm các hành động {a21, a22, a41, a42, a21, a22, a41, a42, a51, a52, a61, a62, a11, a11} Các hành động a21 và a22 liên quan đến nhiệm vụ T2, a41 và a42 gắn với nhiệm vụ T4, a51 và a52 kết nối với nhiệm vụ T5, a61 và a62 thuộc về nhiệm vụ T6, trong khi a11 và a12 liên quan đến nhiệm vụ T1 Qua việc sử dụng giải thuật phân nhóm, chúng ta có thể xác định các chuỗi hành động như sau: {a21, a22, a41, a42}, {a21, a22, a41, a42, a51, a52, a61, a62} và {a11, a11}.

4.2.2 Thuật toán lựa chọn c p hành ặ động

Trước khi bước vào phân tích thuật toán lựa chọn cặp hành động, chúng ta cần xem xét một số định nghĩa sau đây [16]:

Định nghĩa 1: Cặp hành động (hành động 1, hành động 2) được sử dụng để biểu diễn một cặp hành động có thứ tự, trong đó hành động 1 được thực hiện trước hành động 2 Ký hiệu actionPair(J) được dùng để biểu diễn cặp hành động thứ J trong chuỗi các cặp hành động Hành động đầu tiên trong cặp, ký hiệu actionPair(J).firstAction, đại diện cho hành động 1, trong khi hành động thứ hai, ký hiệu actionPair(J).secondAction, đại diện cho hành động 2 Định nghĩa 2: COUNT(hành động 1, hành động 2) được sử dụng để đếm số lần cặp hành động (hành động 1, hành động 2) xảy ra trong lịch sử tương tác Định nghĩa 3: PAIRLIST biểu diễn một danh sách các cặp hành động, được xây dựng từ lịch sử tương tác.

Thuật toán này tập trung vào thứ tự của hai hành động trong cặp hành động, xác định thứ tự độ ưu tiên cho cặp đó Với mỗi cặp, lịch sử tương tác sẽ bao gồm nhiều chuỗi hành động, và việc lựa chọn cặp hành động trong bảng sẽ dựa trên lịch sử tương tác Số lần xuất hiện của mỗi cặp hành động sẽ được đếm bằng hàm COUNT, từ đó giúp xác định cặp hành động phù hợp nhất.

Bảng 4.2: Thuật toán lựa chọn cặp hành động

Chuỗi hành động trong S được phân định rõ ràng, với số lượng các hành động trong chuỗi hành động S được xác định Mỗi hành động ak, aj đều nằm trong chuỗi hành động A.

PL : Danh sách các cặp hành động được l a ch n ự ọ

(ak, aj) : Cặp hành động được lựa ch n vào PL ọ

COUNT(ak, aj) : Đếm số ầ l n xu t hi n cấ ệ ủa cặp (ak, aj)

Giả sử chúng ta có hai chuỗi hành động sau [16]:

Chuỗi 1: a1 + a2 + a3 + a4 Chuỗi 2: a3 + a1 + a2 + a4 Theo giải thuật trên, quá trình thuật toán thực hiện cho chuỗi hành động 1 sẽ như sau:

Hình 4.3: Quy trình thực hiện giải thuật cho chuỗi hành động 1

Sáu cặp hành động được tạo ra từ chuỗi hành động 1 bao gồm (a3, a4), (a2, a4), (a1, a4), (a2, a3), (a1, a3) và (a1, a2) Tương tự, chuỗi hành động 2 cũng tạo ra sáu cặp hành động là (a2, a4), (a1, a4), (a3, a4), (a3, a2), (a1, a2) và (a3, a1) Hàm COUNT được sử dụng để đếm số lượng cho mỗi cặp hành động này.

Hình 4.4: Đếm số ầ l n xu ất hiện các cặp hành động trong chuỗi hành độ ng 1

Kết quả đếm của hàm COUNT sẽ như sau [16]:

COUNT(a3, a4) = 2 COUNT(a2, a4) = 2 COUNT(a1, a4) = 2 COUNT(a2, a3) = 1 COUNT(a1, a3) = 1 COUNT(a1, a2) = 2 COUNT(a3, a2) = 1 COUNT(a3, a1) = 1

4.2.3 Thuật toán lựa chọn c p hành ặ động cuối Để có thể ự th c hi n gi i thu t l a ch n cặệ ả ậ ự ọ p hành động cu i, chúng ta ti p ố ế tục xem xét hai khái niệm sau [16]: Định nghĩa 4: C p hành ặ động (a i , aj) và (aj, ai) được gọi là hai cặp hành động ngược nhau Sự ngược nhau ở đ ây ám ch v thứ tự ựỉ ề th c hi n c a các hành ệ ủ động trong mỗi cặp hành động Định nghĩa 5: Độ tin cậy của c p hành ặ động hay xác su t th hi n kh ấ ể ệ ả năng xẩy ra của cặp hành động, ký hiệu APC, được định nghĩa như sau:

APC được sử dụng để bi u di n kh năng mà hành động aể ễ ả i có thể xẩy ra trước hành động aj

Giải thuật lựa chọn cặp hành động cuối sẽ được trình bày trong phần 4.3 Một cặp hành động trong chuỗi PAIRLIST được xây dựng dựa trên thuật toán đếm số lần xuất hiện của các cặp hành động, với số đếm COUNT và ngưỡng THRESHOLD Thuật toán sẽ chọn các cặp hành động cuối cùng từ PAIRLIST, điều kiện lựa chọn là các cặp hành động có APC lớn hơn hoặc bằng THRESHOLD Các cặp hành động được chọn sẽ tạo thành chuỗi cặp hành động cuối cùng, ký hiệu là FPAIRLIST.

1 foreach ap i in PL do

4 foreach ap j in PL do

6 if ISCONTRA(ap i , ap j ) then

8 if APC(ap i ) < THRESHOLD then

Bảng 4.3: Giải thuật lựa chọn cặp hành động cuối

PL : Danh sách các cặp hành động

FPL : Danh sách các cặp hành động cuối

Pass : Kiểm tra cặp hành động có vượt được ngưỡng để vào FPL hay không api, apj : Các cặp hành động trong PL

APC(api) : Độ tin cậy của cặp hành động

APC(api) = COUNT(api1, api2) / (COUNT(api1, api2) + COUNT(api2, api1))

ISCONTRA(api, apj) : Hàm trả về giá tr TRUE n u apị ế i và apj là hai cặp hành động ngược nhau, nếu không tr v FALSE ả ề

Với các cặp hành động có được từ ví dụ trên, nếu ta đặt ngưỡng THRESHOLD = 100%, chúng ta s có các giá trẽ ị APC nh sau: ư

APC(a2, a3) = 1/(1+1) = 50% < THRESHOLD, cho nên cặp hành động (a2, a3) sẽ không được lựa chọn vào FPAIRLIST

APC(a1, a3) = 1/(1+1) = 50% < THRESHOLD, cho nên cặp hành động (a1, a3) sẽ không được lựa chọn vào FPAIRLIST

APC(a3, a2) = 1/(1+1) = 50% < THRESHOLD, cho nên cặp hành động (a3, a2) cũng sẽ không được lựa chọn vào FPAIRLIST

APC(a3, a1) = 1/(1+1) = 50% < THRESHOLD, cho nên cặp hành động (a3, a1) cũng sẽ không được lựa chọn vào FPAIRLIST

Tương tự, thực hiện tính toán với các cặp hành động khác như (a3, a4), (a2, a4),

(a1, a4), và (a1, a2), tất cả chúng đều được lựa chọn bởi vì chúng không có các cặp hành động trái ngược trong PAIRLIST, do đó chúng cũng được chọn vào FPAIRLIST

4.2.4 Thuật toán xây dựng đồ thị tương tác

Các cặp hành động có thứ tự được xây dựng từ chuỗi các hành động lưu trữ trong mô hình tương tác Sau đó, các cặp hành động cuối được lựa chọn dựa trên tỷ lệ ngưỡng Cuối cùng, từng cặp hành động này sẽ được kết nối trong một đồ thị, với mũi tên chỉ vào hành động thứ hai trong cặp Các thuật toán Prune Successor(s) và Prune Predecessor(s) được áp dụng để đơn giản hóa đồ thị này.

Với ví dụ đã đề cập trong các giảng dạy trước, chúng ta đã có bản cập nhật về hành động cuối cùng Chúng ta sẽ sử dụng đồ thị trong hình 4.5 để biểu diễn mô hình tương tác này.

Hình 4.5: Mô hình tương tác cho ví dụ trên

Mô hình tương tác được thiết kế để biểu diễn thói quen tương tác của người dùng Ví dụ trong hình 15 cho thấy hành động a2 và a4 có khả năng được thực hiện sau hành động a1 Tuy nhiên, thứ tự thực hiện không nhất thiết phải là a1 -> a2 -> a4.

Mỗi nút trong đồ thị của mô hình tương tác bao gồm các thành phần như ID, tên, điều kiện trước, điều kiện sau, vị trí và phân phối xác suất Phân phối xác suất cho mỗi nút cho biết khả năng mà một hành động điều kiện sau sẽ trở thành hành động tiếp theo của nút đó Đồ thị trong mô hình tương tác khác với đồ thị trong mô hình nhiệm vụ; trong mô hình nhiệm vụ, các nhiệm vụ cần hoàn thành theo thứ tự nhất định Ngược lại, trong mô hình tương tác, đồ thị cho thấy rằng hành động a1 có khả năng cao hơn được thực hiện trước a2, và tương tự cho các hành động khác như a2 trước a4, a1 trước a4, và a3 cũng tuân theo quy luật tương tự.

Bảng 4.4 sẽ trình bày giải thuật xây dựng đồ ị tương tác [16]: th

1 foreach ap i in FPL do

3 if NOT ISPRECOND(ap i firstAction, ap i secondAction) then

5 Thêm ap i firstAction vào hành độ ng i u ki n trước c a ap đ ề ệ ủ i secondAction

6 Thêm ap i secondAction vào hành độ ng i u ki n sau c a ap đ ề ệ ủ i firstAction

8 Prune_Algorithm_1(ap i firstAction, ap i secondAction)

9 Prune_Algorithm_2(ap i firstAction, ap i secondAction)

Bảng 4.4: Giải thuật xây dựng mô hình đồ thị tương tác

Danh sách các cặp hành động cuối trong FPL bao gồm hai hành động chính: hành động thứ nhất được xác định bởi api.firstAction và hành động thứ hai được xác định bởi api.secondAction Những cặp hành động này đóng vai trò quan trọng trong việc quản lý và tối ưu hóa quy trình trong FPL.

ISPRECOND(a1, a2) : Trả về TRUE n u aế 1 là hành động iđ ều kiện trước của hành động a2, ng c lượ ại trả ề v FALSE

Prune_Algorithm_1(a1, a2) : Thuật toán loại bỏ thứ nhất

Prune_Algorithm_2(a1, a2) : Thuật toán loại bỏ thứ hai

Đánh giá và hoàn thiện các giả i thu t xây d ng mô hình tương tác .101 ậ ự 1 Thuật toán phân đ ạ o n hành động

Chúng ta đã chuyển sang thực hiện một nhiệm vụ mới, trong khi nhiệm vụ hiện tại đã kết thúc ở hành động trước Chúng ta sẽ kết thúc chuỗi hành động này tại đây và đưa nó vào lưu trữ trong lịch sử tương tác Tiếp theo, chuỗi hành động này sẽ được khởi tạo trong một không gian trống để bắt đầu một chu trình tạo chuỗi hành động mới, chuỗi hành động này sẽ hoàn thành nhiệm vụ tiếp theo.

Thời gian thực hiện của thuật toán được đánh giá là O(n), phụ thuộc vào số lần lặp lại và số hành động thu thập được Kết quả của thuật toán này đóng vai trò quan trọng làm đầu vào cho thuật toán tiếp theo.

4.3.2 Thuật toán lựa chọn c p hành ặ động

Dựa trên kết quả của thuật toán thu thập thông tin, thuật toán này sẽ chọn ra các cặp hành động từ mỗi chuỗi hành động trong lịch sử tương tác Những cặp hành động này sẽ được đưa vào danh sách PAIRLIST, và các hành động trong chuỗi sẽ được nhóm lại theo thứ tự xuất hiện Thuật toán cũng thực hiện việc đếm số lần xuất hiện của các cặp hành động mỗi khi chúng lặp lại trong PAIRLIST, với biến đếm được ký hiệu là COUNT.

Thuật toán bắt đầu bằng việc duyệt qua chuỗi hành động trong lịch sử tương tác Mỗi chuỗi hành động sẽ được xử lý từ dưới lên, sau đó nhóm các hành động lại với nhau Nếu cặp hành động chưa có trong PAIRLIST, chúng sẽ được gán COUNT bằng 1 và thêm vào PAIRLIST Ngược lại, nếu cặp hành động đã tồn tại, COUNT của chúng sẽ được tăng thêm 1.

Thuật toán lựa chọn cặp hành động hiện tại vẫn gặp một số hạn chế, đặc biệt là trong trường hợp cặp hành động có hai hành động giống nhau Mặc dù các cặp hành động này không được đưa vào PAIRLIST trong ví dụ minh họa, thuật toán vẫn không loại bỏ chúng Ngoài ra, khi chuỗi hành động chỉ chứa một hành động duy nhất, thuật toán chỉ tạo ra một cặp hành động với hai hành động giống nhau, dẫn đến việc không thể lựa chọn cặp hành động này Do đó, trong trường hợp chuỗi hành động chỉ có một hành động, chúng ta có thể bỏ qua chuỗi đó Để khắc phục những hạn chế này, cần điều chỉnh thuật toán cho phù hợp.

Bảng 4.9: Thuật toán lựa chọn cặp hành động sau chỉnh sửa

LENGTH(As) : Hàm trả ề ố v s hành động trong chuỗi hành động As

Việc chỉnh sửa chuỗi hành động được thực hiện đơn giản trong vòng lặp thứ ba của thuật toán Chỉ số k bắt đầu từ (j-1) thay vì j, giúp loại bỏ các cặp hành động giống nhau Để loại bỏ những chuỗi hành động có duy nhất một hành động, chúng ta sử dụng hàm LENGTH để kiểm tra số lượng hành động trong chuỗi Nếu giá trị trả về của hàm LENGTH lớn hơn 1, chúng ta sẽ tiếp tục thực hiện các bước tiếp theo của giải thuật; ngược lại, chúng ta sẽ bỏ qua chuỗi hành động đó và chuyển sang chuỗi hành động tiếp theo để xử lý.

Thuật toán này được thực hiện thông qua ba vòng lặp lồng nhau, với độ phức tạp O(n²) nếu coi tổng số hành động trong các chuỗi hành động là n, dẫn đến thời gian tính toán tương đối lâu Sau khi hoàn thành, thuật toán sẽ cung cấp danh sách các cặp hành động có thứ tự cùng với số lần xuất hiện của chúng trong lịch sử tương tác, và danh sách này sẽ là đầu vào cho thuật toán thứ ba.

4.3.3 Thuật toán lựa chọn c p hành ặ động cuối

Sau khi có danh sách các cặp hành động từ thuật toán lựa chọn, mục tiêu cuối cùng là chọn ra những cặp hành động có ý nghĩa gần gũi với mô hình nhiệm vụ Thuật toán này áp dụng khái niệm cặp hành động ngược, mà sự xuất hiện của chúng phụ thuộc vào nhiều yếu tố như mô hình nhiệm vụ, cách phân chia nhiệm vụ và số lượng hành động liên quan Nếu một nhiệm vụ yêu cầu nhiều hành động không theo trình tự, các cặp hành động ngược sẽ xuất hiện, thường khi người dùng thao tác theo thứ tự khác hoặc chỉnh sửa thao tác sai Ngược lại, nếu mỗi nhiệm vụ chỉ gắn liền với một hành động, sẽ không có cặp hành động ngược Điều này xảy ra vì thuật toán đầu tiên không đưa vào chuỗi hành động những hành động có thể tạo ra các cặp hành động ngược Tuy nhiên, trong thực tế, một nhiệm vụ có thể liên kết với nhiều hành động, dẫn đến việc các cặp hành động ngược vẫn có thể hình thành Thuật toán cũng sử dụng biến APC để xác định tính khả thi của cặp hành động trong chuỗi cuối cùng; nếu APC vượt qua ngưỡng xác định trước, cặp hành động sẽ được đưa vào danh sách cuối.

Thuật toán lựa chọn cặp hành động cuối sẽ duyệt qua tất cả các cặp hành động trong PAIRLIST và so sánh chúng với từng cặp hành động còn lại Nếu không có cặp hành động ngược, chúng sẽ được đưa vào danh sách các cặp hành động cuối, gọi là FPAIRLIST Nếu cặp hành động ngược xuất hiện, thuật toán sẽ tính tỷ số APC và so sánh với ngưỡng đã xác định (THRESHOLD) Nếu APC lớn hơn hoặc bằng ngưỡng, cặp hành động sẽ được thêm vào FPAIRLIST; ngược lại, nếu APC nhỏ hơn ngưỡng, cặp hành động này sẽ bị loại bỏ.

Việc đưa một cặp hành động vào FPAIRLIST phụ thuộc vào việc lựa chọn ngưỡng, với giá trị ngưỡng phải nằm trong khoảng (0, 1] Nếu ngưỡng được chọn là 1, chỉ những cặp hành động không có cặp ngược mới được đưa vào FPAIRLIST Ngưỡng cần phải lớn hơn 0, vì nếu chọn ngưỡng là 0, chúng ta có thể đưa tất cả các cặp hành động trong PAIRLIST vào FPAIRLIST mà không cần thực hiện thuật toán.

Thuật toán này cần điều chỉnh để tối ưu hơn, đặc biệt trong việc xử lý các trường hợp khi chọn ngưỡng khác nhau Chúng ta sẽ phân chia thành hai trường hợp: nếu ngưỡng được chọn là 1, thì không cần tính APC nữa; chỉ cần đảm bảo rằng hai hành động là ngược nhau, và trong trường hợp này, chúng ta sẽ không đưa chúng vào FPAIRLIST và thoát khỏi vòng lặp Nếu chọn ngưỡng khác, quy trình sẽ được điều chỉnh tương ứng.

1, thì sẽ ẫ v n so với ngưỡng và sau đó thoát luôn khỏi vòng lặp (Phân tích chi tiết cho thuật toán này có thể tham khảo trong Phụ ụ l c 3)

1 foreach ap i in PL do

4 foreach ap j in PL do

6 if ISCONTRA(ap i , ap j ) then

10 else if APC(ap i ) < THRESHOLD then

Bảng 4.10: Giải thuật lựa chọn cặp hành động cuối đã chỉnh sửa

Thuật toán này có thể được triển khai một cách dễ dàng thông qua hai vòng lặp lồng nhau Danh sách các cặp hành động cuối FPAIRLIST sẽ được sử dụng để xây dựng đồ thị tương tác.

4.3.4 Thuật toán xây dựng đồ thị tương tác

Thuật toán xây dựng đồ thị tương tác từ danh sách các cặp hành động cuối nhằm tạo ra mô hình tương tác, mô tả quá trình tương tác của người dùng với hệ thống Mục tiêu của thuật toán này là phân tích chi tiết, có thể tham khảo trong Phụ lục 4 Trong thuật toán, khái niệm hành động điều kiện trước và hành động điều kiện sau được sử dụng, tương tự như nhiệm vụ điều kiện trước và nhiệm vụ điều kiện sau trong mô hình nhiệm vụ Tuy nhiên, điểm khác biệt là hành động điều kiện trước và sau có tính tương đối hơn, cho phép thực hiện thống kê trong thực tế Đối với mô hình nhiệm vụ đã được xây dựng, việc xác định các nhiệm vụ điều kiện trước và sau rất đơn giản, dựa vào mô hình nhiệm vụ mà nhiệm vụ đó thuộc về Trong mô hình tương tác, chúng ta vừa xây dựng mô hình vừa xác định các hành động điều kiện trước và sau cho từng hành động.

Thuật toán sẽ duyệt qua tập hành động trong FPAIRLIST để kiểm tra xem hành động đầu tiên có phải là điều kiện trước của hành động thứ hai hay không Nếu điều kiện này chưa thỏa mãn, chúng ta sẽ bổ sung hành động đầu tiên vào danh sách các điều kiện trước của hành động thứ hai và ngược lại Sau đó, thuật toán sẽ thực hiện hai giải thuật bổ trợ: thuật toán loại bỏ thứ nhất và thuật toán loại bỏ thứ hai nhằm loại bỏ các hành động dư thừa trong danh sách điều kiện trước và sau của chúng, tức là loại bỏ liên kết dư thừa trong mô hình tương tác Thuật toán loại bỏ thứ nhất sẽ loại bỏ hành động đầu tiên trong cặp hành động khỏi tập các điều kiện trước của hành động thứ hai.

Hình 4.12: Thuật toán loạ i b thứ nhất ỏ

Thuật toán loại bỏ thứ hai sẽ loại bỏ hành động thứ hai khỏi tập hợp các hành động điều kiện tiếp theo của hành động điều kiện trước đó Để tìm hiểu chi tiết về giải thuật này, bạn có thể tham khảo trong Phụ lục 6.

Hành động đ ềi u kiện sau của hành động thứ hai a1 là hành động iđ ều kiện trước của a3

Liên kết cần loại bỏ

Hình 4.13: Thuật toán loạ i b thứ hai ỏ

Thử nghiệm và đánh giá

Chương trình được xây dựng d a trên ngôn ngữự C# của Visual Studio NET, còn các đặc tả được xây dựng dựa trên ngôn ngữ XML

Chương trình đã được thử nghiệm với một số lượng lớn dữ liệu, bao gồm thông tin khách hàng và hơn mười tài khoản Nó có khả năng đọc các tài liệu được định dạng dưới dạng XML, bao gồm đặc tả mô hình nhiệm vụ, đặc tả giao diện, ánh xạ giữa nhiệm vụ và các hành động nguyên tố, cũng như ánh xạ giữa giao diện và nhiệm vụ.

Chương trình sẽ theo dõi thao tác của người dùng qua giao diện thông qua các sự kiện trong ngôn ngữ lập trình Nó ghi lại các hành động nguyên tố được định nghĩa trong đặc tả vào danh sách hành động Sau đó, thuật toán phân tích hành động sẽ được sử dụng để ghi lại chuỗi hành động vào lịch sử tương tác.

Trong quá trình tương tác với giao diện, tác tử luôn đồng hành cùng người dùng, ghi lại lịch sử và cung cấp thông báo hướng dẫn cho các thao tác tiếp theo Khi phát hiện người dùng thực hiện nhiệm vụ mà chưa hoàn thành nhiệm vụ trước đó, tác tử sẽ cảnh báo và ngăn chặn hành động đó, đồng thời hướng dẫn người dùng quay lại nhiệm vụ còn dang dở Khi người dùng hoàn thành một nhiệm vụ, tác tử sẽ khen ngợi và nhắc nhở họ chuyển sang nhiệm vụ tiếp theo trong mô hình nhiệm vụ Giao diện đăng nhập được minh họa với sự hỗ trợ hướng dẫn từ tác tử.

Hình 4.18: Giao diện Đăng nh p v ậ ớ i s trợ giúp của tác tử ự

Kết chương

Trong chương này, chúng ta sẽ phân tích năm thuật toán xây dựng mô hình tương tác, bắt đầu từ khái niệm về mô hình người dùng và mô hình tương tác Đầu tiên, thuật toán phân định hành động sẽ tạo ra các chuỗi hành động có ý nghĩa dựa trên những hành động thu thập từ người dùng trong lịch sử tương tác Tiếp theo, thuật toán lựa chọn cặp hành động sử dụng chuỗi hành động trong lịch sử để xác định các cặp hành động theo thứ tự Sau đó, thuật toán lựa chọn cặp hành động cuối cùng sẽ chọn từ danh sách các cặp hành động đã được sắp xếp để tạo ra một chuỗi hành động liên tiếp Thuật toán xây dựng đồ thị tương tác sẽ sử dụng danh sách các cặp hành động cuối để tạo ra đồ thị tương tác của người dùng Cuối cùng, thuật toán tính toán xác suất sẽ xác định phân bố xác suất của các hành động tiếp theo, và hành động có xác suất cao nhất sẽ được lựa chọn.

Sau khi nghiên cứu lý thuyết về tác tử giao diện, chúng tôi đã tiến hành xây dựng một tác tử hỗ trợ cho ứng dụng Chuyển khoản, cho phép người dùng thực hiện chuyển tiền từ tài khoản của mình sang tài khoản của người thụ hưởng Tác tử này sẽ theo dõi hành động của người dùng qua giao diện và cung cấp trợ giúp kịp thời khi phát hiện người dùng gặp khó khăn trong quá trình sử dụng Đánh giá kết quả nghiên cứu sẽ định hướng cho các bước phát triển tiếp theo.

Luận văn tổng hợp các vấn đề liên quan đến giao diện người dùng thông minh và tầm quan trọng của nó trong các ứng dụng hiện nay Bài viết trình bày cách tiếp cận tích hợp tác tác giao diện thông minh vào quá trình phát triển giao diện người dùng Ngoài ra, luận văn còn đề xuất phương pháp xây dựng tác tử giao diện dựa trên mô hình nhiệm vụ và mô hình tương tác, nghiên cứu một phương pháp xây dựng mô hình tương tác dựa trên năm thuật toán.

Luận văn đã cải tiến các thuật toán xây dựng mô hình tương tác, bao gồm ba thuật toán chính: thuật toán lựa chọn cặp hành động, thuật toán lựa chọn cặp hành động cuối cùng và thuật toán xây dựng mô hình tương tác Những thuật toán này đóng vai trò quan trọng trong việc phát triển mô hình tương tác cho người dùng cụ thể Bên cạnh đó, luận văn cũng điều chỉnh cách trình bày các thuật toán để dễ tiếp cận hơn với lập trình viên, từ đó giúp việc triển khai các thuật toán trở nên thuận tiện hơn.

Dựa trên các cơ sở lý thuyết đã trình bày, luận văn xây dựng một tác tử trợ giúp với đầy đủ các thành phần của mô hình nhiệm vụ, bao gồm mô tả và hành động liên quan đến từng nhiệm vụ Tác tử này có khả năng đọc hiểu mô hình nhiệm vụ và tài liệu dưới dạng đặc tả XML, đồng thời có thể tích hợp với giao diện người dùng để cung cấp hướng dẫn hỗ trợ trong quá trình tương tác.

Mặc dù vậy, vẫn tồn tại những hạn chế trong việc triển khai đầy đủ tất cả năm thuật toán, điều này ảnh hưởng đến khả năng xây dựng mô hình tương tác hoàn

Hướng nghiên cứu tiếp theo sẽ tập trung vào việc nâng cao trí tuệ của tác tử, giúp nó tương tác với người dùng như một “người bạn” Ban đầu, tác tử sẽ sử dụng các câu hỏi lựa chọn để người dùng xác định hành động tiếp theo Tiếp theo, tác tử sẽ xây dựng một cơ sở tri thức, cho phép người dùng nhập câu hỏi hoặc yêu cầu thông qua bàn phím, đồng thời có khả năng trả lời hoặc thực hiện các công việc giúp người dùng Cuối cùng, việc cải thiện phương tiện đầu vào thông minh cho tác tử sẽ bao gồm việc cho phép người dùng đặt câu hỏi bằng giọng nói hoặc sử dụng cử chỉ.

Em xin chân thành cảm ơn gia đình, bạn bè, đồng nghiệp và những người thân đã hỗ trợ em trong quá trình thực hiện luận văn này Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến thầy giáo hướng dẫn, TS Huỳnh Quyết Thắng, người đã tận tình giúp đỡ và hướng dẫn em, giúp em hoàn thành tốt luận văn tốt nghiệp này.

1 Huỳnh Quy t Thắng, Phạm Thành Trung Xây dựng mô hình kiến trúc và ế phần mềm trợ giúp sinh tác tử giao diện - Báo cáo tại hội nghị Hội th o ả khoa học quốc gia lần th hai Nghiên cứu cơ bảứ n và ng d ng Công ngh ứ ụ ệ Thông tin - Thành phố ồ H Chí Minh 23-24/9/2005

2 Huỳnh Quyết Thắng, Đỗ Thanh Vũ Mô hình xây dựng tác tử giao diện trên môi trường ứng d ng ụ độc l p - Tạp chí Bưu chính viễn thông, ậ Chuyên san Các nghiên cứu và triển khai ng d ng trong vi n thông và ứ ụ ễ Công nghệ thông tin ISSN 0866-7039, Số 13, 12-2004, trang 73-81

3 Huỳnh Quyết Thắng, Đỗ Thanh Vũ Mô hình xây dựng tác tử giao diện trên môi trường ứng d ng phân tán - Hội nghụ ị ICT.Hội thảo khoa học quốc gia về Nghiên cứu phát triển và ng d ng Công ngh thông tin và ứ ụ ệ truyền thông ICT.RDA lần thứ II, Hà nội 24-25/9 Kỷ yếu Hội thảo, Trang 374-382

4 Cuno Duursma Task Model definition and Task Analysis process - Vrije Universiteit Brussel - AI Laboratory - cuno@arti.vub.ac.be - http://arti.vub.ac.be/kads/m5.ps

5 David Benyon Domain Models for User Interface Design - Computing Department, Open University, Milton Keynes, MK7 6AA, UK - http://www.dcs.napier.ac.uk/~dbenyon/domainmodels.pdf

6 Ehlert, Patrick Intelligent User Interfaces - Introduction and survey Mediamatics / Data and Knowledge Systems group, Department of Information Technology and Systems - Delft University of Technology, The Netherlands - http://www.kbs.twi.tudelft.nl/docs/ice/Ehlert.P.A.M-report_IUI.pdf

7 FABIO PATERNO’ Task Models in Interactive Software Systems -

56010 Ghezzano, Pisa, Italy - fabio.parteno@cnuce.cnr.it - http://citeseer.ist.psu.edu/cache/papers/cs/25307/ftp:zSzzSzcs.pitt.eduzSzc hangzSzhandbookzSz21.pdf/task-models-in-interactive.pdf

8 Gerrit C van der Veer, Martijn van Welie Groupware task analysis - Department of Computer Science, Vrije Universiteit de Boelelaan 1081a, 1081HV Amsterdam, the Netherlands - http://www.cs.vu.nl/~martijn/gta/

9 Hallvard Tretteberg Model-based User Interface Design - hal@idi.ntnu.no - Information Systems Group, Department of Computer and Information Sciences, Faculty of Information Technology, Mathematics and Electrical Engineering, Norwegian University of Science and Technology - http://citeseer.ist.psu.edu/cache/papers/cs2/509/http:zSzzSzwww.idi.ntnu. nozSz~halzSzpublicationszSzthesiszSzthesis.pdf/model-based-user- interface.pdf

10.Henry Lieberman and Ted Selker Agents for the user interface - Media Laboratory Massachusetts Institute of Technology - http://web.media.mit.edu/~lieber/Publications/Agents_for_UI.pdf

I don't know!

12.M van Setten User Interfaces for Personalized Information Systems - Telematica Instituut Company - https://doc.telin.nl/dscgi/ds.py/Get/File-

13.Martijn van Welie Task-based User Interface Design - Vrije Universiteit - http://www.cs.vu.nl/~martijn/gta/docs/Welie-PhD-thesis.pdf

14.Reena G Hanumansetty Model based approach for context aware and adaptive user interface generation - Master of Science in Computer

Science and Applications - http://scholar.lib.vt.edu/theses/available/etd- 08242004-120131

15.Task Analysis Tools & Techniques Task Analysis

Yanguo Jing's doctoral dissertation presents a model-based intelligent interface agent architecture, developed at Heriot-Watt University's School of Mathematical and Computer Sciences The research focuses on enhancing intelligent systems through innovative interface design, contributing to the field of computer science For more details, visit the provided link: http://smealsearch2.psu.edu/98584.html.

17.XML http://www.w3schools.com/xml/xml_whatis.asp

Phụ lục 1: Phân tích thuật toán phân đ ạo n hành động 2

Phụ lục 2: Phân tích thuật toán lựa chọn cặp hành động 3

Phụ lục 3: Phân tích thuật toán lựa chọn cặp hành động cuối 4

Phụ lục 4: Phân tích thuật toán xây dựng đồ thị ươ t ng tác 5

Phụ lục 5: Phân tích giải thuật loại bỏ thứ nhất 6

Phụ lục 6: Phân tích giải thuật loại bỏ thứ hai 7

Phụ lục 7: Phân tích thuật toán cập nhật mô hình đồ th tương tác 8 ị Phụ lục 8: Phân tích thuật toán tính toán xác suất 9

Phụ lục 9: Đặc tả mô hình nhiệm vụ bằng XML 10

Phụ lục 10: Đặc tả giao diện bằng XML 14 Phụ lục 11: Đặc tả ánh xạ giữa giao diện và nhiệm vụ ằng XML 15 b

Ph lụ ục 1: Phân tích thuật toán phân đ ạo n hành động

Ngày đăng: 22/01/2024, 17:08

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

TÀI LIỆU LIÊN QUAN

w