Выявление сговора среди учащихся

Во время пандемии Covid-19 многие образовательные учреждения были вынуждены перейти на домашнее обучение. Это включает в себя альтернативные методы экзаменов для школ и университетов. Традиционный экзамен сдается лично под постоянным наблюдением педагогического персонала. Однако онлайн-обучение и экзамены могут не обеспечить должного наблюдения за учащимися. Различные методы онлайн-прокторинга уже используются, чтобы затруднить плагиат или мошенничество на экзаменах. Типичными примерами являются индивидуальное видеонаблюдение с помощью веб-камеры или технический мониторинг пользователей с помощью мыши и клавиатуры.
Хотя эти методы уже обеспечивают надлежащее решение, чтобы затруднить плагиат на онлайн-экзаменах, акт наблюдения нарушает личную неприкосновенность частной жизни [1]. . Кроме того, эти инструменты наблюдения не полностью исключают многостороннее общение учащихся друг с другом.

Недавний подход к предотвращению мошенничества на экзаменах заключается в аналитическом выявлении сходства между экзаменами. В этой статье предлагается аналитический конвейер на основе машинного обучения для решения проблемы сговора с точки зрения данных. Он может заменить методы наблюдения, нарушающие конфиденциальность, во время онлайн-экзаменов и повысить уровень честности среди студентов.

Похожие работы

Совершение плагиата может иметь различные формы на экзаменах. Поэтому домашние экзамены часто разрабатываются таким образом, чтобы можно было использовать все лекционные материалы и Интернет. Акт копирования знаний из внешних источников либо уже ожидается, либо не имеет отношения к ответу на вопросы. Однако учащиеся по-прежнему могут списывать во время домашних экзаменов: Сговор — это «активный, преднамеренный и очевидный акт списывания, совершаемый в сотрудничестве с другими» [2].

Для предотвращения сговора студентов во время экзаменов используются разные стратегии. Одним из способов является создание индивидуальных заданий для учащихся. Например, на курсах по анализу данных каждому студенту может быть предоставлена ​​индивидуальная выборка из исходного набора данных [3]. Однако индивидуализация экзаменов возможна не во всех областях. Учитывая огромное количество участников экзамена, индивидуализация вопросов делает сопоставимость практически невозможной. Поэтому в литературе обсуждаются и другие стратегии.

Оценка сходства между заданиями или экзаменами широко исследуется: одна из центральных проблем в обнаружении сговора заключается в том, что «ни один алгоритм не может обнаружить плагиат среди студентов, которые дали одинаковый правильный ответ, когда возможен только один правильный ответ» [4]. По этой причине анализируется прямо противоположное. Числовое представление экзамена требуется, чтобы сделать больший акцент на неправильных или редких ответах. Конкретный вектор странности «выявляет подозрительное поведение, обнаруживая пары экзаменов с одинаковыми неправильными ответами, но также стоит идентифицировать пары экзаменов с идентичными правильными ответами» [4].

Оценка вектора экзамена зависит от базовой структуры вопросов. Ответы с несколькими вариантами ответов, тексты письменных пояснений, числовые ответы или программный код оцениваются по-разному. Очень часто экзамены включают множество различных типов вопросов. Это затрудняет автоматическое обнаружение плагиата с использованием одной единственной модели обнаружения. Например, текстовые ответы можно сравнивать с использованием моделей НЛП (например, набор слов, tf-idf, n-граммы, LSA) [4] [5].

Методы интеллектуального анализа текста представлены несколькими авторами.
Однако «ни один простой процесс сравнения документов по символам не позволит обнаружить изощренный плагиат» [6]. Необходимо принимать во внимание и другие функции, такие как интеллектуальный анализ событий для анализа и сравнения времени отправки [7].

Мощным методом обнаружения плагиата являются инструменты на основе рубрик [1]. Этот метод применим к любому экзамену или заданию. Экзаменатор определяет элементы, относящиеся к рубрике, для оценки решения учащегося.
Индивидуальный ответ описывается этими несколькими элементами, которые анализируются на предмет сходства [1]. Еще одним преимуществом этой стратегии является объективность и прозрачность выставления оценок.

Методология и результаты

В этой статье анализируется домашний экзамен для оценки навыков программирования учащихся. Набор данных содержит 88 письменных экзаменов, и каждый экзамен состоит из одних и тех же 8 заданий с несколькими подзадачами. Во время выставления оценок ответы на экзамен оцениваются с использованием элементов, специфичных для рубрики.

Полный процесс выявления сговора показан на рисунке 1. Первоначально личности учащихся анонимизируются с помощью рандомизированного шифровального шифрования. Этот шаг необходим только для представления результатов.

import random
import string
import numpy as np
import pandas as pd
mapping = dict()
for c in string.ascii_uppercase:
    mapping[c] = random.sample(string.ascii_uppercase,1)
