>  기사  >  기술 주변기기  >  Dianping 검색 관련성 기술 탐색 및 실습

Dianping 검색 관련성 기술 탐색 및 실습

王林
王林앞으로
2023-05-19 19:04:04834검색

저자: Xiaoya Shen Yuan, Judy 등

1. 배경

Dianping 검색은 Dianping 앱의 핵심 입구 중 하나입니다. . 검색의 장기적인 목표는 검색 경험을 지속적으로 최적화하고 사용자 검색 만족도를 높이는 것입니다. 이를 위해서는 사용자의 검색 의도를 이해하고 검색어와 판매자 간의 상관 관계를 정확하게 측정하며 관련 판매자를 최대한 표시하고 순위를 높이는 것이 필요합니다. 관련 가맹점은 전달을 기준으로 합니다. 따라서 검색어와 가맹점 간의 상관관계 계산은 리뷰 검색에 있어서 중요한 부분입니다.

Dianping 검색 시나리오가 직면한 관련성 문제는 판매자 이름, 요리, 주소, 카테고리 및 이들 사이의 다양한 복잡한 조합을 검색하는 등 매우 복잡하고 다양합니다. 또한, 가맹점의 종류도 다양하며, 가맹점명, 주소정보, 단체주문정보, 요리정보, 각종 시설 및 라벨 정보 등이 있어 Query와 가맹점 간의 매칭 패턴이 매우 복잡하여 쉽게 연결될 수 있습니다. 다양한 상관 문제에 대해 구체적으로 다음과 같은 유형으로 나눌 수 있습니다.

  • 텍스트 불일치: 검색 중에 더 많은 판매자를 검색하고 노출하기 위해 검색어를 더 세분화된 단어로 분할할 수 있습니다. 따라서 그림 1(a)에 표시된 것처럼 "굴 전골"을 검색하는 사용자는 국물 베이스에 굴이 포함된 전골을 찾아야 하지만 "굴"은 검색어가 일치하지 않는 문제가 발생합니다. 그리고 "전골" 상인이 제공하는 두 가지 다른 요리가 각각 일치합니다.
  • 의미적 오프셋: 쿼리는 문자 그대로 판매자와 일치하지만 판매자는 그림 1( 비).
  • 카테고리 오프셋: 검색어가 문자 그대로 판매자와 일치하고 의미상 관련이 있지만 기본 카테고리가 사용자의 요구와 일치하지 않습니다. 예를 들어 사용자가 "과일"을 검색하면 "과일"을 제공하는 KTV 판매자입니다. 플레이트"는 분명히 사용자의 요구와 일치합니다. 관련이 없습니다. ​

Dianping 검색 관련성 기술 탐색 및 실습

(a) 텍스트 불일치 예

Dianping 검색 관련성 기술 탐색 및 실습

(b) 의미 오프셋 예

그림 1 검색 관련성 문제 검토 예

문자 기반 매칭 상관관계 방법은 위의 문제를 효과적으로 처리할 수 없으며, 사용자의 의도에 부합하지 않는 검색 목록의 다양한 문제를 해결하기 위해서는 검색어와 판매자 간의 깊은 의미적 상관관계를 보다 정확하게 특성화할 필요가 있습니다. Meituan의 대규모 비즈니스 코퍼스에 대해 학습된 MT-BERT 사전 학습 모델을 기반으로 이 기사에서는 Dianping 검색 시나리오에서 Query와 판매자(POI, 일반 검색 엔진의 Doc에 해당) 간의 심층 의미 상관 모델을 최적화하고 적용합니다. 검색 링크의 각 링크에 있는 Query와 POI 간의 상관 정보.

이 글에서는 리뷰 검색 관련성 기술을 기존 검색 관련성 기술에 대한 리뷰, 리뷰 검색 관련성 계산 방식, 실제 적용, 요약 및 전망의 네 가지 측면에서 소개합니다. Dianping 검색 관련성 계산 장에서는 판매자 입력 정보 구축의 세 가지 주요 문제를 해결하는 방법, 모델을 Dianping 검색 관련성 계산에 적용하는 방법, 모델의 온라인 성능 최적화를 소개합니다. 실제 적용 장에서는 Dianping 검색 관련성 계산의 오프라인 개발을 소개합니다. 검색 관련성 모델 및 온라인 효과.

2. 검색 관련성 기존 기술

검색 관련성은 Query와 반환된 Doc 간의 상관 관계 정도를 계산하는 것을 목표로 합니다. 즉, NLP의 의미 일치에 해당하는 Doc의 콘텐츠가 사용자 Query의 요구 사항을 충족하는지 확인하는 것입니다. 작업(의미적 일치). Dianping의 검색 시나리오에서 검색 관련성은 사용자의 Query와 판매자의 POI 간의 상관 관계를 계산하는 것입니다.

텍스트 매칭 방법: 초기 텍스트 매칭 작업은 Query와 Doc 간의 리터럴 매칭 정도만 고려하고, TF-IDF, BM25 등 Term 기반 매칭 기능을 통해 상관관계를 계산했습니다. 단어 매칭 상관관계의 온라인 계산 효율성은 높으나, 용어 기반 키워드 매칭의 일반화 성능이 낮고, 의미 및 단어 순서 정보가 부족하며, 한 단어 또는 하나의 의미를 가진 여러 단어의 다중 의미 문제를 처리할 수 없기 때문에 매칭 누락 및 오해 매칭 현상이 심각합니다.

전통적인 의미 일치 모델: 리터럴 일치의 단점을 보완하기 위해 Query와 Doc 간의 의미 상관 관계를 더 잘 이해할 수 있도록 의미 일치 모델을 제안합니다. 전통적인 의미론적 일치 모델에는 주로 암시적 공간 기반 일치가 포함됩니다. 즉, Query와 Doc을 모두 동일한 공간의 벡터에 매핑한 다음 부분 최소 제곱(PLS)[1 ]과 같은 일치 점수로 벡터 거리 또는 유사성을 사용합니다. ; 번역 모델 기반 매칭: Doc을 쿼리 공간에 매핑한 후 일치시키거나 Doc이 Query[2]로 번역될 확률을 계산합니다.

