1.1 Đặt vấn đề
Các thiết bịsốnhưmáy tính, điện thoại di động, ngày càng phổbiến. Ngoài chức
năng hỗtrợ đàm thoại, giao dịch, chúng còn cho phép lưu trữdữliệu cá nhân, lịch
làm việc, Những thông tin này, có không ít thông tin nhạy cảm, riêng tưvà nếu
bị đánh cắp, chúng có thểbịsửdụng với mục đích không tốt. Nhưthế, vấn đềbảo
mật được đặt ra. Trong ngữcảnh đó, việc chứng thực chủnhân thật sựcủa thiết bịlà
một vấn đềquan trọng và cũng chính là hướng nghiên cứu mà đềtài này đềcập.
Chứng thực là tiến trình xác định một người/đối tượng có thật sự đúng là người/đối
tượng hợp lệhay không. Có nhiều phương pháp chứng thực và có thể được chia
thành 4 nhóm lớn sau:
- Thông qua sựhiểu biết (What you know)
o Ví dụ: Passwords, PINs,
- Thông qua sựsởhữu (What you have)
o Ví dụ: Tokens, Smart Cards, ID Cards, RSA key fob
- Thông qua đặc trưng của con người (What you are)
o Ví dụ: Biometric – sinh trắc học (giọng nói, vân tay, )
- Kết hợp những loại chứng thực trên
Thông qua sựhiểu biết: người dùng sẽbuộc phải nhớmật khẩu của mình. Vấn đềsẽ
trởnên khó khăn khi sốlượng mật khẩu nhiều hoặc phải nhớnhững mật khẩu mạnh.
Việc lưu mật khẩu ởmột nơi nào đó là luôn không an toàn.
Thông qua sựsởhữu: Đây có thểxem nhưlà một dạng “mật khẩu” bằng phần cứng.
Dạng “mật khẩu” này vẫn không tránh được việc đánh cắp, giảmạo. Ngoài ra hệ
thống chứng thực cần phải trang bịphần cứng chuyên dụng đểhoạt động.
Thông qua đặc trưng của con người: còn gọi là sinh trắc học bao gồm các đặc trưng
cơthể, hành vi của con người. Kiểu chứng thực này giúp con người tránh việc bị
đánh cắp và phải nhớ. Những đặc trưng này thay đổi theo thời gian và yêu cầu phải
có phần cứng chuyên dụng đểxửlý. Tuy nhiên đây vẫn là phương pháp được đánh
giá cao bởi vì nó khắc phục được nhược điểm của hai dạng chứng thực trên và gần
3
gũi với sinh hoạt hằng ngày của con người. Những hạn chếhiện tại đã và đang dần
được khắc phục bởi khoa học kỹthuật.
Hiện nay, các phương pháp chứng thực sinh trắc học thông dụng là vân tay, tròng
mắt, giọng nói, trong phạm vi luận văn này, một phương pháp chứng thực mới sẽ
được giới thiệu, đó là “Chứng thực thông qua thói quen gõ phím” còn gọi là
“Keystroke dynamics authentication”. Đây là hình thức chứng thực người dùng qua
phong cách, thói quen, đặc trưng sửdụng phím trong quá trình tương tác với thiết bị
có bàn phím.
Đặc điểm của phương pháp này là [15]:
• Không đòi hỏi đầu tưthiết bịphần cứng chuyên dụng
• Có thểchứng thực cảchủ động lẫn bị động
• Có thểchứng thực từxa
• Không ổn định theo thời gian dài
• Dữliệu khuếch tán (disffusion)
1.2 Mục tiêu
Mục tiêu của luận văn này là khảo sát thói quen sửdụng phím của người dùng với
các thiết bịcó bàn phím. Từ đó đềxuất một mô hình chứng thực phù hợp và hiệu
quả. Sau đó tiến hành thửnghiệm mô hình này, ghi nhận và đánh giá kết quảthu
được.
Các thiết bịtrong khảo sát là các thiết bịcho phép người dùng tương tác qua bàn
phím. Ví dụ: máy vi tính, điện thoại,
Mô hình tác giảnghiên cứu trong đềtài này là mô hình User profile kết hợp với
thuật giải di truyền (Genetic Algorithm- GA) và máy vector hỗtrợ(Support Vector
Machine - SVM).
Kết quảthửnghiệm được thực hiện trên 2 loại thiết bịthông dụng là máy vi tính cá
nhân (Personal Computers - PC) và điện thoại đi động (Mobile phones).
1.3 Nội dung nghiên cứu
Thu thập dữliệu vềthói quen gõ phím trên máy tính và điện thoại di động. Đánh giá,
chọn lựa các đặc trưng khảthi và có khảnăng chứng thực người dùng.
4
Xây dựng một mô hình “Hồsơngười dùng” (User profile) sao cho phù hợp nhất
với mô hình chứng thực, gồm 3 nội dung:
• Cấu trúc
• Cơchếkhởi tạo
• Cơchếkhai thác và cập nhật
Xây dựng một mô hình chứng thực người dùng theo hướng máy học (sửdụng GA-SVM).
Đánh giá tính khảthi của mô hình trong bài toán chứng thực người dùng.
1.4 Đóng góp của luận văn
Tìm hiểu được một phương pháp chứng thực hiệu quả, không đòi hỏi trang bịphần
cứng chuyên dụng, ít tốn chi phí. Có thể ứng dụng trong các thiết bịtương tác với
người dùng bằng bàn phím.
Đềtài này một khi thành công có thểdùng nhưmột hệthống tiền chứng thực trong
các thiết bịcá nhân nhưmáy tính, điện thoại đi động hoặc nhưmột cơchếphát hiện
giảmạo trong các hệthống đào tạo từxa, hệthống máy ATM,
Kết quảdựkiến:
Xây dựng được một hệthống chứng thực theo mô hình User profile kết hợp với bộ
phân lớp GA-SVM và cho biết chứng thực theo mô hình này có tốt hơn các mô hình
đã có hay không. Chỉrõ và giải thích điểm tốt, điểm chưa tốt nếu có.
1.5 Bốcục của luận văn
Gồm 5 chương:
Chương 1:Giới thiệu vấn đềmà luận văn giải quyết
Giới thiệu một phương pháp chứng thực người dùng qua thói quen gõ phím
(Keystroke dynamics), những ưu điểm và nhược điểm của phương pháp này cũng
nhưcác vấn đềmà luận văn cần giải quyết.
Chương 2:Hiện trạng và các giải pháp đã có xung quanh bài toán này
Sơlược vềlịch sửcủa keystroke dynamics và những cách tiếp cận trước đây nhằm
giải quyết bài toán nhận dạng mẫu gõ phím.
5
Chương 3: Mô hình đềxuất của luận văn
Các khái niệm lý thuyết có liên quan vềUser profile, thuật giải di truyền, phương
pháp phân lớp SVM và sựkết hợp của 3 thành phần này trong mô hình chứng thực
mà tác giả đềxuất.
Chương 4: Mô tảquá trình và kết quảthực nghiệm
Trình bày quá trình thu thập dữliệu, tổng hợp và thửnghiệm dữliệu trên mô hình lý
thuyết đã đềxuất. Kiểm tra và đánh giá kết quảthu thập được. Có so sánh với các
cách tiếp cận đã có.
Chương 5:Kết luận và hướng phát triển trong tương lai của đềtài
Trình bày những ưu điểm, nhược điểm, hướng giải quyết và tính ứng dụng thực tiễn
trong tương lai của mô hình chứng thực này.
36 trang |
Chia sẻ: tuandn | Lượt xem: 2127 | 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