使用Search API检测数百万个文本项目的剽窃行为

时间:2012-05-23 19:16:10

标签: google-app-engine

我正在开发一款需要抄袭检测的​​应用。我想知道新的Search API或应用引擎中的任何其他API(如预期搜索)是否可以以任何方式用于在数百万个实体上执行此任务?

如果没有,建议的python库是做什么的?

具体来说,我需要检测提交到课程作业的解决方案之间的相似性。它们可以是程序甚至文本,但通常不会超过几个段落。

我知道Winnowing算法(顺序散列),但这里的问题是搜索数百万个homeworks(不是少数)的提交。

1 个答案:

答案 0 :(得分:3)

您可以使用全文搜索API搜索文档语料库;这是通常的全文搜索注意事项:你可以搜索单个术语和确切的短语,但没有内置'模糊' - 附近的匹配将不会被返回(除非词干,处理'短语'和'措辞'和'短语'是同一个词。)

当然,抄袭检测比找到候选文件要复杂得多。您最好的选择可能是使用类似TF-IDF的内容来查找输入文本中最重要的单词,使用全文搜索API查找包含这些单词的一组候选文档,然后在中进行并排比较。对候选人的记忆。