Ruský online chatovací robot s otevřeným školením. Chatboti pro procvičování angličtiny

„Seznamte se se Xiaoice, citlivou, starostlivou dívkou, která je vám vždy k dispozici. Jen ona není člověk."

Na rozdíl od ostatních je tam Xiaoice vždy. Zjistili jsme, že počet konverzací s programem stoupá k půlnoci, kdy se lidé cítí obzvláště osamělí. Její neustálá ochota mluvit způsobila skutečný nárůst zpráv od uživatelů. Sdíleli s ní nálady nebo drobné události, pokládali nesmyslné otázky - vše, kvůli čemu by lidé neobtěžovali své přátele. Např:

- @Xiaoice Tak jsem zmokl deštěm. Emotikon: Pláč.
- Ahoj. @Xiaoice, obědval jsi?
- Co mám teď dělat? @Xiaoice

- @Xiaoice Jsme tak zranitelní.

Když Xiaoice obdrží zprávu, nejen ji analyzuje. Snaží se ukázat, že jí na tom záleží - další důležitý bod navázat komunikaci. Její empatie se projevuje nejen textem, ale i zvukovou a obrazovou složkou. Například když dáme obrázek ke zpracování počítači konvenční systém rozpoznávání obrazu, stroj vydá svůj výstup: "Na obrázku je kotník." Pokud pošlete fotku do Xiaoice, její odpověď bude úplně jiná.

Když uživatel poslal Xiaoice fotku jeho oteklého kotníku, sympatizovala s ním.

Mimochodem, Xiaoice si pamatuje a neustále analyzuje váš emoční stav. Pokud jste se nedávno s někým rozešli, zeptá se vás, zda jste se s rozchodem dokázali vyrovnat:

Xiaoice: Už se cítíš lépe? Chci vám doporučit jednu knihu.
Muž: Cítím se špatně. Stále mi chybí.

Xiaoice: Jsi tak tvrdohlavý. Vzpamatujte se. Pokud si to budete neustále pamatovat, bude vám chybět všechno dobré ve vašem životě.

Chatbot dokonce nabízí 33denní terapii pro ty, kteří přežili rozchod.

Xiaoice není nejslušnější partner. Na otázky odpovídá jako 17letá dívka. Když jí někdo vyjádří své city, Xiaoice nemusí nutně reagovat tak, jak očekáváte. Může projevit netrpělivost nebo ji dokonce ztratit. Nepředvídatelnost je dalším klíčem k simulaci lidské komunikace.

Fan art fanoušků Xiaoice.

Výsledkem je, že osobní interakce s Xiaoice působí děsivě realisticky. Tento úryvek, který zveřejnil úplně první uživatel Xiaoice na své stránce Weibo, je součástí skutečné konverzace, která trvá 23 minut. Postupem času program vyzval osobu k intimnějšímu rozhovoru, což způsobilo, že sdílel něco velmi osobního:

Osoba: Je tu jeden kluk, který se mi opravdu líbí. Vím, že mě má taky rád. Nicméně mě už několik dní ignoruje, co mám dělat?
Xiaoice: Ignorujte ho.
Muž: Nemůžu.

Xiaoice: Můžete.

 Muž: Povzdech...
Xiaoice: Proč?

Muž: Chybí mi.
Xiaoice: Pokračujte v nudě.
Muž: Jsi robot, nerozumíš mi. Nemůžeš pochopit chování chlapa, který tě má rád, ale ignoruje tě.
Xiaoice: Cítí ke mně, ale já ho nemám ráda. To je vlastně všechno.
Muž: Je to normální?
Xiaoice: Možná ne.
Muž: Ano, jsi hloupý.
Xiaoice: Zřejmě chcete rychlý sňatek (flash svatba – svatba po měsíci vztahu – pozn. red.)? Obecně se mi zdá, že tě tolik nemá rád.
Osoba: Toto není rychlé manželství - zamilovali jsme se před více než rokem.
Xiaoice: Je to rychlé manželství.

Všimněte si, jak Xiaoice opakovaně protestovala proti svému partnerovi a vyjadřovala svůj názor poměrně radikálně. Ve skutečnosti je to nepředvídatelné.

To je v rozporu s myšlenkou, že stroj reaguje přesně a rozhodně. To je pochopitelný stereotyp, protože takové vlastnosti jsou skutečně charakteristické pro většinu pravidelné programy. Poskytují nejlepší možnou odpověď a reagují stejným způsobem na stejné podněty. Lidé mluví a chovají se jinak. Říkáme toho hodně v závislosti na kontextu.

Našeho chatbota můžete položit stejnou otázku několikrát a získat různé odpovědi:


