20.12.2006, 11:16 | #1 | |
Senior Member
|
Автоматический зачёт ответов
Попробуем разобраться с зачётов ответов на вопросы без участия человека. Возможно, это позволит выработать какие-то общие правила для зачёта ответов вообще.
Суть проблемы Итак, у нас есть:
В "Умном казино", например, база знаний представлена в виде одной строчки с правильным ответом. Правило зачёта одно - полное совпадение с авторским ответом. Необходимо определить, можно ли засчитывать ответ, данный игроком. Общие предпосылки решения Здесь и далее под авторским ответом подразумевается не один ответ, а некоторое множество ответов, которые изначально определены как правильные. Будем различать два аспекта зачёта:
Здесь тоже можно подходить по-разному. Можно работать с каждым словом по отдельности, а можно со всей фразой целиком. Второе предпочтительнее, так как позволяет учитывать ситуации с разным количеством слов в авторском ответе и в ответе игрока. В любом случае ответ игрока должен быть преобразован в какую-то стандартную форму. Если ответ игрока отсутствует в словаре, то необходимо найти слово из словаря, максимально похожее на ответ. Если был дан ответ "слан", то наиболее похожим словом из словаря будет "слон". Отдельной проблемой являются также формы слов. При авторском ответе "мороз" можно дать ответ "мороза", и он должен быть засчитан. При этом речь идёт о правилах склонения и других способах изменения формы сова, которые также должны быть учтены. Если орфографический подход не позволил принять ответ, на смену ему приходит семантический. Принять в таком случае ответ - куда более нетривиальная задача. В настоящее время у меня есть идея сделать что-то вроде словаря синонимов, в котором будут указаны тождественные конструкции. Скажем, "РФ" = "Российская Федерация", "А.С. Пушкин" = "Александр Сергеевич Пушкин". Но это довольно-таки поверхностный подход. По идее, между любыми двумя понятиями можно установить степень их связи (ассоциации между ними) и вид иерархии. Понятие - это смысловая единица, которая воспринимается как единое целое. Может быть словом, словосочетанием, выражением, даже предложением. Скажем, понятиями будем считать следующие элементы списка: "слон", "колесо обозрения", "ни рыба ни мясо", "А судьи кто?". Авторский ответ представляет собой совокупность понятий, которые удовлетворяют вопросу. Не должно быть понятий, которые подходят в качестве ответа, не входят в авторский ответ или не являются семантически близкими к нему. Игрок же даёт ответ не в виде понятия, а в виде строки, которая может содержать и несколько понятий. Это уже проблемы игрока; думаю, что его ответ стоит всё же считать одним понятием. Наш словарь состоит из понятий и связей между ними. Понятное дело, что сразу такой словарь не создать, но он может расширяться с появлением новых вопросов и ответов. На данный момент мне видятся три вида связей:
Пока же хотелось послушать ваше мнение на этот счёт. добавлено через 7 минут Цитата:
Вот, например, вопрос: "Сколько колец...?" Набираю ответ: "16 17 18 19 20 21". И засчитано. Каково? "Этот русский писатель..." Пишу: "Чехов Толстой Достоевский". Тем самым, вероятность ответа увеличивается в несколько раз. А как быть с темой "От 2 до 5"? С описательными ответами - да, плохо, но в случаях, когда пакет составляется на основе уже готового пакета, вопросы приходится оставлять без изменений.
__________________
"О друг мой, Аркадий Николаич! Об одном прошу тебя: не говори красиво." Последний раз редактировалось Ur-Quan, 20.12.2006 в 11:16 Причина: Добавлено собщение |
|