씨트립 관광개발부 빅데이터 및 AI R&D팀은 관광 부문에 풍부한 AI 기술 제품과 기술력을 제공하고 있다.
검색은 전자상거래에서 가장 중요한 요소 중 하나입니다. 대부분의 사용자는 자신이 원하는 상품을 찾기 위해 검색을 사용합니다. 따라서 검색은 사용자가 자신의 의도를 표현하는 가장 직접적인 방법이기도 합니다. 전환율이 가장 높은 트래픽 소스입니다. 대부분의 전자상거래 검색은 검색창에 검색어(Query)를 입력함으로써 완성되기 때문에, 검색어에 대한 의미 분석과 의도 파악이 검색의 중요한 부분이 되었습니다.
주류 검색어 의미 분석 및 쿼리 이해에는 오류 수정, 동의어 대체, 단어 분할, 품사 태깅, 엔터티 인식, 의도 인식, 단어 중요도 가중치 부여, 단어 손실과 같은 단계가 필요합니다. 그림 1과 같이 관광 시나리오의 검색을 예로 들어 보겠습니다. 사용자가 검색 상자에 "Yunnan Xiangge Lira"를 검색어로 입력하면 검색 엔진이 먼저 검색어를 수정해야 합니다. 이는 후속 검색을 용이하게 하기 위한 것입니다. 단계를 거쳐 사용자가 검색하려는 콘텐츠를 구문 분석하고 필요한 경우 동의어 교체를 수행합니다. 그런 다음 검색어에 대해 단어 분할 및 품사 태깅을 수행하여 "Yunnan"을 지역으로 식별하고 "Shangri-La"를 도시 또는 호텔 브랜드로 식별한 다음 개체 인식을 수행하여 해당 개체를 회상합니다. 백그라운드 데이터베이스의 "Yunnan" 및 "Shangri-La"입니다.
이때 '샹그릴라'는 도시 브랜드일 수도 있고 호텔 브랜드일 수도 있다는 의견 차이가 생겼습니다. 사용자가 검색할 때 올바른 카테고리와 항목을 예측할 수 있는지 여부는 검색 결과를 정확하게 표시하고 사용자 경험을 향상시키는 데 매우 중요합니다. 따라서 사용자가 실제로 검색하고 싶은 카테고리를 파악하여 해당 항목을 찾아야 합니다. 그렇지 않으면 사용자가 원하지 않는 결과가 검색 목록 페이지의 맨 앞줄에 표시될 수 있습니다. 사람들의 사전 지식으로 볼 때, 사용자가 "운남 샹그릴라"를 검색할 때 도시를 검색할 가능성이 매우 높습니다. 의도 식별 단계는 이 기능을 구현하고 도시의 "샹그릴라"를 대표하는 사용자의 진정한 검색 의도를 식별하는 것입니다.
이후 검색의 리콜 단계로 진입하게 됩니다. 리콜은 주로 검색어의 의도와 관련된 제품이나 콘텐츠를 찾는 일을 담당합니다. 이전 단계에서 "Yunnan" 및 "Shangri-La"의 ID를 얻은 후에는 "Yunnan" 및 "Shangri-La"와 관련된 제품이나 콘텐츠를 쉽게 불러올 수 있습니다. 그러나 회상 결과가 비어 있거나 너무 드물면 사용자 경험이 좋지 않기 때문에 회상 결과가 비어 있거나 너무 드물면 단어 손실 및 2차 회상 작업이 필요한 경우가 많습니다. 또한, 일부 생략되거나 검색에 방해가 되는 단어도 유실되어 처리될 수 있습니다.
소위 잃어버린 단어는 검색어에서 상대적으로 중요하지 않거나 관련성이 느슨하게 관련된 단어를 잃어버렸다가 다시 기억하는 것을 의미합니다. 그렇다면 각 단어의 중요성이나 친밀도를 어떻게 측정합니까? 여기서는 각 단어를 용어로 처리하고 알고리즘이나 규칙을 통해 각 용어의 가중치를 계산하는 용어 가중치 모듈을 도입해야 합니다. 예를 들어 '운남'이라는 용어 가중치가 0.2이고 '샹그릴라'라는 용어 가중치가 0.8이라고 가정하면, 단어를 빼야 한다면 '운남'을 먼저 빼고 '샹그릴라'를 유지해야 합니다.
그림 1 검색 단어 의미 분석 및 쿼리 이해 단계
기존 검색 의도 식별에서는 어휘 일치, 카테고리 확률 통계 및 인위적으로 설정된 규칙을 사용합니다. 전통적인 용어 가중치(Term Weighting) 역시 어휘 매칭과 통계적 방법을 사용하는데, 예를 들어 모든 제품의 제목과 내용을 기반으로 TF-IDF, 전후 단어 간의 상호 정보, 좌우 이웃 엔트로피 등의 데이터를 계산하여 직접 저장합니다. 온라인 사용의 경우 일부 규칙에 따라 판단을 지원하는 데 사용할 수 있습니다. 예를 들어 업계 고유 명사는 직접적으로 높은 용어 가중치를 제공하고 입자는 직접 낮은 용어 가중치를 제공합니다.
그러나 기존의 검색 의도 인식 및 용어 가중치 알고리즘은 높은 정확도와 재현율을 달성할 수 없으며, 특히 일부 희귀 검색어를 처리할 수 없으므로 이 두 모듈의 정확성과 재현율을 향상하고 개선하려면 몇 가지 새로운 기술이 필요합니다. 희귀한 검색어에 적응하는 능력. 또한, 접속 빈도가 높기 때문에 검색어 의미 분석은 매우 빠른 응답 속도를 요구하는데, 여행 검색 시나리오에서는 응답 속도가 한 자릿수에 가까운 밀리초 수준에 도달해야 하는 경우가 많아 이는 큰 과제입니다. 연산.
정확도와 재현율을 높이기 위해 딥러닝을 사용하여 검색 의도 인식 및 용어 가중치 알고리즘을 개선합니다. 딥러닝은 샘플 학습을 통해 다양한 상황에서 의도 인식 및 용어 가중치를 효과적으로 해결할 수 있습니다. 또한, 자연어 처리를 위한 대규모 사전 학습된 언어 모델의 도입으로 딥러닝 모델의 역량을 더욱 강화하고, 샘플 라벨링의 양을 줄여, 기존에 높은 비중을 차지했던 딥러닝을 검색에 적용할 수 있게 되었습니다. 라벨링 비용.
그러나 딥러닝이 직면한 문제는 모델의 복잡성이 높고 신경망 레이어 수가 많기 때문에 응답 속도가 검색의 높은 요구 사항을 충족할 수 없다는 것입니다. 따라서 모델 추출 및 모델 압축을 사용하여 모델의 복잡성을 줄이고 딥러닝 모델의 시간 소모를 줄이면서 정확도와 재현율을 약간 낮추어 더 빠른 응답 속도와 더 높은 성능을 보장합니다.
범주 인식은 의도 인식의 주요 구성 요소입니다. 의도 인식에서의 카테고리 인식은 검색어 질의를 분할한 후, 분할 결과에 그것이 속한 카테고리를 표시하고 해당 확률값을 부여하는 방식이다. 사용자의 검색어 의도를 분석하는 것은 사용자의 직접 검색 요구 사항을 분석하는 데 도움이 되며, 이를 통해 사용자 경험을 향상시키는 데 도움이 됩니다. 예를 들어, 사용자가 여행 페이지에서 '운남 샹그릴라'를 검색하면, 사용자가 입력한 '샹그릴라'에 해당하는 카테고리가 '호텔 브랜드'가 아닌 '도시'로 표시되어 후속 검색 전략을 안내한다. 도시 의도에 편향되어 있습니다.
여행 시나리오에서는 사용자가 입력한 카테고리가 모호한 검색어가 전체의 약 11%를 차지하며, 여기에는 단어 구분이 없는 검색어가 다수 포함됩니다. "단어 분할 없음"은 단어 분할 처리 후 더 이상 세부 분할이 없다는 의미이고, "범주 모호성"은 검색어 자체에 여러 개의 가능한 범주가 있음을 의미합니다. 예를 들어 사용자가 '샹그릴라'를 입력하면 더 이상의 세부적인 세분화는 없고, 해당 카테고리 데이터에는 '도시', '호텔 브랜드' 등 여러 카테고리가 존재한다.
검색어 자체가 여러 단어의 조합인 경우, 검색어 자체의 맥락을 통해 카테고리를 명확히 할 수 있으며, 검색어 자체가 식별 대상으로 우선 적용됩니다. 검색어 자체만으로는 카테고리를 판단할 수 없는 경우, 사용자의 최근 검색어 중 서로 다른 과거 검색어를 먼저 추가하고, 위 정보가 없는 경우에는 최근 상품 카테고리 클릭 기록을 추가해 드립니다. 보충 자료로 방송국. 원래 검색어를 처리하여 식별할 Query R을 얻습니다.
최근 몇 년간 사전 훈련된 언어 모델은 많은 자연어 처리 작업에서 빛을 발했습니다. 카테고리 인식에서는 사전 훈련된 모델의 훈련 네트워크 매개변수를 사용하여 단어 변환 모듈을 사용하여 상황별 의미를 포함하는 단어 특성 Outputbert을 얻습니다. 단어 특성은 위치 코딩과 결합됩니다. 해당 단어 분할을 얻습니다.
과 같은 문자 조각은 i번째 단어 세그먼트에 해당하는 길이 l
i의 문자 특징을 나타냅니다. 단어 변환 모듈은 문자 조각 Wi
을 기반으로 각 단어의 Hwi 특징을 집계합니다. 집계 방법은 최대 풀링, 최소 풀링, 평균 풀링 등이 될 수 있습니다. 실험에 따르면 최대 풀링이 가장 좋은 효과가 있는 것으로 나타났습니다. 모듈의 출력은 검색어 R의 단어 feature OutputR이며, 병렬 분류기를 통해 카테고리 데이터베이스에 포함된 일치 카테고리는 검색어의 단어 feature OutputR의 각 세그먼트에 제공됩니다. 해당 카테고리에는 일치 확률이 부여됩니다.
그림 2 카테고리 인식의 전체 구조에 대한 개략도 카테고리 인식 모델은 BERT 기반 12레이어 모델을 기반으로 합니다. 모델이 너무 크고 응답 속도 요구 사항을 충족하지 못하기 때문입니다. 온라인 운영을 위해 우리는 Knowledge Distillation 모델을 수정하여 대규모 네트워크의 네트워크를 소규모 네트워크로 변환하여 온라인 운영의 대기 시간 요구 사항을 충족시키면서 대규모 네트워크에 가까운 성능을 유지합니다.원래 학습된 카테고리 인식 모델을 교사 네트워크로 사용하고, 교사 네트워크의 출력 결과를 학생 네트워크의 목표로 사용합니다. 학생 네트워크의 결과 p가 에 가까워지도록 학습합니다. q. 따라서 손실 함수를 다음과 같이 작성할 수 있습니다.
여기서 CE는 교차 엔트로피(Cross Entropy)이고 대칭KL은 대칭 KL 분기(Kullback–Leibler 분기)이며 y는 실제 레이블의 원-핫 인코딩입니다. , q는 교사 네트워크의 출력이고, p는 학생 네트워크 결과의 출력입니다.
그림 3 지식 증류의 개략도
지식 증류 후에도 카테고리 인식은 여전히 높은 정확도와 재현율을 달성할 수 있으며, 동시에 전체 응답 시간은 95라인으로 달성할 수 있습니다. 약 5ms. 카테고리 식별 후 최종 의도 식별 프로세스를 완료하려면 엔터티 연결 및 기타 단계가 필요합니다. 구체적인 내용은 "Ctrip Entity Link 기술 탐색 및 실습" 기사를 참조하세요. 이 기사에서는 자세히 설명하지 않습니다. 그림 4 용어 가중치 모델 프레임워크
위 내용은 씨트립 검색어 의미 분석에 딥러닝 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!