The Search Experience with Alexa & Algolia

The Search Experience with Alexa & Algolia

This is introduction of merging Algolia (Voice) Search to Alexa Skill.
Customize and Personalizing to SearchQuery.

More information
Amazon.SearchQuery
https://developer.amazon.com/docs/custom-skills/slot-type-reference.html#amazonsearchquery

Algolia Voice Search
https://www.algolia.com/solutions/voice-search/

Algolia Query Rules
https://www.algolia.com/doc/guides/managing-results/refine-results/merchandising-and-promoting/in-depth/query-rules-overview/

5af8e5bd2f24e4ea0cee732c6cc259b3?s=128

haruharuharuby

July 26, 2019
Tweet

Transcript

  1. 5.

    Alexa で 検索 { "intents": [ { "name": "SearchIntent", "slots":

    [ { "name": "Query", "type": "AMAZON.SearchQuery" }, ], "samples": [ "最寄りの{Query}を探して", "{Query}を見つけて", "{Query}を検索して", ] } ] } Amazon.SearchQuery - 適当なフレーズを入れられる - 特定の「キャリアフレーズ」を含める - 検索して - 探して - 見つけて
  2. 6.

    シチュエーショナルデザイン Situational Design Guide - VUI の DesignPrincipal - シチュエーションに合う言葉選び

    - 記憶の実装 - パーソナライズした会話 - スクリーンデバイスごとに最適化 https://build.amazonalexadev.com/vui-vs-gui-guide- ww.html
  3. 9.

    パフォーマンス CDN活用 Lambdaのリージョンを個別に - Globalに提供するスキル - CDNを置くならHTTPSエンドポイン トを利用 - 利用する検索サービスがリージョナ

    ルであれば、どうしても遅延が発生 https://ask-sdk-for-nodejs.readthedocs.io/en/latest/ Managing-Attributes.html#persistenceadapter
  4. 10.

    カスタムスキルに検索機能をつけるときの考慮事項 1. Amazon Search Query (検索ワード) 2. シチュエーショナルデザイン(シーンに沿う検索を) 3. ローカライズ(国、言語を意識して)

    4. パーソナライズ(ユーザー向けにカスタマイズ)      5. パフォーマンス(検索して帰ってこないのはNG) 検索をどのようにパーソナライズするか?( 自分で作るのは大変そうだ )
  5. 11.

    Algolia Voice Search 1. Algolia とは? 2. Algolia Voice Search

    とは? 3. DatasetsとIndexing 4. Alexa Skill で Algolia Voice Search を使う 5. Algolia Voice Search のメリットとデメリット
  6. 12.

    Algolia とは? - Globalな検索サービスを提供 - API - Analytics - A/B

    Testing - GeoLocation Search - etc. - 16の自社リージョンを持ち高速な検索 を実現 - 外部サービスと簡単に連携
  7. 15.

    Datasets & Indexes Datasets - 検索のもとになるソース - 検索のベースになる Datasetsを選択 -

    キーとデータの集合体 https://github.com/algolia/datasets https://aws.amazon.com/datasets/ Index - 指定したキーで作られる索引 [ { "name": "Hartsfield Jackson Atlanta Intl", "city": "Atlanta", "country": "United States", "iata_code": "ATL", "_geoloc": { "lat": 33.636719, "lng": -84.428067 }, "links_count": 1826,
  8. 19.

    Alexa Skill で Algolia Voice Searchを使う(1-3) 検索クエリをカスタマイズ Dashboard => Indicies

    => Query Rules ※ 右画像は、 キー: {coloer}が含まれるデータを抽出する設定
  9. 20.

    Alexa Skill に組み込み const algolia = algoliasearch(APP_ID, SECRET) const index

    = algolia.initIndex(‘index-name’) const searchIntentHandler = { : async handle(handlerInput) { const query = handlerInput.requestEnvelope.request.intent.slots.query.value const response = await index.search( query, removeStepWords: true, ignorePlurals: true, optionalWords: query) } const hits = response.hits; const item = hits[0] : const speacText = `This is response ${item}` return handlerInput.responseBuilder.speak(speachText).getResponse()` }