딥 러닝과 사전 학습 모델의 발전으로 딥 의미 매칭 모델도 업계에서 널리 사용되고 있습니다. 구현 방법 측면에서 심층 의미 매칭 모델은 표현 기반(Representation-based) 방법과 상호 작용 기반(Interaction-based) 방법으로 구분됩니다. 자연어 처리 분야에서 효과적인 방법으로 사전 훈련된 모델은 의미 매칭 작업에도 널리 사용됩니다.

Dianping 검색 관련성 기술 탐색 및 실습

(a) 표현 기반 다중 도메인 상관 모델

Dianping 검색 관련성 기술 탐색 및 실습

(b) 상호 작용 기반 상관 모델

그림 2 심층 의미 일치 상관 모델

표현 기반 심층 의미 매칭 모델: 표현 기반 방법은 각각 Query와 Doc의 의미 벡터 표현을 학습한 후 두 벡터를 기반으로 유사성을 계산합니다. Microsoft의 DSSM 모델[3]은 두 개의 독립적인 네트워크를 사용하여 Query와 Doc의 벡터 표현을 구성하고 코사인 유사성을 사용하여 두 벡터 간의 상관 관계를 측정하는 고전적인 트윈 타워 구조의 텍스트 일치 모델을 제안합니다. Microsoft Bing Search의 NRM[4]Doc 표현의 문제를 목표로 하며, 기본 Doc 제목 및 내용 외에도 기타 다중 소스 정보(각 정보 유형을 필드 필드라고 함)도 고려합니다. 외부 링크 및 사용자가 쿼리 등을 클릭하면 문서에 여러 필드가 있고 각 필드에 여러 인스턴스(Instance)가 있다는 점을 고려하세요. 각 인스턴스는 쿼리 단어와 같은 텍스트에 해당합니다. 모델은 먼저 인스턴스 벡터를 학습하고, 모든 인스턴스 표현 벡터를 집계하여 필드 표현 벡터를 얻고, 여러 필드 표현 벡터를 집계하여 최종 Doc 벡터를 얻습니다. SentenceBERT[5] 사전 훈련된 모델 BERT를 Twin Towers의 Query 및 Doc 코딩 계층에 도입하고 다양한 Pooling 방법을 사용하여 Twin Towers의 문장 벡터를 얻고 점 곱셈, 접합, 등.

Dianping의 초기 검색 관련성 모델은 NRM과 SentenceBERT의 아이디어를 바탕으로 그림 2(a)에 표시된 표현 기반 다중 도메인 관련성 모델 구조를 채택했습니다. 표현 기반 방법은 POI의 벡터를 변환할 수 있습니다. 미리 계산하여 캐시에 저장하며, Query 벡터와 POI 벡터의 Interactive 부분만 온라인으로 계산하므로 온라인에서 사용할 때 계산 속도가 더 빠릅니다.

상호작용 기반 심층 의미론적 일치 모델: 상호작용 기반 방법은 Query와 Doc의 의미론적 표현 벡터를 직접 학습하지 않지만 Query와 Doc이 기본 입력 단계에서 상호작용하여 몇 가지 기본 일치 신호를 설정할 수 있도록 합니다. 그런 다음 기본 일치 신호가 일치 점수로 융합됩니다. ESIM[6]은 사전 훈련 모델이 도입되기 전에 업계에서 널리 사용되는 고전적인 모델입니다. 먼저 Query와 Doc을 인코딩하여 초기 벡터를 얻은 다음 Attention 메커니즘을 사용하여 대화형 가중치를 부여한 다음 접합합니다. ​​초기 벡터와 최종적으로 분류를 통해 상관관계를 구합니다.

대화형 계산을 위해 사전 훈련된 모델 BERT를 도입할 때 일반적으로 BERT 문장간 관계 작업의 입력으로 Query와 Doc을 접합하고 MLP 네트워크를 통해 최종 상관 점수를 얻습니다[7 ], 그림 2(b)와 같습니다. CEDR[8]BERT 문장간 관계 작업에서 Query 및 Doc 벡터를 얻은 후 Query 및 Doc 벡터를 분할하고 Query 및 Doc의 코사인 유사성 행렬을 추가로 계산합니다. Meituan 검색팀[9]은 상호작용 기반 방법을 Meituan 검색 상관 모델에 도입하고 사전 훈련을 위한 판매자 카테고리 정보를 도입했으며 다중 작업 학습을 위한 개체 인식 작업을 도입했습니다. Meituan 매장 내 검색 광고팀 [10]은 트윈 타워 모델의 가상 상호 작용을 구현하고 성능을 보장하면서 쿼리와 POI 간의 상호 작용을 높이기 위해 상호 작용 기반 모델을 표현 기반 모델로 정제하는 방법을 제안했습니다. .

3. 검색 상관관계 계산 검토

