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. The Search Experience Tomoharu Ito (26th July 2019, AAJUG OKINAWA

    Meetup)
  2. Who am I? Alexa 野郎。(一応AlexaChampion) 日本人です。 AAJUG 運営。(やってみたいかたは気軽にメンションください) 実はどちらかというとスキルよりデバイスのほうが好き

  3. この資料で持って帰ってほしいこと - カスタムスキルに 検索機能 をつけるときの考慮事項
 
 - Algolia Voice Search

    を知る

  4. カスタムスキルに検索機能をつけるときの考慮事項 1. Alexaで検索 2. シチュエーショナルデザイン 3. ローカライズ 4. パーソナライズ 5.

    パフォーマンス
  5. Alexa で 検索 { "intents": [ { "name": "SearchIntent", "slots":

    [ { "name": "Query", "type": "AMAZON.SearchQuery" }, ], "samples": [ "最寄りの{Query}を探して", "{Query}を見つけて", "{Query}を検索して", ] } ] } Amazon.SearchQuery - 適当なフレーズを入れられる - 特定の「キャリアフレーズ」を含める - 検索して - 探して - 見つけて
  6. シチュエーショナルデザイン Situational Design Guide - VUI の DesignPrincipal - シチュエーションに合う言葉選び

    - 記憶の実装 - パーソナライズした会話 - スクリーンデバイスごとに最適化 https://build.amazonalexadev.com/vui-vs-gui-guide- ww.html
  7. ローカライズ スコープの定義 - デバイスの位置情報 - Alexa Geolocation - 言語、国 https://developer.amazon.com/ja/docs/custom-skills

    /location-services-for-alexa-skills.html
  8. パーソナライズ Indexing - PersistenceAdapter - IndexをDynamoDBに保存 https://ask-sdk-for-nodejs.readthedocs.io/en/latest/ Managing-Attributes.html#persistenceadapter

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

    ルであれば、どうしても遅延が発生 https://ask-sdk-for-nodejs.readthedocs.io/en/latest/ Managing-Attributes.html#persistenceadapter
  10. カスタムスキルに検索機能をつけるときの考慮事項 1. Amazon Search Query (検索ワード) 2. シチュエーショナルデザイン(シーンに沿う検索を) 3. ローカライズ(国、言語を意識して)

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

    とは? 3. DatasetsとIndexing 4. Alexa Skill で Algolia Voice Search を使う 5. Algolia Voice Search のメリットとデメリット
  12. Algolia とは? - Globalな検索サービスを提供 - API - Analytics - A/B

    Testing - GeoLocation Search - etc. - 16の自社リージョンを持ち高速な検索 を実現 - 外部サービスと簡単に連携
  13. Voice Summitでも話題のやつ https://www.bloomberg.com/press-releases/2019-07-11/algolia-to-showcase-importance-of-voice-search-at-voice-summit-2019

  14. Algolia Voice Search って? - 声による検索クエリを柔軟にカスタマ イズ - 検索結果はAlgoliaでIndexing -

    Algolia側でパーソナライズを柔軟に 設定
  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,
  16. Alexa Skill で Algolia Voice Searchを使う(1) Algolia の設定 - Datasets

    - Index - 検索クエリ
  17. Alexa Skill で Algolia Voice Searchを使う(1-1) Datasets の インポート Dashboard

    => Indicies => add records
  18. Alexa Skill で Algolia Voice Searchを使う(1-2) Index を設定 Dashboard =>

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

    => Query Rules ※ 右画像は、 キー: {coloer}が含まれるデータを抽出する設定
  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()` }
  21. Algolia を使うメリットとデメリット メリット - 検索結果をパーソナライズ - SearchQueryの歪みを吸収 デメリット - Query

    Rulesは有料プランのみ (Startarは月額29ユーロから)
  22. 補足)話していないこと Algoliaでは、検索頻度のランキングによっても、検索結果を最適化することが可能です。 興味のあるかたは調べてみてください。

  23. ありがとうございました enjoy alexa!, enjoy VUI!