시맨틱 검색의 일부로 쿼리 완화 및 범위 지정
사용자가 귀하를 더 쉽게 찾을 수 있도록 하십시오. 이 심층 기사에서 쿼리 확장 및 쿼리 범위 지정이 어떻게 도움이 되는지 알아보세요.
올바른 검색 쿼리는 Goldilocks 스타일의 노력입니다. 결과가 없을 정도로 너무 구체적이지 않고 너무 많이 얻을 정도로 광범위하지 않습니다.
한편 시맨틱 검색은 검색자가 검색 상자에 무엇을 던지는지 이해하는 것입니다.
다시 말해, 의미 검색을 통해 검색자들에게 우리가 있는 곳에서 만나도록 요구하는 대신 검색자들이 있는 곳에서 만납니다.
쿼리 완화 및 쿼리 범위를 입력합니다.
검색 엔진은 동의어, 검색어 제거, 검색어 범위 지정과 같은 기술을 통해 검색자들에게 바로 올바른 콘텐츠를 제공합니다.
우리는 그렇지 않으면 나타나지 않을 관련 정보를 놓치지 않고 관련이 없는 정보를 생략합니다.
쿼리 완화 및 범위 지정은 정밀도 및 재현율의 개념과 매우 밀접하게 연결되어 있습니다.
정밀도는 반환된 결과가 관련이 있는지 여부를 측정하고 회수는 관련 결과가 반환되는지 여부를 측정합니다.
구체적으로 재현율을 높이는 한 가지 방법은 쿼리 확장을 사용하는 것입니다.
쿼리 확장
쿼리 확장은 더 나은 결과를 얻기 위해 쿼리가 일치하는 항목을 확장하는 것입니다.
이 시리즈에서 이미 쿼리를 확장하는 몇 가지 방법을 살펴보았습니다.
오타 허용, 복수형 무시, 형태소 분석 및 표제어 표기법 은 모두 검색 회수를 높이는 방법입니다.
우리는 이미 검색의 기반 중에서 이러한 쿼리 확장 방법을 보았지만 다른 쿼리 확장 방법도 마찬가지로 기본입니다.
2008년 Search Engine Journal의 기사에서는 Google이 검색어 확장을 수행 하는 방법을 다룹니다 !
이 기사에서는 형태소 분석 및 오타 허용뿐만 아니라 번역, 단어 제거 및 동의어에 대해서도 설명합니다.
동의어 및 대안
George Orwell이 자신의 소설 1984에서 Newspeak를 소개한 이유와 그것이 순박할 정도로 완전히 통제된 삶에 대한 이야기에서 공명한 이유가 있습니다.
언어적 풍부함은 같은 것 또는 거의 같은 것을 다른 단어와 구로 말할 수 있는 능력에 의해 좌우됩니다. “훌륭한”은 “굉장한”일 수 있고 “저가”는 “싼”에 가까운 이웃입니다.
한편, 이러한 다른 단어는 가장 작은 방식을 제외하고는 유사한 항목을 더 정확하게 참조하는 데 도움이 될 수 있습니다.
이러한 차이는 때때로 너무 작아서 이 정밀도가 대신 혼란을 일으키고 원하는 것을 찾을 가능성이 줄어듭니다.
흔들의자를 원하는 고객은 “록커”, “흔들 의자” 또는 단순히 “의자”를 검색할지 모를 수 있습니다.
이것은 동의어와 대안이 가치를 제공하는 곳입니다.
검색 결과에서 회상 범위를 확장하는 데 도움이 됩니다.
동의어와 대안은 비슷하지만 동일하지는 않습니다.
(동의어가 아니라고 말할 수 있습니다.)
동의어는 같은 것을 의미하는 두 단어 또는 구를 나타냅니다.
대안은 유사한 단어나 구를 대신 참조하지만 어느 정도 차이가 있습니다.
동의어
종종 동의어는 동의어 목록을 통해 검색 엔진으로 이동합니다.
이러한 목록은 일반 전자상거래 용어와 같은 사전 정의된 목록에서 가져올 수 있습니다.
미리 정의된 목록의 문제는 한 회사의 검색 엔진에 대한 동의어가 다른 회사에서는 반드시 작동하지 않는다는 것입니다.
빠른: 콘솔이 무엇입니까? 당신은 즉시 비디오 게임을 생각할 수 있지만 다른 누군가는 자동차나 음악을 생각할 수 있습니다.
이러한 이유로 많은 동의어 목록이 사내에서 생성됩니다.
검색 구현 프로세스의 시작 부분에서 내부 주제 전문가는 다른 단어의 동의어가 될 수 있는 모든 단어를 생각하고 검색 엔진 구성에 추가합니다.
(실제로 이것은 어떤 일이 발생하는지에 대한 이상적인 관점인 경우가 많습니다. 동의어 목록을 만드는 사람은 주제 전문가가 아니라 검색 엔진을 구현하는 사람인 경우가 많습니다.)
일반적으로 이 초기 목록은 좋은 출발점을 제공하지만 누락된 동의어가 분명히 있습니다.
검색자가 사용할 용어를 찾는 유일한 방법은 검색을 허용하는 것입니다.
분석을 사용하여 동의어 검색
새로운 동의어를 사용할 수 있는 분석 쿼리를 매우 빠르게 볼 수 있습니다.
이러한 쿼리는 0개의 결과를 반환하며 검색자가 찾을 수 없는 것을 찾고 있다는 신호입니다.
이제 이러한 모든 쿼리가 새로운 동의어를 제공하지는 않습니다.
때때로 검색자들은 귀하가 가지고 있지 않은 항목을 찾고 있습니다.
그럼에도 불구하고 “오, 우리는 그것을 가지고 있습니다”, “사람들이 그렇게 요구하는지 몰랐습니다.”라고 즉시 생각하는 쿼리를 보게 될 것입니다.
쿼리가 결과를 반환하지만 검색자가 원하는 것이 아닌 경우도 있습니다.
이러한 쿼리는 “검색 구체화”를 추적하는 경우 동의어에 대한 아이디어를 제공할 수도 있습니다.
검색 구체화는 검색자가 검색한 다음 다시 검색할 때를 나타냅니다.
이것은 검색자들이 처음에 원하는 것을 찾지 못하고 더 나은 것을 찾기 위해 다시 시도했음을 의미합니다.
누군가 ‘델노트북’을 검색하고 ‘델노트북’으로 뒤따르는데 ‘노트북’과 ‘노트북’이 관련이 있다고 하는데 ‘노트북’에 대한 검색결과가 부족했다.
분석에서 이러한 추세를 수동으로 찾는 데는 아무런 문제가 없지만(작업 주에 천천히 완화하는 것이 좋은 활동일 수 있음) 사전에 이러한 추세를 소싱하는 시스템이 있으면 훨씬 더 생산적입니다.
일부 시스템에서는 사용자를 대신하여 동의어를 적용할 수도 있지만 이것이 항상 도움이 되는 것은 아닙니다.
사람은 유효한 동의어를 표시하지 않는 구체화를 발견하거나 시스템이 잘못된 유형의 동의어를 제안하는 것을 볼 수 있습니다.
동의어 유형
맞습니다. 다양한 유형의 동의어가 있습니다.
이 개념은 처음에는 이상하게 보일 수 있지만 대부분의 사람들이 생각하는 방식과 크게 다르지 않을 것입니다.
“양방향”은 첫 번째 유형의 동의어입니다. 이러한 동의어는 서로를 직접 대체합니다.
“Small”과 “mini”는 서로의 양방향 동의어입니다.
단어는 완벽하게 대체할 필요는 없지만 사람들이 서로를 위해 사용할 수 있을 만큼 충분히 가깝습니다.
예를 들어, “rope”와 “string”은 같은 것을 설명하지 않지만, 가치 있는 양방향 동의어가 될 만큼 충분히 가깝습니다.
동의어를 사용하여 생성된 쿼리를 생각하면 유용할 수 있습니다.
“작은 치즈 피자”라는 쿼리를 가져와 확장하면 이제 쿼리를 “(작 거나 작은) 치즈 와 피자 ” 로 생각할 수 있습니다 .
“편도”는 다음 유형의 동의어입니다.
이 유형은 더 큰 범주에 속하는 개체를 참조하는 단어에 자주 사용됩니다.
“PlayStation”은 일종의 비디오 게임 “콘솔”이지만 “콘솔”은 “PlayStation”의 유형이 아닙니다.
검색 구성에 단방향 동의어를 추가하면 누군가 “콘솔”을 검색할 때마다 PlayStation이 표시되도록 할 수 있습니다.
이 두 용어 사이의 양방향 동의어가 아닌 이유는 무엇입니까?
양방향 동의어는 전이적이기 때문입니다.
용어 1과 용어 2가 양방향 동의어이고 용어 2와 3이 양방향 동의어이면 용어 1과 용어 3은 양방향입니다.
보다 직접적인 예에서 “PlayStation” 및 “console” 및 “Xbox” 및 “console”이 양방향 동의어의 두 그룹이라는 것은 “PlayStation”과 “Xbox”가 동의어임을 의미하며 검색자는 검색할 때 Playstations를 볼 수 있습니다. Xbox 및 그 반대의 경우도 마찬가지입니다.
“대체 수정”이 최종 유형입니다.
이는 단어가 서로를 정확하게 대체하지 않고 정확히 일치하는 항목이 대체 항목보다 높게 나타나도록 하려는 경우에 사용됩니다.
예를 들어, “바지”가 “반바지”의 대안이라고 말할 수 있지만 누군가 “반바지”라는 단어를 검색하면 일반적으로 모든 반바지가 바지보다 높게 표시되어야 합니다.
모든 동의어 유형은 본질적으로 회수를 확장합니다.
그러나 이러한 동의어는 유사한 개념에 대한 “포인터”이기 때문에 정밀도에 미치는 영향은 최소화되어야 합니다.
최종 사용자에게 더 나은 검색 경험을 기대할 수 있습니다.
검색어 제거
검색자가 쿼리가 너무 구체적이거나 레코드에 없는 단어를 사용했기 때문에 아무 것도 반환하지 않는 쿼리를 사용하는 경우가 있습니다.
쿼리에서 한 단어 또는 두 단어를 제거하면 완벽하게 괜찮은 결과가 돌아올 것입니다.
지금은 검색어 제거를 사용하기에 좋은 시기입니다.
중지 단어
아마도 가장 일반적인 검색어 제거 단계는 “중단어”를 제거하는 것입니다.
중지 단어는 의사 소통에 의미를 제공하지만 검색에는 도움이되지 않는 매우 일반적인 단어입니다. “” 또는 “”와 같은 단어는 다른 좋은 일치 항목을 제거할 수 있습니다.
이것은 음성 검색 쿼리와 같이 자연어를 지향하는 쿼리에서 더 일반적입니다.
예를 들어 제품 검색 엔진에서 “오렌지 셔츠”를 검색하는 것이 있습니다.
검색 엔진이 제목, 색상 및 카테고리를 검색하면 “셔츠”가 카테고리로, “오렌지”가 색상으로 포함된 레코드가 많이 있을 수 있지만 “an”이라는 단어는 포함하지 않을 수 있습니다.
이제 “an”이라는 단어가 여기에 유용한 정보를 제공합니까?
아니요, 그렇지 않습니다. 검색 엔진은 정확성을 잃지 않고 안전하게 제거할 수 있습니다.
동의어와 달리 일반적으로 자신의 중지 단어 목록을 만들고 싶지 않으며 대부분의 검색 엔진에는 언어별로 기본 제공됩니다.
그러나 쿼리에 값을 제공하지 않는 너무 일반적인 업계 용어가 있는 경우와 같이 기본 제공 목록을 확장해야 하는 경우가 있습니다.
결과가 없는 경우 단어 제거
그런 다음 모든 단어가 가치를 제공하지만 함께 검색하면 결과가 반환되지 않는 쿼리가 있습니다.
종종 검색자들은 기억력을 높이는 대가로 덜 정확한 결과에 만족할 것입니다. 이러한 상황에서 사용자 앞에 결과를 표시하기 위해 단어를 제거하려고 합니다.
이를 수행하는 두 가지 주요 방법이 있습니다. 모든 쿼리 단어를 선택 사항으로 지정하거나 쿼리에서 단어를 제거합니다.
결과가 없을 때 모든 쿼리 단어를 선택 사항으로 만드는 경우 더 많은 단어와 일치하는 레코드가 더 관련성이 있고 다른 모든 것은 동일하다고 가정합니다.
대안은 일치하는 레코드를 찾거나 쿼리에 더 이상 단어가 남지 않을 때까지 쿼리 단어를 하나씩 제거하는 것입니다.
첫 단어나 마지막 단어를 제거하여 시작할 수 있습니다. 마지막 단어 제거가 더 일반적입니다.
모든 쿼리 단어를 선택 사항으로 만든 다음 일치하는 단어 수를 기준으로 정렬하는 것이 일반적으로 더 나은 접근 방식입니다. 특히 중지 단어를 제거하는 경우에는 더욱 그렇습니다.
그러나 이것은 정밀도가 중요하고 모든 쿼리 단어와 일치하는 결과가 실제로 없었다는 것을 보여주고 싶을 때 덜 이상적인 접근 방식입니다.
어떤 사람은 “Gucci v-neck 스웨터”라는 검색어에 대해 Uniqlo v-neck 스웨터를 보는 것이 좋지만 다른 사람은 그 결과가 완전히 관련이 없다고 생각할 수 있습니다.
물론 또 다른 시나리오는 실제로 쿼리에 가장 큰 가치를 제공하는 단어를 알고 선택적으로 표시하는 것입니다.
이것은 일반적으로 키워드 기반 검색 엔진에서 볼 수 없지만 불용어에 대해 유사한 접근 방식을 취하는 일부 검색 엔진이 있습니다.
예를 들어, 일부 검색 엔진은 역 문서 빈도를 사용하여 불용어 목록 없이 일반적인 단어를 자동으로 할인하는 실험을 했습니다.
동의어와 마찬가지로 쿼리 단어 제거는 일반적으로 정밀도에 영향을 미치지 않고 회상을 확장합니다. 불용어는 결과에 큰 가치를 제공하지 않으므로 포함하지 않아도 좋은 결과를 잃지 않습니다.
마찬가지로, 결과가 없을 때 단어를 제거하면 정확할 수 있는 결과가 없기 때문에 줄일 정밀도가 없습니다.
쿼리 범위
우리는 주로 검색자가 지나치게 정확하고 검색 엔진이 회상을 개선하기 위해 쿼리를 확장해야 하는 상황을 살펴보았습니다.
마찬가지로 검색 엔진이 사용자의 의도를 이해할 수 있고 쿼리 범위 지정이 정확도를 높일 수 있는 경우가 있습니다.
검색 전문가 Daniel Tunkelang은 쿼리 범위 지정 을 “쿼리 의도를 포착하는 가장 효과적인 방법 중 하나”라고 부릅니다.
그는 쿼리 범위 지정의 두 가지 주요 단계를 식별합니다. 첫 번째는 쿼리 태깅이고 그 다음은 범위 지정입니다.
쿼리 태깅은 속할 가능성이 있는 속성으로 쿼리 부분을 식별합니다.
예를 들어, “Marcia”는 “이름” 속성과 일치할 가능성이 가장 높은 반면, “The Brady Bunch”는 “쇼 제목” 속성에 매핑됩니다.
쿼리 범위 지정은 이 매핑을 사용하고 이러한 쿼리 부분에 대한 속성 검색을 제한합니다.
검색 엔진은 “이름” 속성 안에 있는 “Brady” 또는 “show title” 속성에 있는 “Marcia”를 검색하지 않습니다.
이러한 종류의 쿼리 범위 지정은 해당 텍스트가 다른 속성에 포함된 결과를 볼 수 없기 때문에 재현율을 줄입니다.
그러나 결과는 관련 없는 속성을 검색하지 않기 때문에 더 높은 정밀도를 가져야 합니다.
알려진 속성 값으로 결과를 필터링하여 정밀도를 더욱 높일 수 있습니다.
검색 엔진이 쿼리의 패싯 값과 텍스트 간에 간단한 일치를 수행할 수 있으므로 기계 학습이 필요하지 않습니다.
이렇게 하면 재현율이 크게 감소하므로 필터링 대신 일치하는 값으로 결과를 높이는 좋은 균형을 찾을 수도 있습니다.
쿼리 필터 일치는 검색자가 원하는 결과라는 신호를 제공하기 때문에 부스트 결과는 가장 잘 일치하는 결과가 되는 경향이 있습니다.
분석 또는 실제 경험을 통해 검색이 사용자 의도를 놓치고 검색이 “적절”해야 한다는 것을 알게 된 경우 쿼리 확장 및 쿼리 범위 지정은 정확도와 재현율을 보정하는 두 가지 방법입니다.
이러한 접근 방식은 있어야 하는 결과를 허용하고 그렇지 않은 결과를 제외합니다.