Cách chúng tôi kiểm duyệt quảng cáo

Cách chúng tôi kiểm duyệt quảng cáo

Mỗi dịch vụ mà người dùng có thể tạo nội dung của riêng họ (UGC - Nội dung do người dùng tạo) không chỉ buộc phải giải quyết các vấn đề kinh doanh mà còn phải sắp xếp mọi thứ theo trật tự trong UGC. Việc kiểm duyệt nội dung kém hoặc chất lượng thấp cuối cùng có thể làm giảm sức hấp dẫn của dịch vụ đối với người dùng, thậm chí là chấm dứt hoạt động.

Hôm nay chúng tôi sẽ cho bạn biết về sức mạnh tổng hợp giữa Yula và Odnoklassniki, giúp chúng tôi kiểm duyệt quảng cáo trong Yula một cách hiệu quả.

Sức mạnh tổng hợp nói chung là một thứ rất hữu ích, và trong thế giới hiện đại, khi công nghệ và xu hướng thay đổi rất nhanh, nó có thể trở thành cứu cánh. Tại sao lại lãng phí nguồn lực khan hiếm và thời gian để phát minh ra thứ gì đó đã được phát minh và khiến bạn nhớ đến trước đó?

Chúng tôi cũng nghĩ như vậy khi phải đối mặt với toàn bộ nhiệm vụ kiểm duyệt nội dung của người dùng - hình ảnh, văn bản và liên kết. Người dùng của chúng tôi tải hàng triệu nội dung lên Yula mỗi ngày và nếu không xử lý tự động thì hoàn toàn không thể kiểm duyệt tất cả dữ liệu này theo cách thủ công.

Do đó, chúng tôi đã sử dụng một nền tảng kiểm duyệt được tạo sẵn, vào thời điểm đó các đồng nghiệp của chúng tôi từ Odnoklassniki đã hoàn thành đến trạng thái “gần như hoàn hảo”.

Tại sao lại là Odnoklassniki?

Mỗi ngày, hàng chục triệu người dùng truy cập mạng xã hội và xuất bản hàng tỷ nội dung: từ ảnh đến video và văn bản. Nền tảng kiểm duyệt Odnoklassniki giúp kiểm tra khối lượng dữ liệu rất lớn và chống lại những kẻ gửi thư rác và bot.

Nhóm kiểm duyệt OK đã tích lũy được nhiều kinh nghiệm vì họ đã cải tiến công cụ của mình trong 12 năm. Điều quan trọng là họ không chỉ có thể chia sẻ các giải pháp làm sẵn của mình mà còn có thể tùy chỉnh kiến ​​trúc nền tảng của họ để phù hợp với các nhiệm vụ cụ thể của chúng tôi.

Cách chúng tôi kiểm duyệt quảng cáo

Từ giờ trở đi, để ngắn gọn, chúng tôi sẽ gọi nền tảng kiểm duyệt OK là “nền tảng”.

Mọi thứ hoạt động như thế nào

Trao đổi dữ liệu giữa Yula và Odnoklassniki được thiết lập thông qua Kafka Apache.

Tại sao chúng tôi chọn công cụ này:

  • Trong Yula, tất cả các quảng cáo đều được kiểm duyệt sau, do đó ban đầu không cần phải có phản hồi đồng bộ.
  • Nếu một đoạn văn xấu xảy ra và Yula hoặc Odnoklassniki không có sẵn, kể cả do một số tải cao điểm, thì dữ liệu từ Kafka sẽ không biến mất ở bất cứ đâu và có thể được đọc sau.
  • Nền tảng này đã được tích hợp với Kafka nên hầu hết các vấn đề bảo mật đều được giải quyết.

Cách chúng tôi kiểm duyệt quảng cáo

Đối với mỗi quảng cáo do người dùng tạo hoặc sửa đổi trong Yula, một JSON có dữ liệu sẽ được tạo và đặt trong Kafka để kiểm duyệt sau này. Từ Kafka, các thông báo được tải vào nền tảng, nơi chúng được xét xử tự động hoặc thủ công. Quảng cáo xấu bị chặn có lý do và những quảng cáo mà nền tảng không phát hiện vi phạm sẽ được đánh dấu là "tốt". Sau đó mọi quyết định sẽ được gửi lại cho Yula và áp dụng vào dịch vụ.

Cuối cùng, đối với Yula, tất cả đều bắt nguồn từ những hành động đơn giản: gửi quảng cáo đến nền tảng Odnoklassniki và nhận lại độ phân giải “ok” hoặc tại sao không “ok”.

Xử lý tự động

Điều gì xảy ra với quảng cáo sau khi nó xuất hiện trên nền tảng? Mỗi quảng cáo được chia thành nhiều thực thể:

  • Tên,
  • Sự miêu tả,
  • hình ảnh,
  • danh mục và danh mục phụ do người dùng chọn của quảng cáo,
  • giá

