当前位置: 首页 > 工具软件 > ReviewTime > 使用案例 >

Amazon Review Dataset数据集介绍

颛孙轩昂
2023-12-01

Amazon Review Dataset数据集记录了用户对亚马逊网站商品的评价,是推荐系统的经典数据集,并且Amazon一直在更新这个数据集,根据时间顺序,Amazon数据集可以分成三类:

Amazon数据集可以根据商品类别分为 Books,Electronics,Movies and TV,CDs and Vinyl等子数据集,这些子数据集包含两类信息:

以2014版数据集为例:

  1. 商品信息描述

    asin商品id
    title商品名称
    price价格
    imUrl商品图片链接
    related相关商品
    salesRank折扣信息
    brand品牌
    categories目录类别

    官方例子:

    {
    "asin": "0000031852",
    "title": "Girls Ballet Tutu Zebra Hot Pink",
    "price": 3.17,
    "imUrl": "http://ecx.images-amazon.com/images/I/51fAmVkTbyL._SY300_.jpg",
    "related":
    {
     "also_bought": ["B00JHONN1S", "B002BZX8Z6"],
     "also_viewed": ["B002BZX8Z6", "B00JHONN1S"],
     "bought_together": ["B002BZX8Z6"]
    },
    "salesRank": {"Toys & Games": 211836},
    "brand": "Coxlures",
    "categories": [["Sports & Outdoors", "Other Sports", "Dance"]]
    }
    
  2. 用户评分记录数据

    reviewerID用户id
    asin商品id
    reviewerName用户名
    helpful有效评价率(helpfulness rating of the review, e.g. 2/3)
    reviewText评价文本
    overall评分
    summary评价总结
    unixReviewTime评价时间戳
    reviewTime评价时间
    {
      "reviewerID": "A2SUAM1J3GNN3B",
      "asin": "0000013714",
      "reviewerName": "J. McDonald",
      "helpful": [2, 3],
      "reviewText": "I bought this for my husband who plays the piano.  He is having a wonderful time playing these old hymns.  The music  is at times hard to read because we think the book was published for singing from more than playing from.  Great purchase though!",
      "overall": 5.0,
      "summary": "Heavenly Highway Hymns",
      "unixReviewTime": 1252800000,
      "reviewTime": "09 13, 2009"
    }
    

Amazon数据集读取:

因为下载的数据是json文件,不易操作,这里主要介绍如何将json文件转化为csv格式文件。以2014版Amazon Electronics数据集的转化为例:

商品信息读取

import pickle
import pandas as pd

file_path = 'meta_Electronics.json'
fin = open(file_path, 'r')

df = {}
useless_col = ['imUrl','salesRank','related','title','description']  # 不想要的字段
i = 0
for line in fin:
    d = eval(line)
    for s in useless_col:
        if s in d:
            d.pop(s)
    df[i] = d 
    i += 1
df = pd.DataFrame.from_dict(df, orient='index')
df.to_csv('meta_Electronics.csv',index=False)

用户评分记录数据读取

file_path = 'Electronics_10.json'
fin = open(file_path, 'r')

df = {}
useless_col = ['reviewerName','reviewText','unixReviewTime','summary'] # 不想要的字段
i = 0
for line in fin:
    d = eval(line)
    for s in useless_col:
        if s in d:
            d.pop(s)
    df[i] = d 
    i += 1
df = pd.DataFrame.from_dict(df, orient='index')
df.to_csv('Electronics_10.csv',index=False)
 类似资料: