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

Про этот тест даже снят короткометражный игровой фильм «Кто за стеной». Можно сказать, фантастический, потому что действие по сюжету происходит в конце 2000 года, а снят он, на минуточку, в 1977 году. Если не видели — посмотрите обязательно, и обязательно до конца — как и положено в короткометражном фильме, развязка будет неожиданна.


Кто за стеной. Центрнаучфильм. 1977 год


Так вот, в фильме был интересный способ выбора участников теста — они выбирались среди абонентов городской телефонной сети случайным образом и отвечали на вопросы из дома в онлайне. С видео, фильм же фантастический. Я и подумал, а неплохо бы запилить подобный тест, пользуясь современными технологиями, а именно технологией чатов, в том же Telegram, например.

Идея в следующем:

  1. Каждый подключившийся к боту участник может взять на себя роль игрока, отвечающего на вопросы, или судьи, эти вопросы задающего.
  2. Если участник решил быть судьей, то бот случайным образом подбирает ему игрока – либо среди людей-игроков, либо подключает робота. То есть здесь у меня отличие от стандартного теста Тьюринга – в игре отвечающий всегда один, и судья задает вопросы только ему. Можно было сделать и два, но мне показалось, что будет сложно их синхронизировать.
  3. Если участник решил быть игроком, то бот аналогично ищет ему в пару участника-судью.
  4. Так же, как в фильме, игра поделена на туры по 5 вопросов. По окончанию каждого тура судья принимает решение, с кем он общается, с человеком или с машиной. Если он не может определиться, то может прекратить игру или начать новую.
  5. Видео участников нет, конечно. Техника, может, и дошла до этого, но я нет.
  6. Так как робот у меня простенький, глупенький, то он играет роль маленького мальчика Миши пяти лет. Чтобы судье не облегчать задачу, человеку-игроку рекомендуется тоже отвечать от имени Миши, проявите воображение.

Ссылка на бота @StandardTuringTestBot, в мобильном приложении нужно набрать это имя в строке поиска.

О том, как это устроено, для чистоты эксперимента я расскажу позже, иначе знание внутренностей бота сразу дадут понимание, какими вопросами можно определить, кто за стеной.

Комментарии (15)


  1. Uhehesh
    21.10.2018 15:50
    +1

    Поучаствовал. Было очень легко определить компьютер, к сожалению.


  1. sshmakov Автор
    21.10.2018 16:28

    Легко, да. Но отчасти и потому, что игроки не стараются играть от маленького мальчика.


  1. astraleuro
    21.10.2018 19:05
    +1

    Что то вашего робота закоротило, однако)

    скрин
    image


    1. sshmakov Автор
      21.10.2018 19:46

      он пытается учитывать контекст и слишком хорошо это делает


  1. Exchan-ge
    21.10.2018 19:25
    +1

    короткометражный игровой фильм «Кто за стеной»


    Этот научно-популярный фильм в свое время (примерно в 1978) был показан по ТВ в прайм-тайм и, как следствие — его посмотрело очень много людей.

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


  1. cgnrat
    21.10.2018 20:13
    +1

    В фильме предполагают, что машина не сможет соревноваться с человеком в узких областях (обыграть гроссмейстера в случае с фильмом), но сможет соперничать в обще бытовых.
    Любопытно, что в реальности происходит (на данный момент во всяком случае) как раз наоборот — машинное обучение активно развивается в узких нишах (гроссмейстеры уже обыграны, а сети учатся довольно однотипным задачам), но проваливается при попытках притвориться человеком в широком смысле.
    Понятно, что «еще не вечер», но тенденция предсказана была не очень верно.


    1. Exchan-ge
      21.10.2018 20:28

      Понятно, что «еще не вечер», но тенденция предсказана была не очень верно.


      Там вообще много ошибок.


  1. Sinner007
    22.10.2018 20:51

    Что-то туго с поиском игроков… Как будто зависает…


    1. sshmakov Автор
      22.10.2018 20:54

      Бот даёт шанс подключиться человеку-игроку, а не только роботу


  1. Consentor
    22.10.2018 20:51
    +1

    Почему-то сейчас бот не реагирует на команды. Отключен?


    1. sshmakov Автор
      22.10.2018 20:55

      К сожалению, поздно увидел ваш комментарий. Зависнуть мог, да, но специально не отключал.


      1. Consentor
        23.10.2018 10:43
        +1

        Теперь хорошо работает :)
        Если мысленно представлять, как эти слова произносит пятилетний мальчуган, то многие ответы очень похожи на ответы малого.
        image
        Но пока и правда просто вывести на чистую воду. Мне кажется, например, надо запретить в одном туре несколько раз давать одинаковый ответ, слово в слово.


  1. ookami_kb
    24.10.2018 00:57

    Забавно. Можно развить идею, предлагать людям не только брать на себя роль участника, но и выставлять своего бота – и проводить соревнования между ботами-людьми-судьями… В общем, чтобы "смешались в кучу боты, люди..."


    1. sshmakov Автор
      24.10.2018 08:39

      Да, у меня тоже такая идея была. Нужен регистратор ботов, и, так как бот с ботом в телеграмме разговаривать не может, endpoint для long polling — как в телеграмме, но попроще.


      Или брать код бота к себе в общий пул. Это гораздо проще технически, но тогда возникают вопросы безопасности.


  1. bodya
    24.10.2018 03:06

    Ответ Миши: Липа. Буквально.