Cách mở bình luận và không bị chìm trong thư rác

Cách mở bình luận và không bị chìm trong thư rác

Khi công việc của bạn là tạo ra một thứ gì đó đẹp đẽ, bạn không cần phải nói quá nhiều về nó, vì kết quả đã ở trước mắt mọi người. Nhưng nếu bạn xóa dòng chữ trên hàng rào, sẽ không có ai chú ý đến tác phẩm của bạn miễn là hàng rào trông đẹp mắt hoặc cho đến khi bạn xóa sai thứ gì đó.

Bất kỳ dịch vụ nào mà bạn có thể để lại nhận xét, đánh giá, gửi tin nhắn hoặc tải ảnh lên sớm hay muộn đều phải đối mặt với vấn đề thư rác, lừa đảo và tục tĩu. Điều này không thể tránh được nhưng phải giải quyết.

Tên tôi là Mikhail, tôi làm việc trong nhóm Chống thư rác, nhóm bảo vệ người dùng dịch vụ Yandex khỏi những vấn đề như vậy. Công việc của chúng tôi hiếm khi được chú ý (và đó là một điều tốt!), vì vậy hôm nay tôi sẽ kể cho bạn nghe thêm về nó. Bạn sẽ biết khi nào sự điều độ là vô ích và tại sao độ chính xác không phải là thước đo duy nhất cho thấy tính hiệu quả của nó. Chúng ta cũng sẽ nói về việc chửi thề bằng ví dụ về chó và mèo và tại sao đôi khi việc “suy nghĩ như một kẻ chửi thề” lại hữu ích.

Ngày càng có nhiều dịch vụ xuất hiện trên Yandex nơi người dùng xuất bản nội dung của họ. Bạn có thể đặt câu hỏi hoặc viết câu trả lời trong Yandex.Q, thảo luận tin tức về sân trong Yandex.District, chia sẻ tình trạng giao thông trong các cuộc trò chuyện trên Yandex.Maps. Nhưng khi lượng khán giả của dịch vụ tăng lên, nó sẽ trở nên hấp dẫn đối với những kẻ lừa đảo và gửi thư rác. Họ đến và điền vào các bình luận: họ đưa ra những khoản tiền dễ dàng, quảng cáo những phương pháp chữa bệnh thần kỳ và hứa hẹn những lợi ích xã hội. Vì những kẻ gửi thư rác, một số người dùng bị mất tiền, trong khi những người khác mất đi mong muốn dành thời gian cho một dịch vụ tồi tàn tràn ngập thư rác.

Và đây không phải là vấn đề duy nhất. Chúng tôi cố gắng không chỉ để bảo vệ người dùng khỏi những kẻ lừa đảo mà còn tạo ra một bầu không khí thoải mái để liên lạc. Nếu mọi người phải đối mặt với những lời chửi thề và lăng mạ trong các bình luận, họ có thể sẽ rời đi và không bao giờ quay lại. Điều này có nghĩa là bạn cũng cần có khả năng giải quyết vấn đề này.

Web sạch

Như thường lệ với chúng tôi, những phát triển đầu tiên đã ra đời trong Tìm kiếm, trong phần chống spam trong kết quả tìm kiếm. Khoảng mười năm trước, nhiệm vụ lọc nội dung người lớn cho các tìm kiếm gia đình và các truy vấn không yêu cầu câu trả lời từ danh mục 18+ đã xuất hiện ở đó. Đây là cách những từ điển khiêu dâm và chửi thề được gõ thủ công đầu tiên xuất hiện, chúng được các nhà phân tích bổ sung. Nhiệm vụ chính là phân loại các yêu cầu thành những nơi có thể chấp nhận hiển thị nội dung người lớn và nơi không chấp nhận được. Đối với nhiệm vụ này, đánh dấu đã được thu thập, phương pháp phỏng đoán được xây dựng và mô hình được đào tạo. Đây là cách những phát triển đầu tiên để lọc nội dung không mong muốn xuất hiện.

Theo thời gian, UGC (nội dung do người dùng tạo) bắt đầu xuất hiện trong Yandex - các tin nhắn do chính người dùng viết và Yandex chỉ xuất bản. Vì những lý do được mô tả ở trên, nhiều bài viết không thể được xuất bản nếu không xem xét - cần phải kiểm duyệt. Sau đó, họ quyết định tạo một dịch vụ cung cấp khả năng bảo vệ chống thư rác và kẻ tấn công cho tất cả các sản phẩm Yandex UGC, đồng thời sử dụng các bước phát triển để lọc nội dung không mong muốn trong Tìm kiếm. Dịch vụ này được gọi là “Clean Web”.

