昨日の続きでPart2になります.Part2では,Query Understanding Engineのゴールと実装に関する内容になっています.

Query Understanding Engine’s Goal

Query Understandingができるようになると意味のある検索結果やお勧め情報をユーザーに提供できるようになるという点が大きい.

ここでは,Intent propertiesとして紹介されているが,クエリを検索する際には,Intent propertiesが含まれるので,それを理解する必要があるとのこと.

例えば,「交通機関の検索」のIntentでは,出発地や目的地などのpropertiesがある.同様に,「宿泊施設の検索」のIntentでは,AccommodationName・AccommodationType・Areaのpropertiesを持つ.

確かに,何かを検索する時はそこに意図があるし,ワードの特性も絞れたりするかもしれないが,ドメインにもよるんじゃないかと思ってしまう.

Query Understanding Engine Implementation

ここでは,Query Understanding Engineの実装として2つのアプローチが紹介されている.

  1. Named Entity Recognition
  2. 機械学習によるProduct, Subproduct, and Action Classifier (PAX)

Named Entity Recognitionによるアプローチ

クエリのentitiesを認識するもの.

例えば,「Voucher Starbucks Kuncit」というクエリでは,「Starbucks」をレストラン名,「Kuncit」をランドマーク(Kuningan City Mall)として認識する.

ここで,これらのentitiesはintentに変換されて,特定のintentには固有のpropertiesがあるので,それを推測することになる.

Query to intent transformation for query: “Voucher Starbucks Kuncit”

Query to intent transformation for query: “Voucher Starbucks Kuncit”

MLベースのProduct, Subproduct, and Action Classifier (PAX)によるアプローチ

PAXは,クエリのProduct・Subproduct・Actionを理解しようとするサービスのこと.

例えば,"Cafe in central park "といったクエリは,Product: Eats / Subproduct: Eats Directory / Action: 検索 となる.

これは,手動でアノテーションされた膨大なクエリを使って機械学習を適用したもの.