for c in string.ascii_lowercase:
    mapping[c] = random.sample(string.ascii_lowercase,1)
mapping[" "] = " "
df_exam.columns = ["".join([mapping[c][0] for c in x if c in mapping.keys()]) for x in df_exam.columns]

Фрейм данных chiffre имеет 85 столбцов с именами учащихся и 33 описательных элемента (строки).

После загрузки и анонимизации данных создаются векторы исследования. Изначально каждый столбец содержит 33 числовых элемента. Без какого-либо преобразования их уже можно было использовать в качестве тестовых векторов с 33 измерениями. Однако существует множество предметов, которые имеют одинаковую ценность для большинства учащихся. В частности, если (почти) все учащиеся смогли решить одну задачу и представить одно и то же решение, то прирост информации по этому пункту является избыточным. Таким образом, элементы, которые добавляют немного информации о различиях (вариациях) в наборе данных, могут быть опущены.

Формулировка набора элементов с большим разнообразием ответов выполняется с помощью простого алгоритма машинного обучения для уменьшения размерности. Анализ главных компонентов определяет определенное количество измерений, которые могут представлять дисперсию данных без избыточности.

# one row for each student
X = np.array(df_exam).transpose()
# pca
from sklearn.decomposition import PCA
pca = PCA(n_components=25)
pca.fit(X)
# get explained variance
round(sum(list(pca.explained_variance_ratio_))*100, 2)
# apply PCA
X_new = pca.fit_transform(X)

Установив количество компонентов (размеров) равным 25, объясненная дисперсия незначительно уменьшится до 98,76% исходной дисперсии. То есть сокращение на 8 пунктов оказывает лишь незначительное влияние на моделирование индивидуальных различий между учащимися. Более того, такое уменьшение размерности помогает правильно интерпретировать «расстояния» между экзаменами. В результате получается более компактный вектор для каждого экзамена.

Типичной мерой расстояния для векторов является косинусное расстояние (соответственно косинусное сходство):

Для всех 85 исследований парные косинусные расстояния рассчитываются и сохраняются в матрице фрейма данных (рис. 3). Значения находятся в диапазоне от -1 для непохожих исследований до +1 для идентичных исследований.

# define cosine distance as similarity measure
def cosine(a, b):
     return np.dot(a, b)/(np.linalg.norm(a)*np.linalg.norm(b))
# create similarity matrix
sims = np.empty([len(X_new), len(X_new)])
for stud in range(len(X_new)):
    for peer in range(len(X_new)):
        sims[stud][peer] = cosine(X_new[stud], X_new[peer])
df_sims = pd.DataFrame(sims)
df_sims.columns = list(df_exam.columns)
df_sims.index = list(df_exam.columns)

Последним шагом для выявления сговора является сортировка сходства парных экзаменов по убыванию. Помните, что этот подход зависит от ошибок. В частности, «странность» двух студентов, совершающих одни и те же ошибки. Экзамены без ошибок будут идентичны по определению. Таким образом, лучшие экзамены игнорируются в этом порядке.

pairwise = df_sims.stack().sort_values(ascending=False).reset_index()
pairwise = pairwise[pairwise["level_0"]!=pairwise["level_1"]]

# add points to DataFrame
points = pd.DataFrame(df_exam.sum().sort_values(ascending=False))
points["name"] = points.index
# join information
result = pd.merge(pairwise, points, left_on="level_0", right_on="name", how= "inner")
result = pd.merge(result, points, left_on="level_1", right_on="name", how= "inner")
result = result.rename(columns={"level_0":"student_1", "level_1":"student_2", "0_x":"similarity", "0_y":"score_1", 0:"score_2"})
result = result[["student_1", "student_2", "similarity","score_1", "score_2"]].reset_index(drop=True)
result = result.sort_values(by="similarity", ascending=False)

# show only those with mistakes
result[(result["score_1"]<31) & (result["score_2"]<31) & (result["student_1"]<result["student_2"])][:40]

Наиболее похожие экзамены (только с ошибками) имеют оценку сходства 1 (полностью идентичные) или близкие к 1 (очень похожие). Рисунок 4 демонстрирует, что этот алгоритм способен идентифицировать пару пар студентов с очень похожими векторами экзаменов. Пара студентов в первой строке имеет один и тот же вектор экзамена по 25 измерениям, что дает косинусное сходство +1. Учитывая, что оба студента добились лишь средних результатов, модель явно указывает на сговор.

Показатель сходства в следующих строках остается значительно высоким, что также может указывать на сговор. Используя эту модель, исследователи могут легко идентифицировать подозрительные структуры. Затем рекомендуется ручное сравнение этих пар экзаменов.

Парные сходства можно разделить на три группы:

  1. Лучшие 20 % экзаменов по сравнению с остальными 80 % (top_20 vs. other)
  2. Лучшие 20 % экзаменов в сравнении (top_20 vs. top_20)
  3. Нижние 80 % экзаменов в сравнении (другие против других)

