当前位置:   article > 正文

Spark分析Amazon DataSet(实现Spark TF-IDF)_亚马逊tf-idf

亚马逊tf-idf
准备工作

本例使用Home and Kitchen数据集,附上下载链接.
数据集有reviews_Home_and_Kitchen_5.json.gz和ratings_Tools_and_Home_Improvement.csv两个文件。
前者是json文件,内容如下:

{
   "reviewerID": "APYOBQE6M18AA", "asin": "0615391206", 
"reviewerName": "Martin Schwartz", "helpful": [0, 0], 
"reviewText": "My daughter wanted this book and the price on Amazon was the best.  She has already tried one recipe a day after receiving the book.  She seems happy with it.", 
"overall": 5.0, "summary": "Best Price", "unixReviewTime": 1382140800, 
"reviewTime": "10 19, 2013"}
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

后者是csv文件,内容如下:

A15I9QV4OG22A6,001212835X,5.0,1389657600
A1BNZ90HN39TYR,0205062040,5.0,1373846400
A9DUCBTL8K3E4,0205062040,5.0,1382659200
AA8O583KRYINX,0205062040,5.0,1372723200
...
  • 1
  • 2
  • 3
  • 4
  • 5

四项分别是reviewerID、asin、overall和unixReviewTime,具体含义就是用户、商品编号、评分和时间戳。


TFIDF

TF-IDF是评估一个词在一个文档集或语料库中重要程度的统计方法。
TF(Term Frequency)词频,表示某个词在某个文档中出现的频数。一个词在这个文档中出现的次数多,可能说明这个词比较重要。一般来说,会对词频进行归一化,防止它偏向比较长的文件。带标准化的词频计算方式为:
T F = 某 个 词 在 某 个 具 体 文 档 中 出 现 的 次 数 文 档 的 总 词 数 TF = \frac{某个词在某个具体文档中出现的次数}{文档的总词数} TF=

IDF(inverse document frequency)逆文档频率是一个词语重要性的度量。如果一个词在多篇文档中词频较低,则表示这个词比较少见,对比较少见的词赋予比较大的“权重”,因此IDF值比较大;反之越常见的词IDF值越小。IDF的具体计算方式为:
I D F = log ⁡ 语 料 库 的 文 档 总 数 包 含 该 词 的 文 档 数 + 1 IDF = \log\frac{语料库的文档总数}{包含该词的文档数+1} IDF=log+1

分别计算出TF和IDF后,我们就可以就算TD-IDF:
T F − I D F = T F ∗ I D F TF-IDF = TF*IDF

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/981591
推荐阅读
相关标签
  

闽ICP备14008679号