剽窃分析器(与Web内容相比)

Mr *_*ooL 5 java mysql web-crawler plagiarism-detection

大家好,全世界都是,

背景

我是计算机科学的最后一年学生.我提出了我的最终双模块项目,它是一个使用Java和MySQL的抄袭分析器.

抄袭分析器将:

  1. 扫描上传文档的所有段落.分析从哪个网站复制的每个段落的百分比.
  2. 仅突出显示从每个段落中的哪个网站准确复制的单词.

我的主要目标是开发像Turnitin这样的东西,尽可能改进.

我有不到6个月的时间来开发该计划.我有以下几点:

  1. Web爬虫实现.可能会使用Lucene API或开发我自己的Crawler(哪一个在时间开发和可用性方面更好?).
  2. 哈希和索引.改进搜索和分析.

问题

这是我的问题:

  1. MySQL可以存储那么多信息吗?
  2. 我错过了任何重要的主题吗?
  3. 您对此项目有何看法?
  4. 任何进行相似性分析的建议或技巧?
  5. 一个段落可以被散列,还有文字?

在此先感谢您的任何帮助和建议.^^

Bob*_*man 4

您是否考虑过另一个不会因为缺乏可用资源而注定失败的项目?

\n\n

如果您真的想要“嘿,让我们抓取整个网络!” 路线,您将需要分解 HBase 和 Hadoop 以及大量机器之类的东西。MySQL 将严重不足。TurnItIn 声称已经抓取并索引了 120 亿个页面。Google 的索引更像是[已编辑]。MySQL,或者就此而言,任何 RDBMS 都无法扩展到该级别。

\n\n

能够实现这一目标的唯一现实方法是,如果您做一些非常聪明的事情,并弄清楚如何构建对 Google 的查询,从而揭示 Google 索引中已存在的文档的抄袭行为。我建议使用消息队列并同步访问搜索 API。消息队列还允许您将查询降低到合理的速率。避免停用词,但您仍在寻找近乎精确的匹配项,因此查询应该类似于:"* quick brown fox jumped over * lazy dog" Don't 费心运行最终结果如下的查询:"* * went * * *" 并忽略返回 94,000,000 次点击的结果。这些不会是抄袭,它们将是著名的引言或过于笼统的查询。您正在寻找与您的原始句子或某些类似指标完全匹配的少于 10 个点击或几千个点击。即便如此,这应该只是一个启发式 \xe2\x80\x94 不要标记文档,除非有很多危险信号。相反,如果一切都以零命中率返回,那么它们就异常原创。图书搜索通常需要更精确的查询。足够可疑的内容应该触发对原始页面的 HTTP 请求,并且最终决定应该始终由人来决定。如果文档引用了其来源,则这不是抄袭,您需要检测到这一点。误报是不可避免的,并且很可能很常见(即使不是恒定的)。

\n\n\n\n

请注意,TOS 禁止永久存储 Google 索引的任何部分。

\n\n

无论如何,你选择做一些极其困难的事情,无论你如何构建它,并且可能非常昂贵且耗时,除非你涉及谷歌。

\n