>  기사  >  기술 주변기기  >  알리바바의 설명 가능한 추천 알고리즘 적용

알리바바의 설명 가능한 추천 알고리즘 적용

WBOY
WBOY앞으로
2023-05-10 16:52:06924검색

1. 추천 사업 소개

먼저 알리바바헬스의 사업 배경과 현황 분석을 소개하겠습니다.

1. 추천 시나리오 표시

해석 가능한 추천, 예를 들어 아래와 같이 Dangdang.com의 "당신이 검색한 제품에 따른 추천"(사용자에게 추천 이유를 알려줌) 및 Taobao의 "1000+" "홈컨트롤 컬렉션", "2000+ 디지털 전문가 추가 구매"는 모두 사용자 정보를 제공하여 추천 제품의 ​​이유를 설명하는 해석 가능한 추천입니다.

알리바바의 설명 가능한 추천 알고리즘 적용

​왼쪽 그림의 해석 가능한 추천은 비교적 간단한 구현 아이디어를 가지고 있습니다. 추천에는 주로 호출과 정렬이라는 두 가지 주요 모듈이 포함되며, 호출에는 종종 사용자뿐 아니라 다중 채널 호출도 포함됩니다. 행동 회상 일반적인 회상 방법. 정렬 모듈을 통과한 상품은 사용자 행동 회상 풀에서 나온 상품인 경우 추천 상품 뒤에 해당 추천 댓글을 추가할 수 있습니다. 그러나 이 방법은 정확도가 낮고 사용자에게 효과적인 정보를 제공하지 못하는 경우가 많습니다.

이에 비해 오른쪽 예에서는 해당 설명 텍스트가 사용자에게 제품 카테고리 정보 등 더 많은 정보를 제공할 수 있습니다. 그러나 이 방법은 기능에서 텍스트 출력 처리까지 더 많은 수동 개입이 필요한 경우가 많습니다.

알리헬스의 경우 업계의 특수성으로 인해 다른 시나리오보다 더 많은 제한이 있을 수 있습니다. 관련 규정에는 '3품1기기'(의약품, 건강식품, 특수의료용도 조제식품, 의료기기) 광고에는 '핫세일, 순위, 추천' 등의 문자정보를 게재할 수 없도록 규정하고 있다. 따라서 Alibaba Health는 위 규정을 준수한다는 전제 하에 Alibaba Health의 사업을 기반으로 하는 제품을 추천해야 합니다. ​

2. 알리헬스의 사업상황

알리헬스는 현재 알리헬스 자체 운영 매장과 알리헬스 산업 매장 두 가지 형태의 매장을 운영하고 있습니다. 그 중 자영업 매장은 주로 대형 약국, 해외 매장, 의약품 플래그십 스토어를 포함하고 있으며, 알리의 건강산업 매장은 주로 다양한 카테고리의 플래그십 스토어와 개인 매장을 포함하고 있다.

제품 측면에서 Ali Health는 주로 일반 상품, OTC 상품 및 처방약의 세 가지 주요 제품 카테고리를 다루고 있습니다. 일반 제품은 의약품이 아닌 제품으로 정의됩니다. 일반 제품에 대한 추천에는 카테고리 판매 상위, n+명 이상 수집/구매 등의 정보가 표시될 수 있습니다. OTC 및 처방약과 같은 의약품에 대한 권장 사항은 해당 규정의 적용을 받으며, 권장 사항은 기능적 적응증, 복약 주기, 금기 사항 및 기타 정보에 대한 정보와 같은 사용자 우려 사항과 더욱 통합될 필요가 있습니다.

위에서 언급한 약품 추천 텍스트에 사용할 수 있는 정보는 주로 다음과 같은 주요 출처에서 나옵니다.

  • 제품 리뷰(처방약 제외).
  • 제품 상세페이지 입니다.
  • 지침 및 기타 정보.

2. 기본 데이터 준비

