> 기술 주변기기 > 일체 포함 > 씨트립 검색어 의미 분석에 딥러닝 적용

씨트립 검색어 의미 분석에 딥러닝 적용

王林
풀어 주다: 2023-04-11 18:40:03
앞으로
891명이 탐색했습니다.

저자소개

씨트립 관광개발부 빅데이터 및 AI R&D팀은 관광 부문에 풍부한 AI 기술 제품과 기술력을 제공하고 있다.

1. 배경 소개

검색은 전자상거래에서 가장 중요한 요소 중 하나입니다. 대부분의 사용자는 자신이 원하는 상품을 찾기 위해 검색을 사용합니다. 따라서 검색은 사용자가 자신의 의도를 표현하는 가장 직접적인 방법이기도 합니다. 전환율이 가장 높은 트래픽 소스입니다. 대부분의 전자상거래 검색은 검색창에 검색어(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, 전후 단어 간의 상호 정보, 좌우 이웃 엔트로피 등의 데이터를 계산하여 직접 저장합니다. 온라인 사용의 경우 일부 규칙에 따라 판단을 지원하는 데 사용할 수 있습니다. 예를 들어 업계 고유 명사는 직접적으로 높은 용어 가중치를 제공하고 입자는 직접 낮은 용어 가중치를 제공합니다.

그러나 기존의 검색 의도 인식 및 용어 가중치 알고리즘은 높은 정확도와 재현율을 달성할 수 없으며, 특히 일부 희귀 검색어를 처리할 수 없으므로 이 두 모듈의 정확성과 재현율을 향상하고 개선하려면 몇 가지 새로운 기술이 필요합니다. 희귀한 검색어에 적응하는 능력. 또한, 접속 빈도가 높기 때문에 검색어 의미 분석은 매우 빠른 응답 속도를 요구하는데, 여행 검색 시나리오에서는 응답 속도가 한 자릿수에 가까운 밀리초 수준에 도달해야 하는 경우가 많아 이는 큰 과제입니다. 연산.

2. 문제 분석

정확도와 재현율을 높이기 위해 딥러닝을 사용하여 검색 의도 인식 및 용어 가중치 알고리즘을 개선합니다. 딥러닝은 샘플 학습을 통해 다양한 상황에서 의도 인식 및 용어 가중치를 효과적으로 해결할 수 있습니다. 또한, 자연어 처리를 위한 대규모 사전 학습된 언어 모델의 도입으로 딥러닝 모델의 역량을 더욱 강화하고, 샘플 라벨링의 양을 줄여, 기존에 높은 비중을 차지했던 딥러닝을 검색에 적용할 수 있게 되었습니다. 라벨링 비용.

그러나 딥러닝이 직면한 문제는 모델의 복잡성이 높고 신경망 레이어 수가 많기 때문에 응답 속도가 검색의 높은 요구 사항을 충족할 수 없다는 것입니다. 따라서 모델 추출 및 모델 압축을 사용하여 모델의 복잡성을 줄이고 딥러닝 모델의 시간 소모를 줄이면서 정확도와 재현율을 약간 낮추어 더 빠른 응답 속도와 더 높은 성능을 보장합니다.

3. 의도 인식

범주 인식은 의도 인식의 주요 구성 요소입니다. 의도 인식에서의 카테고리 인식은 검색어 질의를 분할한 후, 분할 결과에 그것이 속한 카테고리를 표시하고 해당 확률값을 부여하는 방식이다. 사용자의 검색어 의도를 분석하는 것은 사용자의 직접 검색 요구 사항을 분석하는 데 도움이 되며, 이를 통해 사용자 경험을 향상시키는 데 도움이 됩니다. 예를 들어, 사용자가 여행 페이지에서 '운남 샹그릴라'를 검색하면, 사용자가 입력한 '샹그릴라'에 해당하는 카테고리가 '호텔 브랜드'가 아닌 '도시'로 표시되어 후속 검색 전략을 안내한다. 도시 의도에 편향되어 있습니다.

여행 시나리오에서는 사용자가 입력한 카테고리가 모호한 검색어가 전체의 약 11%를 차지하며, 여기에는 단어 구분이 없는 검색어가 다수 포함됩니다. "단어 분할 없음"은 단어 분할 처리 후 더 이상 세부 분할이 없다는 의미이고, "범주 모호성"은 검색어 자체에 여러 개의 가능한 범주가 있음을 의미합니다. 예를 들어 사용자가 '샹그릴라'를 입력하면 더 이상의 세부적인 세분화는 없고, 해당 카테고리 데이터에는 '도시', '호텔 브랜드' 등 여러 카테고리가 존재한다.

검색어 자체가 여러 단어의 조합인 경우, 검색어 자체의 맥락을 통해 카테고리를 명확히 할 수 있으며, 검색어 자체가 식별 대상으로 우선 적용됩니다. 검색어 자체만으로는 카테고리를 판단할 수 없는 경우, 사용자의 최근 검색어 중 서로 다른 과거 검색어를 먼저 추가하고, 위 정보가 없는 경우에는 최근 상품 카테고리 클릭 기록을 추가해 드립니다. 보충 자료로 방송국. 원래 검색어를 처리하여 식별할 Query R을 얻습니다.

최근 몇 년간 사전 훈련된 언어 모델은 많은 자연어 처리 작업에서 빛을 발했습니다. 카테고리 인식에서는 사전 훈련된 모델의 훈련 네트워크 매개변수를 사용하여 단어 변환 모듈을 사용하여 상황별 의미를 포함하는 단어 특성 Outputbert을 얻습니다. 단어 특성은 위치 코딩과 결합됩니다. 해당 단어 분할을 얻습니다.

씨트립 검색어 의미 분석에 딥러닝 적용

과 같은 문자 조각은 i번째 단어 세그먼트에 해당하는 길이 l

i

의 문자 특징을 나타냅니다. 단어 변환 모듈은 문자 조각 W씨트립 검색어 의미 분석에 딥러닝 적용i

을 기반으로 각 단어의 H

wi 특징을 집계합니다. 집계 방법은 최대 풀링, 최소 풀링, 평균 풀링 등이 될 수 있습니다. 실험에 따르면 최대 풀링이 가장 좋은 효과가 있는 것으로 나타났습니다. 모듈의 출력은 검색어 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. 용어 가중치

사용자가 입력한 검색어의 경우 용어마다 사용자의 핵심 의미에 대한 중요성이 다릅니다. 검색의 2차 회상 순위에서는 중요도가 높은 용어에 집중해야 하며, 동시에 단어 상실 시 중요도가 낮은 용어를 무시할 수 있습니다. 사용자가 입력한 각 검색어의 용어 가중치를 계산하여 사용자의 의도에 가장 가까운 상품을 2회 리콜하여 사용자 경험을 향상시킵니다.

먼저 온라인 사용자의 실제 피드백 데이터를 주석 데이터로 찾아야 합니다. 사용자가 검색창에 입력한 내용과 관련 단어를 클릭한 내용은 검색어에 포함된 단어에 대한 사용자의 강조를 어느 정도 반영하므로, 해당 입력 및 관련 단어에 대한 클릭 데이터를 선택하고 이를 수동으로 필터링하여 주석으로 2차 주석을 달았습니다. 기간 가중치 모델의 데이터입니다.

데이터 전처리 측면에서 얻을 수 있는 주석 데이터는 구문과 해당 키워드입니다. 가중치 분포를 너무 극단적으로 만들지 않기 위해 키워드가 아닌 항목에는 일정량의 작은 가중치를 부여하고 나머지 가중치는 다음과 같습니다. 키워드의 각 단어에 대해 특정 구문이 데이터에 여러 번 나타나고 해당 키워드가 다른 경우 키워드의 빈도에 따라 이러한 키워드의 가중치가 할당되고 각 단어에 추가로 할당됩니다. 무게.

모델 부분에서는 특징 추출 방법으로 BERT를 주로 시도하고, 추가적으로 각 항의 가중치를 맞추었습니다. 주어진 입력에 대해 BERT가 수용할 수 있는 형태로 변환하고, BERT 이후의 텐서를 Fully Connected Layer를 통해 압축하여 1차원 벡터를 구하고, Softmax 처리를 수행하고, 이 벡터를 사용하여 결과 벡터에 가중치를 부여합니다. , 구체적인 모델 프레임워크는 아래 그림에 표시됩니다.

씨트립 검색어 의미 분석에 딥러닝 적용

그림 4 용어 가중치 모델 프레임워크

중국어 BERT는 문자를 기반으로 하기 때문에 각 용어의 모든 단어의 가중치를 합산해야 합니다. 이로써 마침내 용어의 무게를 얻게 된다.

일부 학습 하이퍼파라미터를 제외한 전체 모델 프레임워크에서 조정 가능한 부분은 주로 두 부분으로 구성됩니다. 첫째, BERT를 통해 Embedding을 생성할 때 BERT의 마지막 레이어를 선택하거나 BERT의 첫 번째 레이어와 마지막 레이어를 결합할 수 있습니다. Embedding이 생성됩니다. 두 번째는 손실 함수를 선택하는 것입니다. MSE 손실을 사용하여 예측 가중치와 실제 가중치 사이의 차이를 측정하는 것 외에도 예측 가중치의 합을 사용하려고 합니다. 중요하지 않은 단어를 손실로 계산하는데, 이 손실은 단일 키워드로만 사용하는 것이 더 적합합니다.

모델은 최종적으로 각 용어 가중치를 소수 형태로 출력합니다. 예를 들어 ["Shanghai", "'s", "Disney"]의 용어 가중치 결과는 [0.3433, 0.1218, 0.5349]입니다.

이 모델은 검색용으로 엄격한 응답 속도 요구 사항을 가지고 있습니다. BERT 모델은 전체적으로 상대적으로 크기 때문에 추론 부분에서 응답 속도 요구 사항을 충족하기 어렵습니다. 따라서 카테고리 인식 모델과 유사하게 훈련된 BERT 모델을 추가로 정제하여 온라인 요구 사항을 충족합니다. 이 프로젝트에서는 BERT 기반 12층 변환기의 효과를 맞추기 위해 몇 개의 변환기가 사용됩니다. 결국 모델의 전체 추론 속도는 수용 가능한 부분의 손실로 인해 약 10배 빨라집니다. 성능. 결국 Term Weighting 온라인 서비스의 전체 95개 라인은 약 2ms에 도달할 수 있습니다.

5. 미래와 전망

여행 검색에서는 딥러닝을 활용한 후 희귀 롱테일 검색어에 대한 단어 의미 분석 기능이 크게 향상되었습니다. 현재 실제 온라인 검색 시나리오에서 딥러닝 방법은 일반적으로 전통적인 검색어 의미 분석 방법과 결합되어 머리 속 일반적인 검색어의 안정적인 성능을 보장할 뿐만 아니라 일반화 기능도 향상시킵니다.

앞으로 검색어 의미 분석은 하드웨어 기술과 AI 기술의 업그레이드로 인해 고성능 컴퓨팅과 지능형 컴퓨팅이 점점 더 성숙해지고 있으며, 검색어 의미 분석은 사용자에게 더 나은 검색 경험을 제공하기 위해 노력하고 있습니다. 앞으로는 의도 인식 및 용어 가중치를 사용하여 더 높은 성능 목표를 향해 발전할 것입니다. 또한, 관광 분야의 대규모 사전 훈련 모델은 모델의 정확도와 재현율을 더욱 향상시키는 데 도움이 될 것이며, 더 많은 사용자 정보와 지식의 도입은 온라인 의도 인식 효과를 향상시키는 데 도움이 될 것입니다. 사용자의 피드백과 모델 반복은 용어 가중치의 효율성을 향상시키는 데 도움이 됩니다. 이것이 우리가 앞으로 시도할 방향이다.

의도 인식 및 용어 가중치 외에도 품사 태깅, 오류 수정 등과 같은 기타 검색 기능도 향후 딥러닝 기술을 사용하여 요구 사항을 충족하면서 더 강력한 기능과 더 나은 결과를 얻을 수 있습니다. 응답 속도 요구 사항.

위 내용은 씨트립 검색어 의미 분석에 딥러닝 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