首先使用TF-IDF算法提取两篇文章的关键词,并合并成一个集合,

如关键词较多可使用堆取TOPK关键词。

然后计算每篇文章对于这个集合中的词的词频,即单词数/总词数,然后生成各自词频向量。

PHP计算相似度示例代码如下:<?php

function similarity(array $vec1, array $vec2) {

return dotProduct($vec1, $vec2) / (absVector($vec1) * absVector($vec2));

}

function dotProduct(array $vec1, array $vec2) {

$result = 0;

foreach (array_keys($vec1) as $key1) {

foreach (array_keys($vec2) as $key2) {

if ($key1 === $key2) $result += $vec1[$key1] * $vec2[$key2];

}

}

return $result;

}

function absVector(array $vec) {

$result = 0;

foreach (array_values($vec) as $value) {

$result += $value * $value;

}

return sqrt($result);

}

//文章词频向量

$v1 = array('我们' => 5, '设计' => 2, '一个' => 1, '算法' =>0, '任意' => 0, '相似' => 1);

$v2 = array('我们' => 5, '设计' => 0, '一个' => 3, '算法' =>0, '任意' => 0, '相似' => 1);

//计算相似度,值越大相似程度越高

$result1 = similarity($v1,$v2);

var_dump($result1);

标签:none

php 相似文章,PHP TF-IDF与余弦相似性计算文章相似性相关推荐

  1. scitkit-learn:计算机科学论文的TF / IDF和余弦相似度

    几个月前,我下载了数千篇计算机科学论文的元数据,这样我就可以尝试编写一个迷你推荐引擎来告诉我接下来应该读什么论文. 由于我没有任何人可以阅读每篇论文的数据,因此排除了协作过滤方法,所以我认为我可以尝试 ...

  2. 搜索引擎:文本分类——TF/IDF算法

    原理 TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类.TFIDF实际上是:TF * IDF,TF ...

  3. tf/idf_Neo4j:带密码的TF / IDF(和变体)

    tf/idf 几周前,我写了一篇博客文章,介绍了如何使用scikit-learn在HIMYM成绩单上运行TF / IDF,以按情节找到最重要的短语,然后我很好奇在Neo4j中很难做到. 我首先将Wik ...

  4. Neo4j:带密码的TF / IDF(和变体)

    几周前,我写了一篇博客文章,介绍了如何使用scikit-learn在HIMYM成绩单上运行TF / IDF,以按情节找到最重要的短语,然后我很好奇在Neo4j中很难做到. 我首先将Wikipedia的 ...

  5. 随笔_从《芳华》影评到TF/IDF算法

     前两天看好多<芳华>的影评说:为什么好人没好报?于是感叹一堆世态炎凉,人性丑陋什么的.我觉得这问题是:为什么中央空调(对谁都温暖)往往不被看好.  先说说TF/IDF算法,这是一种信息处 ...

  6. 文本特征抽取的向量空间模型(VSM)和TF/IDF方法

    文本特征抽取 两组小说,一组是爱情的,另一组是科幻的.我们能否用支持向量机训练一个模型,用来识别小说类型呢? 这个并不容易.因为支持向量机这类机器学习算法只能接受数学里面的向量作为输入.如果用它来做文 ...

  7. tf-idf词向量和bow_使用词袋Bow和TF IDF进行多标签分类

    tf-idf词向量和bow 1.加载数据 (1. Load the data) For this study, we are using Kaggle data for Toxic Comment C ...

  8. 【笔记】手敲版 TF IDF

    注1: 1.  涉及计算向向量夹角  [笔记]向量点乘(内积)和叉乘(外积.向量积):对两个向量执行点乘运算,是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量:叉乘结果是一个向量,它垂 ...

  9. 关键词提取算法—TF/IDF算法

    关键词提取算法一般可分为有监督学习和无监督学习两类. 有监督的关键词提取方法可以通过分类的方式进行,通过构建一个较为完善的词表,然后判断每个文档与词表中的每个词的匹配程度,以类似打标签的方式,达到关键 ...

  10. TF-IDF结合余弦相似性 判断文章相似性

    摘自:阮一峰的网络日志(http://www.ruanyifeng.com/blog/2013/03/cosine_similarity.html) 为了找出相似的文章,需要用到"余弦相似性 ...

最新文章

  1. 修改机器名、IP对arcgis server、portal的影响?
  2. B - Linear Algebra Test————只给思路
  3. String案例 练习: 将一个字符串进行反转
  4. 高考舞弊案背后的“文化魔咒”—— 如何整顿学风?(教育的失败!社会的...)...
  5. 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.4.6 为克隆使用序列化
  6. HDFS--分布式文件系统
  7. Python字符串常用方法(split,partition,maketrans,strip...)
  8. 概率、随机数、随机数生成函数(面试题)
  9. 1977年发生事件_大金蛇:千年银蛇,万年金蛇:1977年【蛇蛇人】11月上旬家里有“爆炸性”事件发生!...
  10. linux apache配置虚拟主机,linux环境apache多端口配置虚拟主机的方法
  11. stm32单片机驱动L298N模块
  12. 什么是OA系统?OA系统的协同门户平台有哪些特点?
  13. Tensorflow学习笔记——Summary用法
  14. AM335x SPL(一)
  15. Blender 如何添加渲染AO,Bloom~~
  16. 企业人事管理系统V0.2.0
  17. 变量、存储过程与函数
  18. 吴恩达卷积神经网络笔记,吴恩达人工智能公开课
  19. 非常实用的织梦dede所有标签调用方法大全 .
  20. 选择模板建站这六个问题要提前注意

热门文章

  1. 这一代绝非低智商——读《低智商社会@大前研一》
  2. 中国企业培训的十大缺陷(zt)
  3. 免费稳定又好用的微信投票小程序,照片投票评选,视频投票打分小程序
  4. 超详细的Elasticsearch高性能优化实践
  5. 输出大于某个正整数n的最小的质数
  6. leetcode--打家劫舍
  7. 数据挖掘简答知识点总结
  8. win10删除文件夹提示需要管理员权限的解决办法
  9. Typora恢复文件,找回忘记保存的记录
  10. Java生成随机数的公式