gpt4 book ai didi

php - 使用 MySQL 和 PHP 查找重复内容

转载 作者:行者123 更新时间:2023-11-30 21:23:39 26 4
gpt4 key购买 nike

我在开发我的网络应用程序时遇到问题,这里是描述:

这个 web 应用程序(仍处于 alpha 阶段)基于用户生成的内容(通常是短文章,尽管它们的长度可能会变得相当大,大约占屏幕的四分之一),每个用户至少提交 10 篇这样的文章,因此数量应该会增加相当快。从本质上讲,大约 10% 的文章会被重复,所以我需要一个算法来获取它们。

我想出了以下步骤:

  1. 在提交时获取一定长度的文本并将其存储在单独的表中(article_id,length),问题是文章是使用 PHP special_entities() 函数编码的, 并且用户发布的内容稍作修改(有些人会漏掉逗号、重音甚至跳过一些单词)
  2. 然后从数据库中检索长度范围 = new_post_length +/- 5% 的所有条目(我应该使用另一个阈值,记住文章提交的人为因素吗?)
  3. 获取前 3 个关键字并将它们与第 2 步中获取的文章进行比较
  4. 使用 PHP 的 levenstein() 函数使用最可能匹配的最终数组比较新条目

此过程必须在文章提交时执行,而不是使用 cron。但是我怀疑它会在服务器上产生沉重的负载。

请问您有什么想法吗?

谢谢!迈克

最佳答案

文本相似性/抄袭/重复是个大话题。算法和解决方案太多了。

Lenvenstein 不适用于您的情况。您只能在小文本上使用它(由于它的“复杂性”,它会杀死您的 CPU)。

一些项目使用“关键字的自适应局部对齐”(您可以在 google 上找到相关信息。)

另外,你可以查看这个(查看答案中的3个链接,非常有指导意义):

Cosine similarity vs Hamming distance

希望这会有所帮助。

关于php - 使用 MySQL 和 PHP 查找重复内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1416134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com