Sohu совершенствует персонализированные новостные рекомендации с помощью Milvus

В 10 раз быстрее
в скорости векторного поиска
> 95%
в точности классификации новостей
Меньшее потребление памяти
для более быстрых ответов и снижения затрат
Улучшенные пользовательские впечатления
с персонализированными рекомендациями
Milvus has not only streamlined but also remarkably expedited the retrieval of millions of semantic vectors, showcasing a nearly tenfold improvement compared to our previous experience with other vector similarity search engines.
Tingting Wang
О Sohu News
Sohu, компания интернет-сервисов, котирующаяся на NASDAQ, известна своими разнообразными онлайн-предложениями, включая рекламные, медийные и поисковые сервисы. Sohu News, основное подразделение Sohu, выделяется как ведущий медиабизнес, предоставляющий обширные новостные и информационные сервисы. В ответ на меняющиеся потребности пользователей Sohu News применяет передовые алгоритмы и технологии AI, такие как векторный семантический поиск, чтобы персонализировать рекомендации контента на основе интересов и предпочтений пользователей. Sohu News, приверженная инновациям и доставке новостей в реальном времени, позиционирует себя как первопроходец, активно формируя динамичный ландшафт интернет-индустрии Китая.
Проблемы: медленный и неточный векторный поиск и неверная классификация коротких новостных текстов
По мере развития интернет- и мобильных технологий пользовательский спрос на доступ к информации эволюционировал от пассивного получения к активному поиску новостей, соответствующих их интересам. Чтобы удовлетворить эту меняющуюся потребность, Sohu News создала систему рекомендаций, способную рекомендовать пользователям последние новости на основе их интересов и предпочтений, в конечном итоге повышая кликабельность новостей и продолжительность чтения.
Однако с их предыдущим стеком векторного поиска возникли проблемы. Он должен был быть быстрее при извлечении больших наборов данных и выдавал неточные рекомендации, которые не соответствовали интересам пользователей. Стек также потреблял чрезмерный объем памяти при выполнении семантического поиска и, что еще хуже, делал ответы еще более медленными. Sohu News срочно требовалась высокопроизводительная и экономичная по памяти технология векторного поиска, чтобы обрабатывать огромные и постоянно растущие объемы неструктурированных данных и поддерживать свою систему рекомендаций для быстрых персонализированных новостных рекомендаций.
Еще одной проблемой была классификация коротких новостных текстов. Точная классификация каждой новостной статьи перед векторным поиском крайне важна для предоставления полезных рекомендаций контента. Однако короткие новостные статьи имеют меньше признаков, чем длинные новостные тексты, что создает трудности для точной категоризации. Поэтому Sohu News требовался надежный движок векторного поиска, который мог бы помочь точно категоризировать короткие новостные статьи и выявлять те, которые ранее были неверно классифицированы.
Решение: выбор Milvus для создания мощного движка векторного поиска
После тщательного рассмотрения команда Sohu News выбрала Milvus для создания движка векторного поиска для своей системы рекомендаций новостей. Milvus, векторная база данных с открытым исходным кодом, может обрабатывать миллиарды векторных точек, обеспечивая молниеносную производительность с высоким уровнем полноты. Она также поддерживает 11 основных индексов, таких как FLAT, HNSW и ScaNN, предлагая больше гибкости для поиска баланса между точностью, производительностью и стоимостью.
Как работает система рекомендаций новостей и как Milvus ее поддерживает
Система рекомендаций использует двухбашенную структуру внутри своего движка векторного поиска, где каждая башня представляет семантические векторы предпочтений пользователей и новостей соответственно.
Команда Sohu News выбрала модель встраиваний BERT-as-service, чтобы преобразовывать существующие новостные статьи в семантические векторы, и сохранила эти векторы в векторной базе данных Milvus. Что касается вновь созданных новостных статей, они передаются через Kafka, а затем проходят аналогичное преобразование в семантические векторы. Затем эти векторы вставляются в векторную базу данных Milvus.
Профили и предпочтения пользователей включают историю просмотра новостей пользователями и ключевые слова тегов, помеченные на основе интересов пользователей. Эти ключевые слова и данные о просмотрах также преобразуются в семантические векторы с помощью модели эмбеддингов BERT-as-service, а затем отправляются в Milvus для поиска семантического сходства.
Milvus сравнивает косинусное сходство двух типов семантических векторов, возвращает результаты Top-K с наивысшим косинусным сходством (что означает, что эти результаты наиболее похожи на интересы и предпочтения пользователя) и помещает их в пул кандидатов рекомендованных новостей. Затем система оценивает и ранжирует показатель кликабельности новостей в этом пуле, предоставляя пользователям новости с наивысшим прогнозируемым показателем кликабельности.
Как Milvus улучшает классификацию коротких новостей
Точная классификация каждой новостной статьи перед векторным поиском имеет первостепенное значение для предоставления ценных рекомендаций контента. Короткие новости, часто содержащие ограниченную информацию, представляют собой сложную ситуацию, в которой легко возникают ошибочные классификации. Понимая тонкости классификации коротких новостей, Sohu News использует Milvus, чтобы значительно повысить точность классификации новостей.
Команда использует модель BERT-as-service для преобразования длинных новостных статей в семантические векторы, беспрепятственно загружая эти векторы в Milvus. Одновременно короткие новостные статьи преобразуются в семантические векторы и отправляются в Milvus для извлечения 20 длинных новостных статей с наивысшим косинусным сходством.
Затем команда анализирует категории этих 20 длинных новостных статей, наиболее семантически похожих на запрошенную короткую новость. Предположим, что более 18 из этих статей относятся к одной и той же категории, но отличаются от категории, присвоенной запрошенной короткой новости. В таком случае это сигнализирует о потенциальной ошибке в классификации категории короткой новости. В таких случаях команда оперативно исправляет эти ошибки. Благодаря включению Milvus в этот процесс точность классификации превышает 95%.
Этот инновационный подход, синергично сочетающийся с возможностями Milvus, не только эффективно решает проблемы классификации коротких новостей, но и способствует созданию ценного корпуса для обучения будущих классификаторов коротких текстов.
Результаты: более быстрые ответы, более высокая точность рекомендаций и лучший пользовательский опыт
Сотрудничество Sohu с Milvus значительно преобразило ее систему рекомендаций новостей, предлагая пользователям более персонализированный и увлекательный опыт. С Milvus система рекомендаций Sohu News достигла в 10 раз более высокой скорости извлечения векторов и заметно повысила точность рекомендаций. В частности, Milvus повысил точность классификации коротких новостей до более чем 95%.
Milvus поддерживает основные индексы и обеспечивает высокий recall на огромных наборах данных, предлагая больше гибкости для баланса точности, производительности и стоимости. Его эффективность в потреблении памяти и способность обрабатывать значительные объемы данных полностью соответствуют операционным потребностям Sohu.
Этот кейс изначально был написан Тинтин Ван, инженером алгоритмов NLP в Sohu, и отредактирован и опубликован здесь с разрешения.
- О Sohu News
- Проблемы: медленный и неточный векторный поиск и неверная классификация коротких новостных текстов
- Решение: выбор Milvus для создания мощного движка векторного поиска
- Результаты: более быстрые ответы, более высокая точность рекомендаций и лучший пользовательский опыт
Контент
Пример использования
Отрасль
СМИ


