如何用PHP编写长尾关键词推荐系统?
- 内容介绍
- 文章标签
- 相关推荐
本文共计494个文字,预计阅读时间需要2分钟。
使用similar_text函数将文章与原文进行对比,根据的相似度重新排列,得到与原文最相似的列表。代码如下:
php
function sortTitlesBySimilarity($title, $array) { $similarities=array(); foreach ($array as $t) { $similarities[$t]=similar_text($title, $t); } arsort($similarities); return array_keys($similarities);}
$sorted_titles=sortTitlesBySimilarity($demo_title, $demo_arr_title);print_r($sorted_titles);?>
输出结果:Array( [0]=> 简单易学的现代魔法 [1]=> 简易现代魔法 [2]=> 现代魔法的入门指南 [3]=> 现代魔法的奥秘解析 [4]=> 现代魔法的起源与发展)
利用similar_text将这些文章标题同原文章标题做对比,按标题的相似程度重新排列标题,就得到了与原文章相似的文章列表。
<?php $demo_title= "简明现代魔法"; $demo_arr_title= array("简单易懂的现代魔法","简单明了的现代魔法","简明扼要的古代魔法","不简单的现代魔法","很难懂的现代魔法"); $new_array= getSimilar($demo_title,$demo_arr_title); //print_r($new_array); echo"与[$demo_title]最相关的前三个文章是:<br/>"; for($j=0; $j<=2; $j++) { echo($j+1).":".$new_array[$j]."<br/>"; } //$title当前标题,$arrayTitle为需要查找的数组 functiongetSimilar($title,$arr_title) { $arr_len= count($arr_title); for($i=0; $i<=($arr_len-1); $i++) { //取得两个字符串相似的字节数 $arr_similar[$i] = similar_text($arr_title[$i],$title); } arsort($arr_similar); //按照相似的字节数由高到低排序 reset($arr_similar); //将指针移到数组的第一单元 $index= 0; foreach($arr_similaras$old_index=>$similar) { $new_title_array[$index] = $arr_title[$old_index]; $index++; } return$new_title_array; } ?>
程序运行结果:
与[简明现代魔法]最相关的前三个文章是:
1:简单明了的现代魔法
2:简单易懂的现代魔法
3:简明扼要的古代魔法
以上就是本次介绍的全部知识点内容,感谢大家的学习和对易盾网络的支持。
本文共计494个文字,预计阅读时间需要2分钟。
使用similar_text函数将文章与原文进行对比,根据的相似度重新排列,得到与原文最相似的列表。代码如下:
php
function sortTitlesBySimilarity($title, $array) { $similarities=array(); foreach ($array as $t) { $similarities[$t]=similar_text($title, $t); } arsort($similarities); return array_keys($similarities);}
$sorted_titles=sortTitlesBySimilarity($demo_title, $demo_arr_title);print_r($sorted_titles);?>
输出结果:Array( [0]=> 简单易学的现代魔法 [1]=> 简易现代魔法 [2]=> 现代魔法的入门指南 [3]=> 现代魔法的奥秘解析 [4]=> 现代魔法的起源与发展)
利用similar_text将这些文章标题同原文章标题做对比,按标题的相似程度重新排列标题,就得到了与原文章相似的文章列表。
<?php $demo_title= "简明现代魔法"; $demo_arr_title= array("简单易懂的现代魔法","简单明了的现代魔法","简明扼要的古代魔法","不简单的现代魔法","很难懂的现代魔法"); $new_array= getSimilar($demo_title,$demo_arr_title); //print_r($new_array); echo"与[$demo_title]最相关的前三个文章是:<br/>"; for($j=0; $j<=2; $j++) { echo($j+1).":".$new_array[$j]."<br/>"; } //$title当前标题,$arrayTitle为需要查找的数组 functiongetSimilar($title,$arr_title) { $arr_len= count($arr_title); for($i=0; $i<=($arr_len-1); $i++) { //取得两个字符串相似的字节数 $arr_similar[$i] = similar_text($arr_title[$i],$title); } arsort($arr_similar); //按照相似的字节数由高到低排序 reset($arr_similar); //将指针移到数组的第一单元 $index= 0; foreach($arr_similaras$old_index=>$similar) { $new_title_array[$index] = $arr_title[$old_index]; $index++; } return$new_title_array; } ?>
程序运行结果:
与[简明现代魔法]最相关的前三个文章是:
1:简单明了的现代魔法
2:简单易懂的现代魔法
3:简明扼要的古代魔法
以上就是本次介绍的全部知识点内容,感谢大家的学习和对易盾网络的支持。

