Keystroke authentication là sựchứng thực người dùng qua thao tác (thói quen) gõ phím. Nói cách khác là chứng thực người dùng qua những đặc trưng gõ phím riêng biệt của từng người. 
Thông qua việc ghi nhận thời điểm của 2 trạng thái ấn/nhả, các đặc trưng trong thao tác gõ phím của người dùng sẽ được ghi nhận trực tiếp gồm [15]:
                
              
                                            
                                
            
 
            
                 36 trang
36 trang | 
Chia sẻ: vietpd | Lượt xem: 1520 | Lượt tải: 0 
              
            Bạn đang xem trước 20 trang tài liệu Luận văn Chứng thực người dùng qua đặc trưng gõ phím, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
15 
CHƯƠNG 3 Mô hình chứng thực đề xuất 
3.1 Keystroke dynamic 
Keystroke dynamic (gọi tắt là keystroke) là sự bấm trên bàn phím (sự gõ phím). 
Hình 3.1 - Hai trạng thái trong keystroke dynamic 
Khi người dùng tương tác với một phím, phím sẽ thay đổi trạng thái (nổi lên hay 
chìm xuống). 
Trạng thái ban đầu Thao tác Trạng thái kết quả 
Nổi Ấn phím Chìm 
Chìm Nhả phím Nổi 
A B
C
Thời gian
Ấn Nhả Ấn Nhả
Ấn Nhả
Key
Hình 3.2 - Trình tự bấm phím “abc” được biểu diễn theo thời gian 
Ấn 
ả 
Chìm 
Nổi 
Nổi 
Chìm 
16 
Keystroke authentication là sự chứng thực người dùng qua thao tác (thói quen) gõ 
phím. Nói cách khác là chứng thực người dùng qua những đặc trưng gõ phím riêng 
biệt của từng người. 
Thông qua việc ghi nhận thời điểm của 2 trạng thái ấn/nhả, các đặc trưng trong thao 
tác gõ phím của người dùng sẽ được ghi nhận trực tiếp gồm [15]: 
Thứ 
tự 
Đặc trưng Ý nghĩa Nội dung Ghi chú 
1 Duration Thời gian 
ấn giữ 
phím 
Khoảng thời gian từ 
thời điểm ấn phím đến 
thời điểm nhả phím 
Duration ≥ 0 
2 Latency Khoảng 
thời gian 
giữa 2 
phím liền 
kề 
Khoảng thời gian từ 
thời điểm nhả phím 
liền trước đến thời 
điểm ấn phím liền sau 
Latency < 0: Phím liền sau 
được ấn trước khi phím liền 
trước được nhả 
Latency ≥ 0: Phím liền sau 
được ấn sau khi phím liền 
trước được nhả 
3 Latency 
DownDown 
Khoảng 
thời gian 
giữa 2 lần 
ấn phím 
liền kề 
Khoảng thời gian từ 
thời điểm ấn phím liền 
trước đến thời điểm ấn 
phím liền sau 
LatencyDownDown ≥ 0 
4 Latency 
UpUp 
Khoảng 
thời gian 
giữa 2 lần 
nhả phím 
liền kề 
Khoảng thời gian từ 
thời điểm nhả phím 
liền trước đến thời 
điểm nhả phím liền sau 
LatencyUpUp ≥ 0 
5 ErrorRate Tần suất 
lỗi 
Tỉ lệ phím xóa lỗi 
(backspace, delete) trên 
tổng số phím đã ấn 
ErrorRate ≥ 0 
6 Release 
Prior 
Thứ tự 
nhả phím 
Tỉ lệ Latency < 0 trên 
Latency ≥ 0 
ReleasePrior ≥ 0 
17 
Hình 3.3 - Đặc trưng Duration và Latency thu được 
DurationA = (Thời điểm nhả phím A - Thời điểm ấn phím A) (mili seconds) 
LatencyAB = (Thời điểm ấn phím B - Thời điểm nhả phím A) (mili seconds) 
Danh sách đặc trưng thu được như sau: 
Đặc trưng Giá trị (ms) 
DurationA 0.046 
LatencyAB 0.051 
DurationB 0.108 
LatencyBC -0.040 
DurationC 0.062 
Ngoài ra còn có đặc trưng gián tiếp là các đặc trưng được suy ra từ những đặc trưng 
trực tiếp như: 
Thứ 
tự 
Đặc 
trưng 
Ý nghĩa Nội dung Ghi chú 
1 Latency 
Trigraph 
Khoảng thời gian 
giữa 3 phím liền kề 
Khoảng thời gian từ thời điểm 
nhả phím thứ nhất đến thời điểm 
ấn phím thứ 3 
Latency 
Trigraph ≥ 0 
2 Latency 
Teragrap
h 
Khoảng thời gian 
giữa 4 phím liền kề 
Khoảng thời gian từ thời điểm 
nhả phím thứ nhất đến thời điểm 
ấn phím thứ 4 
Latency 
Teragraph ≥ 0 
18 
3 Latency 
Digraph 
Line0 
Khoảng thời gian 
giữa 2 phím liền kê 
trên hàng phím thứ 
nhất 
Khoảng thời gian từ thời điểm 
nhả phím liền trước đến thời 
điểm ấn phím liền sau, chỉ tính 
khi 2 phím cùng trên hàng 1 
Latency 
Digraph 
Line0 ≥ 0 
4 Latency 
Digraph 
Line1 
Khoảng thời gian 
giữa 2 phím liền kề 
trên hàng phím thứ 
hai 
Khoảng thời gian từ thời điểm 
nhả phím liền trước đến thời 
điểm ấn phím liền sau, chỉ tính 
khi 2 phím cùng trên hàng 2 
Latency 
Digraph 
Line1 ≥ 0 
5 Latency 
Digraph 
Line2 
Khoảng thời gian 
giữa 2 phím liền kề 
trên hàng phím thứ 
ba 
Khoảng thời gian từ thời điểm 
nhả phím liền trước đến thời 
điểm ấn phím liền sau, chỉ tính 
khi 2 phím cùng trên hàng 3 
Latency 
Digraph 
Line2 ≥ 0 
6 Latency 
Digraph 
Line3 
Khoảng thời gian 
giữa 2 phím liền kề 
trên hàng phím cuối 
Khoảng thời gian từ thời điểm 
nhả phím liền trước đến thời 
điểm ấn phím liền sau, chỉ tính 
khi 2 phím cùng trên hàng cuối 
Latency 
Digraph 
Line3 ≥ 0 
7 Latency 
Digraph 
Cluster0 
Khoảng thời gian 
giữa 2 phím liền kề 
trên nhóm phím bên 
trái 
Khoảng thời gian từ thời điểm 
nhả phím liền trước đến thời 
điểm ấn phím liền sau, chỉ tính 
khi 2 phím cùng nhóm phím bên 
trái 
Latency 
Digraph 
Cluster0 ≥ 0 
8 Latency 
Digraph 
Cluster1 
Khoảng thời gian 
giữa 2 phím liền kề 
trên nhóm phím 
trung tâm 
Khoảng thời gian từ thời điểm 
nhả phím liền trước đến thời 
điểm ấn phím liền sau, chỉ tính 
khi 2 phím cùng nhóm phím 
trung tâm 
Latency 
Digraph 
Cluster1 ≥ 0 
9 Latency 
Digraph 
Cluster2 
Khoảng thời gian 
giữa 2 phím liền kề 
trên nhóm phím bên 
phải 
Khoảng thời gian từ thời điểm 
nhả phím liền trước đến thời 
điểm ấn phím liền sau, chỉ tính 
khi 2 phím cùng nhóm phím bên 
phải 
Latency 
Digraph 
Cluster2 ≥ 0 
10 Fixing 
Type 
Thói quen sửa lỗi 
gõ phím 
Tỉ lệ % sử dụng phím Delete và 
BackSpace trên tổng số phím 
xóa 
% 
11 Upper 
Case 
Thói quen viết hoa Tỉ lệ sử dụng phím Shift và 
CapsLock trên tổng số phím viết 
hoa 
% 
19 
12 Number 
Key 
Thói quen sử dụng 
phím số 
Tỉ lệ sử dụng phím số trên hàng 
ngang và phím số trên bàn phím 
NumLock trên tổng số phím số 
% 
Mỗi người dùng khác nhau sẽ có một đặc trưng (phong cách) gõ phím khác nhau 
[2][3][4]. Ví dụ: 
- Người gõ phím bằng một ngón tay thì không xuất hiện hiện tượng phím 
trước chưa nhả - phím sau đã ấn (hiện tượng chồng phím) nên Latency luôn 
dương (Latency ≥ 0), ngược lại người gõ phím nhanh thì hiện tượng chồng 
phím (Latency < 0) sẽ xảy ra thường xuyên hơn. 
- Người mới gõ phím thì khả năng gõ lỗi sẽ cao hơn người gõ lâu năm. 
- Người gõ nhanh thì thời gian ấn giữ phím (Duration) cũng nhỏ hơn so với 
người gõ chậm. 
Các đặc trưng sinh trắc học như vân tay, tròng mắt hay đặc điểm khuôn mặt của con 
người thường ổn định trong thời gian dài (vài tháng, vài năm). Riêng các đặc trưng 
gõ phím là không ổn định ngay cả trong thời gian ngắn (vài giờ). Với một mật khẩu 
mới đặt, ban đầu chưa quen, người dùng sẽ gõ không nhanh và hay mắc lỗi, nhưng 
sau vài lần lặp lại, tốc độ gõ và độ chính xác sẽ tăng lên. Ngoài ra, cùng một người, 
đặc trưng gõ phím có thể khác nhau phụ thuộc vào tư thế gõ (đứng/ngồi), sức khỏe 
(sảng khoái/mệt mỏi), độ tập trung (đang nói chuyện/chú tâm), cấu trúc bàn phím 
thay đổi khác nhau (qwerty, dvorak), ... 
Hình 3.4 - Bàn phím QWERTY 
20 
Hình 3.5 - Bàn phím Dvorak 
Những người làm cùng công việc như kế toán, lập trình, thư kí, … thường có đặc 
trưng gõ phím gần giống nhau. Giá trị các đặc trưng phân bố khuếch tán, không có 
phân hoạch rõ ràng. Việc sử dụng các phương pháp phân lớp thông thường là không 
khả thi. Ví dụ khi theo dõi 3 đặc trưng Duration, Latency, ErrorRate, xem mỗi bộ 3 
giá trị (Duration, Latency, ErrorRate) là một điểm trong không gian 3 chiều, ta có 
biểu đồ sau: 
Hình 3.6 - Đồ thị minh họa vector keystroke 
Trên đây là những thách thức của bài toán chứng thực người dùng qua keytroke 
dynamic. Để giải quyết các vấn đề này mô hình chứng thực đòi hỏi phải uyển 
chuyển, có khả năng thích nghi cao với những thay đổi thói quen của người dùng 
trong thời gian ngắn và giải quyết được vấn đề khuếch tán của dữ liệu. Mô hình dữ 
liệu User profile kết hợp với mô hình chứng thực GA – SVM là mô hình chứng 
thực được đề xuất trong luận văn này. 
21 
3.2 Cơ chế chứng thực 
Sử dụng cơ chế chứng thực 3 giai đoạn [15]: 
22 
Giai đoạn 1: Huấn luyện 
Để thu thập mẫu, người dùng được yêu cầu nhập 2 phần: 
- Một đoạn văn bản n lần trên chính bàn phím của thiết bị cần chứng thực, với 
n là số lượng mẫu cần thu thập để huấn luyện. Các thao tác gõ phím được ghi 
lại gồm nội dung phím, thời điểm ấn phím, thời điểm nhả phím. Đây là dữ 
liệu thô ban đầu. 
- Mã PIN, được yêu cầu nhập tương tự như trên. 
Dữ liệu thô sau đó sẽ được rút trích thành tập đặc trưng gõ phím của từng người. 
Đặc trưng gõ phím của đoạn văn bản sẽ được dùng làm mẫu huấn luyện cho giai 
đoạn chứng thực bị động. Đặc trưng gõ phím của PIN dùng làm mẫu huấn luyện 
cho giai đoạn chứng thực chủ động. 
Giai đoạn 2: Chứng thực bị động 
Người dùng sau giai đoạn nhập mẫu huấn luyện sẽ sử dụng hệ thống bình thường và 
được chứng thực ngầm thời gian thực. Hệ thống chứng thực được chạy ngầm, tự 
động thu thập đặc trưng thông qua thao tác của người dùng trên bàn phím. Sau một 
số lượng phím cho trước, hệ thống chứng thực sẽ tổng hợp các đặc trưng này, 
chuyển thành vector đặc trưng tại thời điểm hiện tại (instance vector). Module xác 
thực sẽ kiểm tra độ sai khác đặc trưng của vector này so với các đặc trưng được 
huấn luyện. Nếu sai khác dưới một ngưỡng θ cho trước thì người dùng xem như 
hợp lệ và tiếp tục sử dụng hệ thống. Ngược lại, hệ thống sẽ chuyển sang giai đoạn 3 
(giai đoạn chứng thực chủ động). 
Giai đoạn 3: Chứng thực chủ động 
Một form xác thực mã số cá nhân (PIN) hiển thị, người dùng được yêu cầu nhập 
PIN để xác thực. Trong quá trình nhập, ngoài việc thu thập nội dung PIN, người 
dùng còn được thu thập cách gõ PIN. Cả 2 dữ liệu này được so sánh với dữ liệu PIN 
đã thu thập trong giai đoạn huấn luyện. Nội dung PIN phải giống nhau, cách gõ PIN 
được module xác thực so sánh với đặc trưng đã có, nếu độ sai khác dưới ngưỡng δ 
cho trước thì người dùng xem như vẫn hợp lệ và hệ thống chuyển về giai đoạn 2, 
tiếp tục chứng thực bị động thời gian thực, ngược lại hệ thống sẽ tiếp tục khóa. Cơ 
23 
chế này giúp hệ thống an toàn hơn trước việc hack PIN. Đây có thể xem là tuyến 
phòng thủ cuối cùng của quá trình chứng thực. 
Với cơ chế chứng thực kép, hệ thống vừa tiện dụng đối với người dùng bằng cơ chế 
chứng thực ngầm, vừa đủ an toàn trước tấn công chủ động (active attack) lẫn tấn 
công bị động (passive attack). 
3.3 Mô hình chứng thực 
Chứng thực là vấn đề phân lớp hay nhận dạng mẫu. Phân biệt giữa người dùng hợp 
lệ và người dùng không hợp lệ (Legitimate users – Imposter users). Mẫu được sử 
dụng trong trường hợp này là các đặc trưng gõ phím. Để kết quả chứng thực được 
chính xác thì mẫu phải đồng nhất và có sự phân biệt. Tuy nhiên, trong keystroke 
dynamic việc các mẫu đồng nhất và phân biệt là không khả thi. Dữ liệu luôn khuếch 
tán. Vì vậy cần có một cơ chế tiền xử lý mẫu để quá trình phân biệt được thực hiện 
dễ dàng hơn. 
Có 2 cách giải quyết vấn đề tiền xử lý mẫu [23] (Xem thêm phụ lục B): 
- Tiền xử lý bằng tay: tìm kiếm và so sánh, từ đó bỏ những mẫu mâu thuẫn với 
các mẫu khác. Đây là phương pháp mang tính chủ quan, chậm, không hiệu 
quả. 
- Tiền xử lý tự động: có 3 phương pháp 
• Tìm vét cạn (Complete search) 
• Tìm ước lượng (Heuristic search) 
• Tìm ngẫu nhiên (Random search) 
Phương pháp tìm kiếm vét cạn đảm bảo tìm ra tập con tốt nhất nhưng đánh đổi lại là 
không gian tìm kiếm lớn, hiệu suất thực hiện sẽ tỉ lệ nghịch với lượng dữ liệu và số 
lượng đặc trưng O(2N). Một số phương pháp như: Branch and bound, Beam search. 
Phương pháp tìm kiếm ước lượng cho phép tối ưu hóa không gian tìm kiếm nhưng 
có thể bỏ mất kết quả tốt nhất và cần phải có một hàm h() có yếu tố kinh nghiệm để 
ước lượng kết quả. Độ phức tạp của phương pháp này là O(N2). Một số phương 
pháp như: Sequential forward selection, Sequential backward elimination, Bi-
directional selection. 
24 
Phương pháp tìm kiếm ngẫu nhiên bắt đầu với một tập con ngẫu nhiên sau đó xử lý 
theo 2 cách: 
- Filter: theo một điều kiện cho trước, những đặc trưng không phù hợp với bài 
toán sẽ được lọc bỏ, những đặc trưng phù hợp mới được sử dụng. Một số 
phương pháp như: Random-start hill-climbing, Simulated anealing. 
- Wrapper: tập con sau được phát sinh ngẫu nhiên và hoàn toàn độc lập với tập 
con trước đó, mỗi tập con sẽ được đánh giá qua mô hình học. Từ đó chọn ra 
tập đặc trưng tốt nhất. Một số phương pháp như: Las Vegas algorithm, 
Genetic algorithm, Particle Swarm Optimization. 
Phương pháp này giúp tránh được việc vét cạn và tối ưu cục bộ. Hiệu quả phụ thuộc 
vào tài nguyên sẵn có. 
Bài toán chứng thực keystroke là bài toán chứng thực dựa trên hành vi tự nhiên của 
con người, hành vi này mang tính ngẫu nhiên, không có quy luật do đó mang yếu tố 
kinh nghiệm chủ quan để ước lượng tập đặc trưng tối ưu là không khả thi. Ngoài ra, 
hiệu quả của phương pháp được chọn không được tốn quá nhiều chi phí nhằm đảm 
bảo cho hiệu suất vận hành của cả hệ thống. Từ những điều kiện trên, phương pháp 
tìm kiếm ngẫu nhiên là thích hợp nhất. Trong phương pháp này, cách tiếp cận Filter 
cần phải có một điều kiện (độ đo) thích hợp để chọn lọc đặc trưng [23], tuy nhiên 
việc tìm kiếm điều kiện này là không dễ. Do đó phương pháp wrapper, phương 
pháp chọn đặc trưng qua đánh giá của thuật toán máy học là phù hợp nhất. 
Có nhiều thuật giải hỗ trợ phương pháp trên trong đó thuật giải di truyền (GA) là 
một lựa chọn. 
Support Vector Machine (SVM) với 3 đặc trưng: cực đại hóa lề, mềm hóa lề và các 
hàm kernel có nền tảng toán học vững chắc có thể coi là phương pháp phân lớp tốt 
nhất hiện nay. 
Mô hình chứng thực User profile kết hợp GA – SVM 
25 
Hình 3.7 - Mô hình chứng thực keystroke dynamic 
Các đặc trưng gõ phím sẽ được rút trích và tập hợp từ dữ liệu gõ phím thô. Qua quá 
trình thực hiện của thuật giải di truyền (GA) tập đặc trưng tốt nhất sẽ được chọn 
theo cơ chế đánh giá của SVM. 
Kết quả cuối cùng của mô hình này là SVM model và tập đặc trưng tốt nhất. Cả 2 sẽ 
được lưu vào User profile và dùng cho việc chứng thực. 
3.4 User profile 
User profile (hồ sơ người dùng) là tập hợp các thông tin cá nhân của một người 
dùng cụ thể. 
User profile có thể xem như một thể hiện số (Digital instance) của người dùng, 
ngoài việc chứa thông tin cá nhân còn có thể được sử dụng để lưu trữ những đặc 
trưng cá nhân. Các hệ thống thông tin có thể sử dụng User profile trong tương tác 
người – máy để truy xuất hoặc cập nhật thông tin người dùng. User profile có thể 
tìm thấy trong hệ điều hành (OS), chương trình (Programs), trang web (Websites). 
User profile có 4 vấn đề quan tâm [1]: 
- Cấu trúc 
- Cơ chế khởi tạo 
- Cơ chế khai thác 
26 
- Cơ chế cập nhật 
3.4.1 Cấu trúc User profile 
Cấu trúc User profile là tổ chức của profile. Có nhiều cách tổ chức một User profile. 
Montaner và đồng nghiệp [22] đã tổng hợp một số cách tổ chức thông dụng sau: 
Mô hình thông tin nhân khẩu (Demographic model): 
User profile là một tập hợp các đặc trưng về nhân khẩu (độ tuổi, giới tính, nghề 
nghiệp, nơi cứ trú,…). Đây là mô hình đơn giản nhất, hầu như hệ thống nào cũng có 
thể áp dụng được, tuy nhiên tính hiệu quả không được cao. Thông thường mô hình 
này được dùng kèm với một số mô hình khác. 
Mô hình này sẽ rất hữu ích đối với những người dùng mới, khi đó đặc trưng của 
người dùng hầu như không có gì ngoài các thông tin nhân khẩu. 
Mô hình không gian véc-tơ (Vector space model) 
Profile người dùng được thể hiện bởi véc-tơ những đặc trưng, trong đó thường dùng 
nhất là những từ khoá (Keyword). Các giá trị có thể là kiểu luận lý hoặc một con số. 
Giá trị này thể hiện mức độ quan tâm/ hữu ích của đặc trưng đối với người dùng. 
Mô hình này thích hợp khi cần làm việc với các tài nguyên dạng văn bản (tài liệu, 
trang web, …). 
Ví dụ: Profile(u) = (w1, w2,…wn) , với wi là giá trị thể hiện mức độ hữu ích của đặc 
trưng (thông thường là từ khóa) thứ i đối với người dùng u. 
Mô hình lịch sử khai thác (history-based model) 
Theo cách tiếp cận này, hệ thống sẽ tìm cách khai thác các thông tin từ quá trình 
tương tác của người dùng với hệ thống, chẳng hạn như những mặt hàng người dùng 
đã mua, các đường dẫn URL mà người dùng đã chọn, các thư từ của người dùng 
hay các hành động của người dùng đối với hệ thống để làm profile người dùng. 
Mô hình lịch sử khai thác được ứng dụng rất rộng rãi trong lĩnh vực thương mại 
điện tử, trong đó thông thường hệ thống sẽ ghi nhận lại những sản phẩm người dùng 
27 
đã mua hoặc đã trả lại cùng với đánh giá trên các sản phẩm. Việc lưu trữ trong 
profile những mặt hàng đã mua và đánh giá cao có thể giúp hệ thống suy diễn ra 
những chủng loại hàng yêu thích của người dùng, từ đó có thể tư vấn những mặt 
hàng khác phù hợp với sở thích hay mối quan tâm của người dùng. 
Ma trận đánh giá (user-item rating matrix) 
Là một ma trận hai chiều, một chiều là các người dùng và một chiều là các tài 
nguyên (Item). Giá trị trong ma trận thể hiện đánh giá của người dùng đối với các 
tài nguyên. Các giá trị này phụ thuộc vào từng hệ thống, nhưng thông thường nằm 
trong khoảng từ 1 (xấu) đến 5 (tốt). 
Thông thường các giá trị trong ma trận trên sẽ được cập nhật thủ công bởi người 
dùng, tức là hệ thống sẽ cho người dùng tự đánh giá trên những tài nguyên mà họ đã 
biết (chẳng hạn những phim đã xem hay những sách đã đọc). Tuy nhiên trong một 
số lĩnh vực thì các giá trị này sẽ được hệ thống cập nhật tự động dựa vào các hành 
vi của người dùng, ví dụ như căn cứ vào những sản phẩm mà người dùng đã mua 
trong lĩnh vực bán hàng qua mạng (với giả thiết là chỉ mua những sản phẩm nào 
mình quan tâm hay thích) hoặc căn cứ vào những liên kết, những tài liệu mà người 
sử dụng đã xem trong lĩnh vực tư vấn tài liệu. 
 Item1 Item2 Item3 Item4 
