[背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community 让我们先看一下这个TFIDF 然后做些有趣的事情 我们要手动计算 先让我输一些东西 我们将要手动计算 几个人之间的距离 我们的目标是展示这些距离是什么样子 给你一个TFIDF 的整体印象 我们取三个人作为例子 我们已经说过了奥巴马 所以我们这里有了Obama这个变量 我们再新建两个变量 比如说克林顿 我准备选他 这个人的名字等于 Bill Clinton 也就是前美国总统 让我们再选一个人 比如贝克汉姆 贝克汉姆是一个有名的 英国足球运动员 所以我们把他从人群中筛选出来 一个名字等于 David Beckham的人 既然我们已经选择了克林顿和贝克汉姆 下面让我们来计算 这两个人还有奥巴马总统的相似度 我们的问题是 奥巴马 相比较贝克汉姆而言 是否离克林顿接近呢 噢不对 这里有个小错误 (教授少加了个#) 这里有很多种方法来衡量相似度 或者说两个向量之间的距离 或者说是两个文件之间的差别 我们会计算TFIDF 我们现在要做的是计算这些 不同文件之间的差别 克林顿的和奥巴马的 等等 我要使用距离矩阵 它是Graphlab create里自带的 这样我们就不用自己再创造了 我们会看graphlab.distance然后按下tab 你会看到这里有很多选择 克林顿的距离我们之前讨论过 是cosine 距离 jaccard相似度 还有许多我们会在后面的课程学习到 这里我就用cosine距离了 让我们想一想cosine相似度这个概念 如果你听说过 这个数值越高 这两个文章相似度越高 我们想要的是距离 所以希望这个值越小越好 所以说cosine距离越小 两个文章越接近 所以问题就变成了 奥巴马和克林顿的TFIDF的cosine距离 是多少呢 注意我选择了TFIDF这一列 但是我这里还加了个[0] 因为这是这张表格的第零行 这张表仅有一个对象 但是我们仍然表明我们需要的是哪一行 所以我们将要比较奥巴马的TFIDF 和克林顿的TFIDF 也就是在第0行 代表着coisine距离 你可以看到这个距离是0.83 那么问题来了 在同一个矩阵中 奥巴马和贝克汉姆的cosine距离是多少呢 所以我会输入以下命令 obama['tfidf'][0]-beckham['tfidf'][0] 输入这个代码 我们可以看到距离是0.97 你能得到的最大距离是1.0 所以在这个例子中 相比较与贝克汉姆而言 奥巴马与 克林顿更加接近 这也很合理 我们现在已经人工计算出了几个人之间的距离 我们怎么才能自动找出一篇文章与其他文章之间的距离呢 在这个例子中 是一个人与其他人有多相似 在前面的课程当中 Emily已经讨论过了最近邻居模型以及 怎样把这个模型运用到文章检索上 我们现在要做的是在文章检索中 使用一个简单的近邻模型 [背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community