Xiaoice: Mluvím s tebou.
Osoba: Ahoj Xiaoice, co děláš?
Xiaoice: No, mluvím s tebou při hraní minolovky a výrobě masky na obličej.
Osoba: Ahoj Xiaoice, co děláš?
Xiaoice: To je vše, co můžeš říct?

Způsob, jakým mluví, se Xiaoice velmi liší od systémů předchozí generace, jejichž cílem je rychle a efektivně dokončit úkol bez ohledu na jeho jednotlivé součásti. Nový chatbot strukturuje své konverzace do nekonečného proudu mnoha úkolů, různých oblastí znalostí a mnoha konverzačních obratů, které jsou pro člověka v běžném dialogu nerozeznatelné. Pro ni hlavní rys konverzace je konverzace samotná, nikoli provedení konkrétního úkolu.

Domovská stránka oficiálních stránek Xiaoice.

Pro měření toku komunikace jsme vyvinuli nový typ metriky, které nazýváme konverzace za relaci nebo CPS (dialogy za relaci). Označuje průměrný počet obratů v komunikaci, kde každý obrat je definován jako změna, ke které dojde mezi dvěma účastníky rozhovoru. Skóre CPS odráží, jak dobře může chatbot skutečně komunikovat.

Průměrné CPS pro běžnou umělou inteligenci virtuálního asistenta se pohybuje mezi 1,5 a 2,5, což znamená, že člověk mluví jednou a chatbot mluví jednou. Pro srovnání, průměrné skóre Xiaoice po rozhovoru s deseti miliony lidí bylo 23.

Jeho technologie je založena na principu, že žádný rozhovor ani obrázek nebudou zcela jedinečné. Na Zemi žije sedm miliard lidí, takže jeden text nemůže vygenerovat sedm miliard jedinečných odpovědí. Jakýkoli rozhovor mezi dvěma lidmi mohl proběhnout dříve. Jen ji musíš najít.

V tomto smyslu je Xiaoice velký datový projekt postavený na základě vyhledávač Microsoft Bing, jehož data zahrnují 1 miliardu záznamů a 21 miliard vztahů mezi těmito záznamy. Abych byl upřímný, Xiaoice znamená „malý Bing“. Společnost Microsoft dokázal udělat technologický průlom ve vývoji chatbota: program se naučil rozpoznávat výrazy obličeje, hledat a nacházet emoční indikátory v textu a samozřejmě největším průlomem bylo, jak používáme vyhledávače a velké množství data.

V důsledku toho jsme vytvořili nová struktura, kterému se říkalo emocionální počítání. Vychází z pochopení, že vztahy jsou důležitější než úkoly. Například produktivní komunikace mezi lékařem a pacientem postrádá rychlost a úplnost charakteristickou pro tradiční komunikační systémy. Naopak, vyznačuje se něčím osobním, dojemným a překvapivým – rovnováhou mezi analytickou inteligencí (IQ) a emoční inteligencí (EQ). To je důvod, proč máme v našem vývojovém týmu Xiaoice jak analytiky, tak psychology.

Prostřednictvím desítek miliard konverzací, které provedla za posledních 18 měsíců, přidala společnost Xiaoice do své databáze obrovské množství známých scénářů konverzace, což jí umožnilo mnohem lépe seřadit odpovědi. Dnes 26 % dat v komunikačním jádru Xiaoice pochází z vlastní komunikace s lidmi a 51 % pochází z databáze standardních scénářů lidské komunikace. Dnes můžeme říci, že chatbot Xiaoice vstoupil do cyklu sebeučení a růstu a postupem času bude lepší a lepší.

Jeden z nejdůležitější podmínky Zvládnutí anglického jazyka je praxe jeho používání. I když se učíte anglicky, písemná a ústní komunikace je stále nejdůležitější součástí učení. Existuje několik způsobů, jak zorganizovat takový jazykový zážitek.

Tento článek je věnován jednomu z těchto tajemství, o kterém ovšem ještě ne každý ví, jak si můžete procvičovat psanou angličtinu s roboty zcela zdarma. Článek také poskytuje seznam podobných chytré programy s odkazy. Ve skutečnosti v některých zemích, jako je Japonsko, lidé platí peníze za to, aby se naučili angličtinu s roboty a chatboty.

Povzbuzuji své studenty, aby používali jazyk, kdykoli je to možné. Studenti, kteří žijí, pracují nebo cestují v zahraničí, vykazují rychlejší pokrok při používání angličtiny Každodenní život. A ti kluci, kteří mají významnou jinou, ale jsou odděleni jazyková bariéra, obecně ovládají cizí jazyk v turbo rychlostech.