User1 2 2 1 
User2 3 4 2 1 
User3 5 3 
Các mô hình dựa trên bộ phân lớp 
Một số hệ thống tổ chức profile người dùng theo mô hình phục vụ cho việc khai 
thác bằng các phương pháp phân lớp. Tùy theo phương pháp phân lớp mà profile 
người dùng sẽ được tổ chức cho phù hợp. Một số kỹ thuật có thể được dùng là: 
- Cây quyết định: Là một tập hợp các nút và các cạnh được tổ chức theo cấu 
trúc cây. Trong cấu trúc này, mỗi nút trung gian là một câu hỏi, các cạnh là 
các câu trả lời cho câu hỏi này và node lá là quyết định cuối cùng. 
28 
- Luật kết hợp: Theo phương pháp này, người ta sẽ khai thác tập profile của 
người dùng và tìm ra các luật với độ hỗ trợ và độ tin cậy nhất định nào đó. 
Các luật này sẽ được sử dụng để cung cấp tài nguyên cho người dùng thông 
qua những sản phẩm mà họ đã lựa chọn, đánh giá trước đó. 
Ngoài ra một số hệ thống khác tổ chức profile phục vụ cho việc khai thác theo mô 
hình mạng Nơ-ron, mạng Bayes, … 
3.4.2 Khởi tạo User profile 
Khởi tạo User profile là quá trình gán thông tin lần đầu tiên cho profile. Có các cách 
khởi tạo sau: 
Dữ liệu trống (Empty) 
Toàn bộ thông tin ban đầu của User profile là rỗng, nội dung sau đó sẽ được tích lũy 
dần trong quá trình hoạt động thông qua tương tác của người dùng với hệ thống. 
Thủ công (Manual) 
User profile được khởi tạo bằng cách yêu cầu người dùng điền những thông tin cần 
thiết trong quá trình đăng ký như họ tên, tuổi, ngôn ngữ chính, các kĩ năng, kiến 
thức, … 
Phương pháp này có điểm bất lợi là yêu cầu người dùng cung cấp thông tin ban đầu 
quá nhiều, ngoài ra một số thông tin người dùng cung cấp có thể không chính xác vì 
bản thân cũng khó xác định được. Ví dụ người sử dụng gặp rất nhiều khó khăn khi 
mô tả nền tảng kiến thức hay mức độ kĩ năng. 
Theo khuôn mẫu (Stereotyping) 
Hệ thống xây dựng sẵn một số profile mẫu. Từ một số thông tin sở khởi ban đầu 
(tên, tuổi, giới tính, nơi cư trú, nghề nghiệp,…), hệ thống sẽ gán cho người dùng 
một trong số các profile mà hệ thống cho là thích hợp nhất. Phương pháp này sẽ 
hiệu quả khi thông tin nhân khẩu ban đầu được người dùng cung cấp tương đối đầy 
29 
đủ và chính xác. Tuy nhiên thực tế hiện nay, vì các lý do riêng tư cá nhân, người 
dùng rất ngại cung cấp đầy đủ thông chính xác về bản thân cho hệ thống. Đây là 
một trở ngại chính của phương pháp này. 
Sử dụng tập huấn luyện (Training set) 
Hệ thống sẽ tạo một ngữ cảnh/dữ liệu mẫu để người dùng thao tác, đánh giá. Sau đó 
User profile sẽ được khởi tạo bằng cách rút trích các thông tin từ sự tương tác của 
người dùng với hệ thống ngữ cảnh/dữ liệu mẫu này. 
Ví dụ: trong giáo dục, hệ thống sẽ yêu cầu người dùng mới làm bài kiểm tra, sau đó 
hệ thống sẽ đánh giá trình độ của người dùng và tiến hành sắp lớp thích hợp. 
Ưu điểm của phương pháp này là dễ thực hiện, khách quan nhưng khuyết điểm là có 
thể không chính xác nếu ngữ cảnh/dữ liệu mẫu không khai thác đủ và đúng những 
đặc trưng của người dùng. 
3.4.3 Cập nhật User profile 
Cập nhật User p