표현 기반 모델은 POI의 글로벌 특성을 표현하는 데 중점을 두고 있으며 온라인 쿼리와 POI 간의 일치 정보가 부족합니다. 상호 작용 기반 방법은 표현의 단점을 보완할 수 있습니다. 기반 방법을 사용하여 쿼리와 POI의 상호 작용을 강화하여 모델의 표현 능력을 향상시키는 동시에 텍스트 의미 일치 작업에서 사전 학습된 모델의 강력한 성능을 고려하여 검토 검색 상관 관계 계산을 통해 상호 작용을 결정했습니다. Meituan 사전 학습 모델 MT-BERT[11]을 기반으로 한 솔루션입니다. 검토 검색 시나리오의 관련성 작업에 사전 훈련된 모델을 기반으로 하는 대화형 BERT를 적용할 때 여전히 많은 과제가 있습니다.

  • POI 측면 모델 입력 정보를 더 잘 구성하는 방법: 문서 측면 모델 입력 구성 정보의 관계는 상관관계 모델에서 중요한 연결고리입니다. 일반적인 웹 검색 엔진에서는 Doc의 웹 페이지 제목이 관련성을 결정하는 데 매우 중요합니다. 그러나 리뷰 검색 시나리오에서는 POI 정보가 많은 필드의 특성을 가지며 복잡한 정보를 제공할 수 있는 필드가 없습니다. 웹페이지 제목'으로 각 가맹점은 가맹점명, 카테고리, 주소, 단체주문, 가맹점 태그 등 다양한 구조화된 정보를 통해 표현됩니다. 관련성 점수를 계산할 때 많은 양의 다중 소스 판매자 정보를 모델에 입력할 수 없으며, 판매자 이름, 카테고리 등 기본 정보만으로는 정보가 부족하여 만족스러운 결과를 얻을 수 없습니다. 풍부한 정보를 가진 구조는 POI 측면 모델 입력이 우리가 해결하려는 주요 문제입니다.
  • 리뷰 검색 관련성 계산에 더 잘 적응하기 위해 모델을 최적화하는 방법: Dianping 검색 시나리오의 텍스트 정보와 "happy"와 같은 일반적인 사전 훈련 모델 코퍼스 정보 간에는 일정한 차이가 있습니다. " 일반적인 의미 시나리오에서 ""는 "행복하다"와 동의어이지만 리뷰 검색의 맥락에서 "행복한 바베큐"와 "행복한 바베큐"는 완전히 다른 두 브랜드입니다. 동시에 쿼리와 POI 사이의 상관 관계 결정 논리는 일반 NLP 시나리오의 의미 일치 작업과 완전히 동일하지 않습니다. 쿼리와 POI 사이의 일치 모드는 쿼리가 POI의 서로 다른 필드를 일치시키는 경우 매우 복잡합니다. 예를 들어 검색어 '과일'이 '과일 가게' 판매자 카테고리와 일치하면 상관관계가 높지만 KTV의 '과일 플래터' 태그에 도달하면 상관관계가 약합니다. 따라서 일반적인 상호 작용 기반 BERT 문장 간 관계 의미 일치 작업과 비교하여 상관 관계 계산에서는 Query와 POI 부분 간의 특정 일치에도 주의가 필요합니다. 검색 시나리오 검토에 적응하고, 복잡하고 다양한 관련성 판단 논리를 처리하고, 관련 없는 다양한 문제를 최대한 해결하기 위해 모델을 최적화하는 방법은 우리가 직면한 주요 과제입니다.
  • 사전 학습된 상관 모델의 온라인 성능 병목 현상을 해결하는 방법: 표현 기반 모델은 계산 속도는 빠르지만 표현 능력은 제한적이지만 상호 작용 기반 모델은 Query와 POI 간의 상호 작용을 향상시켜 모델 효과를 향상시키지만 온라인에서 사용할 경우 성능 병목 현상이 큽니다. 따라서 12계층 BERT 상호작용 기반 모델을 온라인에서 사용할 때 온라인에서 안정적이고 효율적으로 실행될 수 있도록 전체 컴퓨팅 링크의 성능을 보장하면서 모델의 계산 효과를 어떻게 보장하는가가 온라인 응용의 마지막 장애물이다. 상관관계 계산.

모델이 리뷰 검색 관련성 계산에 더 잘 적응할 수 있도록 지속적인 탐색과 실험을 거쳐 POI 측의 복잡한 다중 소스 정보에 대한 리뷰 검색 시나리오에 적합한 POI 텍스트 요약을 구성했습니다. 두 가지 방법은 단계 훈련 방법을 사용하고 상관관계 계산의 특성에 따라 모델 구조를 변형했으며, 최종적으로 계산 프로세스를 최적화하고 캐싱 및 기타 조치를 도입하여 모델의 실시간 계산에 소요되는 시간을 성공적으로 줄였습니다. 및 전체 애플리케이션 링크를 통해 온라인 실시간 계산 요구 사항을 충족했습니다. BERT의 성능 요구 사항.

3.1 POI 측 모델 입력 정보를 더 잘 구성하는 방법

Query와 POI 간의 상관 관계를 결정할 때 POI 측 계산에 관련된 필드가 12개 이상이며 그 아래에 많은 내용이 있습니다. 일부 필드(예를 들어 판매자는 수백 가지 추천 요리를 가질 수 있습니다)이므로 POI 부가 정보를 추출 및 구성하고 이를 상관 모델에 입력할 수 있는 적절한 방법을 찾아야 합니다. 일반 검색 엔진(Baidu) 또는 일반적인 수직 검색 엔진(Taobao)은 문서의 웹페이지 제목이나 제품 제목에 풍부한 정보를 가지고 있으며, 이는 일반적으로 문서 측에 입력되는 주요 콘텐츠입니다. 관련성 결정 프로세스의 모델.

그림 3의 (a)와 같이 일반 검색 엔진에서는 검색 결과 제목을 통해 해당 사이트의 주요 정보와 Query와의 연관 여부를 한눈에 알 수 있는 반면, 그림 3에서는 (b) 디앤핑 앱 검색 결과, 가맹점명 필드만으로는 충분한 가맹점 정보를 얻을 수 없습니다. 가맹점 카테고리(밀크티 주스), 사용자 추천 요리(올리밀크티)를 결합해야 합니다. 태그(인터넷 연예인 상점), 주소( 무림광장) 여러 필드를 사용하여 "무림광장 인터넷 연예인 밀크티" 검색어에 대한 판매자의 관련성을 확인할 수 있습니다.

Dianping 검색 관련성 기술 탐색 및 실습

(a) 일반 검색 엔진 검색 결과 예시

Dianping 검색 관련성 기술 탐색 및 실습

