Исследование в Mathematica: Бенедикт Камбербэтч успешно пародирует других актеров, но может ли он одурачить компьютер?

http://blog.wolfram.com/2014/11/26/benedict-cumberbatch-can-charm-humans-but-can-he-fool-a-computer/
  • Перевод
Перевод поста Риты Крук (Rita Crook) "Benedict Cumberbatch Can Charm Humans, but Can He Fool a Computer?".

Вышедший на этой неделе, весьма ожидаемый, в прокат фильм "Игра в имитацию" (The Imitation Game) рассказывает о жизни Алана Тьюринга (100-лет со дня рождения которого совпали с 22-м днем рождения системы Mathematica — подробнее см. пост Стивена Вольфрама Happy Birthday, Alan Turing). Центральной темой фильма являются машины Тьюринга. Интересно, что в 2007 году компания Wolfram Research объявила приз за доказательство универсальности 2,3 машины Тьюринга.

Конечно же, промоушн-видео Бенедикта Камбербэтча, в котором он имитирует голоса и поведение других известных актеров многим понравилось. Но мне захотелось выяснить, сможет ли функционал Mathematica из области Machine Learning распознать его голос, или же он сможет «одурачить» и компьютер тоже.

Лично я не могу сдержать смеха при просмотре этого видео, но мне хочется посмотреть на эти пародии непредвзято.

Итак, я задалась вопросом: Действительно ли он так хорошо подражает голосам других актеров или же все мы, и я в том числе, просто очарованы его персоной?

Может быть мой разум обманывает меня? Если взять всю выборку исходных голосов, то действительно ли пародии будут неотличимы от них?

Для того, чтобы получить ответ на этот вопрос, 10 лет назад нам пришлось бы ходить по улицам и проигрывать звуковые фрагменты из Джеймса Бонда, Сияния, Бэтмена и подражающего им Камбербэтча, опрашивая человек 300 и затем анализируя их мнение.

В современном мире можно воспользоваться системами вроде Mathematica, чтобы ответить на эти вопросы!

В язык Wolfram Language встроен функционал, который позволяет создать классификатор на основе обучающих выборок аудио фрагментов, что в итоге позволит нам выяснить, сможет ли Камбербэтч «обмануть» компьютер. Итак, я поставила перед собой задачу создать достаточно «приличную» базу данных фрагментов голосов, в дополнение к этому я выделила фрагменты, соответствующий каждой из пародий Камбербэтча и, наконец, позволила остальное сделать за меня Mathematica.

Построим путь к каждой из баз данных фрагментов голосов, которые будут использоваться Mathematica для анализа.

Classify sample voice snippets

Теперь импортируем все оригинальные голоса:

Import real voices

Классификатор был создан с помощью функции Classify, которой на вход подавалась обучающая выборка. Для увеличения производительности, единожды созданный классификатор (ClassifierFunction) затем можно подгружать в систему мгновенно из файла cfActorWDX.wdx (в закомментированной части кода находится, собственно, конструкция, создающая классификатор):

Classifier was trained simply by providing the associated real voices to Classify

В мою базу данных вошли: образцы оригинального голоса Бенедикта, голосов актеров, которым подражает Бенедикт и, наконец, фрагменты пародий Бенедикта. Источники для создания обучающей выборки были взяты отсюда: Алан Рикман, Кристофер Уокен, Джек Николсон, Джон Малкович, Майкл Кейн, Оуэн Уилсон, Шон Коннери, Том Хиддлстон, и Бенедикт Камбербэтч. Я использовала в общей сложности 560 фрагментов, но, конечно, чем больше будет использовано данных, тем более надежным будет результат. При этом, образцы должны быть настолько «чистыми», насколько это возможно (без смеха, музыки, разговоров других людей и и пр.)

Они также должны иметь в точности одинаковую длину (3.00 с). Для того, чтобы быть уверенными в том, что у всех длина одинакова, можно использовать такую конструкцию на языке Wolfram Language:

Making sure snippets are all same length

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

Excluding single-channel audio files

Я благодарю Мартина Хадли (Martin Hadley) и Джона Маклуна (Jon McLoon) за помощь в создании этого кода.

Барабанная дробь… время рассказать о результатах!

Наверное сейчас я разобью всем сердце, и я определенно не хотела бы делать этого… так что я «обвиню» во всем Mathematica, так как Machine Learning на самом деле позволяет определить чей голос звучит в том или ином фрагменте, а значит позволяет распознать подражание голоса и определить кто, собственно, говорил на самом деле.

Результаты ниже показывают, кому из актеров и с какой вероятностью Mathematica отдала «авторство» в каждом из фрагментов «подражания» Бенедикта голосам других актеров:

Mathematica provides 97-100% confidence on the impressions tested

В большинстве случаев, вероятность того, что говорил кто-то из актеров, помимо Бенедикта Камбербэтча или Алана Рикмана ничтожна.

Probabilities

Может быть, стоит отметить, что Рикман, Коннери и Уилсон все имеют довольно медленную манеру говорить с большим количеством пауз (что довольно заметно в использованных мною фрагментах), что в целом может несколько «запутать» алгоритм.

Sad Benedict Cumberbatch

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

Я в целом восхищена его талантом и с нетерпением хочу посмотреть на его игру в фильме, о котором говорила в самом начале моего небольшого поста.

Ресурсы для изучения Wolfram Language (Mathematica) на русском языке: http://habrahabr.ru/post/244451
Wolfram Research
77,00
Wolfram Language, Mathematica, Wolfram Alpha и др.
Поделиться публикацией