두 번째 부분에서는 주로 제품의 특징을 추출하고 인코딩하는 방법을 소개합니다.

1. 제품 특징 추출

다음은 Huoxiang Zhengqi Water를 예로 들어 위의 데이터 소스에서 주요 특징을 추출하는 방법을 보여줍니다.

알리바바의 설명 가능한 추천 알고리즘 적용

  • Title

판매자들은 제품의 회상률을 높이기 위해 제목에 더 많은 키워드를 추가하는 경우가 많습니다. 따라서 판매자 자신의 제목 설명을 통해 키워드를 추출할 수 있습니다.

  • 상품 상세 사진

OCR 기술을 활용하면 상품 상세 사진을 기반으로 제품의 기능, 주요 셀링 포인트, 핵심 셀링 포인트 등 보다 포괄적인 상품 정보를 추출할 수 있습니다.

  • 사용자 리뷰 데이터

특정 기능에 대한 감성을 바탕으로 한 사용자의 점수를 활용하여 제품의 해당 키워드에 가중치를 적용하거나 가중치를 적용할 수 있습니다. 예를 들어, '열사병 예방'이라는 훠샹정기수(Hoxiang Zhengqi Water)의 경우 사용자 댓글의 '열사병 예방' 감성 점수를 바탕으로 해당 가중치를 처리할 수 있다.

  • 의약품 설명

위의 여러 데이터 소스를 통해 정보 속 키워드를 추출하고 키워드 데이터베이스를 구축할 수 있습니다. 추출된 키워드에는 중복된 단어와 동의어가 많기 때문에 동의어를 병합하고 수동으로 검증하여 표준 어휘 라이브러리를 생성해야 합니다. 마지막으로, 단일 제품-태그 목록 관계가 형성될 수 있으며, 이는 후속 코딩에 사용될 수 있으며 모델에서 사용될 수 있습니다.

2. 기능 인코딩

다음은 기능을 인코딩하는 방법을 설명합니다. Feature Encoding은 주로 word embedding을 위한 word2vec 방식을 기반으로 합니다.

실제 과거 구매 상품쌍 데이터는 다음 세 가지 카테고리로 나눌 수 있습니다.

(1) 공동 탐색한 상품 쌍: 사용자가 일정 기간(30) 내에 차례로 클릭했습니다. 분) 사용자 정의 공동 브라우징 데이터입니다.

(2) 공동 구매 상품 쌍: 공동 구매란 넓은 의미로 동일한 기본 주문 내 하위 주문 간의 공동 구매 상품 쌍으로 정의할 수 있습니다. 실제 사용자의 주문 습관, 일정 시간(10분) 내 동일한 사용자의 주문 상품 데이터를 정의합니다.

(3) 탐색 구매 상품 쌍: 동일한 사용자가 A를 클릭한 후 B 상품을 구매했습니다. A와 B는 서로의 구매 탐색 데이터입니다.

과거 데이터를 분석한 결과 검색 후 구매 데이터는 제품 간 유사도가 높은 것으로 나타났습니다. 종종 약물의 핵심 기능은 유사하지만 약간의 차이만 있을 뿐 유사 제품 쌍으로 정의할 수 있습니다. , 이는 양성 샘플입니다.

알리바바의 설명 가능한 추천 알고리즘 적용

​특징 인코딩 모델은 여전히 ​​word2vec의 아이디어를 기반으로 합니다. 주로 유사한 제품/라벨 간의 임베딩이 더 가까워지기를 바랍니다. 따라서 워드 임베딩의 긍정 샘플은 위에서 언급한 검색 후 구매한 상품 쌍으로 정의되며, 부정 샘플은 공동 검색 상품 쌍과 공동 구매 상품 쌍의 합에서 검색 후 구매한 상품 쌍의 데이터를 뺀 값입니다.

