Trong mô hình này, chúng ta coi mỗi quảng cáo (bao gồm nội dung, tiêu đề) là một tài liệu. Coi các snippet (tiêu đề và mô tả) của trang web là một tài liệu. Giả sử tập tài liệu của chúng ta là D = {d1, d2, …, dm}. Chúng ta sử dụng các đặc trưng sau trong quá trình xây dựng hàm ranking nhờ thuật toán SVM-Rank:
Term Frequency / Inverse Document Frequency:
, ∑ , ,
Term Frequency (TF):
Trong đó: ni,j là tần suất xuất hiện của từ khóa ti trong tài liệu j Inverse Document Freq ency (u IDF):
log | |
| : |
Trong đó: |D| là số lượng tài liệu trong tập D
|{d: ti Є d}| là số lượng tài liệu mà từ khóa ti xuất hiện.
, ,
Chúng ta có:
Hidden Topic:
Giả sử chúng ta xác định được K topic từ tập dữ liệu học. Với mỗi tài liệu d, chúng ta tính các xác suất để tài liệu d thuộc vào topic i là pd(i), với i = 1,k.
Từđó xác định được véc tơ topic của tài liệu d:
T(d) = [pd1, pd2, …, pdk]
Từ hai đặc trưng trên, chúng ta xây dựng được véc tơđại diện tài liệu V(d): V(d) = [tfidf(t1, d), tfidf(t2, d),…,tfidf(tm, d), pd1, pd2, …, pdk]
Chương 4. Thực nghiệm và đánh giá 4.1. Dữ liệu
Mô hình sử dụng query log để xây dựng bộ dữ liệu trong quá trình học. Query log là một phần quan trọng của máy tìm kiếm. Nó ghi lại các hành vi của người dùng trong khi tìm kiếm, cũng như những mối quan tâm của người dùng đối với mỗi truy vấn. Query log không chứa các quảng cáo hiển thị ra với người dùng, tuy nhiên nó chứa các truy vấn
được nhập vào, cũng như những kết quả tìm kiếm được người dùng click. Quảng cáo, thực chất là những tài liệu với tựa đề và phần mô tả cho trang web mà quảng cáo trỏ tới. Do vậy, chúng ta có thể xem tựa đề và những tóm tắt của trang web (thường được đặt trong các thẻ meta) như một nội dung quảng cáo và sử dụng trong quá trình học. Việc sử
dụng query log sẽ giúp khai thác rất nhiều thông tin hữu ích từ những hành vi của người dùng trong khi tìm kiếm.
Chúng tôi sử dụng 1Gb query logs được lấy từ máy tìm kiếm MSN [36] với14 triệu query & url được click. Các query đều bằng tiếng Anh. Mỗi query log gồm các thông tin như sau:
- QueryID: số hiệu của query, những query log có cùng số hiệu thì cùng thuộc một phiên làm việc.
- Query: nội dung query, đây là nội dung query được người dùng nhập vào. - Time: thời điểm người dùng click vào URL.
- URL: URL được người dùng click.
- Position: vị trí của url được click trong danh sách kết quả trả về.
4.2. Môi trường thực nghiệm 4.2.1 Cấu hình phần cứng 4.2.1 Cấu hình phần cứng
Quá trình thực nghiệm được tiến hành trên máy tính có cấu hình phần cứng như sau:
Bảng 2 Cấu hình phần cứng sử dụng trong thực nghiệm
Thành phần Chỉ số
CPU 1 Pentium IV 3.06 GHz
RAM 1.5 GB
OS WindowsXP Service Pack 2 Bộ nhớ ngoài 240GB
4.2.2 Các công cụ được sử dụng
Dưới đây là các công cụ mã nguồn mởđược sử dụng trong quá trình thực nghiệm:
Bảng 3. Danh sách các phần mềm mã nguồn mở được sử dụng
STT Tên phần mềm Tác giả Nguồn
1 SVM-Rank Joachims http://svmlight.joachims.org/. 2 GibbsLDA++ Phan Xuân Hiếu http://gibbslda.sourceforge.net
Ngoài các cộng cụ kể trên, chúng tôi xây dựng các module xử lý bằng ngôn ngữ
Python như sau:
• Module filter: lọc trong 14 triệu query logs, lấy ra 1 triệu query log đầu tiên. Gom nhóm tất cả các url được trả về bởi cùng một query, tính điểm cho mỗi URL trên từng phiên làm việc và tổng hợp điểm cho mỗi URL trên tất cả các phiên làm việc. Sắp xếp các URL theo thứ tự giảm dần vềđiểm.
• Module crawl: từ các URL thu được bởi module filter, tiến hành crawl nội dung trang web, phân tích và lấy ra tiêu đề, mô tả của trang web. Chúng ta coi mô tả và tiêu đề của một trang web là một tài liệu trong bộ dữ liệu học.
• Module normalize: Chuẩn hóa các nội dung thu được bởi module crawl như
loại bỏ từ dừng, các kí hiệu vô nghĩa, các nội dung trống.
• Module tfidf: Véc tơ hóa các tài liệu đã thu được theo đặc trưng về tần suất xuất hiện của từ khóa, TF-IDF.
• Module tfidf_lda: Véc tơ hóa các tài liệu thu được theo đặc trưng về tần suất xuất hiện của từ khóa, TF-IDF và đặc trưng về xác suất xuất hiện của tài liệu trong từng chủđềẩn.
• Module test: Từ các quảng cáo đã được sắp xếp theo ý kiến người dùng, tiến hành véc tơ hóa các quảng cáo theo đặc trưng về tần suất xuất hiện các từ
khóa, sau đó xếp hạng các kết quả này bằng hàm xếp hạng. Kết quả trả về sẽ được so sánh với kết quả người dùng đưa ra và tính toán các độ đo NDCG, MAP.
• Module test_lda: Từ các quảng cáo đã được sắp xếp theo ý kiến người dùng, tiến hành suy luận các chủ đề ẩn mà mỗi quảng cáo có thể thuộc vào. Véc tơ
hóa mỗi quảng cáo theo đặc trưng tần suất xuất hiện của từ hóa và đặc trưng xác suất mỗi quảng cáo thuộc vào các chủ đề ẩn. Xếp hạng các kết quả này bằng hàm xếp hạng. Kết quả trả về sẽ được so sánh với kết quả người dùng
đưa ra và tính toán các độđo NDCG, MAP.
4.3. Quá trình thực nghiệm
Quá trình thực nghiệm gồm các bước chính sau đây
• Xử lý dữ liệu: tiền xử lý dữ liệu, xây dựng tập tài liệu học cho mô hình, véc tơ
hóa dữ liệu.
• Xây dựng hàm xếp hạng: tiến hành training trên tập dữ liệu đã có bằng thuật toán SVM-Rank.
• Xây dựng tập test: thu thập các quảng cáo trên máy tìm kiếm MSN.
• Đánh giá kết quả mô hình: thu thập ý kiến người dùng và so sánh với kết quả
mô hình đưa ra.
4.3.1. Tiền xử lý dữ liệu
Lấy về một triệu query log đầu tiên, trong số query log này, chọn ra tất cả các query có số click của người dùng lớn hơn 4. Kết quả thu được gồm 30,372 query. Một query có
thểđược nhiều người dùng nhập vào tại các thời điểm khác nhau. Chúng ta tiến hành tính
điểm cho mỗi URL đối với một query như sau:
o Trong một phiên làm việc, liệt kê các URL được người dùng click vào.
o Gán điểm cho mỗi URL giảm dần từ 100 theo thứ tự click của người dùng. Ví dụ: với từ khóa yahoo, có 4 url trả về và lần lượt được click theo thứ tự: http://yahoo.com, http://my.yahoo.com, http://mail.yahoo.com, http://search.yahoo.com. Khi đó điểm lần lượt cho 4 URL trong phiên làm việc
đó là 100, 90, 80, 70.
o Tính tổng điểm cho tất cả các URL đối với một query trên các phiên làm việc khác nhau.
o Với mỗi query, sắp xếp các URL được người dùng click theo thứ tự giảm dần về điểm. Nếu hai URL có điểm bằng nhau, chúng ta xét đến vị trí (position) của URL trong số các URL trả về. Kết quả này sẽ được sử dụng trong bước xử lý tiếp theo.
Cách tính điểm như trên có các đặc điểm sau:
o Những URL được click nhiều sẽ có điểm cao hơn những URL được click ít. o Những URL trong một phiên làm việc được click trước sẽ có điểm cao hơn
những URL được click sau.
Với cách tính điểm đó, chúng ta khai thác được mối quan tâm của người dùng đối với một truy vấn.
4.3.2. Thu thập thông tin từ các URL có được
Từ danh sách các URL đã được sắp xếp theo điểm thu được ở trên. Chúng ta tiến hành lấy về tiêu đề và mô tả của các trang web tương ứng với mỗi URL. Tại bước này, có thể gặp những trang web đã chết hoặc URL bị hỏng và cần được loại bỏ. Kết hợp nội dung tiêu đề và mô tả của trang web lại, chúng ta có dữ liệu cho quá trình học. Tiến hành loại bỏ những URL mà nội dung thu được là rỗng, từđó chỉ giữ lại những query có từ 4 nội dung kết quả trở lên. Kết thúc bước này thu được danh sách gồm 16,534 query và 83,312 nội dung (tóm tắt) các trang web tương ứng với query đó.
Việc sử dụng tiêu đề và mô tả (description) của trang web không hẳn là phương pháp tối ưu để xây dựng tập dữ liệu học, tuy nhiên nó có thể tốt hơn việc sử dụng toàn bộ
nội dung trang web, điều mà có thể gây nhiễu lớn trong quá trình học.
4.3.3. Véc tơ hóa dữ liệu
Việc véc tơ hóa dữ liệu sẽ được thực hiện trong quá trình trích chọn các đặc trưng sau:
a) TF-IDF
Tiến hành loại bỏ từ dừng, các kí hiệu, kí tự không có nghĩa, chúng ta thu được danh sách các từ khóa trong tập dữ liệu. Mỗi từ khóa sẽđược xem như một đặc trưng của dữ liệu.
Tính toán trọng số cho các dữ liệu tại các đặc trưng theo TF-IDF chúng ta thu được véc tơ trọng số tf-idf:
D(d) = (tfidf(d, 1), tfidf(d,2), ..., tfidf(d, n)) Với n là số lượng các từ khóa riêng biệt. b) Chủđềẩn
Từ tập dữ liệu đã có, sử dụng công cụ GibbsLDA++ [16] chúng ta thu được danh sách các chủ đề ẩn và xác suất để một dữ liệu thuộc vào một chủ đề. Chọn số chủ đề là 100. Chúng ta xác định được véc tơđặc trưng cho chủđềẩn đối với mỗi dữ liệu .
H(d) = (pd1, pd2, ..., pd50)
Kết hợp hai véc tơ H(d) và D(d) ở trên, chúng ta thu được véc tơ đại diện dữ liệu V(d).
4.3.4. Thiết kế thực nghiệm
Đểđánh giá sựảnh hưởng của chủđềẩn đối với kết quả xếp hạng chúng ta tiến hành cài đặt 2 hệ thống xếp hạng như sau:
• Hệ thống thứ nhất sử dụng SVM-Rank chỉ với các đặc trưng về tần suất xuất hiện của từ khóa trong tài liệu (TF-IDF). Hệ thống này được gọi là RTF.
• Hê thống thứ hai sử dụng SVM-Rank với các đặc trưng về tần suất xuất hiện của từ khóa và các xác suất để tài liệu thuộc vào các chủđề ẩn. Hệ thống này gọi là RHT.
Chọn môt số truy vấn, tiến hành tìm kiếm bằng tay trên một vài máy tím kiếm như
MSN, Yahoo, Google. Tổng số truy vấn được sử dụng là 40 truy vấn, về các lĩnh vực khác nhau như: computer, sport, medicine… Từ các trang kết quả, lấy về 5 quảng cáo cho mỗi truy vấn. Việc đánh giá mô hình được tiến hành theo hai bước:
• Từ các quảng cáo thu được, tiến hành loại bỏ từ dừng, các kí tự, kí hiệu không có ý nghĩa. Xác định chủđề ẩn cho mỗi quảng cáo, tính phân phối xác suất của mỗi chủ đề trên quảng cáo. Xây dựng véc tơ quảng cáo từ các xác suất thu được và tần suất xuất hiện của từ khóa trong quảng cáo. Sử dụng công cụ SVM-Rank với mô hình thu được trong quá trình học để xếp hạng các kết quả.
• Lấy ý kiến đánh giá của người dùng đối với danh sách kết quả thu được theo truy vấn. Tiến hành lấy ý kiến 5 người dùng, đưa ra cho họ một yêu cầu như: “với truy vấn như trên, bạn hãy lần lượt click vào các link sau theo thứ tự phù hợp”. Ý kiến của mỗi người dùng sẽđược sử dụng để xác định một sốđộđo cho mô hình, cuối cùng chúng ta tính kết quả cuối cùng bằng cách lấy trung bình các độđo.
4.4. Kết quả thực nghiệm
Trước hết chúng ta so sánh trung bình các độđo trên toàn bộ các truy vấn. Kết quả
cho thấy hệ thống RHT với việc sử dụng chủđềẩn đem lại kết quả trung bình cao hơn so với RTF. Tại các độ đo MAP và NDCG@5 kết quả của RHT lần lượt là 0.75 và 0.84 (Hình 12).
0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 RTF RHT MAP NDCG@11 NDCG@@3 NDCCG@5 T vấn kh H thống là 0.84 H
Hình 12. Trrung bình ccác độ đo ttrên tất cả các truy vấấn
Tiến hành s hác nhau.
so sánh trunng bình các độđo NDCCG@5 và MMAP trên từừng số lượnng truy
0.805 0.81 0.815 0.82 0.825 0.83 0.835 0.84 0.845 0.85 0.855 Hình 13. T Hình 13 ch g RTF. Giá 4 tại số truy Trung bình ho thấy trun trị cực đại đ y vấn 40. 5 1 5 2 5 3 5 4 5 5 5 10 độ đo NDC ng bình độ đ đạt được là 20 49 CG@5 tại đo NDCG@ à 0.85 tại số 30 các sô lượn @5 của hệ t ố truy vấn 1 0 4 ng truy vấn thống RHT 10 và giá trị 40 RTF RHT n khác nhaau cao hơn so ị cựu tiểu đ o với hệ đạt được
0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 10 20 30 40 RTF RHT
Hình 14. Trung bình độ đo MAP tại các số lượng truy vấn khác nhau
Hình 14 cho thấy trung bình độ đo MAP của RHT cao hơn so với hệ thống RTF. Giá trị cực đại đạt được là 0.79 tại số truy vấn 10 và cực tiểu là 0.75 tại số truy vấn 40.
Dưới đây là bảng giá trị các độđo tại một số truy vấn khác nhau trên hệ thống RHT.
Bảng 4. Giá trị các độ đo tại một số truy vấn khác nhau.
Truy vấn MAP NDCG@1 NDCG@3 NDCG@5
paint colors for bedrooms 0.91 0.93 0.82 0.91 tennis equipment 0.77 0.79 0.68 0.85 baseball bats 0.86 1.0 0.77 0.88 shirt deign 0.75 0.87 0.68 0.87 4.5. Đánh giá kết quả thực nghiệm
Thực nghiệm cho thấy mô hình xếp hạng quảng cáo đã được xây dựng đem lại kết quả khá tốt. Giá trị trung bình các độ đo NDCG@5 vào khoảng 0.82-0.84 và độđo MAP vào khoảng 0.73-0.75.
Một số nguyên nhân có thểảnh hưởng tới kết quả này:
• Việc sử dụng ý kiến người dùng để đánh giá kết quả: mỗi người dùng, đối với mỗi truy vấn có thể có những mục đích tìm kiếm cũng như mối quan tâm khác nhau. Điều này dẫn tới việc các kết quả có sự khác biệt lớn giữa
đánh giá của các người dùng.
• Việc sử dụng tiêu đề và mô tả trang web làm dữ liệu học: nội dung tiêu đề
và mô tả của trang web thường có tác dụng cho chúng ta một cái nhìn tổng quan về trang web đó. Tuy nhiên, với một số trang web được xây dựng không tốt, không theo tiêu chuẩn, tiêu đề và mô tả của trang web đó có thể
không có hoặc nội dung không liên quan tới nội dung trang web.
Mặt khác, thực nghiệm cũng đưa ra sự so sánh giữa việc sử dụng và không sử dụng chủđềẩn trong việc xếp hạng quảng cáo. Việc sử dụng chủđề ẩn đem lại kết quả khá khả
quan, trung bình độ đo NDCG@5 tăng 0.2 và MAP tăng 0.2 so với việc không sử dụng chủđề ẩn.
Từ những kết quả trên, ta thấy việc sử dụng mô hình chủđề ẩn nhằm xây dựng các
đặc trưng mới để biểu diễn quảng cáo có tác dụng tốt trong việc xếp hạng quảng cáo theo truy vấn của người dùng. Ngoài ra, việc khai thác các query logs để xây dựng tập dữ liệu học giúp mô hình khai thác được mối quan tâm của người dùng đối với từng truy vấn tìm kiếm.
Kết luận
Với tốc độ phát triển nhanh chóng của internet và máy tìm kiếm, việc giải quyết các vấn đề được đặt ra trong quảng cáo trực tuyến ngày càng trở nên cấp thiết. Bài toán xếp hạng quảng cáo trên máy tìm kiếm theo truy vấn của người dùng là một vấn đề đang nhận
được nhiều sự quan tâm ngày nay. Mục đích chính của khóa luận này nhằm đưa ra một phương pháp giải quyết cho bài toán nếu trên theo hướng tiếp cận sử dụng mô hình chủ đề ẩn.
Khóa luận đã đạt được những kết quả:
• Giới thiệu khái quát về quảng cáo trực tuyến, tình hình quảng cáo trực tuyến trên thế giới cũng nhưở Việt Nam.
• Phân tích một số phương pháp và mô hình đã được sử dụng trong quảng cáo trực tuyến.
• Đưa ra mô hình quảng cáo trực tuyến hướng câu truy vấn với sự giúp đỡ