Помічник Цукерберга та операційна система «Саманта»: два види голосових систем
Я працюю у лабораторії
Є два способи дивитися на те, що такеголосовий помічник. Уявіть собі, що ви маєте віртуальний дворецький. Наприклад, близько п'яти років тому Марк Цукерберг зробив розумного помічника у себе вдома, назвав його «Джарвіс». Він умів пускати людей у будинок, відчиняти та зачиняти двері, штори, включати світло. Інші приклади таких пристроїв – «Алекса» та «Аліса», вони живуть у пристрої та здатні покращити життя. Вони можуть керувати духовкою, пральною машиною, пилососом тощо.
Інший спосіб дивитися на асистентів - як наінтерфейс. У фільмі «Вона» була операційна система, яка називалася «Саманта», у російському озвученні у неї був той самий голос, що у «Аліси» від Яндекса. Вона виступала як інтерфейс до управління операційною системою, а не була задизайнена як помічник. Такий підхід є у Apple – Siri, Microsoft – Сortana, Google – Google Assistant.
Як вони працюють?
Всі асистенти побудовані дуже схожимпринципом. Перше, що треба зробити, — почути голос. Це відбувається на пристрої користувача - мобільному телефоні або розумній колонці. Користувач каже: "Аліса", "Алекса", "OK Google". Після цих чарівних слів, пристрій готовий записувати голос користувача. Це відбувається до якогось моменту - поки клієнт не замовкне або пристрій не втомиться чекати, поки він замовкне. Після чого дані відправляються на сервер компанії, яка надає послуги.
Тут і розпочинається магія.Перша операція - це перетворення мови на текст. Усі говорять по-різному, як перетворити це на текст? Потім починається те, заради чого ми користуємося голосовими помічниками — надання сервісу. Це будь-яка операція, яка доступна онлайн – покупка квитків, бронювання столика у ресторані. Питання лише у тому, як забезпечити зручний інтерфейс для користувача. Якщо його немає, пристрій перетворюється на говорку.
Після звернення до сервісу користувачеві потрібноповернути результати, для цього їх треба правильно упаковати. Швидше за все це буде текст, видача зі сторінки в інтернеті, пісня, дані, які порахував калькулятор. Дані назад перетворюються на мову і передаються клієнту.
Перетворення мови на текст
Наше спілкування відбувається через промову, голос – цеколивання повітря навколо. Ці коливання потрапляють на барабанну перетинку, вона штовхає три кісточки - стремечко, ковадло та молоточок. Ті, у свою чергу, розгойдують орган, який називається равликом. Слимак дістався нам від риб, він заповнений водою і в ньому живуть волоскові клітини, вони коливаються разом з водою в равлику. Верхні волоскові клітини посилюють коливання рідини і передають їх у нижню частину волоскових клітин, які формують електричний імпульс. Цей імпульс передається у мозок.
Причому у різних місцях равлики волоскові клітини відповідають різну частоту. У широкій частині обробляються високі частоти, всередині будуть середні, а ближче до центру — низькі.
Як нам змусити машину сприймати звук такимж чином — над вигляді сирого сигналу, а вигляді сукупності частот? Відповідь це питання дав французький математик Жан Батист Фур'є, він жив межі XVIII-XIX століть. Вчений запропонував таке математичне перетворення, за допомогою якого відбувається все те саме, що у вусі - береться сирий сигнал і розкладається на частотні складові.
Що робити із частотними складовими?Ми вміємо зіставляти спектральне уявлення з фонемою, тобто можемо перетворити мову на фонеми. Вони більш-менш легко алгоритмічно перетворюються на літери. Тобто ми можемо із фонетичного уявлення отримати слово.
Але все це неточно працює.Є фонеми, які різняться небагато, переходи з одного звуку до іншого можуть звучати по-різному. Вони називаються сенони, їх близько 10 тис. Але коли їх так багато, завдання визначення слів стає набагато складнішим.

Боротьба з помилками
Як дослідники борються із помилками?Відповідь це питання дав російський математик Андрій Марков, який жив межі XIX-XX століть. Він розробив теорію, що описує процеси, де одне випливає з іншого. І завдяки його теорії було розроблено приховані марківські моделі. Це один із перших способів виправлення помилок такого роду.
Наприклад, коли людина говорить нечітко, у неїакцент або він неправильно вимовляє слово, є математичний механізм, який дозволяє з високою точністю відновити і визначити, що мала на увазі людина. Адже люди теж помиляються, але розуміють одне одного — отже, ми маємо механізм корекції помилок у голові.
Але й текстового уявлення недостатньо.комп'ютер працює з цифрами. Як їх одержати? У Ноама Хомського є гіпотеза, що в мозку є структура, причому доступна лише на рівні народження, яка допомагає нам швидко освоювати природні мови. Хомський протягом усього життя будує, уточнює і працює над моделлю, яка визначає, які загальні патерни є в мові, будь-якій — російській, англійській або китайській.
На слайді – граматика Хомського.Це приблизно те саме, що роблять на уроках російської мови, коли розбирають пропозицію за складом. Там є іменники, прикметники, що підлягають, присудки, дієслівні групи — все це формалізовано і можна показати машині. Ця структура легко уявити у вигляді цифр.
Машина може зрозуміти, що є суб'єктомреченні та яку дію потрібно зробити. Наприклад, якщо клієнт каже: "Аліса, включи якусь музику", то "включи" буде дією, "музика" - об'єктом, над яким відбувається дія. «Аліса» зрозуміє клієнта і почне діяти.
Але слова самі по собі – це набір букв, якзрозуміти їхній сенс? Є схожі слова — «грай» і «зіграй», чи зрозуміє пристрій, що це те саме? Відповідь це питання дав американський лінгвіст Леонардо Блумфілд. Він на початку ХХ століття запропонував теорію, де сенс слова визначається контекстом, у якому це слово. Подивіться на слайд та подумайте, яке слово можна підставити замість трьох точок.