위의 양성 및 음성 샘플 쌍 정의를 기반으로 힌지 손실을 사용하여 i2i 리콜 단계에서 각 제품의 임베딩을 학습할 수 있으며 이 시나리오에서 태그/키워드 임베딩도 학습하여 입력으로 사용할 수 있습니다. 후속 모델의 경우. ​

위 방법에는 두 가지 장점이 있습니다.

​(1) 기능은 제품 기능만 사용하므로 콜드 스타트 ​​문제를 어느 정도 해결할 수 있습니다. 새로 출시된 제품의 경우 제목과 이름을 계속 사용할 수 있습니다. 제품 자세한 사진 및 기타 정보는 해당 태그를 얻습니다.

(2) 긍정적 샘플과 부정적 샘플의 정의는 다양한 추천 시나리오에서 사용될 수 있습니다. 긍정적 샘플이 공동 구매한 한 쌍의 제품으로 정의된 경우 훈련된 제품 임베딩을 "동시 구매 추천" 시나리오에서 사용할 수 있습니다. ​

3. 설명 가능한 추천 모델

1. 설명 가능한 모델에 대한 배경 소개

업계에서 더 성숙한 설명 가능한 유형에는 주로 내장 설명 가능성(모델 고유)과 모델 독립적 설명 가능성이 있습니다. 두 가지 주요 범주: 모델에 구애받지 않습니다.

일반적인 XGBoost 등과 같은 해석성 모델이 내장되어 있습니다. 그러나 XGBoost는 엔드 투 엔드 모델이지만 기능 중요도는 전체 데이터 세트를 기반으로 하며 "의 개인화 추천 요구 사항을 충족하지 않습니다." 수천 명의 사람과 수천 개의 얼굴."

모델 독립적 해석 가능성은 주로 단일 사례를 분석하고 예측 값이 실제 값과 다른 이유를 판단할 수 있는 SHAP와 같은 논리적 시뮬레이션 모델을 재구성하고 모델을 설명하는 것을 의미합니다. 그러나 SHAP는 복잡하고 시간이 많이 걸리며 성능 수정 후에는 온라인 성능 요구 사항을 충족할 수 없습니다.

따라서 각 샘플의 특징 중요도를 출력할 수 있는 엔드투엔드 모델을 구축하는 것이 필요합니다. ​

알리바바의 설명 가능한 추천 알고리즘 적용

가우스 혼합 분포는 여러 개의 가우스 분포를 조합한 것으로, 특정 분포의 결과 값과 각 표본 결과가 특정 분포에 속할 확률을 출력할 수 있습니다. 따라서 분류된 특징을 서로 다른 분포를 갖는 데이터로 이해하고, 해당 특징의 예측 결과와 실제 결과에서 예측의 중요성을 모델링하는 유추를 할 수 있습니다.

2. 모델 구조 다이어그램

아래 그림은 전체 모델 구조 다이어그램이며, 오른쪽 그림은 특성 중요도를 표시하는 데 사용할 수 있습니다. .

알리바바의 설명 가능한 추천 알고리즘 적용

구체적으로 예측 모델은 해당 특징 예측/클릭의 확률을 예측하는 데 사용되며, 선택 모델은 어떤 특징 분포가 더 중요한지 설명하는 데 사용되며 설명 텍스트 표시로 사용할 수 있습니다.

3. 예측 모델

아래 그림은 예측 모델의 결과를 보여줍니다. 예측 모델은 주로 DeepFM의 아이디어를 바탕으로 하며 딥 모델과 크로스 모델이 포함됩니다. 심층 모델은 주로 특징의 심층 표현을 학습하는 데 사용되는 반면, 교차 모델은 교차 특징을 학습하는 데 사용됩니다.

알리바바의 설명 가능한 추천 알고리즘 적용

​딥 모델에서는 먼저 기능을 미리 그룹화합니다(총 N개 그룹 가정). 가격, 카테고리 및 기타 관련 기능은 가격, 카테고리 카테고리(그림의 필드 필드)로 병합됩니다. , 각각의 개별 모델은 특성 그룹에 대해 학습되고 특성 그룹을 기반으로 한 모델 결과가 얻어집니다.