(b) Dianping 앱 검색 결과 예시

그림 3 일반 검색 엔진과 Dianping 검색 결과 비교

태그 추출은 업계에서 비교적 일반적인 토픽 정보 추출 방식이므로 먼저 판매자 태그를 통한 POI 사이드 모델 입력 방식을 구축해 보았는데, 이에 대응하는 판매자의 코멘트, 기본 정보, 요리, 헤드 검색 클릭을 기반으로 Words 등을 사용하여 대표 가맹점 키워드를 가맹점 태그로 추출합니다. 온라인 사용시 추출된 가맹점 태그, 가맹점명, 카테고리 기본 정보를 모델의 POI측 입력정보로 활용하고, Query로 Interactive 계산을 수행합니다. 그러나 판매자 태그에 의한 판매자 정보 범위는 아직 충분히 포괄적이지 않습니다. 예를 들어 사용자가 "계란 커스터드"라는 요리를 검색하면 사용자와 가까운 한식당에서 계란 커스터드를 판매하지만 매장의 대표 요리인 헤드 클릭이 발생합니다. 단어는 "계란 커스터드"와 관련이 없으므로 매장에서 추출한 태그 단어도 "계란 커스터드"와의 상관 관계가 낮으므로 모델은 해당 매장을 관련성이 없는 것으로 판단하여 사용자 경험에 해를 끼칩니다.

가장 포괄적인 POI 표현을 얻기 위한 한 가지 해결책은 키워드를 추출하지 않고 모든 판매자의 필드를 모델 입력에 직접 연결하는 것입니다. 그러나 이 방법은 모델 입력 길이가 너무 길어 온라인 성능에 심각한 영향을 미칩니다. , 많은 양의 중복 정보도 모델 성능에 영향을 미칩니다.

모델 입력으로 보다 유익한 POI 부가정보를 구축하기 위해 온라인 쿼리 매칭 상황을 결합하여 POI의 매칭 필드 텍스트를 실시간으로 추출하고, 일치 항목을 구성합니다. 필드 요약은 POI 측면 모델 입력 정보로 사용됩니다. POI 일치 필드 요약 추출 프로세스는 그림 4에 나와 있습니다. 일부 텍스트 유사성 기능을 기반으로 Query와 가장 관련성이 높고 유익한 텍스트 필드를 추출하고 필드 유형 정보를 통합하여 일치 필드 요약을 작성합니다. 온라인 사용 시 추출된 POI 매칭 필드 요약, 가맹점명, 카테고리 기본 정보가 POI 사이드 모델로 입력됩니다.

Dianping 검색 관련성 기술 탐색 및 실습

그림 4 POI 일치 필드 요약 추출 과정

POI 측면 모델 입력 정보를 결정한 후 BERT 문장간 관계 작업을 사용하고, 먼저 MT-BERT를 사용하여 POI 측면 모델의 일치 필드 요약 정보를 추출합니다. 쿼리 측 및 POI 측 인코딩을 수행한 다음 풀링된 문장 벡터를 사용하여 상관 점수를 계산합니다. POI 매칭 필드 요약 기법을 사용하여 POI 측면 모델을 구성하고 정보를 입력한 후 샘플 반복 작업을 수행한 결과 레이블 기반 방법에 비해 모델 효과가 크게 향상되었습니다. 3.2 리뷰 검색 관련성 계산에 더 잘 적응하기 위해 모델을 최적화하는 방법

모델이 리뷰 검색 관련성 계산 작업에 더 잘 적응하도록 하는 것은 두 가지 의미를 포함합니다: Dianping 검색 시나리오의 텍스트 정보와 MT- BERT 사전 학습 모델에서 사용하는 코퍼스 분포의 차이 사전 학습 모델의 문장 간 관계 작업도 Query 및 POI의 상관 관계 작업과 약간 다르므로 모델 구조를 수정해야 합니다. 지속적인 탐색 후에 우리는 훈련 샘플 구성과 결합된 도메인 데이터를 기반으로 하는 2단계 훈련 방식을 채택하여 사전 훈련 모델을 검토 검색 시나리오의 상관 관계 작업에 더 적합하게 만들고 다중 기반의 깊은 대화형 상관 관계를 제안했습니다. 유사 행렬 모델

은 Query와 POI 간의 상호 작용을 강화하고, 복잡한 Query 및 POI 정보를 표현하는 모델의 능력을 향상시키며, 상관 관계 계산 효과를 최적화합니다.

3.2.1 도메인 데이터 기반 2단계 학습

사용자 클릭 데이터를 효과적으로 활용하고 사전 학습된 모델 MT-BERT를 리뷰 검색 관련성 작업에 더 적합하게 만들기 위해 Baidu 검색 관련성에서 교훈을 얻습니다[ 12] 도메인 적응 사전 학습(Continual Domain-Adaptive Pre-training)의 첫 번째 단계에는 사용자 클릭과 음성 샘플링 데이터를 사용하고, 수동 주석 데이터를 사용하여 다단계 학습 방법을 도입하는 아이디어입니다. 훈련의 두 번째 단계(Fine- Tune)의 모델 구조는 아래 그림 5와 같습니다.

Dianping 검색 관련성 기술 탐색 및 실습

그림 5 클릭 및 수동 주석 데이터를 기반으로 한 2단계 훈련 모델 구조

클릭 데이터 기반 학습 1단계

