Çok fazla matematik ve sihir yok: sesli asistanlar gerçekte nasıl çalışır?

Zuckerberg Yardımcısı ve "Samantha" işletim sistemi: iki tür ses sistemi

laboratuvarda çalışıyorum

makine öğrenimi veri gösterimi.Üniversitede iki blok ders veriyorum: Bunlardan biri uygulamalı makine öğrenimi ve yapay zeka ile ilgili. İkincisi ise arama ve çeşitleriyle ilgili. Bu konuların kesişiminde bugün bahsetmeye çalışacağım alan yer alıyor.

Ne olduğuna bakmanın iki yolu varsesli asistan Sanal bir uşakınız olduğunu hayal edin. Örneğin, yaklaşık beş yıl önce Mark Zuckerberg, evinde ona "Jarvis" adını verdiği akıllı bir asistan yaptı. İnsanların eve nasıl gireceğini, kapıları, perdeleri açıp kapatacağını, ışığı nasıl açacağını biliyordu. Bu tür cihazların diğer örnekleri "Alexa" ve "Alice", cihazda yaşıyorlar ve hayatı iyileştirebiliyorlar. Fırını, çamaşır makinesini, elektrikli süpürgeyi vb. kontrol edebilirler.

Asistanlara bakmanın başka bir yolu daarayüz. "O" filminde "Samantha" adlı bir işletim sistemi vardı, Rusça seslendirmede Yandex'den "Alice" ile aynı sesi vardı. İşletim sistemi yönetimi için bir arayüz görevi gördü ve bir asistan olarak tasarlanmamıştı. Apple'ın bu yaklaşımı var - Siri, Microsoft - Сortana, Google - Google Asistan.

Nasıl çalışırlar?

Tüm asistanlar çok benzer bir temel üzerine inşa edilmiştir.prensip. Yapması gereken ilk şey sesi duymaktır. Bu, kullanıcının cihazında olur - bir cep telefonu veya akıllı bir hoparlör. Kullanıcı şöyle der: "Alice", "Alexa", "Tamam Google". Bu sihirli sözlerden sonra cihaz, kullanıcının sesini kaydetmeye hazır hale gelir. Bu bir noktaya kadar olur - istemci sessizleşene veya cihaz sessizleşene kadar beklemekten bıkana kadar. Bundan sonra veriler, hizmetleri sağlayan şirketin sunucusuna gönderilir.

İşte sihir burada başlıyor.İlk işlem konuşmadan metne dönüştürmedir. Herkes farklı söylüyor, bunu nasıl metne çevirebilirim? Ardından, sesli asistanları ne için kullandığımıza başlar - bir hizmetin sağlanması. Bu, çevrimiçi olarak yapılabilen herhangi bir işlemdir - bilet satın almak, bir restoranda masa rezervasyonu yapmak. Tek soru, kullanıcı dostu bir arayüzün nasıl sağlanacağıdır. Orada değilse, cihaz bir konuşmacıya dönüşür.

Servisi aradıktan sonra, kullanıcınınsonuçları iade edin, bunun için bunları uygun şekilde paketlemeniz gerekir. Büyük olasılıkla, bir metin, İnternet'teki bir sayfadan bir sorun, bir şarkı, hesap makinesinin hesapladığı veriler olacaktır. Veriler tekrar konuşmaya dönüştürülür ve müşteriye iletilir.

Konuşmadan yazıya

İletişimimiz konuşma yoluyla gerçekleşir, sesetrafında hava hareketi. Bu titreşimler kulak zarına düşer, üç kemiği iter - üzengi, örs ve çekiç. Bunlar da salyangoz denilen bir organı sallar. Salyangozu balıktan aldık, su ile dolu ve içinde kıl hücreleri yaşıyor, salyangozdaki su ile birlikte salınım yapıyor. Üst tüy hücreleri, sıvıdaki dalgalanmaları çoğaltır ve bunları, elektriksel bir dürtü oluşturan tüy hücrelerinin alt kısmına iletir. Bu dürtü beyne iletilir.

Ayrıca kokleanın farklı yerlerindeki tüy hücreleri farklı frekanslardan sorumludur. Yüksek frekanslar geniş kısımda işlenir, orta frekanslar ortada ve düşük frekanslar merkeze daha yakın olacaktır.

