简单地实现相关文章推荐函数的PHP方法
本文介绍了similar_text(PHP4,PHP5)功能,不同于以往的方法来满足我们的要求。具体思路是:从列表中删除所有的头条新闻,都与当前的比较结果的标题会产生一个数组,按照标题的相似度的大小,similar_text将使用这些标题与文章的原标题相比,根据该重排标题,类似于原来的文章列表的标题的相似度。
在这个想法中使用的关键功能是:
国际similar_text(字符串,字符串的二{,}浮$ %)
它返回同一个字节两个根字符串号。
在这种方式中,我们建立了以下功能,它的功能是把arr_title美元阵列在同一命令$标题。
< PHP
demo_title美元=简单的现代魔术;
demo_arr_title美元=阵列(简单易懂的现代魔法
new_array美元= getsimilar(demo_title美元,美元demo_arr_title);
/ / print_r($ new_array);
回声开头的三篇文章demo_title } { $相关:;
对于($ = 0;$ j = 2;$ + +)
{
回声($ J + 1)。:美元。new_array { $ J }。
}
/ /美元美元目前的标题,一个数组,需要被发现arraytitle
functiongetsimilar($标题,arr_title美元)
{
arr_len美元=计数($ arr_title);
为($我= 0;$i <=($ arr_len-1);$我+ +)
{
获取两个字节/字符串相似数
arr_similar美元{ $我} = similar_text($ arr_title {我},$标题);
}
Arsort(arr_similar美元); / /按字节数是类似的由高到低顺序
复位($ arr_similar); / /指针指向数组第一个元素
指数= 0;
foreach(arr_similaras美元美元美元old_index = >类似)
{
new_title_array { } =美元美元指数美元arr_title { $ old_index };
指数+;
}
返回的new_title_array;
}
>
程序运行结果:
与简明现代魔术有关的前三篇文章是:
1:简洁明了的现代魔术
2:简单易懂的现代魔术
3:简明简明的古代魔法
有些地方需要注意:
至于similar_text速度,有人做过这个实验,结果是:
对于similar_text速度问题似乎只有一个问题。
我发现我的应用程序在性能上有了巨大的提高,只是,应用程序A,20000。
20000 +带3-5秒,别的(10000以下)了,下面,这也是首次使用。
如果您想直接使用文本来比较速度,可能会比较慢。
这是说,在英语中这个函数的功能是不是很好(兴趣的读者可以试试自己的)。当使用英语,英语句子可以分成多个单词用空格然后一个功能类似于similar_text可以写。
此外,如果句子中包含多个非关键字字符,结果可能不太理想。