클릭 데이터를 1단계 학습 작업으로 도입한 직접적인 이유는 리뷰 검색 시나리오에 몇 가지 독특한 문제가 있기 때문입니다. happy"는 일반적인 시나리오에서는 거의 완전히 동의어이지만 리뷰 검색 시나리오에서 "Happy BBQ"와 "Happy BBQ"는 완전히 다른 두 브랜드 판매자이므로 클릭 데이터를 도입하면 모델이 검색에서 몇 가지 고유한 지식을 학습하는 데 도움이 될 수 있습니다. 대본. 그러나 연관성 판단을 위해 클릭샘플을 직접적으로 활용하는 경우에는 순위가 높아 사용자가 실수로 가맹점을 클릭할 수도 있고, 단순히 가맹점이 멀리 떨어져 있다는 이유로 클릭하지 않을 수도 있기 때문에 노이즈가 많이 발생하게 된다. 상관관계 문제 때문이 아니기 때문에 훈련 샘플의 자동 주석 정확도를 높이기 위해 다양한 기능과 규칙을 도입했습니다.

샘플 구성 시 클릭 여부, 클릭 위치, 최대 클릭 가맹점과 사용자 사이의 거리 등을 세고, 노출 클릭률이 더 높은 Query-POI 쌍을 세어 후보 샘플을 선별합니다. 특정 임계값보다 긍정적인 사례로 간주되며 비즈니스에 따라 특징: 판매자 유형에 따라 다른 임계값을 조정합니다. 네거티브 예시의 구조 측면에서 Skip-Above 샘플링 전략은 클릭된 가맹점 앞에 위치하며 클릭률이 임계값 미만인 가맹점을 네거티브 샘플로 사용합니다. 또한 랜덤 네거티브 샘플링은 간단한 네거티브 예제로 훈련 샘플을 보완할 수 있지만, 랜덤 네거티브 샘플링을 고려할 때 일부 노이즈 데이터도 도입됩니다. 따라서 인위적으로 설계된 규칙을 사용하여 훈련 데이터의 노이즈를 제거합니다. POI의 카테고리 시스템이 POI 이름과 상대적으로 일관되거나 일치도가 높을 경우 네거티브 샘플에서 제거됩니다.

수동 주석 데이터 기반 학습 2단계

첫 번째 학습 단계 이후에는 클릭 데이터의 노이즈를 완전히 제거할 수 없다는 점과 상관 작업의 특성을 고려하여 필요합니다. 인공적인 도입 라벨이 붙은 샘플 훈련의 두 번째 단계는 모델을 수정하는 데 사용됩니다. 데이터의 일부를 무작위로 샘플링하여 수동 주석으로 넘기는 것 외에도 모델의 성능을 최대한 향상시키기 위해 어려운 예제 마이닝과 비교 샘플 강화 및 수작업을 통해 고부가가치 샘플을 대량으로 생산합니다. 수동 주석으로 넘어갑니다.

1) 어려운 사례 마이닝

  • 특정 유형 샘플 마이닝: Query와 POI의 특성을 기반으로 방법을 설계하고 둘을 매칭하여 BadCase 유형을 특성화하고 제출할 후보 데이터 세트에서 특정 BadCase 유형의 샘플을 자동으로 선택합니다.
  • 사용자가 클릭했지만 이전 온라인 모델이 부적합하다고 판단됨: 이 방법을 사용하면 현재 온라인 모델 예측 오류와 유사한 의미를 가진 사용자를 구별하기 어려운 어려운 사례를 파헤칠 수 있습니다.
  • Edge sampling: 모델 예측 점수가 임계값에 가까운 샘플을 추출하는 등 Edge 샘플링을 통해 불확실성이 더 높은 샘플을 채굴합니다.
  • 모델 또는 수동으로 식별하기 어려운 샘플: 현재 모델을 사용하여 훈련 세트를 예측하고, 예측 결과가 레이블이 지정된 레이블과 일치하지 않는 샘플, 수동 레이블과 충돌하는 샘플 유형을 다시 제출합니다. 라벨.

2) 대비 샘플 향상: 대조 학습 아이디어를 활용하여 데이터 향상을 위해 일치도가 높은 일부 샘플에 대한 대비 샘플을 생성하고 수동 주석을 수행하여 샘플 레이블의 정확성을 보장합니다. 표본 간 차이를 비교함으로써 모델은 실제로 유용한 정보에 집중하고 동의어에 대한 일반화 능력을 향상시켜 더 나은 결과를 얻을 수 있습니다.

  • 요리 단어로 발생하기 쉬운 교차 요리 매칭의 상관 문제를 목표로 합니다(예를 들어 "푸아그라 버거"를 검색하면 "쇠고기 버거"와 "푸아그라 스시"를 판매하는 판매자가 일치합니다 ) 각각 사용 요리의 각 하위 구성 요소를 추천 요리 분야와 매칭하여 다수의 비교 샘플을 생성하고, 요리 간 매칭 문제를 식별하는 모델의 능력을 강화합니다.
  • 요리 단어가 추천 요리의 접두사와 일치하는 문제를 고려하여 추천 요리와 완전히 일치하도록 수정했습니다("두리안 케이크"를 검색하면 "두리안 케이크"를 파는 상인이 일치). 검색어의 접두사만 유지합니다. 추천 요리의 접두사와 일치하는 비교 샘플을 구성합니다("두리안" 및 "두리안 케이크"를 판매하는 판매자 검색). 모델이 접두사와 일치할 때 상황을 더 잘 구분할 수 있습니다. 추천 요리.

Dianping 검색 관련성 기술 탐색 및 실습

그림 6 비교 샘플 향상 예시

위의 그림 6과 같이 요리 간 매칭의 상관 문제를 예로 들면, 동일한 쿼리가 분할되어 여러 추천 요리 필드와 매칭됩니다. 이 경우, "두리안 케이크"라는 검색어는 추천 요리 "두리안밀 크레페, 블랙 포레스트 케이크"와 관련이 있지만, "푸아그라 버거"라는 검색어는 "시즐링 푸아그라, 치즈 쇠고기 버거"와 관련이 없습니다. 모델을 향상시키기 위해 일치도가 높은 사례와 반대되는 결과에 대한 인식 능력을 높이기 위해 "Durian Cake"와 "Durian Mille-feuille", "Foie Gras Burger" 및 "Sizzling"이라는 두 가지 비교 샘플 세트를 구성했습니다. Foie Gras'를 통해 텍스트와 일치하지만 모델의 판단에 도움이 되지 않는 Query Information과 관련된 샘플을 제거함으로써, 실제로 관련성을 판단하는 핵심 정보를 모델이 학습할 수 있게 함과 동시에 모델의 일반화 능력을 향상시킵니다. "케이크" 및 "천층"과 같은 동의어의 경우. 마찬가지로 다른 유형의 어려운 예제도 이 샘플 향상 방법을 사용하여 효과를 향상시킬 수 있습니다.

