我正在开发一款需要抄袭检测的应用。我想知道新的Search API或应用引擎中的任何其他API(如预期搜索)是否可以以任何方式用于在数百万个实体上执行此任务?
如果没有,建议的python库是做什么的?
具体来说,我需要检测提交到课程作业的解决方案之间的相似性。它们可以是程序甚至文本,但通常不会超过几个段落。
我知道Winnowing算法(顺序散列),但这里的问题是搜索数百万个homeworks(不是少数)的提交。
答案 0 :(得分:3)
您可以使用全文搜索API搜索文档语料库;这是通常的全文搜索注意事项:你可以搜索单个术语和确切的短语,但没有内置'模糊' - 附近的匹配将不会被返回(除非词干,处理'短语'和'措辞'和'短语'是同一个词。)
当然,抄袭检测比找到候选文件要复杂得多。您最好的选择可能是使用类似TF-IDF的内容来查找输入文本中最重要的单词,使用全文搜索API查找包含这些单词的一组候选文档,然后在中进行并排比较。对候选人的记忆。