Комментарии 20

    +22
    Есть подозрение, что человек, говоря о «похожести», субъективно оценивает в первую очередь «манеру» говорить, несколько игнорируя всякие объективные особенности — спектральные, импульсные и тому подобное. Это позволяет нам узнать говорящего даже в очень искажённом варианте.

    Машина, в свою очередь, вряд ли может ощутить «манеру», и анализирует именно эти самые объективные особенности.

    А они зависят от строения голосового аппарата. Даже если ты имитируешь Шона Коннери, голосовые связки-то остаются твоими, а значит, спектр тех или иных фрагментов речи тоже. А значит, статистика в целом остаётся, чей бы голос ни имитировал.

    Между прочим, в описанном тестировании в статье есть ещё один изъян. В чистом виде эксперимент нужно проводить так, чтобы не вмешивались различия и сходства в аппаратуре звукозаписи и пост-обработке. Вполне вероятно, что Камбербэтча писали в основном одними и теми же микрофонами (как минимум, одной и той же модели), которые имеют свой характерный «отпечаток», а потом ещё и обрабатывали сходным образом. А скорее всего, весь его голос для фильма записали на один конкретный экземпляр микрофона, и потом один раз обработали одним конкретным набором фильтров. А других актёров могли писать в разное время на разном другом оборудовании. И Mathematica в данном случае вполне могла срегировать на это.
      +1
      Там еще исходники в mp3 пожаты, со всеми вытекающими.
        +3
        Не знаю, кому как, но мне во всех пародиях голос Камбербэтча и слышится — меняются интонации, манера. Манеру он хорошо улавливает, но не более того. Так что и mp-3 не причем
          0
          Ну, положим, если все исходники в mp3 пожаты (одинаково), то это на может ухудшить возможность их различения, но не пустить по ложному следу.
          0
          Согласен с вами, merlin-vrn. Если мы говорим о чистом эксперименте, то, безусловно, нужно сделать все так, единственное — такого рода эксперимент будет служить скорее для отработки и проверки классификатора, либо же его создания. Хотя опять же, при применении его к реальным данным могут опять возникнуть, по сути, такие же проблемы. В целом это та проблема, которую всегда нужно решать в задачах machine learning.
          +4
          Судя по карте премьер обсуждаемого фильма, в СНГ его могут и не показать:

          image

          Жаль. Возможно, прокатчики не хотят связываться с этим фильмом из-за того, что в фильме наверняка не обошли стороной тот факт, что Тьюринг был геем и покончил жизнь самоубийством после того, как его осудили за гомосексуализм, отстранили от работы и подвергли химической кастрации.
            +5
            Это ли не повод посмотреть в оригинале, уверен, что как миниму субтитры будут.
              +4
              Полностью согласен. Тем более, что почти всегда оригинальные голоса актеров, прямо скажем, доставляют больше удовольствия, не говоря уже о расстановке интонаций, смысловых полутонов и пр.
                0
                А уж голос Камбербэтча в оригинале доставляет двойное удовольствие. Если вы понимаете, о чем я.
                  –1
                  Не понимаем. В каких единицах вы меряете удовольствие, как понять, что оно двойное, а не x1.75? И причем здесь Камбербэтч в оригинале?
                    0
                    В Мэтью Макконахах. Камбербетчевский голос в оригинале настолько же приятен как 0.78 Макконахов.
                      –1
                      Какой вы чуткий. У меня не получается ощутить больше 0.42ммк
                +1
                На мой взгляд, поход в кино делает просмотр фильма менее обыденным и более торжественным. Впридачу — это отличная возможность поддержать производителя фильма своим рублём. Поэтому всегда стараюсь ходить на все интересные фильмы.

                Соглашусь, что чаще всего русский дубляж — не лучший вариант. Иногда даже удачную шутку из-за перевода не понять. Однако, встречаются и обратные примеры. Например, мультфильм Мадагаскар 2: в русском дубляже голоса и интонации мне кажутся более удачными, чем в оригинале, хотя я оба варианта я пересматривал по два раза :)
                  0
                  Тут соглашусь, но есть два «но»:
                  1. Сильно сомневаюсь, что средства потраченные на кино в России хоть какой-то частью дойдут до авторов.
                  2. В кино торжественно и приятно смотреть зрелищные фильмы (3D на моей памяти были актуальны только в Аватаре и «Как приручить дракона»), а такого рода фильмы гораздо приятнее смотреть дома в камерной обстановке под что-то согревающее.
                    0
                    Дойдут и еще как. Около половины сборов уходит производителю фильма, остальное получают прокатчик и кинотеатр.
                      +1
                      Если бы они до авторов не доходили, хрен бы они стали здесь что-либо показывать
                  0
                  Я думаю, что это просто один из тех фильмов, премьера которых в России проходит через год после США. Но может быть ещё есть какая-то политизированность в плане второй мировой.
                  0
                  А какие особенности(features) используются для классификации?
                    0
                    А пробовали ли сознательно исказить качество записи и проверить, узнаёт ли машина голос? Человек практически без проблем узнает знакомого собеседника через очень сильные помехи в связи именно по «манере» говорить. А узнает ли машина?
                      0
                      Такого рода тестирования не проводилось. В целом, статья Риты — это набросок, первый шаг, некоторого серьезного исследования. В этом вопросе есть множество вопросов и, безусловно, решение их потребует кода побольше. Скажем, если запись зашумлена, то желательно сначала ее фильтровать скажем вейвлетами или фурье-фильтрами и т. п. Разделять несколько сигналов в одно и пр.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое