Real-time анализ речи
Анонимус ... гхм ... доставил такой вот вопрос: "Увидел на просторах интернета такой рассказ,
интересует на сколько это правда и может соответствоввать реальности?
Специальному оборудованию достаточно всего пары фраз сказанные
вами, чтобы создать своего рода цифровую подпись, каторая вопщем
и выглядит как набор цифр (типа: 2764536172645367), и аккуратно записана
в базу в виде: тел.№ 82121234567=2764536172645367,после аппаратуре
достаточно пары минут чтоб обнаружить ваш след и выдать полный
список номеров с которых вы звонили.
Кого интерисуют подробности, скажу, что система создает запись/анализ спектра,
только в момент когда вы звоните, если звонят вам аппаратура отдыхает
Запись происходит постоянно, и только по ключевам словам
(типа: алло, говорите, здравствуйте и тд ,всего неболее 50 ключевых слов).
Анализ спектра (условно говоря), производится по мере необходимости, но на
практике постоянно, тк и должников надо выявлять и разных жуликов тоже полно.
Технология этого очень проста, вы произносите слово - срабатывает команда
типа "копировать" это слово копируется и обрабатывается - далее создается
аудио подпись - её автоматически обрабатывает система, и вся эта муть
заноситься в лог, а дальше с ними работают спецы из службы контроля.
Данная штука несертифицирована у нас пока, и соответственно неимеет
силу докозательства, в суде к примеру, поэтому используется исключительно
для внутреннего употребления службами безопастности опсосов."
Начать хочется вот с чего - есть несколько внешне похожих задач, которые существенно различаются в способах решения, условиях применимости, надежности получаемых результатов и так далее:
Я перечислил задачи в, как мне кажется, порядке увеличения сложности. Почему же эта самая сложность варьируется от задачи к задаче? Что облегчает решение более простых задач?
Для проверки голосовой подписи не надо разбирать сказанное на слова или иные части. Достаточно посчитать какие-то интегральные характеристики услышанного, сопоставить с образцом и выдать бинарный ответ ("Да"/"Нет"). Более того, исходя из задачи, можно (и даже нужно) достаточно безболезненно трактовать любую значительную неопределенность как ответ "Нет".
Для того, чтобы сличить две записи и установить, разные ли на них люди или нет, в принципе тоже достаточно каких-то интегральных характеристик, но они должны описывать не запись в целом, а какие-то ее характеристики: тембр голоса, ритм речи, особенности произнесения звонких/ударных звуков и т.п. Сравнение по-прежнему делается с одним образцом, что существенно облегчает окончательный анализ - функция сравнения с имеющимся образцом может быть относительно несложной.
Если же образцов много, и надо выбрать из них самый похожий, то нам понадобится какая-то метрика над пространством всех возможных голосов - способ превратить набор характеристик двух записей в какое-то число (или несколько чисел), описывающих "степень подобия". Разработка метрики сама по себе может быть достаточно нетривиальной задачей.
Распознавание голосовых команд (известного заранее или произвольного человека) в чем-то похоже на выбор самой похожей записи голоса из "банка голосов". Я рискну предположить, что в этих двух задачах используются разные характеристики услышанного и разные меры подобия, а в остальном они очень похожи.
Распознавание голоса конкретного человека требует разделения услышанного на слова, слоги, звуки. Сложность задачи резко повышается. Чтобы улучшить конечный результат, все системы распознавания голоса "тренируются" с участием конкретного человека - его просят произносить определенные звуки, слоги, слова и используют их характеристики в разделении голосового потока на части. Затем разобранный таким образом поток звуков необходимо преобразовать в слова, а слова - в текст, при этом как можно больше неоднозначностей распознавания должно устраняться автоматически на основании синтаксического анализа получаемых предложений. Обе подзадачи - и разделение записи на компоненты, и их распознавание и составление связанного текста - очень ресурсоемки.
Распознавание голоса произвольного человека отличается от распознавания голоса конкретного человека тем, что нет никакого способа облегчить разбор голосового потока за счет знания особенностей произнесения говорящим отдельных звуков, слогов и т.п.
Теперь вернемся к сути вопроса.
Вряд ли получится идентифицировать людей на основании каких-то характеристик "их голоса вообще" - слишком велико количество абонентов, слишком много в них людей с похожими голосами. Следовательно, понадобится какой-то характерный текст ("Я Линус Торвальдс, и я произношу слово 'Linux' как 'Линукс'"), который будет использоваться в качестве образца для сравнения.
Таким образом, чтобы сделать "сигнатуру голоса", которая относительно легко вычисляется и позволяет выбирать абонента из большой абонентской базы, необходимо три условия:
В вопросе высказанно предположение, что "система анализа спектра" использует определенные слова для того, чтобы начать анализ, и делается это якобы для экономии ресурсов. На деле же окажется обратное - возможность распознавать в речи произвольного человека конкретные слова является существенно более сложной задачей, чем вычисление какой-то интегральной характеристики "куска аудиозаписи".
Итого, вердикт: конспирологическая фигня. Слишком сложная система для решения описанных задач.
Ну, и я могу сказать, что мне в моем опыте никогда не попадалось ничего подобного - но кто ж мне поверит, я наверняка Куплен Системой :)
PS:Я знаю, что меня читают люди, которые "в материале", т.к. разрабатывают и внедряют подобные системы. Надеюсь, они что-то добавят от себя.
интересует на сколько это правда и может соответствоввать реальности?
Специальному оборудованию достаточно всего пары фраз сказанные
вами, чтобы создать своего рода цифровую подпись, каторая вопщем
и выглядит как набор цифр (типа: 2764536172645367), и аккуратно записана
в базу в виде: тел.№ 82121234567=2764536172645367,после аппаратуре
достаточно пары минут чтоб обнаружить ваш след и выдать полный
список номеров с которых вы звонили.
Кого интерисуют подробности, скажу, что система создает запись/анализ спектра,
только в момент когда вы звоните, если звонят вам аппаратура отдыхает
Запись происходит постоянно, и только по ключевам словам
(типа: алло, говорите, здравствуйте и тд ,всего неболее 50 ключевых слов).
Анализ спектра (условно говоря), производится по мере необходимости, но на
практике постоянно, тк и должников надо выявлять и разных жуликов тоже полно.
Технология этого очень проста, вы произносите слово - срабатывает команда
типа "копировать" это слово копируется и обрабатывается - далее создается
аудио подпись - её автоматически обрабатывает система, и вся эта муть
заноситься в лог, а дальше с ними работают спецы из службы контроля.
Данная штука несертифицирована у нас пока, и соответственно неимеет
силу докозательства, в суде к примеру, поэтому используется исключительно
для внутреннего употребления службами безопастности опсосов."
Начать хочется вот с чего - есть несколько внешне похожих задач, которые существенно различаются в способах решения, условиях применимости, надежности получаемых результатов и так далее:
- Голосовая подпись - известный системе человек говорит заранее согласованную фразу. Задача: сличить произнесенное с эталонным образцом.
- Сопоставление голоса человека с ранее сделанной записью. Задача: существует "эталонная модель" голоса человека и запись речи другого человека. Задача: установить, это два разных человека или один и тот же. Фактически, вариация голосовой подписи, но без заранее согласованной фразы.
- Идентификация человека по голосу. Задача: имея запись разговора, выбрать из базы "эталонных голосов" наиболее похожий (или несколько).
- Распознавание голосовых команд конкретного человека. Задача: из базы записанных речевых отрывков выбрать тот, который наиболее похож на произнесенное слово (или короткую команду).
- Распознавание голосовых команд произвольного человека. См. "распознавание команд" выше, но записанных эталонных отрывков не существует. Фактически, речь идет о распознавании голоса без предварительного обучения и сопоставлении распознанного с ограниченным набором слов-команд.
- Распознавание голоса конкретного человека. Задача: превращать речь конкретного человека в, грубо говоря, текст.
- Распознавание голоса произвольного человека. Задача: превращать речь произвольного человека в текст, как правило - без предварительного обучения.
Я перечислил задачи в, как мне кажется, порядке увеличения сложности. Почему же эта самая сложность варьируется от задачи к задаче? Что облегчает решение более простых задач?
Для проверки голосовой подписи не надо разбирать сказанное на слова или иные части. Достаточно посчитать какие-то интегральные характеристики услышанного, сопоставить с образцом и выдать бинарный ответ ("Да"/"Нет"). Более того, исходя из задачи, можно (и даже нужно) достаточно безболезненно трактовать любую значительную неопределенность как ответ "Нет".
Для того, чтобы сличить две записи и установить, разные ли на них люди или нет, в принципе тоже достаточно каких-то интегральных характеристик, но они должны описывать не запись в целом, а какие-то ее характеристики: тембр голоса, ритм речи, особенности произнесения звонких/ударных звуков и т.п. Сравнение по-прежнему делается с одним образцом, что существенно облегчает окончательный анализ - функция сравнения с имеющимся образцом может быть относительно несложной.
Если же образцов много, и надо выбрать из них самый похожий, то нам понадобится какая-то метрика над пространством всех возможных голосов - способ превратить набор характеристик двух записей в какое-то число (или несколько чисел), описывающих "степень подобия". Разработка метрики сама по себе может быть достаточно нетривиальной задачей.
Распознавание голосовых команд (известного заранее или произвольного человека) в чем-то похоже на выбор самой похожей записи голоса из "банка голосов". Я рискну предположить, что в этих двух задачах используются разные характеристики услышанного и разные меры подобия, а в остальном они очень похожи.
Распознавание голоса конкретного человека требует разделения услышанного на слова, слоги, звуки. Сложность задачи резко повышается. Чтобы улучшить конечный результат, все системы распознавания голоса "тренируются" с участием конкретного человека - его просят произносить определенные звуки, слоги, слова и используют их характеристики в разделении голосового потока на части. Затем разобранный таким образом поток звуков необходимо преобразовать в слова, а слова - в текст, при этом как можно больше неоднозначностей распознавания должно устраняться автоматически на основании синтаксического анализа получаемых предложений. Обе подзадачи - и разделение записи на компоненты, и их распознавание и составление связанного текста - очень ресурсоемки.
Распознавание голоса произвольного человека отличается от распознавания голоса конкретного человека тем, что нет никакого способа облегчить разбор голосового потока за счет знания особенностей произнесения говорящим отдельных звуков, слогов и т.п.
Теперь вернемся к сути вопроса.
Вряд ли получится идентифицировать людей на основании каких-то характеристик "их голоса вообще" - слишком велико количество абонентов, слишком много в них людей с похожими голосами. Следовательно, понадобится какой-то характерный текст ("Я Линус Торвальдс, и я произношу слово 'Linux' как 'Линукс'"), который будет использоваться в качестве образца для сравнения.
Таким образом, чтобы сделать "сигнатуру голоса", которая относительно легко вычисляется и позволяет выбирать абонента из большой абонентской базы, необходимо три условия:
- Все абоненты должны в какой-то момент времени зачитать один и тот же текст-маркер, желательно - без помех, так свойственных GSM - это позволит создать базу "эталонов"
- Все абоненты должны время от времени произносить этот же текст-маркер в ходе разговора - это позволит получать информацию для сличения с базой эталонов.
- Произнесенный маркер надо уметь вычленять из разговора без подробного анализа структуры произнесенного - иначе не хватит никаких ресурсов. Идеально - чтобы каждый разговор начинался с сигнала "пиииип!" установленной частоты (а лучше - трех), после чего абонент четко и внятно произносит текст-маркер, после чего опять следует "пииип!" и уже затем - весь остальной разговор ;)
В вопросе высказанно предположение, что "система анализа спектра" использует определенные слова для того, чтобы начать анализ, и делается это якобы для экономии ресурсов. На деле же окажется обратное - возможность распознавать в речи произвольного человека конкретные слова является существенно более сложной задачей, чем вычисление какой-то интегральной характеристики "куска аудиозаписи".
Итого, вердикт: конспирологическая фигня. Слишком сложная система для решения описанных задач.
Ну, и я могу сказать, что мне в моем опыте никогда не попадалось ничего подобного - но кто ж мне поверит, я наверняка Куплен Системой :)
PS:Я знаю, что меня читают люди, которые "в материале", т.к. разрабатывают и внедряют подобные системы. Надеюсь, они что-то добавят от себя.
ыыы. случайно попал на ваш пост
хотя вот буквально позавчера по вестям-2 был репортаж про такую систему.
Так что это уже никак не конспирологическая фигня, думайу это скорее инструмент давления на массы.