Cách chúng tôi kiểm duyệt quảng cáo

Sau đó, nền tảng sẽ thực hiện phân cụm cho từng thực thể để tìm các bản sao. Hơn nữa, văn bản và hình ảnh được nhóm lại theo các sơ đồ khác nhau.

Trước khi phân cụm, văn bản được chuẩn hóa để loại bỏ các ký tự đặc biệt, các chữ cái bị thay đổi và các loại rác khác. Dữ liệu nhận được được chia thành N-gram, mỗi N-gram được băm. Kết quả là có nhiều giá trị băm độc đáo. Sự giống nhau giữa các văn bản được xác định bởi Số đo Jaccard giữa hai tập hợp kết quả. Nếu độ tương tự lớn hơn ngưỡng thì các văn bản sẽ được hợp nhất thành một cụm. Để tăng tốc độ tìm kiếm các cụm tương tự, băm MinHash và Locality-sensitive được sử dụng.

Nhiều tùy chọn khác nhau để dán hình ảnh đã được phát minh cho các bức ảnh, từ so sánh các hình ảnh pHash đến tìm kiếm các bản sao bằng mạng thần kinh.

Phương pháp cuối cùng là “nghiêm trọng” nhất. Để huấn luyện mô hình, bộ ba hình ảnh (N, A, P) đã được chọn trong đó N không giống A và P tương tự A (là bán trùng lặp). Sau đó, mạng lưới thần kinh học cách làm cho A và P càng gần nhau càng tốt, và A và N càng xa càng tốt. Điều này dẫn đến ít kết quả dương tính giả hơn so với việc chỉ lấy các phần nhúng từ mạng được đào tạo trước.

Khi mạng nơ-ron nhận hình ảnh làm đầu vào, nó sẽ tạo ra một vectơ N(128) chiều cho mỗi hình ảnh đó và yêu cầu được đưa ra để đánh giá mức độ gần của hình ảnh. Tiếp theo, một ngưỡng được tính toán mà tại đó các hình ảnh đóng được coi là trùng lặp.

Mô hình này có thể khéo léo tìm ra những người gửi thư rác chụp ảnh cụ thể cùng một sản phẩm từ các góc độ khác nhau để bỏ qua việc so sánh pHash.

Cách chúng tôi kiểm duyệt quảng cáoCách chúng tôi kiểm duyệt quảng cáo
Một ví dụ về các bức ảnh spam được mạng lưới thần kinh dán lại với nhau thành các bản sao.

Ở giai đoạn cuối, các quảng cáo trùng lặp được tìm kiếm đồng thời bằng cả văn bản và hình ảnh.

Nếu hai hoặc nhiều quảng cáo bị dính lại với nhau trong một cụm, hệ thống sẽ bắt đầu chặn tự động, sử dụng một số thuật toán nhất định để chọn những quảng cáo trùng lặp cần xóa và những quảng cáo nào nên bỏ đi. Ví dụ: nếu hai người dùng có ảnh giống nhau trong một quảng cáo thì hệ thống sẽ chặn quảng cáo gần đây hơn.

Sau khi được tạo, tất cả các cụm sẽ trải qua một loạt bộ lọc tự động. Mỗi bộ lọc gán một điểm cho cụm: khả năng nó chứa mối đe dọa mà bộ lọc này xác định.

Ví dụ: hệ thống phân tích mô tả trong quảng cáo và chọn danh mục tiềm năng cho quảng cáo đó. Sau đó, nó lấy cái có xác suất tối đa và so sánh nó với danh mục do tác giả quảng cáo chỉ định. Nếu chúng không khớp, quảng cáo sẽ bị chặn do sai danh mục. Và vì chúng tôi tử tế và trung thực nên chúng tôi trực tiếp cho người dùng biết họ cần chọn danh mục nào để quảng cáo được kiểm duyệt.

Cách chúng tôi kiểm duyệt quảng cáo
Thông báo chặn vì danh mục không chính xác.

Học máy mang lại cảm giác như ở nhà trên nền tảng của chúng tôi. Ví dụ: với sự trợ giúp của nó, chúng tôi tìm kiếm tên và mô tả hàng hóa bị cấm ở Liên bang Nga. Và các mô hình mạng lưới thần kinh “kiểm tra” các hình ảnh một cách tỉ mỉ để xem liệu chúng có chứa URL, tin nhắn rác, số điện thoại và những thông tin “bị cấm” tương tự hay không.

Đối với trường hợp họ đang cố bán một sản phẩm bị cấm được ngụy trang dưới dạng sản phẩm hợp pháp và không có văn bản trong tiêu đề hoặc mô tả, chúng tôi sử dụng tính năng gắn thẻ hình ảnh. Đối với mỗi hình ảnh, có thể thêm tối đa 11 nghìn thẻ khác nhau để mô tả nội dung trong hình ảnh.