Makinenin sesi bu şekilde algılamasını nasıl sağlayabiliriz?aynı şekilde - ham bir sinyal şeklinde değil, bir dizi frekans şeklinde mi? Bu sorunun cevabını 18.-19. yüzyıl sınırında yaşayan Fransız matematikçi Jean Baptiste Fourier verdi. Bilim adamı, her şeyin kulaktakiyle aynı olduğu böyle bir matematiksel dönüşüm önerdi - ham bir sinyal alınır ve frekans bileşenlerine ayrıştırılır.

Frekans bileşenleriyle ne yapmalı?Spektral bir temsili bir foneme eşleyebiliriz, yani konuşmayı foneme dönüştürebiliriz. Az ya da çok kolayca algoritmik olarak harflere dönüştürülürler. Yani, fonetik bir temsilden bir kelime alabiliriz.

Ama bütün bunlar doğru değil.Biraz farklılık gösteren fonemler vardır, bir sesten diğerine geçişler farklı gelebilir. Bunlara senon deniyor, yaklaşık 10 bin tane var ama bu kadar çok olunca kelime tanımlama işi çok daha zor oluyor.

Mücadele böcekleri

Araştırmacılar hatalarla nasıl başa çıkıyor?Bu sorunun cevabı, 19.-20. yüzyılların başında yaşayan Rus matematikçi Andrei Markov tarafından verildi. Birinin diğerinden çıktığı süreçleri tanımlayan bir teori geliştirdi. Ve teorisi sayesinde gizli Markov modelleri geliştirildi. Bu, bu tür hataları düzeltmenin ilk yollarından biridir.

Örneğin, bir kişi belirsiz bir şekilde konuştuğunda,aksan veya kelimeyi yanlış telaffuz ediyor - kişinin ne anlama geldiğini yüksek doğrulukla geri yüklemenize ve belirlemenize izin veren matematiksel bir mekanizma var. Sonuçta insanlar da hata yapar ama birbirlerini anlarlar, bu da kafamızda hataları düzeltmek için bir mekanizmamız olduğu anlamına gelir.

Ancak metin gösterimi yeterli değil -Bilgisayar sayılarla çalışır. Nasıl alınır? Noam Chomsky'nin, beynimizde doğum düzeyinde mevcut olan ve doğal dilleri hızla öğrenmemize yardımcı olan bir yapıya sahip olduğumuza dair bir hipotezi vardır. Chomsky, hayatı boyunca, bir dilde - Rusça, İngilizce veya Çince - ne tür ortak kalıplar olduğunu belirleyen bir model oluşturur, geliştirir ve üzerinde çalışır.

Slaytta - Chomsky'nin dilbilgisi.Bu, Rus dili derslerinde bir cümleyi kompozisyona göre analiz ederken yaptıklarıyla aynı şeydir. İsimler, sıfatlar, özneler, yüklemler, fiil grupları vardır - tüm bunlar resmileştirilmiştir ve makineye gösterilebilir. Bu yapı, sayılar şeklinde kolayca temsil edilir.

Makine konunun ne olduğunu anlayabiliröneri ve yapılması gerekenler. Örneğin, müşteri “Alice, biraz müzik aç” derse, “aç” eylem olacak, “müzik” eylemin gerçekleştiği nesne olacaktır. "Alice" müşteriyi anlayacak ve harekete geçmeye başlayacaktır.

Ama kelimelerin kendisi bir harfler topluluğudur, tıpkıanlamlarını anladınız mı? Benzer kelimeler var - "oynat" ve "oynat", cihaz bunun aynı şey olduğunu anlayacak mı? Bu sorunun cevabını Amerikalı dilbilimci Leonardo Bloomfield verdi. Yirminci yüzyılın başında, bir kelimenin anlamının bu kelimenin bulunduğu bağlam tarafından belirlendiği bir teori önerdi. Slayda bakın ve üç nokta yerine hangi kelimenin kullanılabileceğini düşünün.

Cevabım bir fil olurdu ama sorduğumdaÖğrenciler, bir gergedan, hatta bir zürafa olabileceğini söylüyorlar. Ama genel olarak, bunun Afrika'da yaşayan ve sinirlenebilen büyük bir hayvan olduğunu anlıyoruz. Tüm bunları birleştirirsek, bu nesnenin kelimenin kendisini kullanmadan anlamsal bir açıklamasını elde ederiz.

