主要是使用similar_text函数判断两个字符串的相似度,排序后选出相似度排名前5为的数据

similar_text虽然对中文的相似度检测不是太准确,但是可以作为一个参考,挑选出相似文章

也可以直接对文章标题进行相似度检测获取推荐文章,通过文章标题的实现起来更简单一些

我这里给出的案例是根据标签相似度获取推荐文章的代码

//相关文章获取,使用similar_text函数$key='';//将本文的标签组合成字符串,因为每个标签在数据表是一条数据foreach ($tagsres as $v){$key=$key.','.$v['tags_name'];}//halt($key);
//根据文章id分组获得各个文章的标签字符串$alltags=Db::query("select at_id,group_concat(tags_name) from blog_tags group by at_id");//$alltags=Db::table('blog_tags')->field('concat(tags_name),at_id')->select();//halt($alltags);
//获取所有文章标签与该文章标签的相似度$percent=array();foreach ($alltags as $v){$percent[$v['at_id']]=similar_text($key,$v['group_concat(tags_name)']);}
//去掉本文unset($percent[$at_id]);
//对相似度从大到小排序,arsort可以保留key,rsort不行arsort($percent);
//选取排名前五个 $percent=array_slice($percent,0,5,true);//halt($percent);$arr=array();foreach ($percent as $k=>$v){$arr[]=$k;}//halt($arr);
//查询排名前5的文章$alsoarticle=Db::table('blog_article')->alias('a')->join('blog_cate b','a.cate_id=b.cate_id')->where(['a.at_id'=>$arr])->select();//halt($alsoarticle);
$this->assign('alsoarticle',$alsoarticle);

转载于:https://www.cnblogs.com/jcydd/p/10765672.html

根据文章标签相似度获取推荐文章相关推荐

  1. 织梦php调用当前文章关键词,dedecms动态获取当前文章关键词关联相关文章,提升SEO优化内容关键词相关度...

    摘要:dedecms系统使用默认的关键词关联相关文章时,关键词是写死不能变的,这样局限性太大了,如果把固定关键词替换为动态获取当前文章的关键词就更方便了-- dedecms默认可以使用arclist里 ...

  2. Django博客系统(推荐文章数据展示)

    1. 添加文章浏览量数据 1.每次请求文章详情时给浏览量+1 try:article=Article.objects.get(id=id) except Article.DoesNotExist:re ...

  3. Word2Vec原理及应用与文章相似度(推荐系统方法)

    Word2Vec与文章相似度(推荐系统方法) 学习目标 目标 知道文章向量计算方式 了解Word2Vec模型原理 知道文章相似度计算方式 应用 应用Spark完成文章相似度计算 1 文章相似度 在我们 ...

  4. 织梦自定义html文本,织梦自定义标签dede:sql根据自定义字段填的文章id获取相关文章...

    这篇文章主要为大家详细介绍了织梦自定义标签dede:sql根据自定义字段填的文章id获取相关文章,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 有的时候我们需要 ...

  5. 织梦标签调用:最新文章、相关文章、推荐文章、热点文章、头条

    DedeCMS最新文章: {dede:arclist row='10' titlelen='50'} [field:title/] {/dede:arclist} 如果要排除头条文章加上 noflag ...

  6. 推荐文章:机器学习:“一文读懂机器学习,大数据/自然语言处理/算法全有了...

    PS:文章主要转载自CSDN大神"黑夜路人"的文章:           http://blog.csdn.NET/heiyeshuwu/article/details/43483 ...

  7. 爬虫36计 之 1.2 爬取文章-简书首页推荐文章

    文章目录 爬取文章-简书首页推荐文章 页面分析 页面源码分析 代码编写 获取第一页的内容 解析第一页面的方法:_parse_li() 获取下一页的方法:_handle_next_page() 实例运行 ...

  8. DayDayUp:三观一致必将取代血缘关系,成为新的人际纽带(博主推荐文章)

    DayDayUp:三观一致必将取代血缘关系,成为新的人际纽带(博主推荐文章) 导读 考察一个人的判断力,主要考察他信息来源的多样性. 有无数的可怜人,长期生活在单一的信息里,而且是一种完全被扭曲的,颠 ...

  9. 脚本:获取CSDN文章的访问量

    目标 获取所有文章名,链接,阅读人数,评论数 以适合pandas读取的格式存储之 分析 页面跳转 首页:http://blog.csdn.net/fontthrone?viewmode=list 第二 ...

最新文章

  1. 0基础学python难吗-0基础学Python有多难?该怎么入门?
  2. 《JS权威指南学习总结--3.8类型转换》
  3. Activity之间切换 以及传值
  4. python 桌面应用 启动缓慢_如何加快Python 应用的启动时间
  5. 搭建简易留言板过程中遇到的问题
  6. 【狂神css笔记】CSS介绍选择器
  7. PHP 7天前的时间戳
  8. Remoting示例
  9. Tinymce4 中Ajax多次加载时,会出现菜单在第二次进入时,显示的下拉菜单在左上角...
  10. Linux安装及破解密码
  11. c 编程语言技术优点,十大编程语言优缺点对比
  12. 计算机科学渗透信息论的思想,认知主义理论
  13. 第7章第25节:双图排版:两张图片横竖交错叠加排版 [PowerPoint精美幻灯片实战教程]
  14. xp 无线网络 搜索 服务器,WinXP系统搜索不到无线网络的解决方法【图】
  15. Spark MLBase分布式机器学习系统入门:以MLlib实现Kmeans聚类算法
  16. 使用CSS过滤器让透明的彩色png图像变纯白
  17. 老中医给程序员的养生指北|开奖啦
  18. 顶尖文案app_17个文案网站 5款短视频软件,自媒体人必备,直接拿走不谢
  19. 51单片机外围模块——LCD1602液晶模块
  20. 抖音素材哪里下-抖音素材哪里找-短视频素材库

热门文章

  1. properties 文件 属性值过长换行如理 测试读取配置文件
  2. asp.net 汉字转拼音的车祸现场
  3. IDM批量下载Earthdata上的哨兵数据(规避数据为HTML)
  4. 网络营销教程-SEO第八章 内部链接的优化操作
  5. 三元二次方程式x2+y 2=z2的正整数解x、y、z称为一组勾股数,又称为毕达哥拉斯三元数组。该方程式也称为“商高方程”或“毕达哥拉斯方程”。 试通过程序设计求指定区间[a,b]内的所有勾股数组。
  6. 基于FXLMS算法有源降噪毕业论文【matlab仿真】
  7. 女企业家陈宁:服务到客户心里,就能听到花开的声音
  8. linux 英文 资料,学习linux步骤(国外英文资料).doc
  9. 英德谋定红茶产业-农业大健康·李喜贵:功能性农业品牌之路2021-03-02
  10. 现代计算机结构模型及工作原理