Nhiệm vụ mới và sự trợ giúp từ người đẩy

Lúc đầu, chỉ có sự tự động hóa đơn giản mới hiệu quả với chúng tôi: các dịch vụ gửi tin nhắn cho chúng tôi và chúng tôi chạy các từ điển tục tĩu, từ điển khiêu dâm và các biểu thức thông thường trên chúng - các nhà phân tích đã biên soạn mọi thứ theo cách thủ công. Nhưng theo thời gian, dịch vụ này ngày càng được sử dụng trong nhiều sản phẩm Yandex và chúng tôi phải học cách giải quyết các vấn đề mới.

Thông thường, thay vì đánh giá, người dùng xuất bản một bộ thư vô nghĩa, cố gắng nâng cao thành tích của họ, đôi khi họ quảng cáo công ty của mình trong các bài đánh giá về công ty của đối thủ cạnh tranh và đôi khi họ chỉ đơn giản gây nhầm lẫn cho các tổ chức và viết đánh giá về một cửa hàng thú cưng: “ Cá được nấu chín hoàn hảo!” Có lẽ một ngày nào đó trí tuệ nhân tạo sẽ học cách nắm bắt hoàn hảo ý nghĩa của bất kỳ văn bản nào, nhưng giờ đây, tự động hóa đôi khi đối phó còn tệ hơn con người.

Rõ ràng là chúng tôi không thể làm điều này nếu không đánh dấu thủ công và chúng tôi đã thêm giai đoạn thứ hai vào mạch của mình—gửi nó để một người kiểm tra thủ công. Những văn bản đã xuất bản mà bộ phân loại không thấy có vấn đề gì đều được đưa vào đó. Bạn có thể dễ dàng hình dung quy mô của một nhiệm vụ như vậy, vì vậy chúng tôi không chỉ dựa vào những người đánh giá mà còn lợi dụng “sự khôn ngoan của đám đông”, tức là chúng tôi đã tìm đến những người làm việc để được giúp đỡ. Họ là những người giúp chúng ta xác định những gì máy đã bỏ sót và từ đó dạy nó.

Bộ nhớ đệm thông minh và băm LSH

Một vấn đề khác mà chúng tôi gặp phải khi làm việc với các bình luận là thư rác, hay chính xác hơn là số lượng và tốc độ lan truyền của nó. Khi lượng khán giả Yandex.Region bắt đầu tăng nhanh, những kẻ gửi thư rác đã đến đó. Họ đã học cách bỏ qua các biểu thức thông thường bằng cách thay đổi văn bản một chút. Tất nhiên, thư rác vẫn được tìm thấy và xóa, nhưng trên quy mô của Yandex, một tin nhắn không được chấp nhận được đăng dù chỉ trong 5 phút có thể bị hàng trăm người nhìn thấy.

Cách mở bình luận và không bị chìm trong thư rác

Tất nhiên, điều này không phù hợp với chúng tôi và chúng tôi đã tạo bộ nhớ đệm văn bản thông minh dựa trên LSH (băm nhạy cảm với địa phương). Nó hoạt động như thế này: chúng tôi đã chuẩn hóa văn bản, xóa các liên kết khỏi nó và cắt nó thành n-gram (chuỗi n chữ cái). Tiếp theo, các giá trị băm của n-gram được tính toán và vectơ LSH của tài liệu được xây dựng từ chúng. Vấn đề là các văn bản tương tự, ngay cả khi chúng được thay đổi một chút, vẫn biến thành các vectơ tương tự.

Giải pháp này giúp có thể sử dụng lại các nhận định của bộ phân loại và bộ phân loại cho các văn bản tương tự. Trong một cuộc tấn công thư rác, ngay sau khi tin nhắn đầu tiên vượt qua quá trình quét và đi vào bộ đệm với nhận định "thư rác", tất cả các tin nhắn tương tự mới, ngay cả những tin nhắn đã sửa đổi, đều nhận được nhận định tương tự và tự động bị xóa. Sau đó, chúng tôi đã học cách đào tạo và tự động đào tạo lại các bộ phân loại thư rác, nhưng “bộ nhớ đệm thông minh” này vẫn ở bên chúng tôi và vẫn thường giúp ích cho chúng tôi.