Ama eğer bunu dijitalleştirirsek, şunu elde ederiz:on binlerce sayı. Ve Amerikalı matematikçi Gene Golub sayesinde rakam sayısını nasıl önemli ölçüde azaltacağını bulmayı başardı. Sayıları kullanmak yerine vektör adı verilen bir sayı koleksiyonunu kullandılar. Ve bu vektör anlamsal yakınlığı veya uzaklığı, anlamsal ilişkiyi anlamak için kullanılabilir. Yani "oyun"un yaklaşık olarak "oyun" ile aynı olduğunu anlayabilirsiniz.

Artık kelime girebileceğiniz araçlar var,anlam haritasında nasıl dağıldıkları da netleşecektir. Örneğin “zürafa”, “fil” ve “gergedan” kelimeleri gruplandırılarak anlamlar uzayında yan yana yer alır. Bu yöntemler gelişti ve artık çok daha gelişmiş görünüyor.

Sözcükleri yapı biçiminde, cümleleri yapı biçiminde sunduk, sözcükleri anlam biçiminde sunduk, bunların hepsi sayı biçiminde, sırada ne var?

Hizmetler

Her hizmetin yüz binlerce, milyonlarca,milyarlarca nesne. İnternette arama yapmaktan bahsediyorsak, bunlar yüz milyarlarca sayfa, on milyarlarca görüntü. Müzik akışı ise, milyonlarca şarkı.

Veri indekslemeye yönelik ilk yaklaşımlardan biri -ikili arama ağaçları oluşturma. Aynısı sözlüklerde de kullanılıyor: ortasından açıyorsun ve doğru kelimeyi atladıysan geri kaydır, anlamadıysan devam et. Ancak 1962'de Sovyet matematikçileri Georgy Adelson-Velsky ve Evgeniy Landis, kendisini hızlı arama durumunda tutan bir veri yapısı buldular.

Bu sistem yalnızca doğrusal veriler üzerinde çalışır -sayılar veya kelimeler. Peki bir haritada veya üç boyutlu uzayda bir şey aramak istersek çok boyutlu verilere ne olacak? Bunu yapmak için, kd-ağaçları gibi yapılar buldular, üç boyutlu uzayda arama görevleriyle mükemmel bir şekilde başa çıktılar. Ancak metnin yüzlerce sayıyla tanımlandığı modern görevler için çalışmayı bıraktılar.

Ancak yirminci yüzyılın sonlarında yapılan teorik çalışmalar sayesindeEric Berninson, büyük koleksiyonlarda iyi arama kalitesini garanti etmek için kullanılabilecek Anna adlı arama ağaçlarının geliştirilmesini önerdi. Bu, tüm geniş Spotify tabanı için işe yarıyor - sadece beş yıl önce elde edilen harika bir sonuç.

Başka yaklaşımlar da var:örneğin, sosyolog Stanley Milgram tuhaf ve bazen insanlık dışı deneyler yaptı. Altı el sıkışma teorisini doğurdu, dünyadaki tüm insanlar birbirini en fazla altı el sıkışma yoluyla tanır. Bunu yapmak için insanlardan bir yabancıya mektup göndermelerini istedi. Daha sonra tanıdıkları arasından bu kişiye aşina olabilecekleri seçmek zorunda kaldılar. Ve bunu yapmak için onlara altı harf gerektiği ortaya çıktı. Deney eleştirildi, ancak 2000'lerde tekrarlandı ve sonuçları doğruladı.

Bu, matematikte inanılmaz bir özelliktir.Kont "Küçük Dünya" adını aldı. Rus bilim adamları - Yuri Malkov grubu - ilginç bir algoritma önerdiler. Her yerde bir şey bulmak için kullandılar. Bu grafikteki düğümler artık insanlar değil, belgelerdir.

Bu grafikte - herhangi biri arasındaki en kısa mesafebirkaç nesne. Kullanıcılar ihtiyacımız olanı çok hızlı bir şekilde bulabilirler. Bu veri yapısı artık Rusya'da ve yurtdışında birçok şirkette kullanılmaktadır - Facebook, Mail.ru, Yandex. Yalnızca arama ve öneri hizmetlerini değil, aynı zamanda sesli asistanları da değiştiren mükemmel bir matematiksel model.

Daha fazla oku

Geleceğin dünyanın ilk tek aşamalı yörünge gemisini görün

Bilim adamları üç yıl boyunca Mars'ın güneyinde su olduğuna inandılar. olmadığı ortaya çıktı

Hipersonik hidrojenle çalışan bir uçak, Mach 12'ye kadar hızlara ulaşabilir. Neredeyse 15.000 km/s