fix(plagiarism): не матчить против чужих/своих же загруженных работ
Критично: L1/L2/L3 сравнивали фрагменты со ВСЕЙ базой documents, включая source=user_submission — работы, которые auto_approve_submission сам же затаскивал в корпус после проверки. Итог: студент, перепроверивший тот же файл дважды, получал 100% "точное совпадение" по всем фрагментам — против собственной же более ранней загрузки. Фикс: все три уровня исключают source=user_submission из кандидатов на совпадение. AUTO_APPROVE_SUBMISSIONS выключен по умолчанию — раньше рос корпус для будущего сравнения, но без защиты от self/cross-match это опаснее, чем полезно.
This commit is contained in:
@@ -61,10 +61,12 @@ class Settings(BaseSettings):
|
||||
|
||||
# Автоматически добавлять проверенные работы студентов в базу для сравнения
|
||||
# (как в коммерческих системах — Антиплагиат.ру/Turnitin ловят списывание у
|
||||
# предыдущих потоков именно так). Без этого каждая работа лежит в StagedWork
|
||||
# и ждёт ручного одобрения админом — сейчас это дефолт для роста корпуса;
|
||||
# выключить, если нужна модерация перед публикацией.
|
||||
AUTO_APPROVE_SUBMISSIONS: bool = True
|
||||
# предыдущих потоков именно так). Выключено по умолчанию: без ручной
|
||||
# модерации студент, перепроверивший тот же файл дважды, получал 100%
|
||||
# "плагиата" — против собственной же более ранней загрузки. L1/L2/L3 теперь
|
||||
# и так исключают source=user_submission из сравнения, так что включать это
|
||||
# обратно есть смысл только вместе с реальной защитой от self/cross-match.
|
||||
AUTO_APPROVE_SUBMISSIONS: bool = False
|
||||
|
||||
# App
|
||||
ENVIRONMENT: str = "development"
|
||||
|
||||
Reference in New Issue
Block a user