Upgrade to Pro — share decks privately, control downloads, hide ads and more …

unagipy_sweetsbank_2026.pdf

Avatar for YM053 YM053
June 08, 2026
34

 unagipy_sweetsbank_2026.pdf

Avatar for YM053

YM053

June 08, 2026

Transcript

  1. Kaggle Kaggle で Amazon Fine Food Reviews (License: CC0: Public

    Domain) https://www.kaggle.com/datasets/snap/amazon-fine-food-reviews 568,454 reviews 256,059 users 74,258 products 英語データ 日本語化してみよう!
  2. - 以下のような単語が含まれるレビューを抽出する。 sweets_dict = { "アイス": ["ice cream", "gelato"], "チョコ":

    ["chocolate"], "ケーキ": ["cake"], "クッキー": ["cookie", "biscuit", "shortbread"], "チーズケーキ": ["cheesecake"], "ドーナツ": ["donut", "doughnut"], "ブラウニー": ["brownie"], "パンケーキ": ["pancake"], "ワッフル": ["waffle"], "マフィン": ["muffin"], "タルト": ["tart"], "パイ": ["pie"], "プリン": ["pudding", "custard"], } Sweets 関連のレビューを集める
  3. NLLB-200-distilled-600M 概要 - Metaが開発した Hagging Face Transformer ベース の 多言語翻訳モデル

    (CC-BY-NC 4.0) (encoder-decoder構造(seq2seq)) - 英語 <-> 日本を直接翻訳可能 - ローカルで実行可能( API不要) - 軽量版(600M)。
  4. どんなデータが含まれているか? - review text - score (5段階) Score:5, クッキー, cookie,

    Oh My - these are going on my list to re-order! They are absoultely DELCIOUS! Actually like them a lot better than the Oreos with cream in the middle. Crispy, crunchy, low cal cookie (if you can eat only 1 bag, that is). Packs a powerful chocolate punch - for a low cal snack. Satisfies my chocolate craving without the guilt. [Actually choose these over the Lorna Doone thins any day - more flavorful & satisfying]. Have to stop myself from ripping open a 2nd pkg. オー マイ - これらは私のリストに再び注文されます ! 彼らは絶対 DELCIOUSです! 実際はクリーム付きのオリオよりもはるかに好きです . 脆い,脆い,低カロリークッキー (もし1袋しか食べられないなら ,それはです). 強力なチョコレートパンチを梱包します - 低カロリースナック のために. 罪悪感なしに私のチョコレート欲を満たします . score: 5 チョコ, chocolate, This is a good quality brand of chocolate with many flavours of which this is just one. Very tasty and a fast delivery too, これは良い品質のチョコレートブランドで ,多くの味がありますが ,これは1つだけです. とても美味しいし ,迅速な配達です .
  5. review を 眺めていたら... 各レビューと食感っぽい表現が多く含まれているな。 If you like vanilla custard/pudding you

    will love this. It's rich and creamy and has lots of vanilla taste. We love this pancake waffle mix. It's hard to please everyone but this item does the trick. Crispy, light, tender, yummy Oh My - these are going on my list to re-order! They are absoultely DELCIOUS! Actually like them a lot better than the Oreos with cream in the middle. Crispy, crunchy, low cal cookie レビューに含まれる食感表現について分析してみよう !
  6. クロス集計 - 2つ以上の項目や属性データを掛け合わせて集計・分析する手法 e.g. 年齢 x 好きなスウィーツ種類 ("チョコレート", "ケーキ", "パイ",

    ...) (年齢層ごとに、どんなスウィーツが人気があるか? ) 性別 x 好きなスポーツ ("サッカー", "野球", "バスケ"...) (性別ごとに、購入理由で購入しているか? )
  7. texture_dict = { # - もっちり系 "もっちり": ["chewy", "gooey", "sticky"],

    "とろとろ": ["melty", "melt", "runny"], # - サクサク系 "サクサク": ["crispy", "crisp"], "カリカリ": ["crunchy"], "パリパリ": ["brittle"], # - ふわふわ系 "ふわふわ": ["fluffy"], "ふんわり": ["airy", "light"], # - しっとり系 "しっとり": ["moist", "soft"], "なめらか": ["smooth"], # - 濃厚系 "濃厚": ["rich", "buttery"], "クリーミー": ["creamy", "smooth"], } 食感表現 レビューに含まれる食感表現を抽出
  8. 濃厚 サクサク もっちり とろとろ カリカリ パリパリ ふわふわ ふんわり しっとり クリーミー

    チョコ 2611 879 1472 884 1231 85 83 1064 1695 2773 12777 クッキー 233 529 476 75 435 29 10 282 890 94 3053 ケーキ 115 60 128 26 69 1 64 185 467 115 1230 チーズケーキ 16 22 7 1 9 0 0 14 12 39 120 ブラウニー 19 4 35 4 4 0 1 11 53 8 139 パンケーキ 19 12 19 11 10 0 72 61 21 10 235 ワッフル 11 92 9 14 16 0 38 85 28 14 307 マフィン 31 25 33 9 22 0 24 59 80 32 315 ドーナツ 119 5 2 4 6 0 2 141 8 231 518 タルト 49 72 180 28 83 1 0 188 114 78 793 パイ 70 54 54 27 61 2 8 90 98 86 550 プリン 22 5 18 10 6 1 5 30 26 52 175 アイス 102 94 56 47 73 7 1 94 103 156 733 3417 1853 2489 1140 2025 126 308 2304 3595 3688 20945 スウィーツ x 食感表現
  9. 標準化残差 もう少し統計学的にみていこう 標準化残差を使ってみる 標準化残差とは、観測値と期待値 (*) のズレを、ばらつきの大きさ (標準偏差)で割った値 スウィーツと食感は関連性がないと仮定すると、 各食感は全スウィーツで同じ割合で出現するはず。 (つまり、“サクサク”

    は 全スウィーツで同じ割合で出現するはず。) その仮定で計算した理論値が期待値となる。 濃厚 サクサク もっちり チョコ 2611 879 1472 … 12777 クッキー 233 529 476 3053 ケーキ 115 60 128 1230 : : : 120 3417 1853 2489 1140 20945 例: クッキー x サクサク 期待値: 1853 (サクサク総数) / 20945 (スウィーツ総数) = 0.0885 3053 (クッキー) x 0.0885 = 270 529 >> 270 例: ケーキ x サクサク 期待値: 1853 (サクサク総数) / 20945 (スウィーツ総数) = 0.0885 1230 (クッキー) x 0.0885 = 270 60 << 180
  10. ロジスティック回帰 せっかく score データがあるので、食感表現と score の関係を見てみよう ロジスティック回帰分析: 2値(True/False)の結果(目的変数)が、 複数の要因(説明変数)によってどのくらいの確率で発生するかを予測する統計手法 e.g.

    (目的変数) (説明変数) ECサイト 商品を購入するか 年齢、性別、価格、閲覧回数 金融 ローンを返済できるか 年収、借入額、年齢、役職 医療 病気になるか 年齢、BMI、血圧、喫煙
  11. ==================== SWEET: ケーキ 10 クリーミー 0.654940 7 しっとり 0.610708 6

    ふんわり 0.417143 9 濃厚 0.352857 2 サクサク 0.134891 4 パリパリ 0.046259 8 なめらか 0.000000 3 カリカリ -0.088111 5 ふわふわ -0.123429 1 とろとろ -0.183562 0 もっちり -0.425546 ==================== SWEET: クッキー 5 ふわふわ 0.893855 9 濃厚 0.807402 7 しっとり 0.297774 2 サクサク 0.291185 3 カリカリ 0.121627 6 ふんわり 0.090345 8 なめらか 0.000000 1 とろとろ -0.014009 0 もっちり -0.288369 10 クリーミー -0.399941 4 パリパリ -0.676681 ==================== SWEET: チョコ 10 クリーミー 0.479395 3 カリカリ 0.428331 9 濃厚 0.376262 2 サクサク 0.301063 1 とろとろ 0.067572 6 ふんわり 0.017846 8 なめらか 0.000000 7 しっとり -0.070715 5 ふわふわ -0.122095 0 もっちり -0.541170 4 パリパリ -0.740047 ==================== SWEET: チーズケーキ 2 サクサク 0.591335 9 濃厚 0.542064 3 カリカリ 0.364724 6 ふんわり 0.363742 10 クリーミー 0.063250 1 とろとろ 0.058395 7 しっとり 0.033852 4 パリパリ 0.000000 5 ふわふわ 0.000000 8 なめらか 0.000000 0 もっちり -1.001865
  12. ==================== SWEET: パイ 3 カリカリ 1.502339 6 ふんわり 1.366768 9

    濃厚 0.760888 5 ふわふわ 0.670580 4 パリパリ 0.331556 7 しっとり 0.069827 8 なめらか 0.000000 1 とろとろ -0.066946 10 クリーミー -0.300878 0 もっちり -0.581419 ==================== SWEET: プリン 7 しっとり 0.795306 1 とろとろ 0.661584 10 クリーミー 0.481049 5 ふわふわ 0.460698 9 濃厚 0.256799 4 パリパリ 0.116101 8 なめらか 0.000000 2 サクサク -0.356868 6 ふんわり -0.373130 0 もっちり -0.582903 ==================== SWEET: ドーナツ 7 しっとり 1.092900 9 濃厚 1.068253 2 サクサク 0.943444 1 とろとろ 0.545950 4 パリパリ 0.000000 10 クリーミー -0.153899 0 もっちり -0.356815 3 カリカリ -0.482395 5 ふわふわ -0.601251 6 ふんわり -1.037059 ==================== SWEET: アイスクリーム 9 濃厚 0.839621 6 ふんわり 0.642167 3 カリカリ 0.365398 0 もっちり 0.252137 2 サクサク 0.188493 10 クリーミー 0.088542 5 ふわふわ 0.086101 7 しっとり 0.014114 8 なめらか 0.000000 1 とろとろ -1.571220
  13. サクサクのチーズケーキ? ==================== SWEET: チーズケーキ 2 サクサク 0.591335 9 濃厚 0.542064

    3 カリカリ 0.364724 6 ふんわり 0.363742 10 クリーミー 0.063250 1 とろとろ 0.058395 7 しっとり 0.033852 4 パリパリ 0.000000 5 ふわふわ 0.000000 8 なめらか 0.000000 0 もっちり -1.001865 - なぜ、チーズケーキは "サクサク" と表現で語られることが多いのか? - もしや、下地のことのことを語っているのでは!?
  14. # - 下地っぽい word target_words = ["cookie", "biscuit", "crust", "base",

    ] def word_prob(df_part, word): return df_part["text"].str.contains(word, na=False).mean() # - crispy な cheesecake に 下地っぽい word を含んでいる割合 p_crispy_cheesecake = { w: word_prob(crispy_cheesecake_df, w) for w in target_words } # - crispy ではない cheese cake に 下地っぽい word を含んでいる割合 p_not_crispy_cheesecake = { w: word_prob(not_crispy_cheesecake_df, w) for w in target_words “カリカリ” が含まれる レビューに下地* が含まれる確率 “カリカリ” が含まれない レビューに下地 が含まれる確率 を比較