모델을 미리 병합하고 그룹화하면 다음과 같은 두 가지 장점이 있습니다.

(1) N 모델의 독립적인 학습을 통해 입력 특성을 늘리거나 줄여 모델의 복잡성을 변경하여 온라인 성능에 영향을 미칠 수 있습니다.

(2) 기능을 병합하고 그룹화하면 기능 규모가 크게 줄어들어 기능 도메인을 텍스트로 수동으로 변환하는 것이 더 편리해집니다.

이론적으로 Attention 레이어를 사용하여 기능 중요도를 분석할 수 있다는 점은 언급할 가치가 있지만 이 모델에서 Attention을 도입하지 않은 주요 이유는 다음과 같습니다.

(1) Attention 레이어가 너무 앞쪽에 배치되면

(2) Attention 레이어를 나중 위치에 배치하면 역추적하여 핵심 기능을 찾을 수 없습니다.

예측 모델의 경우:​

알리바바의 설명 가능한 추천 알고리즘 적용

크로스 레이어는 FM 모델을 따르지 않지만 CNN을 사용하여 DeepFM의 FM 구조를 대체합니다. FM 모델은 특성의 쌍방향 교차 결과를 학습하고 계산 중 차원 폭발을 피하기 위해 수학적 공식을 통해 쌍방향 교차 결과를 직접 계산합니다. 그러나 특성 중요도를 역추적하는 것은 불가능합니다. 따라서 교차 모델에 CNN을 도입합니다. 원래 구조를 대체합니다. N 기능을 곱하여 기능 교차를 달성한 다음 해당 CNN 작업을 수행합니다. 이를 통해 입력 후 pooling, concat 및 기타 작업을 수행한 후 특성 값을 다시 추적할 수 있습니다.

위의 장점 외에도 이 방법에는 또 다른 장점이 있습니다. 현재 버전은 단일 기능만 단일 설명 텍스트로 변환하지만 앞으로도 다중 기능 상호 작용의 변환을 달성할 수 있을 것으로 기대됩니다. 예를 들어, 사용자가 100위안의 저가 제품을 구매하는 데 익숙하지만 원래 가격이 50,000위안인 제품을 500위안으로 할인하여 사용자가 해당 제품을 구매하는 경우 모델은 그를 고가로 정의할 수 있습니다. - 지출 사용자. 그러나 실제로는 고급 브랜드와 높은 할인이라는 이중 요인으로 인해 사용자가 주문할 수 있으므로 조합 논리를 고려해야 합니다. CNN-FM 모델의 경우 기능 맵을 직접 사용하여 이후 단계에서 기능 조합을 출력할 수 있습니다.

4. 선택 모델

알리바바의 설명 가능한 추천 알고리즘 적용

​선택 모델은 MLP와 sparseMax로 구성됩니다. 선택 모델의 활성화 함수는 일반적인 소프트맥스 대신 스파스맥스(sparsemax)라는 점을 언급할 가치가 있습니다. 이미지 오른쪽에는 sparsemax의 함수 정의와 Softmax와 sparsemax의 함수 비교 차트가 있습니다.

오른쪽 아래 그림에서 볼 수 있듯이, Softmax는 여전히 중요도가 낮은 출력 노드에 더 작은 값을 할당합니다. 이 시나리오에서는 특성 차원이 폭발하여 중요한 특성과 쉽게 출력 사이에 발생합니다. 중요하지 않은 기능은 없습니다. SparseMax는 출력을 분리하고 궁극적으로 더 중요한 기능만 출력할 수 있습니다. ​

4. 실험적 효과 표시

1. 실험적 데이터 설명

온라인 효과 데이터는 주로 대형 약국 홈페이지의 노출 클릭 데이터에서 가져옵니다. 시나리오에도 노출 클릭 데이터가 도입되었으며, 데이터 비율은 4:1입니다.