3.2.2 다중 유사 행렬 기반 심층 상호 작용 모델

BERT 문장 간 관계는 일반적인 NLP 작업으로 두 문장 간의 관계를 판단하는 데 사용되며 상관 작업은 쿼리와 문장 간의 상관 정도를 계산하는 것입니다. POI. 계산 과정에서 문장간 관계 작업은 Query와 POI 간의 상호 작용을 계산할 뿐만 아니라 Query 및 POI 내의 상호 작용도 계산하는 반면, 상관 관계 계산은 Query와 POI 간의 상호 작용에 더 중점을 둡니다. 또한, 모델 반복 과정에서 일부 유형의 BadCase는 텍스트 일치도는 높지만 관련성이 없는 유형과 같이 모델의 표현 능력에 대한 요구 사항이 더 높다는 사실을 발견했습니다. 따라서 복잡한 Query 및 POI 상관관계 작업에 대한 모델의 계산 효과를 더욱 향상시키기 위해 학습 2단계에서 BERT 문장간 관계 작업을 변형하고 다중 유사성 행렬을 기반으로 한 심층 상호작용 모델을 제안했습니다. 행렬은 Query와 POI 간의 심층적인 상호 작용에 사용되며, 어려운 BadCase 문제를 더 잘 해결하기 위해 표시기 행렬이 도입되었습니다. 모델 구조는 아래 그림 7에 나와 있습니다.

Dianping 검색 관련성 기술 탐색 및 실습

그림 7 깊은 대화형 상관 기반 다중 유사 행렬 Model

CEDR[8]에서 영감을 받아 MT-BERT로 인코딩된 쿼리 및 POI 벡터를 분할하여 두 부분 간의 깊은 상호 작용 관계를 명시적으로 계산하고 쿼리와 POI를 분할하여 수행합니다. 한편으로는 Query와 POI 간의 상관관계를 학습하는 데 특별히 사용될 수 있으며, 반면에 매개변수 수가 늘어나면 모델의 피팅 능력이 향상될 수 있습니다.

MatchPyramid[13] 모델을 참조하세요. 깊은 상호 상관 모델은 표시기, 내적, 코사인 거리 및 유클리드 거리를 포함한 네 가지 Query-Doc 유사성 행렬을 계산하고 융합하여 POI와 결합합니다. 출력의 일부는 Attention에 의해 가중치가 부여됩니다. Indicator 행렬은 Query의 Token과 POI가 일치하는지를 기술하는데 사용되며, 계산 방법은 다음과 같습니다. 일치하는 행렬의 행과 열에 해당하는 요소를 나타내는

Dianping 검색 관련성 기술 탐색 및 실습

쿼리의 토큰이며 POI의 토큰을 나타냅니다. Indicator 행렬은 Query와 POI가 문자 그대로 일치하는지 여부를 나타내는 행렬이고, 나머지 3개의 의미 매칭 행렬의 입력 형식이 다르기 때문에 Dot-product, cosine distance, Euclidean distance의 3개의 매칭 행렬이 먼저 융합된 후 얻은 결과는 최종 상관 점수를 계산하기 전에 지표 매트릭스와 결합됩니다.

지표 행렬은 쿼리와 POI 간의 일치 관계를 더 잘 설명할 수 있습니다. 이 행렬의 도입은 주로 쿼리와 POI 간의 상관 관계를 결정하는 데 어려움이 있다는 점을 고려합니다. 때로는 텍스트가 일치도가 높더라도 둘이 관련이 없습니다. 상호작용 기반 BERT 모델 구조를 사용하면 텍스트 일치도가 높은 Query와 POI의 관련성을 더 쉽게 판단할 수 있습니다. 그러나 검토 검색 시나리오에서는 일부 어려운 경우에는 그렇지 않을 수 있습니다. 예를 들어 '콩 주스'와 '녹두 주스'는 일치도가 높지만 관련성이 없습니다. '마오공'과 '고양이하늘성'은 별개의 경기지만 전자가 후자의 약자이기 때문에 연관성이 있다. 따라서 서로 다른 텍스트 매칭 상황이 Indicator 행렬을 통해 모델에 직접 입력되어 모델이 "포함" 및 "분할 매칭"과 같은 텍스트 매칭 상황을 명시적으로 수신할 수 있게 되어 모델이 어려운 사례를 구별하는 능력을 향상시키는 데 도움이 됩니다. , 또한 대부분의 일반 케이스의 성능에도 영향을 미칩니다.

다중 유사성 행렬을 기반으로 하는 심층 대화형 상관 모델은 쿼리와 POI를 분할한 다음 유사성 행렬을 계산합니다. 이는 모델이 쿼리 및 POI와 명시적으로 상호 작용할 수 있도록 허용하는 것과 동일하므로 모델이 상관 관계 작업에 더 적합합니다. 다중 유사성 행렬은 Query와 POI 사이의 상관관계를 계산할 때 모델의 표현 능력을 높이는 반면, 지표 행렬은 상관 관계 작업의 복잡한 텍스트 일치 상황을 위해 특별히 설계되어 관련 없는 결과에 대한 모델의 판단을 더욱 정확하게 만듭니다.

3.3 사전 학습된 상관 모델의 온라인 성능 병목 현상을 해결하는 방법