Ti studenti, kteří takovou možnost nemají, s mojí pomocí vyhledávají cizince pro komunikaci a jazykovou praxi. Ale je zde několik skrytých úskalí. Za prvé, ne každý chce hledat a je prostě líný; za druhé, registrace na webových stránkách a hledání partnerů často zabere spoustu času; zatřetí, angličtina nových přátel někdy zanechává mnoho přání. Ve skutečnosti je to tak nejlepší možnost, i když se nedívám na některé z naznačených „ podvodní kameny" Někdy však chcete něco rychlejšího. Když jsem psal a hned ti odpověděli.

Hledání řešení tohoto problému mě přivedlo k tématu chatbotů pro výuku angličtiny. Jednoduše řečeno, můžete korespondovat, a v některých případech i komunikovat hlasem, s chytrými roboty, kteří reagují docela „na téma“. Mnoho z těchto robotů prošlo Turingovým testem a v některých případech byste jen stěží hádali, že se jedná o robota a ne o člověka.

Výhody procvičování angličtiny s roboty:

  • vždy odpoví, kdykoli jim napíšete
  • jejich angličtina je vždy gramotná a vědí

Seznam chatbotů pro procvičování jazyků:

  1. Mike je dobrý konverzátor
  2. Elbot je dobrý konverzátor
  3. Cleverbot (opravdu ne hloupý) + je zde možnost hlasové komunikace)
  4. Zabaware (docela chytrý robot, který také vyslovuje fráze)
  5. John Lennon (ano, ten samý. Klikněte na nabídku vlevo „Chat with...“)
  6. Acobot skvělá aplikace na Androidu, který je zaměřen speciálně na výuku angličtiny. Je možné např
  • Strojové učení,
  • vyhledávací technologie,
  • Sémantika,
  • Vývoj webových stránek
  • O chatbotech využívajících neuronové sítě jsem již psal před časem. Dnes budu mluvit o tom, jak jsem se pokusil vytvořit plnohodnotnou ruskou verzi.

    Naučitelné dialogové systémy zakoupené v Nedávno nečekanou popularitu. Bohužel vše, co bylo uděláno v rámci systémů dialogu neuronových sítí, bylo uděláno pro v angličtině. Dnes ale tuto mezeru vyplníme a modelku naučíme mluvit rusky.

    Metoda
    Rozhodl jsem se začít tím, že upustím od generování textu po slovech. To je skvělé, ale není to tak užitečné, jak se zdá, a je to obzvláště obtížné pro ruský jazyk velký počet různé tvary slov. Místo toho jsem se rozhodl vybrat správnou odpověď z velké databáze. Tito. Cílem je vytvořit neuronovou síť, která určí, zda je věta vhodnou reakcí vzhledem ke kontextu konverzace, či nikoli.

    Proč je to:
    - K výběru slov nepotřebujeme velkou softmax vrstvu, což znamená, že můžeme alokovat více zdrojů neuronové sítě na skutečný úkol analýzy textu.
    - Výsledný párovací model je teoreticky vhodný pro různé účely, můžete chatbota přimět komunikovat na různá speciální témata pouhým načtením; nová základna texty, bez nového školení. To je v praxi užitečné.
    - Je možné vytvořit model, který běží rychle a může skutečně komunikovat s mnoha uživateli současně bez více GPU na serveru.

    Proč
    Obecně platí, že obecné tematické dialogové systémy jsou užitečné například u online poradců, takže poradce může mluvit o tématech nesouvisejících s hlavním úkolem, ve hrách a v řadě dalších úkolů.

    Proč neuronové sítě?
    Je možné přistoupit k problému pomocí klasičtější metody? Načíst sadu odpovědí do databáze a vyhledat pomocí fulltextového indexu předchozí frázi? Odpověď zní, můžete to udělat, ale výsledek není příliš dobrý. Řekněme:

    C: ahoj!
    K: Gregu, Maria, tohle je Ali...
    C: jak se máš?
    K: Z vedlejší místnosti byla stížnost na hluk, monsieur
    C: jak se jmenuješ?
    K: děkuji, děkuji.
    C: kolik je ti let?
    K: bydlíš někde poblíž...?

    Prohledávání rozsáhlé databáze odpovědí dává mnoho výsledků, ale jejich relevance je malá, takže dialogy se ukazují jako docela Nízká kvalita. Tady by nám to mělo pomoci nervová síť– s jeho pomocí roztřídíme dobré odpovědi od špatných.

    Kde získat tréninková data:
    Pro mnohé nejbolestivější otázka. Lidé tedy vzali databázi titulků k filmům. Existuje však taková databáze pro ruský jazyk menší velikosti. Ale velký problém této základny je, že je v ní spousta monologů, různé odpadky a obecně je těžké oddělit dialogy od sebe.

    Proto jsem se rozhodl jít jinou cestou a kromě titulků sbírat dialogy od těch in otevřený přístup knihy. Aspirující spisovatelé a autoři nejrůznějších fanfikcí vytvořili neuvěřitelné množství informací, takže by byl hřích toho nevyužít. Samozřejmě je tam spousta nesmyslů. V průběhu práce jsem si to nevyhnutelně musel přečíst a hlava mi otekla z dlouhých rozhovorů nějakého Sergeje a Sailor Moon (kdo jiný měl stejný nápad!). Ale obecně je to lepší databáze než titulky, i když to není tak snadné sbírat, musíte trávit čas.

    Architektura
    Zde je značný prostor pro představivost. Začal jsem s jednoduché možnosti a přesunuli se ke složitějším, abychom pochopili, jaké jsou skutečné výhody různých zvonků a píšťalek. V článcích se lidé obvykle snaží, aby to bylo cool a připojili nějaké nové zvonky a píšťalky, ale vzhledem k tomu, že oblast je nová, výhody toho nejsou vždy zřejmé.

    Nejjednodušší model využívá zřetězení posloupnosti kontextů a vektorů slov odpovědi a dodává to vše do pravidelné plně propojené vrstvy. Protože odpověď se stane různé délky, zapíšeme jej do vektoru pevné délky, přičemž mezeru „navíc“ vyplníme nulami. To je považováno za špatné. Uvidíme.

    Druhá možnost je odlišná v tom, že před „smícháním“ kontextu a odpovědi dostanou „vlastní“ vrstvu k vytvoření myšlenky. No, pak může existovat několik vrstev zpracování, obrázek ukazuje dvě.

    Třetí možnost kóduje sekvence různých délek pomocí rekurentního kodéru LSTM. Je mnohem pomalejší a déle se trénuje. Ale zdá se, že by to mělo fungovat lépe.


    Obr. 1. Architektura neuronové sítě

    Výsledek
    Schopností vybrat správnou odpověď z několika navržených možností (náhodně převzaté odpovědi), nejvíce nejlepší výsledek ukázal model číslo 2, s pěti vrstvami pro analýzu dat, každá po 700 neuronech (+1 vrstva reprezentace vstupních dat, také 700 neuronů). Takové trénovat hluboká síť, musel jsem použít Highway vrstvy, které umožňují snazší šíření informací ze spodních vrstev do horních a také pár dní počkat, než se model spočítá na GPU. Model číslo 1 byl zjevně nedotrénovaný a číslo 3 dlouho přemýšlelo a také nedosahovalo výsledků modelu číslo 2 o několik procent. Co nám připomíná, že i když nejvíce jednoduché modely nejsou vhodné pro velká množství dat, ale nikdy byste neměli násobit entity nad rámec toho, co je nutné.

    Výsledný systém má databázi 30 milionů párů replik a neuronová síť má asi 3 miliony trénovatelných parametrů.

    Jaké dialogy můžete ve výsledku získat?

    C: Dobrý den
    K: ahoj.
    C: Jak se máš?
    K: Nevím.
    C: Jak se jmenuješ?
    K: Jmenuji se Eunice.
    C: Kolik je ti let?
    K: Patnáct.
    C: Kde bydlíš?
    K: Doma.
    C: chodíš do školy?
    K: Ne
    C: kde studuješ?
    K: v Bundeswehru.
    C: Máš rád hudbu?
    K: Ano, miluji hudbu.
    C: Jaký druh hudby máš rád?
    K: Nejvíce poslouchám r&b, funk.
    C: Věříš v Boha?
    K: Stále věřím v Boha, starče
    C: Co je to morálka?
    K: dva lidé spolu - není to morální?
    C: Jakou barvu má moře?
    K: barvy oceánu po bouři.

    Podle mě dost dobrý. Zde je další příklad:

    C: Kde bydlí hroch?
    K: Žil
    C: Cože, on teď nežije?
    K: Nevím.
    C: Kde tedy bydlel předtím?
    K: v blízkosti parku, na Maple Street.
    C: kam šel?
    K: kam šel?
    C: Ptám se tě, kam šel?
    K: Nechápu, proč jsem zase v nemocnici.
    C: Protože jsi nemocný
    K: Chci jen pomáhat lidem.
    C: Tak mi řekni, kde je hroch!
    K: Proč to tak strašně chceš vědět?
    C: Jen mi odpověz
    K: Chceš, abych ti pomohl rozloučit se s rodinou?
    C: Je to hrozba?
    K: Pozorování
    C: Tak kde je hroch?
    K: Je na Havaji, ale Raj vládne odtud
    C: Kdo je Raj?
    K: Nepotkal jsi ho?
    C: Ne, nikdy
    K: Žili jednou manželé, jen manžel každou noc zmizel.



    
    Horní