利用TF-IDF建立一个文档恢复系统
来源:互联网 发布:java内存泄露定位 编辑:程序博客网 时间:2024/06/08 09:15
为什么在导入数据时,使用sframe框架呢?
SFrame中的数据在GraphLabServer 中以列优先的方式存储,并且存储在持久性存储媒介(例如磁盘)中,避免了被内存大小所限制。 SFrame中的每一列都是一个大小不可变的SArray,但是SFrame可以通过增加或者减少列来轻松地改变。
一个SFrame基本上表现为SArray的一个有序dict。
1.挖掘一下数据集的含义,查看这个数据集包含什么
2.统计量:
(1)查看其中一个单词“奥巴马”的文章的单词统计,使用graphlab中自带的词汇统计函数统计每个单词的词频
(2)统计出来的词频数比较杂乱,对这些数量进行排序。对字典计数,一列是单词,另一列是计数。
使用了stack()函数,这个函数将SFrame字典中的一列取出,然后和另外几列放在一起。(在我们的例子中,一列单词,另一列是计数)。
通过stack 字典被放入列表中分成了两列,但是没有进行排序,下面就进行排序(调用sort函数)
(3)通过sort函数排序之后,发现排序排出的词汇最多的单词,比如 the a 等,大多数都是一些无用的单词,那么需要用TF-IDF进行转化,筛选
(4)首先要计算整个文章的tf-idf,计算出整个文集中每个单词的数目(就是对整个文档中的每个单词涉及到的文章进行单词计数)
(5)Python中直接有?tf-idf这个函数,可以直接进行计算?出来的是一个tf-idf的字典形式
(6)注意,当老师对奥巴马的tf-idf值进行造表并排序时,使用的代码时仅仅一行代码进行排序,将其分开存储到Word和tf-idf两列(仅仅使用了一行代码,就是取出来再进行调用函数,查看其使用技巧),可以看到使用tf-idf计算出来的文章关键词都和奥巴马有着紧密的联系
3.手动计算距离
计算克林顿和奥巴马之间的相似度,调用了distance函数,使用cosine来计算相似度。看看奥巴马的tf-idf和克林顿的tf-idf之间的距离是否很小,很小表示其相似程度高(使用贝克汉姆来进行对比)
4.使用近邻模型计算两者之间的距离(建模)
我们还是使用graphlab中的叫做nearest_neighbors的离线模型来计算,返回值使用label来定义,返回最近邻居的真实标签label也就是那个人的名字
(1)使用knnmodel中的query方法,也就是使用query函数(调用这个函数,可以直观的显示出一个表格,表格中有相关的从上到下的距离排列
- 利用TF-IDF建立一个文档恢复系统
- TF-IDF(文档向量化)
- 利用lucene获取tf-idf
- 利用lucene获取tf-idf
- 使用TF-IDF进行文档分类
- 利用TF-IDF 提取文章关键词
- TF/IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- 代币,YouTube 的区块链解决方案
- dynamicMerge与Merge
- Unreal Engine UE4开发技巧
- BDTC 2017 | 学术、行业、货币专家共话区块链的现状和未来
- UISearchBar
- 利用TF-IDF建立一个文档恢复系统
- 靠谱的区块链应用到底是啥?通证啊!——第二次中关村-CSDN区块链开发技术沙龙【含PPT下载】
- Event事件机制
- 【挖祖坟】聊聊“密码朋克”运动与区块链发展路径
- vue windows下安装过程及遇到的问题
- postfix配置QQ邮箱发邮件
- 通证经济系统设计的一个优秀范例——般若链
- ERROR Error: If ngModel is used within a form tag, either the name attribute must be set or the form
- kafka 1.0 中文文档(三)--Broker的配置