Cách chúng tôi kiểm duyệt quảng cáo
Họ đang cố gắng bán hookah bằng cách ngụy trang nó thành một chiếc samovar.

Song song với các bộ lọc phức tạp, các bộ lọc đơn giản cũng hoạt động, giải quyết các vấn đề hiển nhiên liên quan đến văn bản:

  • phản vật chất;
  • Trình phát hiện URL và số điện thoại;
  • đề cập đến các ứng dụng nhắn tin tức thời và các địa chỉ liên hệ khác;
  • hạ giá;
  • quảng cáo không có gì để bán, v.v.

Ngày nay, mọi quảng cáo đều phải trải qua một sàng lọc gồm hơn 50 bộ lọc tự động để cố gắng tìm ra điều gì đó không tốt trong quảng cáo.

Nếu không có bộ phát hiện nào hoạt động thì một phản hồi sẽ được gửi tới Yula rằng quảng cáo “rất có thể” đang ở thứ tự hoàn hảo. Chúng tôi tự sử dụng câu trả lời này và người dùng đã đăng ký với người bán sẽ nhận được thông báo về tình trạng sẵn có của sản phẩm mới.

Cách chúng tôi kiểm duyệt quảng cáo
Thông báo người bán có sản phẩm mới.

Kết quả là mỗi quảng cáo bị "phát triển quá mức" với siêu dữ liệu, một số siêu dữ liệu được tạo khi quảng cáo được tạo (địa chỉ IP của tác giả, tác nhân người dùng, nền tảng, vị trí địa lý, v.v.) và phần còn lại là điểm do mỗi bộ lọc đưa ra .

Hàng đợi thông báo

Khi một quảng cáo xuất hiện trên nền tảng, hệ thống sẽ đặt nó vào một trong các hàng đợi. Mỗi hàng đợi được tạo bằng công thức toán học kết hợp siêu dữ liệu quảng cáo theo cách phát hiện bất kỳ mẫu xấu nào.

Ví dụ: bạn có thể tạo một hàng quảng cáo trong danh mục “Điện thoại di động” từ những người dùng Yula được cho là đến từ St. Petersburg, nhưng địa chỉ IP của họ là từ Moscow hoặc các thành phố khác.

Cách chúng tôi kiểm duyệt quảng cáo
Một ví dụ về quảng cáo được đăng bởi một người dùng ở các thành phố khác nhau.

Hoặc bạn có thể xếp hàng dựa trên điểm số mà mạng lưới thần kinh gán cho quảng cáo, sắp xếp chúng theo thứ tự giảm dần.

Mỗi hàng đợi, theo công thức riêng, sẽ ấn định điểm cuối cùng cho quảng cáo. Sau đó, bạn có thể tiến hành theo nhiều cách khác nhau:

  • chỉ định ngưỡng mà tại đó quảng cáo sẽ nhận được một kiểu chặn nhất định;
  • gửi tất cả quảng cáo trong hàng đợi đến người kiểm duyệt để xem xét thủ công;
  • hoặc kết hợp các tùy chọn trước đó: chỉ định ngưỡng chặn tự động và gửi cho người kiểm duyệt những quảng cáo chưa đạt đến ngưỡng này.

Cách chúng tôi kiểm duyệt quảng cáo

Tại sao những hàng đợi này lại cần thiết? Giả sử một người dùng đã tải lên một bức ảnh về một khẩu súng. Mạng lưới thần kinh gán cho nó điểm từ 95 đến 100 và xác định với độ chính xác 99% rằng có vũ khí trong ảnh. Nhưng nếu giá trị điểm dưới 95% thì độ chính xác của mô hình bắt đầu giảm (đây là một đặc điểm của mô hình mạng nơ-ron).

Do đó, một hàng đợi được hình thành dựa trên mô hình điểm số và những quảng cáo nhận được từ 95 đến 100 sẽ tự động bị chặn dưới dạng “Sản phẩm bị cấm”. Quảng cáo có điểm dưới 95 sẽ được gửi đến người kiểm duyệt để xử lý thủ công.

Cách chúng tôi kiểm duyệt quảng cáo
Sôcôla Beretta với hộp mực. Chỉ dành cho kiểm duyệt thủ công! 🙂

Kiểm duyệt thủ công

Vào đầu năm 2019, khoảng 94% tất cả quảng cáo trên Yula được kiểm duyệt tự động.

Cách chúng tôi kiểm duyệt quảng cáo

Nếu nền tảng không thể quyết định một số quảng cáo, nó sẽ gửi chúng đi kiểm duyệt thủ công. Odnoklassniki đã phát triển công cụ của riêng họ: nhiệm vụ dành cho người kiểm duyệt hiển thị ngay lập tức tất cả thông tin cần thiết để đưa ra quyết định nhanh chóng - quảng cáo phù hợp hoặc nên bị chặn, cho biết lý do.

