赞
踩
本例使用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"}
...
后者是csv文件,内容如下:
A15I9QV4OG22A6,001212835X,5.0,1389657600
A1BNZ90HN39TYR,0205062040,5.0,1373846400
A9DUCBTL8K3E4,0205062040,5.0,1382659200
AA8O583KRYINX,0205062040,5.0,1372723200
...
四项分别是reviewerID、asin、overall和unixReviewTime,具体含义就是用户、商品编号、评分和时间戳。
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。