>백엔드 개발 >PHP 튜토리얼 >PHP文章相似度比较,通过similar_text()比较有点慢,可否有什么好效率?

PHP文章相似度比较,通过similar_text()比较有点慢,可否有什么好效率?

WBOY
WBOY원래의
2016-06-23 14:17:491774검색

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 扩展
这个就不知道怎么弄。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.