Và để chất lượng dịch vụ không bị ảnh hưởng trong quá trình kiểm duyệt thủ công, công việc của mọi người được giám sát liên tục. Ví dụ: trong luồng nhiệm vụ, người điều hành được hiển thị “bẫy”—quảng cáo đã có giải pháp làm sẵn. Nếu quyết định của người điều hành không trùng với quyết định đã hoàn thành thì người điều hành sẽ mắc lỗi.

Trung bình, người kiểm duyệt dành 10 giây để kiểm tra một quảng cáo. Hơn nữa, số lỗi không quá 0,5% trong tổng số quảng cáo đã được xác minh.

Sự điều độ của mọi người

Các đồng nghiệp từ Odnoklassniki thậm chí còn đi xa hơn và tận dụng “sự trợ giúp của khán giả”: họ đã viết một ứng dụng trò chơi cho mạng xã hội trong đó bạn có thể nhanh chóng đánh dấu một lượng lớn dữ liệu, nêu bật một số dấu hiệu xấu - Người điều hành Odnoklassniki (https://ok.ru/app/moderator). Một cách hay để tận dụng sự trợ giúp của những người dùng OK đang cố gắng làm cho nội dung trở nên thú vị hơn.

Cách chúng tôi kiểm duyệt quảng cáo
Một trò chơi trong đó người dùng gắn thẻ những bức ảnh có số điện thoại trên đó.

Bất kỳ hàng quảng cáo nào trong nền tảng đều có thể được chuyển hướng đến trò chơi Odnoklassniki Moderator. Mọi thứ mà người dùng trò chơi đánh dấu sau đó sẽ được gửi đến người kiểm duyệt nội bộ để xác minh. Lược đồ này cho phép bạn chặn quảng cáo chưa được tạo bộ lọc, đồng thời tạo mẫu đào tạo.

Lưu trữ kết quả kiểm duyệt

Chúng tôi lưu tất cả các quyết định được đưa ra trong quá trình kiểm duyệt để sau này chúng tôi không xử lý lại những quảng cáo mà chúng tôi đã đưa ra quyết định.

Hàng triệu cụm được tạo ra mỗi ngày dựa trên quảng cáo. Theo thời gian, mỗi cụm được gắn nhãn "tốt" hoặc "xấu". Mỗi quảng cáo mới hoặc bản sửa đổi của nó, khi nhập một cụm có dấu, sẽ tự động nhận được độ phân giải từ chính cụm đó. Có khoảng 20 nghìn độ phân giải tự động như vậy mỗi ngày.

Cách chúng tôi kiểm duyệt quảng cáo

Nếu không có thông báo mới nào đến cụm, nó sẽ bị xóa khỏi bộ nhớ và hàm băm cũng như giải pháp của nó sẽ được ghi vào Apache Cassandra.

Khi nền tảng nhận được một quảng cáo mới, trước tiên, nền tảng sẽ cố gắng tìm một cụm tương tự trong số những cụm đã được tạo và đưa ra giải pháp từ đó. Nếu không có cụm như vậy, nền tảng sẽ chuyển đến Cassandra và tìm ở đó. Bạn đã tìm ra nó chưa? Tuyệt vời, áp dụng giải pháp cho cụm và gửi nó cho Yula. Có trung bình 70 nghìn quyết định “lặp đi lặp lại” như vậy mỗi ngày – 8% tổng số.

Tổng hợp

Chúng tôi đã sử dụng nền tảng kiểm duyệt Odnoklassniki được hai năm rưỡi. Chúng tôi thích kết quả:

  • Chúng tôi tự động kiểm duyệt 94% tất cả quảng cáo mỗi ngày.
  • Chi phí kiểm duyệt một quảng cáo đã giảm từ 2 rúp xuống còn 7 kopecks.
  • Nhờ có công cụ làm sẵn, chúng tôi đã quên đi vấn đề quản lý người kiểm duyệt.
  • Chúng tôi đã tăng số lượng quảng cáo được xử lý thủ công lên 2,5 lần với cùng số lượng người kiểm duyệt và ngân sách. Chất lượng kiểm duyệt thủ công cũng tăng lên do kiểm soát tự động và dao động khoảng 0,5% lỗi.
  • Chúng tôi nhanh chóng xử lý các loại thư rác mới bằng bộ lọc.
  • Chúng tôi nhanh chóng kết nối các phòng ban mới để kiểm duyệt "Yula dọc". Kể từ năm 2017, Yula đã thêm các ngành dọc Bất động sản, Vị trí tuyển dụng và Ô tô.

Nguồn: www.habr.com

Thêm một lời nhận xét