Luận văn -Quảng cáo trực tuyến hướng câu truy vấn với sự giúp đỡ của phân tích chủ đề và kỹ thuật tính hạng

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.

pdf65 trang | Chia sẻ: lylyngoc | Lượt xem: 2313 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn -Quảng cáo trực tuyến hướng câu truy vấn với sự giúp đỡ của phân tích chủ đề và kỹ thuật tính hạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iệu từ khóa (bid-term) có xuất hiện trong tiêu đề, trong nội dung hay không, trong phần nào của nội dung… Với 5 loại đặc trưng nói trên, họ sử dụng 81 đặc trưng. Ngoài ra còn sử dụng các đặc trưng sau: 21 • Các từ xuất hiện trong tập quảng cáo: lấy ra 10000 từ phổ biến nhất trong tập quảng cáo, thêm một đặc trưng với giá trị 1 nếu từ xuất hiện trong quảng cáo đang xét, ngược lại là giá trị 0. • CTR: sử dụng CTR của những quảng cáo khác có chung từ khóa (keywords, bid term). Ngoài ra, số lượng các quảng cáo có cùng từ khóa với quảng cáo đang xét cũng được sử dụng như một đặc trưng. • Bên cạnh những quảng cáo có từ khóa chung, CTR của những quảng cáo có từ khóa liên quan cũng được sử dụng. Ví dụ từ khóa “red shoes” và “buy red shoes” là những từ khóa có liên quan và CTR của quảng cáo ứng với “buy red shoes” có thể được sử dụng trong việc ước lượng CTR của quảng cáo ứng với “red shoes”. Về dữ liệu, họ sử dụng một tập các quảng cáo của máy tìm kiếm MSN, mỗi quảng cáo có các thông tin như: URL, các từ khóa tương ứng với quảng cáo, tiêu đề, nội dung và đặc biệt là tổng số lần quảng cáo đã được click và tổng số lần quảng cáo đc xem kể từ khi được đưa vào hệ thống. Tập dữ liệu được chia làm ba phần: 70% cho việc training, 10% cho việc kiểm định và 20% cho việc test. Trong thực nghiệm, họ sử dụng độ trung bình KL-divergence [20] được tính bởi kết quả ước lượng CTR của mô hình và CTR thực sự của quảng cáo trong tập test. Xây dựng 1 số hệ thống với các đặc trưng khác nhau, tiến hành so sánh với mô hình ước lượng CTR chỉ sử dụng tập train một cách đơn giản (sử dụng một đặc trưng duy nhất CTR của chính quảng cáo), được gọi là baseline. Kết quả thu được là khá tốt, mức độ cải tiến so với baseline từ 13.28% tới 19.67%. 2.6. Mô hình tìm kiếm và xếp hạng sử dụng chủ đề ẩn trong quảng cáo theo ngữ cảnh Dựa trên ý tưởng mở rộng nội dung trang web và quảng cáo sẽ hỗ trợ tốt hơn cho việc tìm kiếm và xếp hạng quảng cáo. Lê Diệu Thu [27] đã đề xuất một hướng tiếp cận trong quảng cáo theo ngữ cảnh, tập trung vào phân tích chủ đề ẩn nhằm làm giàu nội dung trang web cũng như quảng cáo bằng những từ khóa mở rộng. Để khái quát hóa ngữ cảnh của các trang web và quảng cáo, tác giả tiến hành xây dựng một mô hình phân tích chủ đề ẩn trên một tập dữ liệu lớn, từ đó phát hiện những chủ đề và các mối quan hệ giữa chủ đề với từ hay giữa từ với từ. Mô hình này còn cho phép xác định phân bố xác suất của các 22 chủ đề trên từng trang web hay quảng cáo, từ đó làm giàu nội dung của chúng với những từ khóa của các chủ đề có liên quan. Lê Diệu Thu xây dựng một bộ dữ liệu với kích thước lớn, gọi là Universal Dataset, và sử dụng bộ dữ liệu này cho quá trình phân tích chủ đề ẩn. Bộ dữ liệu được thu thập từ VnExpress [7], một trong những trang báo điện tử lớn nhất của Việt Nam, bao gồm các chủ đề khác nhau như: xã hội, tin tức thế giới, đời sống, văn hóa, thể thao, khoa học… Hơn 220 Megabyte dữ liệu gồm khoảng 40 nghìn trang web được thu thập sử dụng Nutch [37] và được tiền xử lý bằng cách loại bỏ các thẻ HTML, phân tách câu, tách từ, loại bỏ những từ không thích hợp. Sau khi xử lý, thu được bộ dữ liệu 53 Megabyte với 40,268 tài liệu.Tiến hành phân tích chủ đề ẩn trên bộ dữ liệu thu được sử dụng GibbsLDA [16], một ứng dụng của mô hình LDA và Gibb Sampling. Để tiến hành thực nghiệm, tác giả sử dụng một tập 100 trang web và 2607 quảng cáo khác nhau. Các trang web được lựa chọn ngẫu nhiên từ tập 27,763 trang web thu thập được từ báo điện tử VnExpress, các trang web được chọn từ các chủ đề: ẩm thực, mua bán, dược phẩm, nhà đất, thị trường chứng khoán, việc làm… Các quảng cáo được thu thập bằng cách sử dụng các tiêu đề, mô tả và từ khóa của các trang web trên danh bạ website Việt Nam [5]. Để đánh giá ảnh hưởng của các từ khóa trong tìm kiếm theo ngữ cảnh, Lê Diệu Thu cài đặt hai phương pháp tìm kiếm theo hướng tiếp cận của Ribeiro-Neto [24]. Phương pháp thứ nhất gọi là AD, chỉ sử dụng tiêu đề và mô tả của quảng cáo trong tìm kiếm. Phương pháp thứ hai là AD_KW, tìm kiếm quảng cáo sử dụng cả tiêu đề, mô tả của quảng cáo lẫn các từ khóa. Để đánh giá ảnh hưởng của chủ đề ẩn, tác giả tiến hành 6 thực nghiệm khác nhau. Trong mỗi thực nghiệm, sử dụng một mô hình chủ đề ẩn khác nhau với các tham số khác nhau. Các mô hình chủ đề ẩn được sử dụng lần lượt là mô hình với 60, 120 và 200 chủ đề. Sau khi suy luận chủ đề ẩn cho tất cả các trang web và quảng cáo, tiến hành mở rộng tập từ vựng của chúng theo các chủ đề liên quan. Kết quả thực nghiệm cho thấy, việc sử dụng chủ đề ẩn làm tăng độ chính xác của mô hình từ 64% lên 72%. Nghiên cứu của Lê Diệu Thu [27] đã đưa ra một mô hình nhằm giải quyết bài toán tìm kiếm và xếp hạng quảng cáo trong quảng cáo theo ngữ cảnh. Chỉ ra những ảnh hưởng tích cực của việc sử dụng chủ đề ẩn nhằm mở rộng tập từ khóa của trang web cũng như 23 quảng cáo. Kết quả đạt được rất khả quan, mô hình khắc phục được vấn đề so khớp giữa quảng cáo và trang web có tập từ vựng khác nhau bằng việc khai thác mối quang hệ ngữ nghĩa ẩn trong nội dung của chúng. Cách tiếp cận này có thể được mở rộng và sử dụng một cách hiệu quả trong quảng cáo trên máy tìm kiếm. 24 Chương 3. Hệ thống quảng cáo trực tuyến sử dụng xếp hạng và chủ đề ẩn 3.1 Xếp hạng Trong nhiều ứng dụng cần sắp xếp các đối tượng theo một tiêu chí nào đó, ví dụ sắp xếp danh sách các nhân viên trong công ty theo tên, tuổi,... hay sắp xếp danh sách học sinh trong một lớp theo điểm trung bình. Công việc như vậy gọi là xếp hạng. Kết quả xếp hạng là một danh sách các đối tượng được sắp thứ tự mà ở đó một đối tượng được xếp trên một đối tượng khác khi nó thỏa mãn một yêu cầu nào đó [2]. Ta nói, đối tượng A có hạng cao hơn đối tượng B khi A có độ phù hợp với tiêu chí đặt ra lớn hơn so với B. Việc xếp hạng có thể được tiến hành theo các tiêu chí khác nhau, ta cần tính độ phù hợp của các đối tượng với tiêu chí đặt ra, hàm tính độ phù hợp được gọi là hàm tính hạng (ranking function). Mỗi khi nói tới xếp hạng đối tượng, chúng ta quan tâm tới hàm tính hạng. Một số vấn đề nổi trội về xếp hạng đó là: xếp hạng các trang web theo thứ tự độ quan trọng, xếp hạng các trường đại học theo quy mô và đặc biệt là xếp hạng các kết quả trong máy tìm kiếm theo mức độ phù hợp với truy vấn. Trên thực tế, xếp hạng được thực hiện ở rất nhiều lĩnh vực. Việc xếp hạng giúp ta có một cái nhìn tổng quan, tiếp cận được những đối tượng phù hợp nhất với yêu cầu đưa ra một cách nhanh nhất, có thể so sánh các đối tượng với nhau một cách dễ dàng. Điều đó cho thấy, xếp hạng là một bài toán rất quan trọng và có ý nghĩa. 3.1.1 Xếp hạng trong máy tìm kiếm Tốc độ phát triển nhanh chóng của World Wide Web (www) dẫn đến nhu cầu tìm kiếm các tài liệu trên internet trở nên rất lớn, máy tìm kiếm được sử dụng để phục vụ cho nhu cầu này của con người. Từ yêu cầu của người dùng, thường là một truy vấn, máy tìm kiếm sẽ tìm kiếm và đưa ra các tài liệu phù hợp với yêu cầu đó. Tuy nhiên số lượng kết quả phù hợp với truy vấn có thể là rất lớn, lên tới hàng trăm hay hàng nghìn, người dùng không thể lần lượt duyệt từng kết quả này để xác định đâu là tài liệu mình muốn tìm. Do vậy, bài toán đặt ra là phải tiến hành xếp hạng các tài liệu trả về từ máy tìm kiếm theo thứ tự giảm dần về độ phù hợp với truy vấn đầu vào. Việc xếp hạng sẽ giúp người dùng nhanh chóng tiếp cận với kết quả mong muốn, tiết kiệm được rất nhiều thời gian. 25 Bài toán xếp hạng có ý nghĩa rất quan trọng trong máy tìm kiếm. Khác với những xếp hạng đơn giản như xếp hạng học sinh theo điểm trung bình, xếp hạng nhân viên theo số lượng công việc hoàn thành… có một tiêu chí xếp hàng rõ ràng và hàm tính dạng có thể dễ xác định. Việc xếp hạng các kết quả trả về từ máy tìm kiếm là rất phức tạp, mỗi tài liệu có nhiều đặc trưng khác nhau, cần tìm ra mối quan hệ giữa các đặc trưng đó.Và từ đó kết hợp các đặc trưng lại để xây dựng hàm tính hạng phù hợp. Có rất nhiều thuật toán được đưa ra như: HITS, PageRank, TrustRank… mỗi thuật toán đều có những ưu, nhược điểm riêng. [21]Học xếp hạng được Joachims đánh giá là lĩnh vực nổi lên với sự phát triển lớn mạnh trong các nghiên cứu về tìm kiếm thông tin (information retrieval) và học máy (machine learning). Nói một cách khác, học hàm tính hạng hiện đang là vấn đề được quan tâm trong lĩnh vực học máy và có nhiều ứng dụng trong tìm kiếm thông tin. Học xếp hạng là học hàm của các đặc trưng để sắp xếp các đối tượng theo độ phù hợp, ưu tiên hay độ quan trọng…tùy vào từng ứng dụng cụ thể. Hiện nay nghiên cứu các phương pháp học tính hạng đang được nhiều nhà khoa học trên thế giới quan tâm. Dưới đây là thuật toán SVM-Rank, một trong những thuật toán học tính hạng phổ biến. 3.1.2 Học xếp hạng và SVM Rank 3.1.2.1 Học xếp hạng Các nghiên cứu về học xếp hạng chủ yếu tập trung vào ứng dụng xếp hạng các tài liệu trả về từ máy tìm kiếm dựa theo truy vấn. Có các tập tài liệu D = {d1, d2, …, dn} và với truy vấn q, cần xác định hàm xếp hạng h(x): D → R để sắp xếp các tài liệu D theo độ phù hợp với truy vấn [2]. Dữ liệu học S là xếp hạng đúng của một tập các tài liệu D’ Є D được đưa ra để học hàm h(x). Tùy từng ứng dụng mà có các mức yêu cầu khác nhau về sắp xếp thứ hạng đúng của dữ liệu: 1. Xác định giá trị độ phù hợp y cụ thể của từng đối tượng trong S, Do trong ứng dụng xếp hạng, người dùng quan tâm nhiều tới thứ tự thay vì giá trị xếp hạng nên y thường được xác định: 26 • Hai giá trị tương ứng với xếp hạng phù hợp (relevant) hay không phù hợp (irrelevant). Người dùng chỉ quan tâm các đối tượng có phù hợp tiêu chí đặt ra hay không. • N giá trị xác định tương ứng N hạng nhất định.Ví dụ: rất phù hợp, phù hợp, có thể phù hợp, không phù hợp. 2. Đưa ra các so sánh độ phù hợp của từng cặp đối tượng. 3. Danh sách sắp thứ tự đúng của “tất cả” các đối tượng theo độ phù hợp. Các phương pháp học xếp hạng theo Sounmen Chakrabarti [13] và Tie-Yan Liu [23] là: - Hồi quy (Regression): Có S = {(xi, hi)} mỗi đối tượng xi xác định giá trị yi tương ứng về độ phù hợp. Học hàm h(x) thỏa mãn: h(xi) = y(i) với mọi x Є X’ Trong học xếp hạng, khi giá trị yi xác định thứ hạng của đối tượng xi thì phương pháp gọi là hồi quy có thứ tự (Ordinal Regression). - Cặp thứ tự (Pairwise): Có S = {(xi, xj)} là tập các cặp đối tượng được sắp thứ tự, với mỗi cặp (xi, xj) có nghĩa xi có hạng cao hơn xj (xi phù hợp với điều kiện hơn xj) Tìm h(x): ׊(xi, xj) א S có xi > xj thì h(xi) > h(xj) SVM-Rank là một trong những thuật toán thuộc phương pháp này. - Danh sách sắp xếp (Listwise): Một thứ tự sắp xếp của tất cả các đối tượng được xác định. Tuy nhiên, điều này không khả thi trong một vài ứng dụng, ví dụ máy tìm kiếm. Ta có S = {x1, x2, ..., xm với xi Є X’ là một sắp thứ tự (x1 > x2 > ... > xm) Cần tìm hàm h(x) sao cho h(x1) > h(x2) > ... > h(xm) 3.1.2.2 SVM-Rank SVM-Rank là một thuật toán được xây dựng nhằm giải quyết vấn đề xếp hạng các tài liệu bằng việc sử dụng thuật toán học giám sát SVM. Giả sử dữ liệu đầu vào là tập tài liệu nằm trong không gian n chiều X € Rn với n là số đặc trưng của tài liệu. Tồn tại một kết quả xếp hạng Y = {r1 , r2 ,..., rq } với q là số 27 lượng các hạng có thể. Giả sử tồn tại một thứ tự giữa các hạng rq › rq-1 › ... › r1 trong đó "›" thể hiện quan hệ ưu tiên giữa các tài liệu [29]. Tồn tại một tập các hàm xếp hạng f € F mà mỗi hàm f có thể quyết định quan hệ ưu tiên giữa các tài liệu: xi › xj ↔ f(xi) > f(xj) (1) Giả sử ta có một tập các tài liệu đã được xếp hạng: S = {( xi , yi )} i =1,t từ không gian X × Y. Nhiệm vụ đặt ra là phải lựa chọn hàm f* tốt nhất từ F sao cho cực tiểu hóa độ sai lệch (loss value) với một hàm tính độ sai lệch cho trước (lost function) trên tập dữ liệu đã cho. [14]Herbrich đã chuẩn hóa vấn đề học ở trên thành việc học cho phân lớp trên các cặp tài liệu. Giả sử f là một hàm tuyến tính: Fw(x) = (2) Trong đó w là véc tơ trọng số và là ký hiệu của tích trong. Từ (1) và (2) ta có: xi › xj ↔ > 0 (3) Khi này, quan hệ giữa xi và xj: xi › xj được thể hiện bởi véc tơ xi - xj. Tiếp đó, ta lấy tất cả các cặp tài liệu và quan hệ giữa chúng để tạo nên một véc tơ mới và một nhãn mới. Kí hiệu x(1) và x(2) lần lượt là tài liệu thứ nhất và tài liệu thứ 2, y(1) và y(2) là hạng của chúng. Ta có: ݔԦሺଵሻ െ ݔԦሺଶሻ, ݖ ൌ ቊ ൅1 ݕሺଵሻ ൐ ݕሺଶሻ െ1 ݕሺଶሻ ൐ ݕሺଵሻ (4) Từ tập dữ liệu train S ta tạo ra một tập dữ liệu train khác S' với l véc tơ đã được gán nhãn: S’ = {xi(1) – xi(2), zi} i = 1,n (5) Sử dụng S' làm dữ liệu cho phân lớp và xây dựng một mô hình SVM cho phép xác định nhãn z là âm hay dương z = +1 hay z = -1 với mỗi véc tơ x(1) - x(2) Việc xây dựng mô hình SVM tương đương với việc giải bài toán: 28 min௪ሬሬԦ ܯሺݓሬሬԦሻ ൌ ଵ ଶ ԡݓሬሬԦԡ ൅ ܥ ∑ ߦ௜௟௜ୀଵ ݏݑܾ݆݁ܿݐ ݐ݋ ߦ௜ ൒ 0, ݖ௜ ۃݓሬ ଶ ሬԦ, ݔపሬሬሬԦ ሺଵሻ െ ݔపሬሬሬԦ ሺଶሻۄ ൒ 1 െ ߦ௜ ݅ ൌ 1,… , ݈ (6) Việc tối ưu (6 n ơ ớ) tươ g đư ng v i tối ưu (7) khi λ = 1/2C: min௪ሬሬԦ ∑ ቂ1 െ ݖ௜ ۃݓሬሬԦ, ݔపሬሬሬԦ ሺଵሻ െ ݔపሬሬሬԦ ሺଶሻۄቃ ା ௟ ௜ୀଵ ൅ ߣԡݓሬሬԦԡଶ (7) Giả sủ w* là véc tơ trọng số của mô hình SVM. Về mặt hình học, w* sẽ vuông góc với siêu phẳng của Ranking SVM. Ta sử dụng w* để xây dựng hàm ranking fw* cho việc xếp hạng các tài liệu: fw*(x) = (8) Khi áp dụng SVM, mỗi vectơ đặc trưng được tạo ra từ một cặp tài liệu. Mỗi đặc trưng được định nghĩa như một hàm của truy vấn và tài liệu.Ví dụ đặc trưng tần suất xuất hiện của từ khóa được tính bằng số lần xuất hiện của các từ khóa trong câu truy vấn trên tài liệu. Tất cả các kết quả từ tất cả các truy vấn được sử dụng trong quá trình training. Không có sự khác biệt giữa các tài liệu từ các truy vấn khác nhau. Hơn nữa, không có sự khác biệt giữa các cặp tài liệu thuộc các hạng khác nhau, trong khi trên thực tế, ảnh hưởng của việc xếp hạng sai giữa những tài liệu có hạng cao với tài liệu có hạng thấp là lớn hơn so với việc xếp hạng sai giữa những tài liệu có hạng thấp với nhau . Đây chính là hai vấn đề có thể gây ra sự thiếu chính xác của Ranking SVM. Để giải quyết hai vấn đề được nêu ở trên, ta có thể định nghĩa một hàm loss mới dựa trên cơ sở của Hinge Loss [29]. Loss function Trong loss function ở (9) ta thêm một tham số hạng τ để điều chỉnh độ lệch giữa các cặp hạng, thêm tham số μ để điều chỉnh độ lệch giữa các truy vấn. Ta phát biểu lại bài toán của Ranking SVM với mục tiêu là cực tiểu hóa loss function sau: min ௪ሬሬԦ ܮሺݓሬሬԦሻ ൌ෍߬௞ሺ௜ሻߤ௤ሺ௜ሻ ቂ1 െ ݖ௜ ۃݓሬሬԦ, ݔపሬሬሬԦ ሺଵሻ െ ݔపሬሬሬԦ ሺଶሻۄቃ ା ௟ ௜ୀଵ ൅ ߣԡݓሬሬԦԡଶ (9) Trong đó k(i) là hạng của cặp tài liệu i, τk(i) là tham số hạng của k(i), q(i) ứng với truy vấn của cặp tài liệu i, μq(i) là tham số của truy vấn q(i). Độ vi phạm nhận được từ cặp thứ i được quyết định bởi tích của τk(i) và μq(i): τk(i) μq(i) 29 Xác định giá trị các tham số Ta phải xác định làm thế nào để tính giá trị của τ và μ. Với τ, ta sử dụng một phương pháp Heuristic để ước lượng các tham biến dựa trên mô hình cơ sở. Giả sử NDCG được sử dụng để đánh giá (có thể sử dụng các độ đo khác). Thuật toán được mô tả như sau: Hình 8. Thuật toán ước lượng tham biến τ [29] Với μ ta tính như s :au ߤ௤ሺ௜ሻ ൌ ௠௔௫ೕஷሼ୬୦ữ୬୥ ୡặ୮ ୲à୧ ୪୧ệ୳ ứ୬୥ ୴ớ୧ ୯ሺ୨ሻሽ ஷሼ୬୦ữ୬୥ ୡặ୮ ୲à୧ ୪୧ệ୳ ứ୬୥ ୴ớ୧ ୯ሺ୧ሻሽ (10) 3.1.3 Các phương pháp đánh giá xếp hạng Để đánh giá chất lượng một xếp hạng, các độ đo thông dụng trong học máy như độ chính xác (precision), độ hồi tưởng (recall), độ đo F không được sử dụng. Xếp hạng yêu cầu các đối tượng “đúng” (phù hợp với tiêu chí) được xếp ở các vị trí đầu tiên của bảng xếp hạng càng tốt. Dưới đây là một số độ đo đánh giá mức hiệu quả của xếp hạng: 30 3.1.3.1 MAP Độ chính xác mức K: P@K – Precision@K là độ chính xác của K đối tượng đầu bảng xếp hạng. Xác định số đối tượng đúng ở K vị trí đầu tiên của xếp hạng và gọi là Match@K ܲ@ܭ ൌ ܯܽݐ݄ܿ@ܭ ܭ [19]. Ta có: Độ chính xác trung bình (AP): là giá trị trung bình của các P@K tại các mức K có đối tượng đúng. Gọi I(K) là hàm xác định đối tượng ở vị trí hạng K nếu đúng I(K) = 1 và ngược lại I(K) = 0. Độ chính xác h: trung bìn ܣܲ ൌ ∑ ܲ@ܭ ݔ ܫሺܭሻ௡௄ୀଵ ∑ ܫሺ݆ሻ௡௝ୀଵ Giá trị trung bình trên tất cả các truy vấ Average Precision): n (Mean ܯܣܲ ൌ ∑ ܣ ௜ܲ ௠ ௜ୀଵ ݉ Trong đó m là tổng số truy vấn. Ví dụ: Giả sử có 6 đối tượng tương ứng là: a, b, c, d, e. Trong đó a, b, c là các đối tượng phù hợp và d, e là các đối tượng không phù hợp. Một xếp hạng của các đối tượng cần đánh giá là: c, a, d, b, e. Khi đó ta có: p@1 = 1; P@2 =1; P@3 = 2/3; P@4 = 3/4; P@5 = 3/5. AP(1) = 1; AP(2) = 1; AP(3) = 1; AP(4) = (1 + 1 + 3/4) / 3 3.1.3.2 NDCG (Normalized Discounted cumulative gain) DCG (Discounted cumulative gain) là một độ đo mức hiệu quả của các thuật toán trên hệ thống máy tìm kiếm hay những ứng dụng tương tự, và thường được sử dụng trong tìm kiếm thông tin (Information Retrieval). Sử dụng một độ đo tính phù hợp của các tài liệu trong tập kết quả trả về bởi máy tìm kiếm, DCG đo sự hiệu quả của một tài liệu dựa trên vị trí của nó trong danh sách. Con số này được tính tính lũy từ đầu tới cuối danh sách kết quả và giảm dần ở những vị trí thấp hơn[19]. 31 Hai giả thiết được đưa ra trong việc sử dụng DCG và những phép đo có liên quan: o Sẽ tốt hơn nếu những tài liệu có độ phù hợp cao xuất hiện sớm trong danh sách kết quả của máy tìm kiếm (có rank cao hơn) o Những tài liệu có độ phù hợp cao thường hữu ích hơn so với những tài liệu có độ phù hợp thấp, và những tài liệu này lại hữu ích hơn so với những tài liệu không phù hợp. DCG được hình thành từ một độ đo nguyên thủy hơn, đó là CG (Cumulative Gain). Cumulative Gain: độ đo CG không quan tâm tới vị trí của kết quả trong tính toán, nó tính tổng độ phù hợp của tất cả các tài liệu trong danh sách kết quả. Độ đo CG tại một vị trí p được tính như sau: ܥܩ௣ ൌ෍ݎ݈݁௜ ௣ ௜ୀଵ Trong đó reli là mức độ phù hợp của kết quả tại vị trí thứ i. Độ đo CG không bị ảnh hưởng bởi thứ tự sắp xếp các kết quả trong danh sách. Việc chuyển tài liệu có độ phù hợp cao xuống vị trí thấp không làm thay đổi giá trị CG. Dựa vào hai giả thiết ở trên về mức hiệu quả của kết quả tìm kiếm, DCG được sử dụng để đem lại hiệu quả cao hơn. Discounted cumulative gain: tiền đề của DCG là những tài liệu có độ phù hợp cao hơn nhưng lại xuất hiện ở những vị trí thấp hơn sẽ dẫn tới một mức “phạt” (penalty) bằng cách giảm độ phù hợp của tài liệu đi một lượng bằng logarit của vị trí trong kết quả. DCG tại vị trí p được tính như sau: ܦܥܩ௣ ൌ ݎ݈݁ଵ ൅෍ ݎ݈݁௜ logଶ ݅ ௣ ௜ୀଶ Ngoài ra DCG còn được tính theo công th c: ứ ܦܥܩ௣ ൌ෍ 2௥௘௟೔ െ 1 logଶሺ1 ൅ ݅ሻ ௣ ௜ୀଶ 32 ݊ܦܥܩ௣ ൌ ܦܥܩ௣ ܫܦܥܩ௣ Normalized DCG: Trong đó: IDCGp (Ideal Discounted cumulative gain) là giá trị DCG trong trường hợp kết quả đưa ra là hoàn hảo, nhận được khi tất cả các tài liệu đều được xếp đúng vị trí tương ứng với độ phù hợp của chúng. Ví dụ: Giả sử có 6 tài liêu a, b, c, d, e, f với các độ phù hợp lần lượt là: 3, 3, 2, 2, 1, 0. Một kết quả xếp hạng được đưa ra như sau: b, c, a, f, e, d. Ta có: CG6 = 3 + 2 + 3 + 0 + 1 + 2 = 11 DCG6 = 3 + (2 + 1.887 + 0 + 0.431 + 0.772) = 8.09 IDCG = 3 + (3 + 2/1.59 + 2/2 + 1/2.32 + 0) = 8.693 nDCG6 = DCG6/IDCG6 = 8.09/8.693 = 0.9306 Ngoài hai độ đo trên, một số độ đo khác cũng được sử dụng như: trung bình nghịch đảo thứ hạng (MRR), số đối tượng đúng ở mức k (Match@K), trung bình tổng nghịch đảo thứ hạng của các đối tượng đúng (MTRR) [2]. Tuy nhiên NDCG và MAP là hai độ đo khá phổ biến và được sử dụng trong rất nhiều công trình như [11], [19], [29]. 3.2 Chủ đề ẩn Vấn đề biểu diễn dữ liệu một cách hiệu quả để khai thác mối quan hệ giữa các dữ liệu ngày càng trở nên tinh vi và phức tạp hơn. Đã có rất nhiều nghiên cứu nhằm giải quyết về vấn đề này. Các mô hình chủ đề ẩn [10] là một bước tiến quan trọng trong việc i reli log2i reli/log2i 1 3 N/A N/A 2 2 1 2 3 3 1.59 1.887 4 0 2.0 0 5 1 2.32 0.431 6 2 2.59 0.772 33 mô hình quá dữ liệu văn bản. Chúng được dựa trên ý tưởng rằng mỗi tài liệu có một xác suất phân phối vào các chủ đề, và mỗi chủ đề là sự phân phối kết hợp giữa các từ. Biểu diễn các từ và tài liệu dưới dạng phân phối xác suất có lợi ích rất lớn so với mô hình không gian véc tơ thông thường. Một ý tưởng của các mô hình chủ đề ẩn là xây dựng những tài liệu mới dựa theo phân phối xác suất. Trước hết, để tạo ra một tài liệu mới, ta cần chọn ra một phân phối những chủ đề cho tài liệu đó, điều này có nghĩa tài liệu được tạo nên từ những chủ đề khác nhau, với những phân phối khác nhau. Tiếp đó, để sinh các từ cho tài liệu ta có thể lựa chọn ngẫu nhiên các từ dựa vào phân phối xác suất của các từ trên các chủ đề. Một cách hoàn toàn ngược lại, cho một tập các tài liệu, ta có thể xác định một tập các chủ đề ẩn cho mỗi tài liệu và phân phối xác suất của các từ trên từng chủ đề. Hai ví dụ về phân tích chủ đề sử dụng mô hình ẩn là Probabilistic Latent Semantic Analysis (pLSA) and Latent Dirichlet Allocation (LDA). PLSA là một kĩ thuật thống kê nhằm phân tích những dữ liệu xuất hiện đồng thời [17]. Nó được phát triển dựa trên LSA kết hợp với một mô hình xác suất. Tuy nhiên, theo phân tích của Blei và các cộng sự (2003) [10], mặc dù LPSA là một bước quan trọng trong việc mô hình hóa dữ liệu văn bản, tuy nhiên nó vẫn còn chưa hoàn thiện ở chỗ chưa xây dựng được một mô hình xác suất tốt ở mức độ tài liệu. Điều đó dẫn đến vấn đề gặp phải khi phân phối xác suất cho một tài liệu nằm ngoài tập dữ liệu học, ngoài ra số lượng các tham số có thể tăng lên một cách tuyến tính khi kích thước của tập dữ liệu tăng. LDA, là một mô hình hoàn thiện hơn so với PLSA và có thể khắc phục được những nhược điểm ở trên. Mô hình chủ đề ẩn này sẽ được sử dụng trong việc xây dựng hệ thống của chúng tôi. 3.2.1 Latent Dirichlet Allocation (LDA) Latent Dirichlet Allocation (LDA) là một mô hình sinh xác suất cho tập dữ liệu rời rạc như text corpora. LDA dựa trên ý tưởng: mỗi tài liệu là sự trộn lẫn của nhiều chủ đề (topic). Về bản chất, LDA là một mô hình Bayesian 3 cấp (three-level hierarchical Bayes model: corpus level, document level, word level) trong đó mỗi phần của mô hình được coi như một mô hình trộn hữu hạn trên cơ sở tập các xác suất chủ đề [27]. 34 3.2.2 Mô hình sinh trong LDA Cho một corpus của M tài liệu biểu diễn bởi D={d1,d2, …, dM}, trong đó, mỗi tài liệu m trong corpus bao gồm Nm từ wi rút từ một tập từ vựng của các mục từ {t1, …, tv}, V là số lượng các mục từ t trong tập từ vựng. LDA cung cấp một mô hình sinh đầy đủ chỉ ra kết quả tốt hơn các phương pháp trước. Quá trình sinh ra văn bản như sau: Hình 9. Mô hình biểu diễn của LDA[15] Các khối vuông trong (Hình 9) biểu diễn các quá trình lặp. Tham số đầu vào: α và β (corpus-level parameter) α: Dirichlet prior on (theta) mϑ r β: Dirichlet prior on kϕr r r mϑ (theta): phân phối của topic trong document thứ m (document-level parameter). biểu diễn tham số cho p(z|d=m), thành phần trộn topic cho tài liệu m. Một tỷ lệ cho mỗi tài liệu, mϑ { } matrix) K(M Mmm ×=Θ =1ϑr zm,n: topic index (word n của văn bản m) wm,n: word n của văn bản m chỉ bởi zm,n (word-level variable, observed word) kϕr : Phân phối của các từ được sinh từ topic zm,n . kϕr biểu diễn tham số cho p(t|z=k), thành phần trộn của topic k. Một tỷ lệ cho mỗi topic, { } matrix) V(K Kkk ×=Φ =1ϕr M: số lượng các tài liệu. 35 Nm: số lượng các từ trong tài liệu thứ m (hay còn gọi là độ dài của văn bản) K: số lượng các topic ẩn. LDA sinh một tập các từ wm,n cho các văn bản md r bằng cách: • Với mỗi văn bản m, sinh ra phân phối topic mϑ r cho văn bản. • Với mỗi từ, zm,n được lấy mẫu dựa vào phân phối topic trên. • Với mỗi topic index zm,n, dựa vào phân phối từ kϕr , được sinh ra. nmw , • kϕr được lấy mẫu một lần cho toàn bộ corpus. Mô hình sinh đầy đủ (đã chú giải) được biểu diễn trong Hình 10. Hình 10. Mô hình sinh đầy đủ cho LDA [28]. Ở đây, Dir, Poiss and Mult lần lượt là các phân phối Dirichlet, Poisson, Multinomial. (Lấy mẫu theo phân phối Dirichlet, Poisson, Multinomial). 3.2.3 Ước lượng tham số và suy luận Cho trước một tập các văn bản, yêu cầu của quá trình này là tìm xem topic model ( , ) nào đã sinh ra tập các văn bản trên. Quá trình ước lượng tham số cho LDA với kỹ thuật Gibbs Sampling gồm các bước: kϕr mϑ r 36 Khởi tạo: lấy mẫu lần đầu. Dưới đây là mã giả của quá trình khởi tạo lấy mẫu lần đầu: ( )t zn ( )z mnzero all count variables, , ,mn , zn [ ]Mm ,1∈for all documents do [ ]mNn ,1∈ for all words in document do m sample topic index ~Mult(1/K) nmz , ( ) 1+smn increment document-topic count: 1+mn increment document-topic sum: ( ) 1+tsn increment topic-term count: 1+zn increment topic-term sum: end for end for Trong đó: : số topic z trong văn bản m ( )zmn : tổng số topic trong văn bản m mn : số term t trong topic z ( )tzn : tổng số term trong topic z zn Mỗi lần lấy mẫu cho một từ, các tham số đối với từng term và topic trên lần lượt được tăng lên. Giai đoạn burn-in: quá trình lấy mẫu lại cho đến khi đạt được một độ chính xác nhất định. Mã giả của quá trình này: while not finished do [ ]Mm ,1∈ for all documents do for all words in document do [ mNn ,1∈ ] m - for the current assignment of to a term t for word : z nmw , 37 ( ) 1−tzn( ) 1−zmn decrement counts and sums: ; 1−mn ; ; 1−zn - multinomial sampling acc. (decrements from previous step): ( )wzzpz ii rr ,|~~ − sample topic index - use the new assignment of to the term t for word to: z nmw , ( ) 1+zm r ; ; n 1+znr1+tzn r increment counts and sums: end for end for Trong mỗi lần lấy mẫu lại: các tham số tương ứng với các topic và term cũ giảm đi 1, các tham số tương ứng với các topic và term mới tăng lên 1. Kiểm tra sự hội tụ và đọc ra các tham số: Quá trình kết thúc, đọc các tham số đầu ra Φvà . Mã giả của quá trình đọc các tham số đầu ra: Θ if converged and L sampling iterations since last read out then - the different parameters read outs are averaged read out parameter set Φacc. to Eq. kϕr read out parameter set Θ acc. to Eq. mϑ r end if end while 2 phân phối ẩn kϕr và được tính như sau: mϑ r ( ) ( ) v V v v k t t k tk n n β βϕ + += ∑ =1 , ( ) ( ) z K z z m k k m km n n α αϑ + += ∑ =1 , Với mô hình ước lượng LDA đã cho, có thể suy luận chủ đề cho các tài liệu mới bằng các thủ tục lấy mẫu tương tự. 38 3.3 Mô hình quảng cáo trực tuyến hướng câu truy vấn với sự giúp đỡ của phân tích chủ đề và kỹ thuật tính hạng Như đã trình bày ở những chương trước, một bài toán quan trọng của quảng cáo trên máy tìm kiếm đó là việc xếp hạng các quảng cáo theo độ phù hợp với truy vấn của người dùng. Từ những phương pháp được trình bày ở Chương II, cho thấy việc lựa chọn các đặc trưng cho việc biểu diễn quảng cáo là hết sức quan trọng. Có những trường hợp giữa quảng cáo và từ khóa có sự phù hợp lớn, tuy nhiên tập từ vựng sử dụng trong quảng cáo và truy vấn là khác nhau. Do vậy, bên cạnh các đặc trưng về từ khóa, việc sử dụng một số đặc trưng ở mức trừu tượng cao hơn là rất cần thiết. Những nghiên cứu của Andrei và các cộng sự [11] đã cho thấy, việc sử dụng các đặc trưng mở rộng như phân lớp truy vấn, cụm từ Prisma đem lại những kết quả khả quan. Đặc biệt là nghiên cứu của Lê Diệu Thu [27] đã chỉ ra rằng, việc sử dụng chủ đề ẩn trong quảng cáo theo ngữ cảnh nhằm mở rộng tập từ vựng của quảng cáo cũng như trang web đem lại kết quả rất khả quan. Trong phần này, ta sẽ trình bày một mô hình quảng cáo trực tuyến trên máy tìm kiếm sử dụng kĩ thuật phân tích chủ đề ẩn và tính hạng. Khác với mô hình đã được xây dựng bởi Lê Diệu Thu [27], mô hình của chúng ta được xây dựng nhằm mục đích 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. Kĩ thuật chủ đề ẩn được sử dụng trong việc xây dựng những đặc trưng mới để biểu diễn quảng cáo. Ngoài ra, mô hình còn khai thác một lượng lớn các query logs nhằm xây dựng tập dữ liệu học. 3.3.1 Mô tả bài toán Bài toán được mô tả như sau: Từ truy vấn của người dùng và một tập các quảng cáo đã có sẵn, yêu cầu đưa ra K quảng cáo phù hợp nhất với truy vấn. Input: - Truy vấn q - Tập quảng cáo A = {a1, a2, ..., an} Output: - K quảng cáo R = {ar1, ar2, ..., ark} Để giải quyết bài toán, chúng ta xây dựng hàm ranking F như sau: F: {Q}x{A} Æ [0,1] 39 Với F(q, a) trả về độ phù hợp của quảng cáo a đối với truy vấn q, độ phù hợp càng lớn quảng cáo sẽ được xếp hạng càng cao. Zeng [29] và Xu [29] đã chỉ ra rằng, sử dụng thuật toán SVM ranking đem lại kết quả tốt trong việc xếp hạng cũng như phân cụm kết quả tìm kiếm, khi sử dụng cả truy vấn, title và snippet (nội dung tóm tắt) trong quá trình học. Trong mô hình này, SVM rank sẽ được sử dụng để xây dựng hàm xếp hạng F như trên. 3.3.2 Mô hình tổng quan Từ những nghiên cứu đã được đề cập ở trên, chúng tôi đề xuất hệ thống quảng cáo trên máy tìm kiếm sử dụng phân tích chủ đề ẩn và kĩ thuật tính hạng. Hệ thống được mô tả một cách tổng quan như sau. Model estimation (2) Estimated Model Topic inference (6) Key word Matching (5) Ads Relevant Ads New Training data (3) Learn to rank model (4) Ranking function (7) Relevant Ads Ranking Training data (1) Hình 11. Mô hình tổng quan hệ thống quảng cáo sử dụng chủ đề ẩn Mô hình gồm các bước chính sau: 1) Xây dựng tập dữ liệu học. Tập dữ liệu học được xây dựng bằng cách phân tích các query logs, thu thập các tiêu đề, mô tả của trang web và coi chúng như một quảng cáo (tài liệu). 40 2) Xây dựng mô hình chủ đề ẩn, xác định các chủ đề và phân phối xác suất của các chủ đề trên từng tài liệu. 3) Xây dựng tập dữ liệu học với đặc trưng mới, các đặc trưng ở đây gồm có tần suất xuất hiện của từ khóa và xác suất để mỗi tài liệu thuộc vào một chủ đề. 4) Xây dựng hàm xếp hạng từ tập dữ liệu học thu được. Hàm xếp hạng được xây dựng sử dụng thuật toán SVM-Rank. 5) Tìm kiếm các quảng cáo phù hợp với truy vấn. 6) Xác định chủ đề ẩn của quảng cáo và biểu diễn quảng cáo theo đặc trưng mới. 7) Xếp hạng các quảng cáo sử dụng hàm xếp hạng đã được xây dựng từ tập dữ liệu học. 3.3.3 Xác định đặc trưng cho mô hình 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 F u IDFreq ency ( ): ݅݀ ௜݂ ൌ 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ó: 41 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] 42 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 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: 43 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 2 GibbsLDA++ Phan Xuân Hiếu 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. 44 • 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ó 45 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ự: 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 đó. 46 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. 47 • 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). 48 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 RTF RHT MAP NDCG@1 NDCG@3 NDCG@5 T vấn kh H thống là 0.84 Hình 12. Trung bình các độ đo trên tất cả các truy vấn iến hành s ác nhau. o sánh trung bình các độ đo NDCG@5 và MAP trên từng số lượng 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 ình 13 ch RTF. Giá tại số truy rung bình o thấy trun trị cực đại đ vấn 40. 10 độ đo NDC g bình độ đ ạt được là 20 49 G@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 4 g truy vấn hống RHT 0 và giá trị 0 RTF RHT khác nhau cao hơn so cựu tiểu đ 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. 50 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. 51 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 đỡ của chủ đề ẩn và kỹ thuật xếp hạng. Phương pháp khai thác query logs nhằm mục đích xây dựng tập dữ liệu học. • Thực nghiệm và đánh giá kết quả của mô hình được đưa ra. Kết quả cho thấy trong một số trường hợp mô hình cải tiến độ chính xác tới 0.2. Do giới hạn về thời gian cũng như kiến thức của tác giả nên khóa luận còn có một số điểm hạn chế, đó là chưa xây dựng được tập dữ liệu quảng cáo và module tìm kiếm quảng cáo theo truy vấn của người dùng. Những hạn chế này cần được tiếp tục nghiên cứu để xây dựng một hệ thống hoàn thiện hơn, có thể áp dụng cho các máy tìm kiếm ở Việt Nam. 52 Tài liệu tham khảo Tiếng Việt [1] Bộ Công Thương, Báo cáo thương mại điện tử Việt Nam năm 2008, [2] Nguyễn Thu Trang. “Học xếp hạng trong tính hạng đối tượng và tạo nhãn cụm tài liệu”. Luận văn thạc sĩ, Đại học công nghệ, ĐHQGHN, 2008. [3] Dân Trí, Báo điện tử Dân Trí [4] Hiệp hội quảng cáo Việt Nam VAA, [5] Thư viện thông tin Zing Directory, 2008. [6] Từ điển Bách khoa toàn thư Việt Nam [7] VnExpress. Báo điện tử trực tuyến Việt Nam, Tiếng Anh [8] Advertising Educational Foundation. Advertising & Society Review, Volume 6, Issue 1. E-ISSN 1154-7311, 2005. [9] Kevin Amos, director-product development at search-engine marketing firm Impaqt Oser, 2004. [10] D. Blei, A. Ng, and M. Jordan. Latent Dirichlet Allocation. Journal of Machine Learning Research, 3:993-1022, January 2003. [11] Andrei Z. Broder; Ciccolo, P.; Fontoura, M.; Gabrilovich, E.; Josifovski, V.; Riedel, L. Search advertising using web relevance feedback. In Proceeding of the 17th ACM conference on Information and knowledge management, 2008. Pages 1013-1022 . [12] Yunbo Cao, Jun Xu, Tie-yan Liu, Hang Li, Yalou Huang, Hsiao-wuen Hon. Adapting ranking SVM to document retrieval. In Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 2006. 53 [13] Chakrabarti, S. “Learning to rank in vector spaces and social networks”. Tutorial - 16th international conference on World Wide Web(2007). [14] R. Herbrich, T. Graepel, and K. Obermayer. Large Margin Rank Boundaries for Ordinal Regression. Advances in Large Margin Classifiers, pages 115-132, 2000. [15] Phan Xuan Hieu, Susumu Horiguchi, Nguyen Le Minh (2008). Learning to Classify Short and Sparse Text & Web with Hidden Topics from Large-scale Data Collections, In Proc. of The 17th International World Wide Web Conference, 2008. [16] Phan Xuan Hieu, “GibbsLDA++: A C/C++ and Gibbs Sampling based Implementation of Latent Dirichlet Allocation (LDA)”, 2007. [17] T. Hofmann. Probabilistic LSA. Proc. UAI, 1999. [18] Ms. Duong Thu Huong, Public Relations & Operations Manager at IDG Ventures Vietnam based in Ho Chi Minh City, VietnamNet e-newspaper, [19] K. Jarvelin and J. Kekalainen. IR evaluation methods for retrieving highly relevant documents. Proceedings of the 23rd annual international ACM SIGIR conference on Research and development in information retrieval, pages 41-48, 2000. [20] Kalervo Järvelin & Jaana Kekäläinen University of Tampere Department of Information Studies Finland. IR evaluation methods for retrieving highly relevant documents.. 2000. [21] Joachims, T., Li, H., Liu, T.-Y., and Zhai, C. Learning to rank for information retrieval (lr4ir 2007). SIGIR Forum 41, 2 (2007), 58- 62. [22] A. Lacerda, M.Cristo, M.Andre; G., W.Fan, N.Ziviani, and B.Ribeiro-Neto. Learning to Advertise. In SIGIR06, ACM: Proc.of the 29th annual intl. ACMSIGIRconf., pages 8. CONCLUSION 549556, NewYork, NY, 2006. [23] Liu, T.-Y. “Learning to rank in information retrieval”. In WWW '08: Tutorial - 17th international conference on World Wide Web (2008). 54 [24] B.Ribeiro-Neto, M.Cristo,P.B.Golgher, and E.S. de Moura. Impedance Coupling in Content-targeted Advertising. In SIGIR05, ACM: Proc. Of the 28th annual intl. ACMSIGIR conf., pages 496503, New York, NY, 2005. [25] M.Richardson, E. Dominowska, R. Ragno. Predicting Clicks: Estimating the Click-Through Rate for New Ads. January 2007 In Proceedings of the 16th International World Wide Web Conference Pages: 521 - 530. [26] G. Salton, A. Wong, C.S. Yang. A Vector Space Model for Automatic Indexing, Communication of the ACM, Volum 18, Number 11, 1975. [27] Le Dieu Thu, On the analysis of large-scale datasets towards online contextual advertising, thesis in Coltech of Technology, Viet Nam National University, Ha Noi, Viet Nam, 2008. [28] Nguyen Cam Tu, (2008). Hidden Topic Discovery Toward Classification And Clustering In Vietnamese Web Documents. MSc. thesis in Coltech of Technology, Viet Nam National University, Ha Noi, Viet Nam, 2008. [29] Jun Xu, Yunbo Cao, Hang Li, Yalou Huang. Cost-sensitive learning of SVM for ranking. In ECML , 2006. [30] W.Yih, J.Goodman, andV.R.Carvalho. Finding advertising keywords on web pages. In WWW06, ACM: Proc. Of the 15th intl. conf. on World Wide Web, pages 213222, NewYork, NY, 2006. [31] H. J. Zeng, Q. C. He, Z. Chen, W. Y. Ma, J. Ma.Learning to Cluster Web Search Results.. In Proceedings of the ACM SIGIR Conference, 2004. [32] CIA Advertising, www.ciaadvertising.org. [33] Interactive Advertising Bureau (IAB) and Price Water House Coopers (PWC), Internet Advertising Revenue Report, [34] Internet Archive, [35] Joachims SVM-Rank toolkit [36] Microsoft Social Network MSN, [37] Nutch: an open-source search engine, 55 56 [38] Online Advertising, news and quality online advertising information, [39] Wikipedia, The Free Encyclopedia

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-QUẢNG CÁO TRỰC TUYẾN HƯỚNG CÂU TRUY VẤN VỚI SỰ GIÚP ĐỠ CỦA PHÂN TÍCH CHỦ ĐỀ VÀ KỸ THUẬT TÍNH HẠNG.pdf