2. 오프라인 지표

오프라인 시나리오에서 이 모델의 AUC는 0.74입니다.

3. 온라인 지표

온라인 장면에는 이미 CTR 모델이 있으므로 새 버전의 알고리즘은 모델을 대체할 뿐만 아니라 변수를 제어하지 않고 해당 설명 텍스트를 표시한다고 간주됩니다. 그래서 이 실험은 AB 테스트를 직접적으로 사용하지는 않았습니다. 대신, 온라인 CTR 모델과 새 버전의 알고리즘의 예측 값이 특정 임계값보다 높은 경우에만 권장 이유 텍스트가 표시됩니다. 온라인 접속 후 새로운 알고리즘의 PCTR은 9.13%, UCTR은 3.4% 증가했다.

5. 질의응답 세션

Q1: 표준 어휘 생성 및 동의어 병합에 사용되는 모델은 무엇인가요? 효과는 어때요? 수동 교정 작업이 얼마나 더 필요합니까?

A1: 동의어를 병합할 때 모델은 텍스트 표준을 학습하고 기본 어휘 라이브러리를 제공하는 데 사용됩니다. 그러나 실제로는 수동 검증이 더 큰 비중을 차지합니다. 건강/제약 비즈니스 시나리오에서는 알고리즘 정확도에 대한 요구 사항이 더 높기 때문에 개별 단어의 편차로 인해 실제 의미에 큰 편차가 발생할 수 있습니다. 전반적으로 수동 검증의 비율은 알고리즘의 비율보다 높을 것입니다.

Q2: 추천 모델에 대한 설명으로 LIME 모델을 사용할 수 있나요?

A2: 네. 설명 가능한 권장 사항을 제공할 수 있는 다른 모델도 많이 있습니다. 공유자는 일반적으로 GMM에 익숙하므로 위 모델을 선택했습니다.

Q3: 선택 모델과 예측 모델은 어떻게 연결되나요?

A3: N개의 특성 그룹이 있다고 가정하면 예측 모델과 선택 모델 모두 1*N차원 벡터를 생성합니다. 마지막으로 예측 모델과 선택 모델의 결과가 곱해집니다(다중). ) 연결을 달성합니다.

Q4: 해석 가능한 텍스트를 생성하는 방법은 무엇입니까?

A4: 현재 텍스트 생성에 적합한 기계 학습 모델은 없으며 주로 인위적인 방법을 기반으로 합니다. 가격이 사용자가 중요하게 생각하는 핵심 요소라면 과거 데이터를 분석하여 가성비가 높은 제품을 추천하는 쪽을 선택할 것입니다. 하지만 지금은 주로 수동 작업입니다. 향후 텍스트 생성에 적합한 모델이 있기를 바라지만, 비즈니스 시나리오의 특수성을 고려할 때 모델에 의해 생성된 텍스트는 여전히 수동으로 검증해야 합니다.

Q5: 모델의 필터링 논리는 무엇입니까?

A5: GMM 중성자 분포 선택을 위해 GMM에서 주로 Mk를 통해 분포를 학습하고 Mk의 높은 값과 낮은 값을 기준으로 필터링합니다.

Q6: 어휘의 주석에 속성 유형이 있나요?

A6: 제품 설명에 질병, 기능, 금기 등 속성 단어에 대한 기준을 충족합니다.

Q7: 해석 가능한 텍스트에서 슬롯 채우기 아이디어를 사용할 수 있나요? 즉, 단어의 무게에 따라 다른 템플릿을 준비하고 다른 템플릿을 선택하는 것입니까?

A7: 예, 이제 실제 사용법은 슬롯 채우기입니다.

오늘의 나눔은 여기까지입니다. 모두 감사합니다.

위 내용은 알리바바의 설명 가능한 추천 알고리즘 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제