Начиная с (1), распределение оценок сходства кажется почти равномерным. Очень хороший экзамен по сравнению с очень плохим экзаменом дает очень отрицательную оценку сходства. Точно так же, по сравнению с хорошим экзаменом, показатель сходства имеет тенденцию быть высоким.

Сосредоточив внимание только на 20% лучших экзаменов (2), все оценки сходства довольно высоки. Это подтверждает гипотезу о том, что два очень хороших экзамена имеют показатель сходства, близкий к единице. Следовательно, выявление сговора между этими студентами по определению практически невозможно.

При исключении лучших студентов и анализе только «худших» 80% экзаменов (3) график, похоже, следует нормальному распределению с ожидаемой оценкой сходства в среднем, равной 0.

Для выявления плагиата две важные группы (1) и (3). Случай двух плохих/средних экзаменов с оценкой сходства почти +1 считается крайне подозрительным. На рис. 5 показана пара таких случаев. Сравнение плохих и хороших экзаменов также стоит проверить, так как многие попарные сходства близки к 1.

Сокращение количества измерений еще больше до двух измерений позволяет отображать экзамены в системе координат. Эта визуализация помогает лучше понять распределение экзаменов в зависимости от оценок. Студенты были разделены на три группы с помощью кластеризации k-средних. Эти три группы представляют «плохие/худшие оценки», «хорошие/лучшие оценки» и «средние оценки». На рис. 6 показано распределение экзаменов с использованием двух скрытых переменных. Здесь скрытое измерение 1 можно интерпретировать как итоговую оценку студента. Скрытое измерение 2 необходимо для визуализации сходства/расстояний между экзаменами.

Еще раз, этот график показывает высокое сходство между очень хорошими экзаменами. Надлежащее разграничение для идентификации сговора кажется невозможным. Однако точки данных учащихся со средними или плохими оценками гораздо более разбросаны. Ожидаемое сходство между этими экзаменами должно быть около 0. Таким образом, два плохих/средних экзамена с более высоким показателем сходства заслуживают ручного исследования экзаменатором.

С этической точки зрения подход к обнаружению плагиата на основе данных открывает новые возможности: он может предотвратить сговор без постоянного и нарушающего конфиденциальность наблюдения во время онлайн-экзаменов. Возможность быть пойманным алгоритмом на мошенничестве после оценки — это умеренная, но эффективная угроза. В этом сценарии сами студенты не наблюдают и не анализируют во время экзамена. Только данные ответы обрабатываются в цифровом виде. Однако, справедливости ради, этот подход полностью зависит от осознания учащимися того, что все результаты будут проанализированы на наличие сговора. Таким образом, обеспечение прозрачности процесса обнаружения плагиата предотвратит списывание учащихся без серьезного нарушения конфиденциальности.

Кристофер Герлинг

Следуйте за мной на:
www.linkedin.com/in/christopher-gerling/

www.mission-digital.com
github.com/christopher3996

Ссылки

  1. AM Эдвард Ф. Герингер и Г. Ван, Инструменты для обнаружения плагиата в онлайн-экзаменах, доступ к контенту виртуальной ежегодной конференции ASEE 2021 года. Виртуальная конференция: ASEE Conferences, 2021, https://peer.asee.org/37915.
  2. Д. Добровска и А. Покорный, «Предотвращение плагиата и сговора», 2007 г.
  3. Дж. Кокли и С. К. Тиран, «Можно ли предотвратить электронный обман?: Подход к обнаружению плагиата на курсах компьютерных навыков», 2001 г.
  4. Герингер Э. Ф., Лю С., Кария А. Д. и Ван Г. «Сравнение и объединение тестов для обнаружения плагиата в онлайн-экзаменах», в EDM, 2020.
  5. Дж. Лемантара, М. Девияни Сунарто, Б. Хариади, Т. Сагирани и Т. Амелия, «Прототип онлайн-экзаменов приложений Molearn с использованием подобия текста для обнаружения плагиата», 5-я Международная конференция по информационным технологиям, компьютерам и Электротехника (ICITACEE), 2018 г., стр. 131–136.
  6. Дж. Лесковец, А. Раджараман и Дж. Д. Ульман, Анализ массивных наборов данных, 2-е изд. Издательство Кембриджского университета, 2014. [Онлайн]. Доступно: http://mmds.org.
  7. К. Клеофас, К. Хонниге, Ф. Майзель и П. Мейер, Кто обманывает? ¨ выявление моделей сговора из текста и событий на онлайн-экзаменах, INFORMS Transactions on Education, 2021. [Онлайн]. Доступно: https://doi.org/10.1287/ited.2021.0260.

Код и данные были созданы автором и опубликованы на Github.