Trình phân loại văn bản tốt

Không cần phải tạm dừng cuộc chiến chống thư rác, chúng tôi nhận ra rằng 95% nội dung của chúng tôi được kiểm duyệt theo cách thủ công: bộ phân loại chỉ phản ứng với các vi phạm và hầu hết các văn bản đều tốt. Chúng tôi tuyển những người dọn dẹp, trong số 95 trường hợp trên 100 trường hợp, họ đưa ra đánh giá “Mọi thứ đều ổn”. Tôi đã phải làm một công việc bất thường - tạo ra các bộ phân loại nội dung tốt, may mắn thay, lượng đánh dấu đã tích lũy đủ trong thời gian này.

Trình phân loại đầu tiên trông như thế này: chúng tôi bổ nghĩa hóa văn bản (rút gọn các từ về dạng ban đầu), loại bỏ tất cả các phần phụ của lời nói và sử dụng “từ điển các bổ đề tốt” được chuẩn bị trước. Nếu tất cả các từ trong văn bản đều “tốt” thì toàn bộ văn bản không có vi phạm nào. Trên các dịch vụ khác nhau, phương pháp này ngay lập tức mang lại khả năng tự động hóa từ 25 đến 35% cho việc đánh dấu thủ công. Tất nhiên, cách tiếp cận này không lý tưởng: rất dễ kết hợp một số từ ngữ ngây thơ và nhận được một tuyên bố rất xúc phạm, nhưng nó cho phép chúng tôi nhanh chóng đạt được mức độ tự động hóa tốt và cho chúng tôi thời gian để đào tạo các mô hình phức tạp hơn.

Các phiên bản tiếp theo của trình phân loại văn bản tốt đã bao gồm các mô hình tuyến tính, cây quyết định và sự kết hợp của chúng. Ví dụ: để đánh dấu sự thô lỗ và lăng mạ, chúng tôi thử mạng nơ-ron BERT. Điều quan trọng là phải nắm bắt được nghĩa của từ trong ngữ cảnh và mối liên hệ giữa các từ trong các câu khác nhau và BERT đã làm rất tốt điều này. (Nhân tiện, gần đây đồng nghiệp của News nói, cách sử dụng công nghệ cho một tác vụ không chuẩn - tìm kiếm lỗi trong tiêu đề.) Kết quả là có thể tự động hóa tới 90% luồng, tùy thuộc vào dịch vụ.

Độ chính xác, đầy đủ và tốc độ

Để phát triển, bạn cần hiểu những lợi ích mà một số bộ phân loại tự động nhất định mang lại, những thay đổi trong chúng và liệu chất lượng kiểm tra thủ công có đang suy giảm hay không. Để làm điều này, chúng tôi sử dụng các số liệu về độ chính xác và thu hồi.

Độ chính xác là tỷ lệ các phán đoán đúng trong số tất cả các phán đoán về nội dung xấu. Độ chính xác càng cao thì càng ít dương tính giả. Nếu bạn không chú ý đến tính chính xác, thì về lý thuyết, bạn có thể xóa tất cả thư rác và nội dung tục tĩu, cùng với đó là một nửa số tin nhắn hay. Mặt khác, nếu bạn chỉ dựa vào độ chính xác thì công nghệ tốt nhất sẽ là công nghệ không thu hút được ai cả. Do đó, cũng có một chỉ số về tính đầy đủ: tỷ lệ nội dung xấu được xác định trong tổng khối lượng nội dung xấu. Hai số liệu này cân bằng lẫn nhau.

Để đo lường, chúng tôi lấy mẫu toàn bộ luồng đến cho từng dịch vụ và cung cấp mẫu nội dung cho người đánh giá để chuyên gia đánh giá và so sánh với các giải pháp máy.

Nhưng có một chỉ số quan trọng khác.

Tôi đã viết ở trên rằng một tin nhắn không được chấp nhận có thể được hàng trăm người nhìn thấy dù chỉ trong 5 phút. Vì vậy, chúng tôi đếm xem chúng tôi đã cho mọi người xem nội dung xấu bao nhiêu lần trước khi ẩn nội dung đó. Điều này rất quan trọng vì làm việc hiệu quả thôi chưa đủ - bạn còn cần phải làm việc nhanh chóng. Và khi chúng tôi xây dựng một hệ thống phòng thủ chống lại việc chửi thề, chúng tôi cảm nhận được điều đó một cách trọn vẹn nhất.