상관 계산을 온라인으로 배포할 때 기존 솔루션은 일반적으로 온라인 계산 효율성을 보장하기 위해 지식 증류의 이중 타워 구조를 사용합니다[10,14] , 그러나 이 처리 방법은 모델의 효과에 다소 해롭습니다. 검색 상관 계산 검토 모델 효과를 보장하기 위해 상호 작용을 기반으로 하는 12계층 BERT 사전 학습된 상관 모델이 온라인으로 사용됩니다. 이를 위해서는 12계층 BERT 모델에서 예측하려면 각 쿼리 아래에 수백 개의 POI가 필요합니다. 온라인 컴퓨팅 효율성을 보장하기 위해 모델 실시간 컴퓨팅 프로세스와 애플리케이션 링크의 두 가지 관점에서 시작하여 캐싱 메커니즘 도입, 모델 예측 가속화, 프런트 엔드 황금률 레이어 도입, 상관 계산 병렬화 및 코어 정렬을 통해 최적화했습니다. 온라인 배포 시 상관 모델의 성능 병목 현상으로 인해 12계층 상호 작용 기반 BERT 상관 모델이 온라인에서 안정적이고 효율적으로 실행될 수 있어 수백 명의 판매자와 Query 간의 상관 계산을 지원할 수 있습니다.

3.3.1 상관 모델 계산 프로세스의 성능 최적화

Dianping 검색 관련성 기술 탐색 및 실습

그림 8 상관 모델의 온라인 계산 흐름도

검토 검색 상관 모델의 온라인 계산 프로세스는 캐싱을 통해 그림 8에 나와 있습니다. 메커니즘과 TF-Serving 모델 예측 가속화는 모델 실시간 계산 성능을 최적화합니다.

컴퓨팅 리소스를 효과적으로 활용하기 위해 모델의 온라인 배포에서는 빈도가 높은 쿼리의 상관 점수를 캐시에 기록하는 캐싱 메커니즘을 도입합니다. 후속 호출에서는 캐시를 먼저 읽습니다. 캐시가 적중되면 점수가 직접 출력됩니다. 캐시가 적중되지 않으면 점수가 실시간으로 계산됩니다. 캐싱 메커니즘은 컴퓨팅 리소스를 크게 절약하고 온라인 컴퓨팅의 성능 압박을 효과적으로 완화합니다.

캐시가 누락된 Query에 대해서는 Query Side Model 입력으로 처리하고, 그림 4에 설명된 과정을 통해 각 POI의 일치하는 필드 요약을 얻어 POI Side Model 입력 형식으로 처리한 후 호출 온라인 상관관계 성적 모델은 상관관계 점수를 출력합니다. 상관 모델은 TF-Serving에 배포됩니다. 모델 예측 중에는 Meituan 기계 학습 플랫폼(Faster-Transformer 기반[15]improved 기반)의 모델 최적화 도구인 ART 프레임워크가 사용됩니다. 정확성을 극대화하면서 Dadi는 모델 예측 속도를 향상시킵니다.

3.3.2 애플리케이션 링크 성능 최적화

Dianping 검색 관련성 기술 탐색 및 실습

그림 9 리뷰 검색 링크의 상관 모델 적용

검색 링크의 상관 모델 적용은 위 그림 9와 같습니다. 프런트엔드 황금률을 도입하고 핵심 순위 레이어와의 상관관계 계산을 병렬화하여 전체 검색 링크의 성능을 최적화합니다.

상관 호출 링크를 더욱 가속화하기 위해 사전 황금률을 도입하여 Query를 전환하고 일부 Query에 대해서는 규칙을 통해 상관 점수를 직접 출력함으로써 모델 계산 부담을 완화했습니다. 황금률 레이어에서는 Query와 POI를 판단하기 위해 텍스트 매칭 기능을 사용합니다. 예를 들어 검색어가 가맹점 이름과 정확히 일치하는 경우 상관관계를 계산하지 않고 '해당' 판단이 직접 황금률 레이어를 통해 출력됩니다. 상관 모델을 통해 점수를 매깁니다.

전체 계산 링크에서는 상관 계산 프로세스와 코어 정렬 레이어가 동시에 작동되어 상관 계산이 기본적으로 검색 링크의 전체 시간 소모에 영향을 미치지 않도록 합니다. 애플리케이션 계층에서는 검색 링크의 회상 및 정렬과 같은 다양한 측면에서 상관관계 계산이 사용됩니다. 검색 목록 첫 번째 화면에서 관련 없는 가맹점의 비율을 줄이기 위해 LTR 다중 목표 융합 정렬에 관련성 점수를 도입하여 목록 페이지를 정렬하고, 그 결과를 활용하는 다방향 회상 융합 전략을 채택했습니다. 상관관계 모델의 경우, 보충 회상 경로 관련 가맹점만 목록에 병합됩니다.

4. 실제 적용

4.1 오프라인 효과

모델 반복의 오프라인 효과를 정확하게 반영하기 위해 현재 온라인 실제 사용의 주요 목표를 고려하여 여러 차례의 수동 주석을 통해 벤치마크를 구성했습니다. BadCase를 줄이기 위한 지표로 관련 없는 가맹점을 정확하게 식별하는 것입니다. 부정적인 예시의 정확도, 재현율, F1 값을 측정 지표로 사용합니다. 2단계 학습, 샘플 구성 및 모델 반복을 통해 얻을 수 있는 이점은 아래 표 1에 나와 있습니다.

Dianping 검색 관련성 기술 탐색 및 실습

표 1 검토 검색 상관 관계 모델 반복 오프라인 지표