Моєю відповіддю був би слон, але коли я питавстудентів, вони кажуть, що там може бути носоріг чи навіть жираф. Але в цілому ми розуміємо, що це велика тварина, яка живе в Африці і яка буває злою. Якщо ми все це сумісний, то отримаємо деякий семантичний опис цього об'єкта без використання самого слова.
Але якщо ми оцифровуватимемо це, то вийдутьдесятки тисяч цифр. І завдяки американському математику Джину Голубу вдалося вигадати, як суттєво знизити кількість цифр. Замість використання цифр вони використовували сукупність цифр, яка називається вектором. І цей вектор можна використовувати, щоб розуміти близькість чи віддаленість за змістом, семантичну пов'язаність. Так можна зрозуміти, що «зіграй» — це приблизно те саме, що «грай».
Зараз є інструменти, де можна ввести слова,і стане зрозумілим, як вони розподіляються на карті смислів. Наприклад, слова «жираф», «слон» і «носоріг» — групуються, виявляються поряд у просторі смислів. Ці методи розвивалися і зараз виглядають набагато просунутішим.
Ми представили слова у вигляді структури, речення у вигляді структури, ми представили слова у вигляді смислів, все це у вигляді цифр, що далі?
сервіси
У кожному сервісі є сотні тисяч, мільйони,мільярди об'єктів. Якщо ми говоримо про пошук в інтернеті, це сотні мільярдів сторінок, десятки мільярдів зображень. Якщо музичний стрімінг — мільйони пісень.
Один з перших підходів до індексації данихпобудова двійкових дерев пошуку. Те ж саме використовується в словниках: ви відкриваєте його посередині, і якщо проскочили потрібне слово, гортаєте назад, якщо не дісталися, вперед. Але в 1962 році радянські математики Георгій Адельсон-Вельський та Євген Ландіс придумали структуру даних, яка підтримує себе у стані швидкого пошуку.
Ця система працює тільки на лінійних даних.числах або словах. А що буде з багатовимірними даними, якщо ми хочемо пошукати щось на карті чи тривимірному просторі? Для цього вигадали такі структури, як kd-дерева, вони чудово справляються із завданнями пошуку у тривимірному просторі. Але вони припинили працювати для сучасних завдань, де текст описується сотнями чисел.
Але завдяки теоретичним роботам кінця ХХ століттяЕрік Бернінсон запропонував розвиток пошукових дерев, який називається Анною - за його допомогою можна гарантувати хорошу якість пошуку на величезних колекціях. Це працює для всієї величезної бази Spotify – чудовий результат, який отримали лише п'ять років тому.

Є й інші підходи:наприклад, соціолог Стенлі Мілгрем проводив дивні, інколи ж нелюдські експерименти. Він породив теорію шести рукостискань, що всі люди на Землі знають один одного через не більше ніж шість рукостискань. Для цього він попросив людей надіслати незнайомій людині листа. Вони далі мали вибрати серед своїх знайомих тих, хто міг бути знайомий із цією людиною. І виявилося, що їм для цього знадобилося шість листів. Експеримент критикували, але повторили у 2000-х роках і підтвердили результати.
Це дивовижна властивість, яка в математицінабула назва граф «Світ тісней». Російські вчені – група Юрія Малькова – запропонували цікавий алгоритм. Вони застосували його для пошуку будь-чого. Вузлами у цьому графі тепер є не люди, а документи.
У цьому графі найкоротша відстань між будь-якоюпарою об'єктів. Користувачі можуть швидко знаходити те, що нам потрібно. Ця структура даних зараз використовується в багатьох компаніях у Росії та за кордоном - Facebook, Mail.ru, Яндексі. Прекрасна математична модель, яка змінила не лише пошукові та рекомендаційні сервіси, а й голосові помічники.
Читати далі
Подивіться перший у світі одноступінчастий орбітальний корабель майбутнього
Три роки вчені вважали, що на півдні Марса є вода. Виявилося, це не так
Гіперзвуковий літак на водні розвиває швидкість до 12 махів. Це майже 15 000 км/год.