Trong mô hình này, sở thích của người dùng được biểu diễn bởi hai thông tin: Tập
các chủ đề ẩn người dùng quan tâm nhất và tập các thực thể liên quan.
Xác định tập chủ đề ẩn người dùng quan tâm được thực hiện qua 3 bước
Bước 1: Từ tập tài liệu mô tả sở thích người dùng, các chủ đề và phân phối của
chúng vào từng tài liệu được tính toán.
Ứng với mỗi tài liệu di thuộc vào tập D các tài liệu mô tả mối quan tâm người sử
dụng, sử dụng phân tích chủ đề ẩn ta được kết quả là tập các topic của tài liệu di,
kí hiệu là các TPj thuộc vào tập các topic TP, với trọng số wtpj. Topics(di) = {(TPj, wtpj),…}
Bước 2: Xếp hạng chủ đề dựa trên thống kê tính phổ biến
Rank (TPj) = Số lần xuất hiện của TPj trong ma trận D x TP với wtpj lớn hơn một
ngưỡng
Bước 3:Xác định Top N chủ đề ẩn có hạng cao nhất được sử dụng để biểu diễn
mô hình người dùng.
Các thực thể liên quan Các tin tức
người dùng
quan tâm trong phiên
Các chủ đề ẩn phổ
biến
30
Xác định tập thực thểqua 2 bước
Bước 1:Xác định tài liệu cần phân tích thực thể. Các tài liệu được sử dụng đề
phân tích các thực thể biểu diễn sở thích người dùng thỏa mãn hai điều kiện
sau:
o Là các tin tức thuộc phiên duyệt web người dùng
o Là các tin tức có nội dung liên quan đến chủ đề người dùng quan tâm đã
xác định ở quá trình xác định chủ đề ẩn phổ biến.
Bước 2: Trích xuất các thực thể từ các văn bản tin tức.
3.3. Áp dụng mô hình sở thích người dùng vào tư vấn tin tức
Nghiên cứu của chúng tôi phát triển một mô hình hệ thống tư vấn sử dụng mô hình
mối quan tâm đề xuất ở phần trước. Trong đó, ý tưởng chung của việc tư vấn dựa trên
xem các tin tức tư vấn tiềm năng là các tin tức mang thông tin về chủ đề và các thực thể
người dùng từng quan tâm. Ứng dụng tư vấn được tích hợp trong một hệ thống quản lý
nội dung (Content Management System). Vì vậy, giải pháp được đưa ra là xác định chủ đề
và các thực thể nằm trong mỗi tin tức được thực hiện ngay sau khi dữ liệu tin tức được
nhập vào cơ sở dữ liệu các tin tức của hệ thống. Khóa luận xem giai đoạn này là pha xử lý
phân tích dữ liệu tư vấn. Sau pha này, mỗi tin tức sẽ tương ứng với hai danh sách một
danh sách các chủ đề và một danh sách các thực thể. Pha tư vấn trực tuyến thực hiện thu
thập thông tin về sở thích người dùng thông qua thống kê các chủ đề phổ biến trong phiên duyệt web, sau đó tự động sinh các truy vấn cho cơ sở dữ liệu, kết quả đạt được là dữ liệu tư vấn liên quan thuộc về nhiều chủ đề và chứa các thông tin về các thực thể người dùng từng quan tâm.
3.3.1. Pha phân tích dữ liệu tư vấn
Input: Mỗi văn bản tin tức.
Output: Phân tích chủ đề và thực thể của từng tin tức.
Pha phân tích chủ đề ẩn.
o Suy diễn chủ đề ẩn
o Lựa chọn chủ đề chính
31
o Xác định các thực thể
o Lựa chọn thực thể chính
Pha này xử lý các tin tức trước khi được lưu trữ vào cơ sở dữ liệu. Quá trình xử lý
gồm hai pha phân tích độc lập.
Phân tích các chủ đề ẩn
Tin tức được suy diễn các chủ đề nó thuộc vào theo một mô hình chủ đề ẩnđã được
huấn luyện. Pha này, được thực hiện bởi hai bước:
Bước 1. Suy diễn chủ đềẩn:
Nhận đầu vào là các văn bản tin tức, bước này phân tích xác suất các chủ đề ẩn phản ánh nội dung trong văn bản. Các chủ đề có xác suất lớn hơn là các
Top chủ đề có xác suất cao Top các thực thể có trọng số cao Mô hình chủ đề Từ điển thực thể Tin tức Suy diễn chủ đề Xác định thực thể Cơ sở dữ liệu tin tức
32
chủ đề mà nội dung chính của tin tức hướng tới. Chú ý rằng số lượng các chủ đề
ẩn là không đổi, và mỗi chủđề đều có một xác suất phản ánh nội dung của văn
bản. Ví dụ, nếu ta chọn mô hình với 100 chủ đề ẩn để phân tích, mỗi văn bản
được xác định bởi một vector 100 chiều, với mỗi chiều là một chủ đề và mỗi giá
trị trong các chiều là trọng số xác suất của chủ đềtương ứng.
Bước 2.Xác định top các chủ đề có phân phối cao:
Từ các vector phân phối chủ đề của văn bản tin tức, ta cần xác định đâu là các chủ đề có thể đại diện cho nội dung thông tin của tin tức. Các chủ đề này có thể được nhận ra bởi hai ràng buộc:
o Số lượng chủ đề có thể biểu diễn nội dung cho một văn bản phải nằm
trong một giới hạn.
o Xác suất của chủ đề đó phải lớn hơn một ngưỡng cho trước.
Phân tích các thực thể liên quan.
Vì giá trị của tin tức còn liên quan đến các thực thể mà nó đề cập tới, ví dụ như tin
tức về kì nghỉ của tổng thống có giá trị hơn tin tức về kì nghỉ của một người bình thường. Pha này xác định các thực thể nằm trong văn bản tin tức. Các thực thể có thể được trích
xuất từ văn bản thông qua hai bước:
Bước 1:Xác định tất cả các thực thể trong nội dung tin tức.
Nếu coi văn bản tin tức tương ứng với một xâu và mỗi thực thể trong từ điển
là một mẫu, ta có thể áp dụng một thuật toán đối sánh xâu để nhận ra tất cả các
thực thể nằm trong nội dung của tin tức. Kết quả của bước này là một danh sách
các thực thể với trọng số là số lần xuất hiện của nó trong văn bản.
Bước 2: Lựa chọn các thực thể có trọng số cao để lưu trữ.
Những thực thể được nhận định là liên quan nhiều hơn tới nội dung của văn
bản nếu nó được nhắc tới hơn một số lần nào đó, bước này thực hiện lọc bớt các
thực thể xuất hiện quá ít (nhỏ hơn một ngưỡng). Các thực thể được lưu trữ như
33
3.3.2. Pha tư vấn trực tuyến
Input: Tập Url lưu trong phiên duyệt web.
Output: Tập các tin tức tư vấn.
Pha tiền xử lý tập Url trong phiên.
o Đưa các Url về một chuẩn thống nhất, xác định các tin tức trong phiên.
Pha phân tích mối quan tâmngười dùng.
o Xác định tin tức trong phiên và các chủđề tương ứng.
o Phân tích chủ đề ẩn phổ biến.
o Xác định tập thực thể liên quan trong phiên. Pha xác định các tin tức tư vấn.
o Lọc ra danh sách các tin có cùng chủ đề phổ biếnẩn.
o Xếp hạng lại các tin có liên quan đến nhiều thực thể.
Tập url các tin tức trong phiên
Tiền xử lý CSDL tin
tức
Tập các tin tức trong phiên với các chủ đề ẩn. Thống kê các chủ đề phổ biến Các thực thể người dùng quan tâm trong phiên Truy vấn 1 Truy vấn 2 Các tin tức có chủ đề là chủ đề phổ biến. Truy vấn 3 Xếp hạng lại các tin tức Top các tin tức giành cho tư vấn
34
Tiền xử lý dữ liệu
Các Url lưu trong phiên người dùng được đưa về dạng chuẩn và thống nhất.
Loại bỏ các Url không tương ứng với một tin tức chi tiết.
Đưa các Url về dạng chuẩn, loại bỏ các tham số thừa.
Ví dụ: www.bestnews4u.com?newsid=20#top
www.bestnews4u.com?newsid=20
Loại bỏ các Url trùng lặp.
Lọc lấy trường định danh tin tức (newsid) trong các địa chỉ Url.
Phân tích sở thích người dùng
Như đã trình bày trong chương 3, sở thích người dùng có thể được xác định thông
qua các chủ đề phổ biến và các thực thể. Để nâng cao tốc độ đáp ứng, các phân tích về
chủ đề và thực thể cho từng tin tức đã được thực hiện trong pha phân tích dữ liệu tư vấn. Vì vậy, sở thích người dùng có thể trực tiếp trích xuất từ cơ sở dữ liệu. Một cách hình thức, công việc này gồm ba bước:
Bước 1. Trích xuất từcơ sở dữ liệu các tin tức trong phiên và các chủ đề tương ứng. (truy vấn 1như minh họa hình 14) .
Bước 2. Thống kê các chủ đề ẩn phổ biến:
Từ dữ liệu thu được ở bước 1, hệ thống thống kê các chủ đề xuất hiện lặp lại
trên các tin tức.
Trong thực tế, khi số lượng các tin tức trong phiên còn ít, chưa có sự chồng
lấn về chủ đề hay các tin tức có thể nằm ở những chủ đề riêng rẽ. Do vậy, hệ thống chưa thể xác định được chủ đề nào được quan tâm phổ biến, giải pháp cho tình huống này là lựa chọn các chủ đề của tin tức gần nhất được người dùng truy cập. Trong các trường hợp còn lại, một ngưỡngnào đó được sử dụng để xác định tính phổ biến của chủ đề.
Bước 3.Xác định tập thực thể trong các tin tức thuộc các chủ đề ẩn phổ biến:
Mỗi tin tức có nội dung liên quan đến một tập hợp các thực thể. Sau khi đã
xác định được các chủ đề phổ biến, cần có một phương pháp xác định thực thể vừa
35
(có thể có những tin tức không thuộc về chủ đề phổ biến). Vì vậy, truy vấn thực
hiện trích xuất các thực thể cần thỏa mãn hai ràng buộc (truy vấn 2 như minh họa
hình 14):
o Thuộc vào các tin tức trong phiên.
o Thuộc vào các tin tức có chủ đề là chủ đề phổ biến.
Tư vấn tin tức
Giai đoạn cuối cùng của tiến trình tư vấn là tìm ra những tin tức phù hợp nhất với
sở thích người dùng. Vì vậy, sự tư vấn có thể đạt được theo hai bước sau:
Bước 1:Xác định các tin tức ứng viên từ tập các tin tức có thể tin vấn.
Hệ thống lọc ra các tin tức thuộc vào cùng chủ đề với mối quan tâm người
dùng, thông qua đối sánh chủ đề ẩn của các tin tức trong cơ sở dữ liệu và chủ đề ẩn
được phân tích là được người dùng quan tâm phổ biến (truy vấn 3 minh họa hình
14).
Bước 2: Xếp hạng lại các tin tức.
Kết quả của bước 1 là một lớp các tin tức có thể người dùng quan tâm ở mức
chủ đề, có thể có quá nhiều tin tức như vậy, do vậy cần có một giải pháp xếp hạng
lại các tin tức này. Một giải pháp có thể triển khai dựa trên ý tưởng một phần tiêu chí ra quyết định của người dùng phụ thuộcở việc xem xét tin tức đó có liên quan
đến các thực thể đang được họ quan tâm hay không.
Từ tập thực thể của các tin tức tư vấn tiềm năng, hạng của một tin tức được
xác định bằng số thực thể nó đề cập tới thuộc vào danh sách các thực thể người
dùng quan tâm trong phiên duyệt webđã được phân tích trong pha trước. Bước 3:Tư vấn top các tin tức xếp hạng cao nhất.
Quá trình xếp hạng cho ra một danh sách các tin tức được sắp xếp theo thứ tự
giảm dần về mức độ liên quan tới các thực thể người dùng đang quan tâm. Bước
36
3.4. Đánh giá kết quả tư vấn.
Việc đánh giá chất lượng của tin tứctư vấn trả về bởi hệ thống là một bài toán khó, vì không có một độ đo ngữ nghĩa đánh giá chính xác được sự phù hợp giữa người dùng và tin tức hệ thống trả lại.
Herlocker [18] đưa ra hai nguyên nhân chủ yếu dẫn tới việc đánh giá các hệ thống tư vấn là khó khăn. Nguyên nhân đầu tiên là chất lượng của hệ tư vấn phụ thuộc vào tập
dữ liệu sử dụng. Một hệ tư vấn tin tức có mô hình tốt chưa chắc đã tư vấn tốt hơn một hệ tư vấn có dữ liệu tốt(như một cơ sở dữ liệu tin tức phong phú). Nguyên nhân thứ hai là việc đánh giá hệ tư vấn có thể hướng tới các mục tiêu khác nhau. Trong một số hệ thống, các đánh giá có thể dựa trên số lần tư vấn dẫn đến quyết định đúng và sai. Trong một số khác, các đánh giá có thể dựa trên xem xét người dùng hài lòng hoặc không hài lòng đối
với các kết quả tư vấn.
Do các nguyên nhân này, để đánh giá tính đúng đắn của mô hình tư vấn đã được đề xuất, chúng tôi chủ yếu dựa vào việc thu thập ý kiến người sử dụng về kết quả tư vấn.
Bên cạnh đó, dựa vào kết quả nghiên cứu về phân tích sở thích của người sử dụng
thông qua lịch sử trình duyệt (history browser) được chúng tôi đề xuất trong công trình nghiên cứu sinh viên 2010 [1], chúng tôi đưa ra một phương pháp đánh giá tự động mô
hình phân tích sở thích dựa vào sự tương đồng giữa sở thích nổi trội trong phiên duyệt
web với sở thích nổi trội của lịch sử duyệt web của người sử dụng trong cùng một thời
điểm. Phương pháp đánh giá này sẽ xem xét sự tương đồng giữa sở thích của người sử
dụng trên nhiều trang và sở thích người sử dụng trên hệ thống để đưa ra sự đánh giá.
Chúng tôi so sánh 2 loại sở thích trên bằng cách lấy 3 chủ đề ẩn phổ biến nhất của 2 loại
sở thích ra làm đại diện, nếu giữa chúng có sự xuất hiện của 1 chủ đề cụ thể nào thì xem
37
Chương 4: Thực nghiệm và đánh giá
4.1. Môi trường thực nghiệm
Bảng 5. Môi trường thực nghiệm.
Thành phần Thông số
CPU Core 2 Duo 2.0 GHz
RAM 2 GB HDD 320 GB OS Windows 7 Ultimate 4.2. Dữ liệu và công cụ 4.2.1. Dữ liệu Dữ liệu tư vấn
Để xây dựng bộ dữ liệu tư vấn của hệ thống, chúng tôi thu thập dữ liệu từ 3 trang
web là: Dantri, Vnexpress, 24h. Sau quá trình tiến hành tiền xử lý như bóc tách lấy nội
dung chính của tin tức, chúng tôi thu được 4333 tin : 2060 tin trên website Dantri.com.vn 1291 tin trên website Vnexpress.net 982 tin trên website 24h.com.vn
Dữ liệu phiên duyệt web của người sử dụng
Chúng tôi tiến hành thu thập 30 phiên duyệt web của 30 người sử dụng trên các website Dantri và Vnexpress thông qua việc phân tích các history.
Dữ liệu lịch sử trình duyệt của người sử dụng
Thu thập 30 dữ liệu lịch sử trình duyệt (history browser) của chính nhưng người sử
38
4.2.2. Công cụ
Bảng 6. Công cụ.
Công cụ Mô tả
SessionRecommendation Tác giả: Uông Huy Long
Mô tả: Bộ công cụ phân tích sở thích duyệt web của người sử
dụng thông qua Session và tư vấn tin tức dựa trên sở thích đã
được phân tích
JGibbLDA Tác giả: Nguyễn Cẩm Tú và Phan Xuân Hiếu
Mô tả: Công cụ phân tích chủ đề ẩn cho tài liệu viết trên nền
Java
Website: http://jgibblda.sourceforge.net
VutmDic Tác giả: Trần Mai Vũ
Mô tả: Bộ từ điển thực thể gồm 6479 thực thể thuộc 4 loại
thực thể: địa danh trong nước, địa danh nước ngoài, tên người,
tên tổ chức.
Vnexpress 100topics Tác giả: Nguyễn Cẩm Tú và Phan Xuân Hiếu
Mô tả: Bộ dữ liệu 100 chủ đề ẩn được phân tích từ Vnexpress
dùng để phân tích chủ đề ẩn
Website: http://jgibblda.sourceforge.net/vnexpress- 100topics.txt
Crawler4j Tác giả: Yasser Ganjisaffar
Mô tả: Công cụ thu thập dữ liệu từ các website báo điện tử
39
4.3. Thực nghiệm
4.3.1. Ví dụ về phân tích tin tức
Bảng 7. Một số chủ đề ẩn