amazonの買い物カゴの挙動を見よう

amazonの買い物カゴで、IDをどう使っているのか調査する

### amazon

カートに入れるbuttonがinput type=”submit”としています。

<span class="a-declarative" data-action="dp-pre-atc-declarative" data-dp-pre-atc-declarative="{}" id="atc-declarative">
<span id="submit.add-to-cart" class="a-button a-spacing-small a-button-primary a-button-icon"><span class="a-button-inner"><i class="a-icon a-icon-cart"></i><input id="add-to-cart-button" name="submit.add-to-cart" title="カートに入れる" data-hover="左から&lt;b&gt;__dims__&lt;/b&gt;を選択して&lt;br&gt;ショッピングカートに追加" class="a-button-input" type="submit" value="カートに入れる" aria-labelledby="submit.add-to-cart-announce"><span id="submit.add-to-cart-announce" class="a-button-text" aria-hidden="true">カートに入れる</span></span></span>
</span>

“a”:”B08C9R7MVT”,”quantity”:”1″と書いてあるので、恐らくB08C9R7MVTが商品IDではないかと思う。

<script type="a-state" data-a-state="{&quot;key&quot;:&quot;turbo-checkout-page-state&quot;}">{"turboWeblab":"RCX_CHECKOUT_TURBO_DESKTOP_NONPRIME_87784","strings":{"TURBO_CHECKOUT_HEADER":"今すぐ購入:ナパバレーの日本人醸造家 ハヤシワインズ 2015 パウロニア・カベルネソーヴィニヨン [カリフォルニア/赤ワイン/750ml]","TURBO_LOADING_TEXT":"注文内容を読み込み中"},"inputs":{"a":"B08C9R7MVT","quantity":"1","oid":"","addressId":""},"configurations":{"isSignInEnabled":true,"initiateSelector":"#buy-now-button","prefetchEnabled":true},"buttonID":"buy-now","eligibility":{"isEligible":false},"turboWeblabTreatment":"T2","timeout":"5000"}</script>
</div>

商品ページのcookie

商品追加

やはり、”B08C9R7MVT”を渡しています。

<div id="huc-v2-order-row-item-B08C9R7MVT" data-asin="B08C9R7MVT" data-itemid="Ca5ba925d-a3ea-4f29-b288-38f3bfe04fe2" class="a-box a-box-thumbnail huc-middle-vertical huc-no-radius huc-v2-order-row-image-box huc-green-border huc-v2-order-row-item"><div class="a-box-inner">
    <img alt="" src="https://m.media-amazon.com/images/I/31j5L8Leq4L.jpg" class="huc-no-radius huc-v2-order-row-image huc-v2-table-col">
  </div></div>

ここで、Cookieを見ても、どの値が商品のCookieかは不明

カートの編集ページ

数量変更
-> name=”quantity”としているので、quantityで管理している事がわかる。

<span class="a-dropdown-container"><label class="a-native-dropdown">数量:<span class='sc-offscreen-label' aria-label='数量'></span></label><select name="quantity" autocomplete="off" data-a-touch-header="数量" tabindex="0" data-action="a-dropdown-select" class="a-native-dropdown a-declarative">
            
            
                <option value="0" data-a-css-class="quantity-option">
                    0 (削除)
                </option>
// quantity
<input name="submit.update-quantity.hogehoge38f3bfe04fe2"
       value="更新"
       data-action=""
       aria-label="更新"
       type="submit"
       class="a-color-link"/>

                    </span>

削除

<input name="submit.delete.hohoge"
       value="削除"
       data-action="delete"
       aria-label="削除 ナパバレーの日本人醸造家 ハヤシワインズ 2015 パウロニア・カベルネソーヴィニヨン &#91;カリフォルニア/赤ワイン/750ml]"
       type="submit"
       class="a-color-link"/>
            </span>

なるほど、商品カートは基本、商品IDとquantityで管理し、カートではquantity(数量)とdelete(削除)の機能があるって事がわかった。

AWSの機械学習サービス

ざっと見ただけでも色々ありそうだ

Amazon SageMaker:データサイエンティスト、機械学習エンジニア向け
Amazon Comprehend:自然言語処理
AWS DeepLens
Amazon Lex:会話型インターフェイス、チャットボット
Machine Learning:線形回帰、ロジスティック回帰、多項ロジスティック回帰
Amazon Polly:テキストを音声変換
Rekognition:画像や動画を用意するだけで検出
Amazon Transcribe:文字起こしサービス
Amazon Translate
Amazon Personalize:パーソナライズ、レコメンデーション
Amazon Forecast:時系列予想
Amazon Textract:書類からテキストの抽出
AWS DeepRacer:自律走行

1.予測のみ行うサービス:Transcribe, Polly
2.ユーザーは学習データのみ用意し、サービス側でモデルをトレーニング:Comprehend, Machine Learning
3.インフラを気にせずモデルのトレーニング/評価/デプロイ:SageMaker

1と2は機械学習の知識がなくても利用できる。3はインフラ管理が減る。
つまり、AWSで機械学習サービスをやるならsageMakerってところか。。

amazon recognitionはサービスへの導入が比較的イメージしやすいかも。使ってみたい。

Amazonの機械学習

AWSばかり目が行きますが、amazonで使われている機械学習は?
 L 需要予測
 L 商品検索のランクづけ
 L 商品のレコメンデーションや配置
 L 不正取引の検知
 L 翻訳

その他には、自動飛行ドローンが商品を配達するPrime Air
小売店舗のAmazon Goなど

Prime Airとは?
 垂直離着陸と飛行能力を完備したドローン
 飛行体と人、動物、障害物などを把握するアルゴリズム、解析能力を備える

これ、開発するのに5年くらいかかってる?しかも、配達っていっても、洗濯機、テレビなど大型家電も運べるんだろうか?頭上から落ちてきたら敵わんからな。安全上、問題がありそう。

無人店舗 Amazon Go
ローソンやJRなどがやってる無人店舗、店の中でチャージするんだが、
amazon goは棚の上にカメラがあって、棚から人が商品を取ったらチャージされる仕組みのよう。お店から出て10分くらいたってからチャージ。

機械学習の中でも画像認識はコア技術だな〜
ロジスティック回帰、computer vision、アプリってところか。