Chủ nghĩa phản vật chất lấy ví dụ về mèo và chó

Một sự lạc đề trữ tình nhỏ. Một số người có thể nói rằng những lời lẽ tục tĩu và lăng mạ không nguy hiểm bằng các liên kết độc hại và không gây khó chịu như thư rác. Nhưng chúng tôi cố gắng duy trì điều kiện giao tiếp thoải mái cho hàng triệu người dùng và mọi người không muốn quay lại những nơi mà họ bị xúc phạm. Không phải vô cớ mà lệnh cấm chửi thề và lăng mạ được nêu rõ trong quy tắc của nhiều cộng đồng, bao gồm cả Habré. Nhưng chúng ta lạc đề.

Từ điển chửi thề không thể đáp ứng được tất cả sự phong phú của tiếng Nga. Mặc dù thực tế là chỉ có bốn gốc từ chửi thề chính, nhưng từ chúng bạn có thể tạo ra vô số từ mà bất kỳ động cơ thông thường nào cũng không thể bắt được. Ngoài ra, bạn có thể viết một phần của từ trong phiên âm, thay thế các chữ cái bằng các kết hợp tương tự, sắp xếp lại các chữ cái, thêm dấu hoa thị, v.v. Đôi khi, nếu không có ngữ cảnh, về cơ bản không thể xác định được rằng người dùng có ý chửi thề. Chúng tôi tôn trọng các quy tắc của Habr, vì vậy chúng tôi sẽ chứng minh điều này không phải bằng các ví dụ trực tiếp mà bằng chó và mèo.

Cách mở bình luận và không bị chìm trong thư rác

“Luật,” con mèo nói. Nhưng chúng tôi hiểu rằng con mèo đã nói một từ khác...

Chúng tôi bắt đầu nghĩ về các thuật toán "so khớp mờ" cho từ điển của mình và về quá trình xử lý trước thông minh hơn: chúng tôi cung cấp phiên âm, dán các dấu cách và dấu câu lại với nhau, tìm kiếm các mẫu và viết các biểu thức chính quy riêng biệt trên chúng. Cách tiếp cận này mang lại kết quả nhưng thường làm giảm độ chính xác và không mang lại sự hoàn thiện như mong muốn.

Sau đó, chúng tôi quyết định “suy nghĩ như những người hay chửi thề”. Chúng tôi bắt đầu tự đưa nhiễu vào dữ liệu: chúng tôi sắp xếp lại các chữ cái, tạo ra lỗi chính tả, thay thế các chữ cái có cách viết tương tự, v.v. Đánh dấu ban đầu cho việc này được thực hiện bằng cách áp dụng các từ điển mat cho một lượng lớn văn bản. Nếu bạn lấy một câu và vặn nó theo nhiều cách, bạn sẽ có được nhiều câu. Bằng cách này bạn có thể tăng mẫu đào tạo lên hàng chục lần. Tất cả những gì còn lại là đào tạo trên nhóm kết quả một số mô hình ít nhiều thông minh có tính đến bối cảnh.

Cách mở bình luận và không bị chìm trong thư rác

Còn quá sớm để nói về quyết định cuối cùng. Chúng tôi vẫn đang thử nghiệm các cách tiếp cận vấn đề này, nhưng chúng tôi đã có thể thấy rằng một mạng tích chập biểu tượng đơn giản gồm nhiều lớp hoạt động tốt hơn đáng kể so với các từ điển và công cụ thông thường: có thể tăng cả độ chính xác và khả năng thu hồi.

Tất nhiên, chúng tôi hiểu rằng sẽ luôn có cách để vượt qua ngay cả quá trình tự động hóa tiên tiến nhất, đặc biệt là khi vấn đề quá nguy hiểm: viết theo cách mà một cỗ máy ngu ngốc sẽ không thể hiểu được. Ở đây, cũng như trong cuộc chiến chống thư rác, mục tiêu của chúng tôi không phải là loại bỏ khả năng viết nội dung tục tĩu; nhiệm vụ của chúng tôi là đảm bảo rằng trò chơi đó không đáng giá.

Mở ra cơ hội chia sẻ quan điểm, giao tiếp và bình luận không khó. Việc đạt được điều kiện an toàn, thoải mái và sự đối xử tôn trọng của mọi người còn khó khăn hơn nhiều. Và không có điều này sẽ không có sự phát triển của bất kỳ cộng đồng nào.

Nguồn: www.habr.com

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