초기 방법(Base)은 다음을 사용합니다. Query POI 매칭 필드 요약 정보를 splicing하는 BERT 문장 쌍 분류 작업을 위해 Query 측 모델 입력은 사용자가 입력한 원래 Query를 사용하고, POI 측에서는 가맹점 이름, 가맹점 카테고리 및 매칭 필드 요약 텍스트 접합 방법을 사용합니다. 클릭 데이터 기반의 2단계 학습 도입 후, 비교 샘플과 어려운 예시 샘플을 도입하여 학습 샘플을 지속적으로 반복하고 2단계 모델 입력 구조와 협력함으로써 Negative 예시 F1 지수가 Base 방법에 비해 1.84% 증가했습니다. , Negative 예제 F1 지수는 Base 방법과 비교하여 10.35% 크게 향상되었습니다. 다중 유사 행렬을 기반으로 한 Deep Interaction 방법을 도입한 후 Negative 예제 F1은 Base 방법에 비해 11.14% 향상되었습니다. 벤치마크 모델의 전체 지표도 AUC 0.96, F1 0.97의 높은 값에 도달했습니다.

4.2 온라인 효과

디앤핑 검색은 사용자 검색 만족도를 효과적으로 측정하기 위해 매일 실제 온라인 트래픽을 샘플링하고 수동으로 라벨을 지정하며, 목록 페이지 첫 화면의 BadCase 비율을 핵심 지표로 사용합니다. 관련성 모델 효과의 평가. 상관모델 출시 후 디엔핑 검색의 월평균 BadCase 비율 지표는 출시 전 대비 2.9pp(Percentage Point, Percentage Absolute Point)가 크게 감소했으며, 다음에서는 BadCase 비율 지표가 최저점 부근에서 안정화되었습니다. 동시에 검색 목록 페이지의 NDCG 지표는 꾸준히 2pp 증가했습니다. 상관관계 모델은 관련 없는 판매자를 효과적으로 식별하고 검색 첫 화면에서 관련 없는 문제의 비율을 크게 줄여 사용자의 검색 경험을 향상시킬 수 있음을 알 수 있습니다.

아래 그림 10에는 온라인 BadCase 솔루션의 몇 가지 예가 나와 있습니다. 부제목은 해당 예에 해당하는 쿼리입니다. 왼쪽은 상관 모델을 적용한 실험 그룹이고 오른쪽은 제어 그룹입니다. 그림 10(a)에서 검색어가 "Pei Jie"인 경우 상관 모델은 핵심 단어에 "Pei Jie"가 포함된 판매자 "Pei Jie Famous Products"가 관련성이 있다고 판단하고 사용자가 선호하는 고급 품목을 선택합니다. 찾고 싶어도 잘못 입력한 경우가 있습니다. 동시에, 주소 필드 식별자를 도입하여 주소에서 "Pei Jie Lao Hot Pot"이 관련성이 있는 것으로 판단됩니다. 그림 10(b)에서 사용자는 "Youzi Ri "Self-service Food"가 "Yuzu"라는 일본 음식 셀프 서비스 매장을 찾고 싶다는 쿼리를 전달합니다. 상관 모델은 분할된 단어를 일치시킵니다. 유자 관련 상품을 판매하고 이를 적절하지 않은 것으로 정확하게 판단하여 그에 따라 순위를 매기는 일본 음식 셀프 서비스 매장 "다케와코 참치"는 최종적으로 사용자의 요구 사항에 더 부합하는 판매자임을 보장합니다. 주요 요구 사항.

Dianping 검색 관련성 기술 탐색 및 실습

(a) Pei 자매

Dianping 검색 관련성 기술 탐색 및 실습(b) Yuzi 일본 음식 뷔페그림 10 온라인 BadCase 솔루션 예

5. 요약 및 전망

이 글에서는 Dianping 검색 관련성 모델의 기술적 솔루션과 실제 적용을 소개합니다. 판매자 측 모델 입력 정보를 더 잘 구성하기 위해 검색 상관 계산을 검토하는 데 더 잘 적응할 수 있도록 모델을 최적화하기 위해 판매자 일치 필드 요약 텍스트를 실시간으로 추출하여 모델 입력으로 판매자 표현을 구성하는 방법을 도입했습니다. 학습 방법은 Dianping의 사용자 클릭 데이터를 효과적으로 활용하기 위해 클릭 및 수동 주석 데이터를 기반으로 하는 2단계 학습 방식을 채택하며 다중 유사성에 기반한 깊은 상호 작용 구조를 사용합니다. 상관 모델을 더욱 개선하기 위해 행렬이 제안되었습니다. 효과; 상관 모델의 온라인 컴퓨팅 부담을 완화하기 위해 온라인 배포 중에 캐싱 메커니즘과 TF-Serving 예측 가속화가 도입되었으며, 쿼리 부하를 줄이기 위해 황금률 계층이 도입되었습니다. 상관관계 계산은 코어 정렬 계층과 병렬화되어 BERT의 실시간 계산에 대한 성능 요구 사항을 충족합니다. 검색링크의 각 링크에 상관관계 모델을 적용함으로써 관련 없는 질문의 비율이 크게 줄어들고 사용자의 검색 경험이 효과적으로 향상됩니다.

현재 검토 검색 상관 모델은 모델 성능과 온라인 응용 분야에서 여전히 개선의 여지가 있습니다. 모델 구조 측면에서는 쿼리에서 여러 엔터티 유형을 식별하는 등 더 많은 분야에 사전 지식을 도입할 수 있는 방법을 모색할 것입니다. . 업무 학습, 외부 지식 최적화 모델의 입력 등을 통해 실제 적용 측면에서 세련된 매장 검색에 대한 사용자 요구를 충족할 수 있도록 더 많은 수준으로 세분화됩니다. 또한 전체 검색 목록의 검색 경험을 최적화하기 위해 비판매 모듈에 관련성 기능을 적용하려고 노력할 것입니다.

6. 저자 소개

Xiaoya*, Shen Yuan*, Judy, Tang Biao, Zhang Gong 등 모두 Meituan/Dianping 부문 검색 기술 센터 소속입니다. *이 글을 공동 집필했습니다.

위 내용은 Dianping 검색 관련성 기술 탐색 및 실습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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