HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Đặng Hữu Hải
NGHIÊN CỨU XÂY DỰNG CÔNG CỤ QUẢNG CÁO THEO NGỮ CẢNH Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2013
thành “mỏ vàng” của các nhà sản xuất và cung cấp, các công ty muốn truyền thông sản
phẩm của mình. Vài năm gần đây đã bắt đầu xuất hiện một loại hình quảng cáo trực
tuyến mới : quảng cáo theo ngữ cảnh. Ở Việt Nam, mặc dù đã bắt đầu xuất hiện nhưng đa
phần quảng cáo trên các trang web vẫn là dạng quảng cáo “tĩnh”, chưa có tính chất
“động” của quảng cáo theo ngữ cảnh.
Các nhà quảng cáo đã nhận ra rằng quảng cảo dạng “tĩnh” sẽ kém hiệu quả hơn
rất nhiều các quảng cáo dạng “động” theo ngữ cảnh. Các nhà quảng cáo và các đơn vị có
nhu cầu quảng cáo mong muốn thông tin về sản phẩm đến với các đối tượng phù hợp, đó
là xu hướng quảng cáo mới trên thế giới: đưa quảng cáo đến với tập khách hàng có tiềm
năng nhất, là những người có khả năng sẽ mua sản phẩm cao nhất, việc này phải được
thực hiện một cách hoàn toàn tự động
Từ nhu cầu thực tế trên, luận văn tiến hành nghiên cứu lý thuyết và xây dựng thử
nghiệm một hệ thống máy quảng cáo (tạm gọi là AdSense) . AdSense cho phép phân phối
động các quảng cáo đến các trang web nhận đăng quảng cáo sao cho phù hợp với nội
dung của trang hiện tại.
Trong đề tài này, luận văn tìm hiểu và đề xuất hướng giải quyết cho 1 số vấn đề
như: bóc tách nội dung văn bản web, phân lớp văn bản vào các chủ đề cho trước…
Đề tài tập trung tìm hiểu thực trạng quảng cáo trực tuyến ở Việt Nam và trên thế
giới, trong đó đi sâu và hình thức quảng cáo theo ngữ cảnh mới xuất hiện gần đây và các
phương pháp phân lớp, so sánh dữ liệu , để từ đó ứng dụng xây dựng 1 công cụ quảng
cáo theo ngữ cảnh đơn giản.
Luận văn sẽ trình bày về vấn đề phân loại một văn bản web vào một trong các chủ
đề có sẵn, từ đó có cơ sở để xác định các quảng cáo phù hợp cho trang web.
Trong luận văn cũng có phần trình bày ứng dụng các nghiên cứu ở trên để xây
dựng thử nghiệm một hệ thống quảng cáo AdSense đơn giản và các kết quả đạt được.
2
Nội dung chính của luận văn được trình bày theo cấu trúc như sau:
Chương 1: Luận văn sẽ trình bày sơ lược về quảng cáo trực tuyến cũng như quảng
cáo theo ngữ cảnh nội dung. Tiếp đến là phần sơ lược về hệ thống quảng cáo theo ngữ
- Khác với các phương tiện quảng cáo khác, để tiếp cận được với quảng cáo trực
tuyến đối tượng tiềm năng của bạn phải có máy tính và máy tính phải được nối mạng
Internet.
- Người dùng phải có kỹ năng duyệt web.
- Ở các nước phát triển, việc tin tưởng vào quảng cáo và mua hàng trực tuyến đang
rất phổ biến, còn ở nước ta, đây mới chỉ là xu hướng và chỉ thực sự có hiệu lực cho một
số ngành nghề phù hợp.
- Các văn bản và chính sách đang trong quá trình hoàn thiện, còn nhiều kẽ hở cho
lừa đảo trực tuyến phát triển cũng làm giảm độ tin cậy của quảng cáo trực tuyến.
4
1.3 Những hình thức quảng cáo trực tuyến cơ bản
Quảng cáo trực tuyến tại Việt Nam hiện nay thường theo các hình thức sau:
- Thông qua các cỗ máy tìm kiếm.
- Đặt logo hoặc banner tại các website có lượng người truy cập lớn
- Thông qua hệ thống thư điện tử (email)
- Quảng cáo đa phương tiện
1.4 Tiếp cận quảng cáo theo ngữ cảnh
Hệ thống quảng cáo theo ngữ cảnh sẽ quét nội dung trên một trang web để tìm kiếm
các từ khoá và trả lại một danh sách những quảng cáo thích hợp có liên quan tới nội dung
đang được xem trên trang web đó.
1.5 Mô hình hệ thống quảng cáo theo ngữ cảnh AdSense
Mô hình nghiệp vụ:
Hệ thống AdSense đóng vai trò như là nhà trung gian, tiếp nhận các quảng cáo từ
các nhà quảng cáo (tạm gọi là Subcriber) và thực hiện phân phối lại các quảng cáo này
trên mạng lưới các trang web thành viên của nó
Mô hình hoạt động
Hệ thống cho phép các nhà quảng cáo đăng ký các mẩu quảng cáo. Các mẩu quảng
cáo được đại diện bởi một số từ khóa do nhà quảng cáo tự xác định. Sau đó, các quảng
cáo này sẽ được hệ thống phân phối và hiển thị trên mạng lưới các trang web thành viên
xử lý trên khối lượng dữ liệu thông tin này sao cho hiệu quả và nhanh chóng nhất.
2.3 Một số nghiên cứu gần đây về bóc tách nội dung trang web
2.3.1 Tiếp cận theo hướng loại bỏ các tag HTML
2.3.2 Tiếp cận theo hướng rút trích các Text node
2.3.3 Tiếp cận theo hướng so sánh khung mẫu
2.3.4 Tiếp cận theo hướng phân tích mã HTML và xử lý ngôn ngữ tự nhiên
2.3.5 Tiếp cận theo hướng phân đoạn trang web
2.4 Các hướng tiếp cận vấn đề phân lớp văn bản
2.4.1 Hướng tiếp cận dựa vào thống kê
Hướng tiếp cận này thường sử dụng thông tin thống kê tần số xuất hiện để từ đó
chọn ra các từ khóa (key word) quan trọng trong văn bản, các từ khóa này được sử dụng
để làm cơ sở cho việc dự đoán xem văn bản thuộc về lớp nào. Hướng tiếp cận này có ưu
điểm là có thể áp dụng dễ dàng cho nhiều ngôn ngữ.
Thông tin thống kê thường bao gồm 2 độ đo quan trọng: độ đo cục bộ và độ đo
toàn cục. Độ đo cục bộ là độ đo thống kê của một từ trong nội bộ văn bản cần phân lớp,
còn độ đo toàn cục là độ đo thống kê của từ đó trong một tập hợp nhiều văn bản khác
nhau cho trước.
7 2.4.2 Hướng tiếp cận dựa trên máy học
Theo cách tiếp cận này, một quá trình xử lý quy nạp chung (cũng được gọi là quá
trình học) xây dựng tự động một phân lớp cho một loại ci bằng quan sát các đặc trưng
của tập hợp các tài liệu đã được phân bằng tay vào ci hay
i
c
bởi chuyên gia về lĩnh vực
này, từ đó, quá trình qui nạp thu lượm các đặc trưng để phân lớp một tài liệu mới (không
nhìn thấy) vào ci.
Một số thuật toán dựa trên tiếp cận máy học được sử dụng phổ biến hiện nay gồm:
Việc gửi về các đoạn quảng cáo và vị trí được thực hiện bởi 1 ngôn ngữ nào đó
như Javascript…
2.5.3 Áp dụng thuật toán Naïve Bayes trong phân lớp văn bản
Ý tưởng:
Ý tưởng cơ bản của cách tiếp cận Naïve Bayes là sử dụng xác suất có điều kiện giữa
từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân loại. Điểm quan trọng
của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn
bản đều độc lập với nhau. Giả định đó làm cho việc tính toán NB hiệu quả và nhanh
chóng hơn các phương pháp khác vì không sử dụng việc kết hợp các từ để đưa ra phán
đoán chủ đề. Kết quả dự đoán bị ảnh hưởng bởi kích thước tập dữ liệu, chất lượng của
không gian đặc trưng…
Cài đặt thuật toán:
Mô tả vector đặc trưng của văn bản: Là vector có số chiều là số đặc trưng trong toàn
tập dữ liệu, các đặc trưng này đôi một khác nhau. Nếu văn bản có chứa đặc trưng đó sẽ có
giá trị 1, ngược lại là 0.
Thuật toán gồm 2 giai đoạn huấn luyện và phân lớp:
Huấn luyện: tính
và
Đầu vào:
9
Các vector đặc trưng của văn bản trong tập huấn luyện (Ma trận MxN, với M là số
vector đặc trưng trong tập huấn luyện, N là số đặc trưng của vector).
Tập nhãn/lớp cho từng vector đặc trưng của tập huấn luyện.
Đầu ra:
|total docs|: số văn bản trong tập huấn luyện.
m số phân lớp
Cài đặt:
Khởi tạo mảng A, B có kích thước m.
Duyệt qua các văn bản trong tập dữ liệu, đếm số văn bản trong mỗi phân lớp lưu
vào A.
Tính xác suất cho từng phân lớp theo công thức trên và lưu vào mảng B.
Công thức tính
đã làm trơn Laplace [4]:
Khởi tạo mảng 3 chiều C, chiều 1 có kích thước là m (số phân lớp), chiều 2 có
kích thước là N (số đặc trưng), chiều 3 có kích là 2 (d
k
) để lưu các giá trị
.
Duyệt qua các văn bản trong tập dữ liệu, tiến hành thống kê các chỉ số cần thiết để
tính xác suất
theo công thức trên và lưu vào mảng C.
Phân lớp:
Đầu vào:
Vector đặc trưng của văn bản cần phân lớp.
Các giá trị xác suất
và
toán trên luận văn đã đề xuất phương pháp mà hệ thống AdSense sẽ áp dụng để giải
quyết, cụ thể: với bài toán làm mịn văn bản sẽ sử dụng thư viện của dự án Jsoup, với bài
toán tách từ tiếng Việt sẽ sử dụng lại kết quả của dự án VnTokenizer Đại học quốc gia
11
HCM, và cuối cùng là thuật toán phân lớp Bayes được sử dụng để phân lớp văn bản ở
giai đoạn cuối
Chương 3 THỬ NGHIỆM HỆ THỐNG QUẢNG CÁO TRỰC
TUYẾN
3.1 Đặt bài toán
Luận văn sẽ tiến hành xây dựng thử nghiệm một hệ thống quảng cáo trực tuyến dựa
trên ngữ cảnh đơn giản, được đặt tên là AdSense. Hệ thống có các chức năng chính sau:
- Cho phép lưu trữ dữ liệu huấn luyện trong Database
- Cho phép quản lý các nội dung quảng cáo
- Có module nhúng để hiển thị nội dung quảng cáo trên các trang web đã đăng
ký trước.
- Có khả năng bóc tách, làm mịn nội dung của các trang web
- Có module xử lý việc tính toán và trả về quảng cáo phù hợp cho từng ngữ cảnh
yêu cầu của mỗi trang web đã gắn module nhúng.
3.2 Kiến trúc tổng quan hệ thống
Hệ thống được thiết kế với 5 module chính và các module này phối hợp với nhau để
đảm bảo hoạt động của luồng thông tin và dữ liệu trao đổi giữa client và server.
12
Tập ngữ liệu đã gán nhãn
(file .txt, .html)
Nội dung trang web
Loại bỏ các thẻ
HTML
(dùng thư viện Jsoup)
thông qua một đoạn mã Java script , dữ liệu này chưa được loại bỏ các thẻ HTML, các từ
tầm thường (stop-word) và làm mịn; quá trình bóc tách và làm mịn sẽ được server thực
hiện.
Tập dữ liệu huấn luyện (tập mẫu) của hệ thống:
Tập dữ liệu huấn luyện được thu thập từ các bài báo trên các Báo điện tử như
Dantri.com.vn, Vnexpress.net, Vietnamnet.vn. Với mỗi phân lớp được lấy từ các trang tin
điện tử trên, luận văn lựa chọn mỗi lớp là 1000 tin. Sau đó tiến hành phân chia tập dữ liệu
đó như sau:
- Tập dữ liệu huấn luyện ban đầu: mỗi lớp lấy 700 tin làm dữ liệu huấn luyện mô
hình ban đầu.
- Tập dữ liệu kiểm tra: mỗi lớp lấy 300 tin làm dữ liệu kiểm tra
13
3.3.2 Mô tả tập chủ đề và tập quảng cáo theo chủ đề
Danh sách các chủ đề được đưa ra cho hệ thống được mô tả như bảng dưới đây:
Bảng 3.2: Danh sách các chủ đề phân lớp
ID
Tên chủ đề
Nguồn
Kích cỡ tập dữ
liệu huấn luyện
(dvt: bài viết)
Kích cỡ tập dữ liệu
kiểm thử (dvt: bài
viết)
1
Giáo dục
Dantri.com.vn
700
300
o Việc loại bỏ các thẻ HTML có thể được thực hiện bằng cách tạo ra các mẫu
lọc để lọc các thẻ và thuộc tính của thẻ HTML khỏi văn bản, hoặc sử dụng
một thư viện có sẵn hỗ trợ việc này; trong luận văn này hệ thống sử dụng
lại chức năng loại bỏ thẻ HTML của thư viện Jsoup.
o Giai đoạn tiếp theo là loại bỏ các chữ số vô nghĩa và các từ tầm thường
khỏi văn bản, danh sách các từ tầm thường mà luận văn đề xuất xin xem ở
phụ lục, đối với tiếng Việt do chưa có một danh sách từ tầm thường (stop
14
word) chuẩn nên việc định nghĩa các từ tầm thường trong luận văn này chỉ
là tương đối do luận văn tự thiết kế.
- Bước tiếp theo của quá trình xử lý dữ liệu là việc tách từ tiếng Việt, khác với
tiếng Anh, tiếng Việt có các cấu trúc từ ghép, cum từ, vì vậy việc tách từ tiếng Việt từ
văn bản yêu cầu phải có thuật toán kết hợp với một bộ từ điển tốt. Luận văn sử dụng lại
API của dự án tách từ tiếng Việt VietnameseTokenizer .
- Tiếp theo, dữ liệu sau khi tách từ được đưa vào bộ phân loại sử dụng thuật toán
Naïve Bayes để phân lớp cho văn bản.
- Dựa vào kết quả phân lớp, hệ thống lấy đó làm căn cứ để chọn ra nội dung quảng
cáo phù hợp với nội dung văn bản. Trong trường hợp văn bản không được phân vào một
lớp nào, hệ thống sẽ đưa ra 1 quảng cáo mặc định.
- Ở bước cuối, hệ thống gửi phản hồi nội dung quảng cáo về cho trang web để hiển
thị. Đoạn mã javascript trong module nhúng đảm nhận việc hiển thị nội dung lên trang
web và mở ra cửa sổ mới khi khách hàng click vào quảng cáo.
3.4 Kết quả thử nghiệm
Để kiểm tra tính hiệu quả của thuật toán Naïve Bayes đề xuất ở trên, chúng ta sẽ
làm 2 thí nghiệm:
Thí nghiệm 1: Kiểm thử với dữ liệu thuộc một trong 5 lớp chủ đề
Thí nghiệm 2: Kiểm thử đối với dữ liệu không thuộc bất kỳ lớp nào của hệ thống
Bảng 3.3: Kết quả thử nghiệm với dữ liệu thuộc 1 trong 5 lớp chủ dề
94.6%
Kết quả trung bình
Số tài liệu không được phân lớp:
62
4.1%
Số tài liệu bị phân sai lớp:
118
7.87%
Độ chính xác trung bình:
92.1%
3.5 Kết luận chương
Với mục đích kiểm chứng các nghiên cứu và tìm hiểu về mặt lý thuyết ở các
chương 1 và 2, trong chương 3 này luận văn đã xây dựng và hoàn thiện một hệ thống
quảng cáo theo ngữ cảnh ở mức độ thử nghiệm. Quá trình xây dựng hệ thống đã làm rõ
hơn các vấn đề lý thuyết ở chương 1 và chương 2, đồng thời đã chỉ ra cách giải quyết cụ
thể một số vấn đề kỹ thuật nằm trong bài toán chung của hệ thống. Kết quả thử nghiệm
hệ thống đã cho thấy hệ thống hoạt động đúng với mong muốn và đáp ứng được một số
yêu cầu cơ bản của một hệ quảng cáo theo ngữ cảnh tiếng Việt.
16
KẾT LUẬN
Nhu cầu xây dựng một hệ thống quảng cáo theo ngữ cảnh tiếng Việt nhằm khai thác
các lợi ích từ quảng cáo trực tuyến là một trong những ưu tiên của các đơn vị kinh doanh
quảng cáo và các đơn vị truyền thông ở nước ta hiện nay. Trong đó vấn đề xác định
phương pháp để xử lý ngữ cảnh tiếng Việt là một phần quan trọng trong quá trình xây
dựng hệ thống quảng cáo theo ngữ cảnh.
công nghệ ở các tầng trong hệ thống nhằm giúp hệ thống chạy nhanh và ổn định, tính tin
cậy cao.
Do còn nhiều mặt hạn chế chủ quan của học viên nên luận văn mới chỉ dừng lại ở
mức thử nghiệm trên một tập dữ liệu tự thu thập. Để có thể tạo thành một sản phẩm có
tính thương mại, còn rất nhiều vấn đề phải bổ sung và khắc phục, trong đó quan trọng
nhất là việc tối ưu hiệu năng của thuật toán và bổ sung phân tích các chức năng thiết yếu
khác của hệ thống như: quản lý và chống gian lận lượt click, lượt hiển thị các quảng cáo,
thống kê doanh thu quảng cáo cho các đại lý…
Các module trong hệ thống AdSense cần được tối ưu và bổ sung thêm một số kỹ
thuật nâng cao như: loại bỏ từ đồng nghĩa dư thừa, bài toán tự động thêm dấu cho các
đoạn văn bản tiếng Việt được gõ không dấu. Ngoài ra cũng cần phát triển hệ thống để có
thể tự động phát hiện ngôn ngữ, và bổ sung thêm để hệ thống hoạt động được với ngữ
cảnh của một số ngôn ngữ phổ biến như tiếng Anh.
Hệ thống cũng bị hạn chế ở chỗ các nhà quảng cáo, những người bỏ tiền ra để
quảng cáo cho sản phẩm của mình không biết được quảng cáo mà mình mua sẽ hiển thị ở
những trang web nào, nhà quảng cáo cũng chưa thể chọn lựa danh sách các trang web
mình muốn hiển thị quảng cáo.