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 소개
NASDAQ 상장 인터넷 서비스 기업인 Sohu는 광고, 미디어, 검색 서비스를 포함한 다양한 온라인 서비스로 잘 알려져 있습니다. Sohu의 핵심 부문인 Sohu News는 광범위한 뉴스 및 정보 서비스를 제공하는 선도적인 미디어 사업으로 두각을 나타내고 있습니다. 진화하는 사용자 요구에 대응하기 위해 Sohu News는 벡터 기반 시맨틱 검색과 같은 첨단 AI 알고리즘과 기술을 활용하여 사용자의 관심사와 선호도에 따라 콘텐츠 추천을 개인화합니다. 혁신과 실시간 뉴스 전달에 전념하는 Sohu News는 중국 인터넷 산업의 역동적인 환경을 적극적으로 형성하는 선구자로 자리매김하고 있습니다.
과제: 느리고 부정확한 벡터 검색과 짧은 텍스트 뉴스의 오분류
인터넷과 모바일 기술이 발전함에 따라 정보 접근에 대한 사용자 수요는 수동적인 수용에서 자신의 관심사에 맞는 뉴스를 적극적으로 찾는 방향으로 변화했습니다. 이러한 변화하는 요구를 충족하기 위해 Sohu News는 사용자의 관심사와 선호도에 따라 최신 뉴스를 추천할 수 있는 추천 시스템을 구축하여 궁극적으로 뉴스 클릭률과 읽기 시간을 향상시켰습니다.
하지만 기존 벡터 검색 스택에서 문제가 발생했습니다. 대규모 데이터셋을 검색할 때 더 빨라질 필요가 있었고, 사용자의 관심사와 맞지 않는 부정확한 추천을 제공했습니다. 또한 이 스택은 시맨틱 검색을 수행할 때 과도한 메모리를 소비했으며, 설상가상으로 응답 속도를 더욱 느리게 만들었습니다. Sohu News는 방대하고 계속 증가하는 비정형 데이터를 처리하고 빠르고 개인화된 뉴스 추천을 위해 추천 시스템을 지원할 수 있는 고성능·메모리 효율적인 벡터 검색 기술이 시급히 필요했습니다.
또 다른 과제는 짧은 텍스트 뉴스의 분류였습니다. 벡터 검색 전에 각 뉴스 기사를 정확하게 분류하는 것은 유용한 콘텐츠 추천을 제공하는 데 매우 중요합니다. 그러나 짧은 뉴스 기사는 긴 텍스트 뉴스보다 특징이 적어 정확한 분류에 어려움을 초래합니다. 따라서 Sohu News는 짧은 뉴스 기사를 정확하게 분류하고 이전에 오분류된 기사를 식별하는 데 도움을 줄 수 있는 강력한 벡터 검색 엔진이 필요했습니다.
해결책: 강력한 벡터 검색 엔진 구축을 위한 Milvus 선택
신중한 검토 끝에 Sohu News 팀은 뉴스 추천 시스템을 위한 벡터 검색 엔진을 구축하기 위해 Milvus를 선택했습니다. 오픈 소스 벡터 데이터베이스인 Milvus는 수십억 개의 벡터 포인트를 처리할 수 있으며, 높은 재현율로 매우 빠른 성능을 제공합니다. 또한 FLAT, HNSW, ScaNN과 같은 11가지 주요 인덱스를 지원하여 정확도, 성능, 비용 간의 균형을 찾는 데 더 큰 유연성을 제공합니다.
뉴스 추천 시스템의 작동 방식과 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는 주류 인덱스를 지원하고 대규모 데이터셋에서 높은 재현율을 보장하여 정확도, 성능, 비용 간의 균형을 맞출 수 있는 더 큰 유연성을 제공합니다. 메모리 소비 효율성과 상당한 데이터 볼륨을 처리하는 능력은 Sohu의 운영 요구 사항과 원활하게 부합합니다.
이 사례 연구는 원래 Sohu의 NLP 알고리즘 엔지니어인 Tingting Wang이 작성했으며, 허가를 받아 여기에서 편집 및 공개되었습니다.


