PHP数据查重有什么好的算法或者解决方案吗?

1. 问题描述?

项目中,需要对上传的试卷题目与题库中的试题数据进行查重检测,题库中的数据可能有上百万条,有没有什么好的算法或者解决方案来实现查重?

查重规则:对比的两道题中,中文连续7个字重复即为重复,需对重复的内容进行标记。

2. 您期望得到的结果?

能够实现问题描述的功能,由于是内网,需要自己实现查重功能,无法使用开放平台接口的方案。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 29
Mutoulee

当时做过一个作业查重,即老师布置的作业,不同学生可能拿某个作业稍微改改就提交了,甚至不改就提交了。

主要用的到的算法是SimHash 。

1年前 评论
Yolver (楼主) 1年前

丢到队列慢慢查了吧。数据没有特征库吗

1年前 评论
Yolver (楼主) 1年前
deatil (作者) 1年前
Yolver (楼主) 1年前

百万题库量不算大啊,不行就蛮干吧 从第一题开始,每7个字建立一个编码,0000000001=>'ABCDEFG' ,后面每道题的7个字先查询在插入,查询存在的话,标记,按平均每道题40~50字计算,这也就每道题40来个编码,总计4000来万数据。。。

每道题平均0.05s处理时间,这算很慢的吧,也就10多个小时跑完了,晚上跑起第二天就好了

1年前 评论
Yolver (楼主) 1年前
____Laravel (作者) 1年前
Yolver (楼主) 1年前
____Laravel (作者) 1年前
Yolver (楼主) 1年前
uuus007 1年前

是不是可以利用判断量给字符串的相似度去做:PHP两个字符串相似度

1年前 评论
Yolver (楼主) 1年前
第二天堂 (作者) 1年前
Yolver (楼主) 1年前
第二天堂 (作者) 1年前
Yolver (楼主) 1年前

买个论文查重系统吧

1年前 评论

es

1年前 评论
Yolver (楼主) 1年前
巅峰互联

不过这个,的确和论文查重,一个道理。 有些程序 真正牛逼的不是应用。而是应用背后的技术。

1年前 评论
Yolver (楼主) 1年前
白小二

能用redis吗?redis keys *1234567*

1年前 评论
Yolver (楼主) 1年前
Oraoto

100 万条答案,每条 800 字,每连续 7 个字哈希一下记录到位图,大约需要 1000000 * 800 位,也就 100 MB 内存。

不过哈希会冲突,你可以加大内存,或者记录以下原始的 7 个字做一下冲突处理。

1年前 评论
Yolver (楼主) 1年前

按照你们查重规则对题库进行分词,用杰卡德相似度系数计算下

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!