PHP文章相似度比较,通过similar_text()比较有点慢,可否有什么好效率?
如果通过将文章内容全部存入文本,遍历拿需要比较的文章内容,
通过similar_text()比较,这样的方法是否可行?


回复讨论(解决方案)

本帖最后由 xuzuning 于 2013-07-31 17:54:18 编辑

可以用操作系统提供的文件差异命令
linux : diff
window : fc
他们都是按行处理的,报告中行数越多,自然相似度越低

可以用操作系统提供的文件差异命令
linux : diff
window : fc
他们都是按行处理的,报告中行数越多,自然相似度越低 具体是怎么实现呢?

比如(window)

system("fc 1.txt 2.txt > 3.txt");readfile('3.txt');
登录后复制

linux 还有 wc 命令得到文件的行数

你也可以用 exec 直接返回差异结果数组

exec("fc 1.txt 2.txt", $a);print_r($a);
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制


如果你有能力,还可以下载并编译 xdiff 扩展

你也可以用 exec 直接返回差异结果数组

exec("fc 1.txt 2.txt", $a);print_r($a);
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制


如果你有能力,还可以下载并编译 xdiff 扩展

你也可以用 exec 直接返回差异结果数组
exec("fc 1.txt 2.txt", $a);print_r($a);
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制


如果你有能力,还可以下载并编译 xdiff 扩展

你也可以用 exec 直接返回差异结果数组
exec("fc 1.txt 2.txt", $a);print_r($a);
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制


如果你有能力,还可以下载并编译 xdiff 扩展

你也可以用 exec 直接返回差异结果数组
exec("fc 1.txt 2.txt", $a);print_r($a);
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制


如果你有能力,还可以下载并编译 xdiff 扩展



你也可以用 exec 直接返回差异结果数组
exec("fc 1.txt 2.txt", $a);print_r($a);
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制


如果你有能力,还可以下载并编译 xdiff 扩展
如果我直接读取数据库表信息,遍历内容,与需要比较的文章内容比较,我又该怎么做呢?
如果我先分词,在通过相似度比较,写算法什么的,是否可以?
因为一旦数据库文章数据量大,靠数据库内容存入文本,再比较,会不会太慢?

你也可以用 exec 直接返回差异结果数组

exec("fc 1.txt 2.txt", $a);print_r($a);
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制


如果你有能力,还可以下载并编译 xdiff 扩展
这个就不知道怎么弄。

09-19 06:47