Apakah asisten suara memimpikan elektropoetik? Wawancara dengan Tatiana Lando: Analis Linguist Google



Pada 24 Agustus, kami berbicara langsung dengan Tatiana Lando, analis bahasa di Google. Tatiana bekerja di Google Assistant dan terlibat dalam proyek antara produksi dan pengembangan. Dia mengeksplorasi bagaimana orang berbicara satu sama lain dan strategi apa yang mereka gunakan untuk menggunakan ini dalam mengajarkan asisten lebih banyak perilaku manusia. Datang ke Google untuk bekerja sebagai asisten untuk pasar Rusia dan bahasa Rusia. Sebelumnya, dia bekerja di Yandex selama 8 tahun. Dia terlibat dalam teknologi linguistik, ekstraksi fakta dari teks tidak terstruktur. Tatiana adalah salah satu pendiri AINL: Artificial Intelligence and Natural Language Conference.



Kami membagikan transkrip siarannya kepada Anda.









Ketika saya mengatakan bahwa saya seorang ahli bahasa, paling banter mereka bertanya kepada saya apakah saya telah membaca Strugatskys, di mana itu tentang "ahli bahasa struktural." Dalam kasus terburuk, saya ditanya berapa banyak bahasa yang saya ketahui. Ahli bahasa bukanlah orang yang tahu banyak bahasa. Orang-orang dengan spesialisasi apa pun dapat mengetahui banyak bahasa, itu tidak terhubung. Ahli bahasa adalah orang yang memahami cara kerja bahasa, cara kerja komunikasi antar orang. Ini adalah disiplin ilmu yang besar, ia memiliki banyak aspek selain yang saya lakukan. Ada analisis teks untuk menetapkan kepengarangan, ada linguistik dalam ilmu forensik - ketika ahli bahasa menentukan apakah ada ekstremisme dalam teks, misalnya. Ini sebuah contoh.



Linguistik komputasi, yang saya lakukan, terutama ditujukan untuk mengembangkan antarmuka bicara antara teknologi, komputer, dan manusia, di satu sisi, serta memperkenalkan metode numerik ke dalam pemrosesan bahasa. Ada banyak area linguistik korpus - ketika kami mencoba memproses teks secara otomatis dalam jumlah besar untuk menarik kesimpulan tentang cara kerja bahasa berdasarkan data yang diperoleh. Saya sedang mengerjakan Asisten Google - ini adalah antarmuka suara antara ponsel atau komputer dan seseorang.



Sebelum pindah ke London dan mulai bekerja di Google, saya bekerja di Yandex selama 7,5 tahun, di mana saya juga belajar linguistik komputasi. Tugas yang saya lakukan di Yandex mencakup tugas-tugas linguistik komputasi yang cukup luas. Kami mempelajari morfologi, sintaksis - bagaimana kata-kata berubah, bagaimana kata-kata digabungkan; Dalam hal ini, bahasa Rusia lebih rumit daripada bahasa Inggris, karena tidak ada kasus dalam bahasa Inggris, hanya ada dua bentuk kata benda, semuanya relatif sederhana (dalam bahasa Rusia - 6-9 kasus, bentuk jamak yang aneh - nah, semua penutur asli tahu fitur ini). Oleh karena itu, ketika saya beralih ke Google, saya dipekerjakan sebagai spesialis bahasa Rusia, meskipun sekarang saya sudah melakukan hal lain.



Apakah ada lowongan yang terkait dengan pengembangan Asisten Google versi Rusia? Bagaimana Anda mendapatkan pekerjaan Asisten Google?



Tidak ada lowongan khusus yang terkait dengan Asisten Google versi Rusia. Google mencoba mengembangkan metodologi yang ditujukan untuk jumlah bahasa maksimum sekaligus, dan kekhususan bahasa harus diselesaikan menggunakan data, dan tidak menggunakan metodologi tertentu. Artinya, algoritme untuk bahasa Rusia, Inggris, Jerman, Cina - semua bahasa yang didukung dibuat sama, meskipun dengan beberapa nuansa. Ada banyak bagian umum, dan orang-orang yang berurusan dengan bahasa tertentu terutama memantau kualitas data dan menambahkan modul khusus untuk bahasa individu. Misalnya, untuk bahasa Rusia dan bahasa Slavia lainnya, morfologi diperlukan (ini yang baru saja saya bicarakan - kasus, pembentukan jamak, kata kerja kompleks). Dan dalam bahasa Turki ada morfologi yang lebih kompleks - jika hanya ada 12 bentuk kata benda dalam bahasa Rusia,kemudian dalam bahasa Turki lebih dari itu. Oleh karena itu, kami membutuhkan beberapa jenis modul khusus yang menangani bagian yang bergantung pada bahasa. Tetapi ini dilakukan dengan bantuan ahli bahasa yang mengetahui bahasa asli mereka dan insinyur bahasa umum yang menulis algoritme menggunakan data; kami bekerja sama untuk meningkatkan kualitas algoritme dan data ini. Karenanya, kami tidak memiliki lowongan khusus untuk bahasa Rusia, tetapi ada lowongan dalam pengembangan Google Assistant, terutama di Zurich, California, New York, cukup banyak - London.Kami tidak memiliki lowongan khusus untuk bahasa Rusia, tetapi ada lowongan dalam pengembangan Asisten Google, terutama di Zurich, California, New York, cukup banyak - London.Kami tidak memiliki lowongan khusus untuk bahasa Rusia, tetapi ada lowongan dalam pengembangan Asisten Google, terutama di Zurich, California, New York, cukup banyak - London.



, ?



4 tahun yang lalu ketika saya pindah, London masih Eropa. Sebenarnya, dia sekarang Eropa, meski bukan Uni Eropa. Saya sangat suka London, semua orang berbicara bahasa Inggris, tidak perlu belajar bahasa lain. Bukannya saya tidak ingin belajar bahasa lain, tetapi pergerakannya sangat minim. Ada juga teater yang bagus di sini, saya sangat suka pergi ke teater. Tentu saja, sekarang semua keuntungan London dengan budaya dan hiburan agak diratakan, tapi mari berharap yang terbaik. Selain itu, jauh lebih mudah dengan visa di sini daripada di Zurich - di Swiss, untuk beberapa alasan, peraturan visa berubah secara teratur. Ternyata jauh lebih mudah untuk menempatkan saya dan beberapa orang lain di London, dan kami menetap di sini. Saya suka di sini, saya tidak ingin pindah ke mana pun. Perjalanan bisnis ke California membuatku melankolis - di sana Anda harus naik mobil, jarak yang sangat jauh. Meski ada lebih banyak peluang karir di sana.



?



Ini lebih sulit daripada bahasa Inggris. Sebenarnya hampir semua bahasa lebih rumit daripada bahasa Inggris. Ada dua sisi berbeda dari kompleksitas ini. Pertama, morfologi yang sangat kompleks. Selain itu, bahasa Rusia memiliki urutan kata bebas, yang mempersulit pekerjaan saat menyusun algoritme. Jika sudah diperbaiki, maka untuk "bingkai sabun mama" bersyarat, satu kalimat diperlukan untuk mengajarkan sistem memahami "subjek-predikat-objek". Tetapi jika kata-kata ini dapat disusun secara berurutan, dibutuhkan lebih banyak data. Pada saat yang sama, ada banyak sumber daya yang siap pakai untuk bahasa Inggris; seluruh dunia ilmiah menggunakan bahasa Inggris, semua perusahaan menggunakan bahasa Inggris karena mereka bersaing di pasar Amerika. Dan lebih sedikit terlibat dalam bahasa lain, ada lebih sedikit pendanaan, lebih sedikit perusahaan. Jika masih ada potongan atau data siap pakai untuk bahasa Jerman atau Prancis,yang dapat digunakan kembali, maka bahasa Rusia lebih buruk. Ada kasing yang sudah jadi, tetapi kecil dan tidak cocok untuk semuanya. Artinya, lebih banyak data yang diperlukan untuk bahasa Rusia daripada bahasa Inggris, tetapi data yang tersedia lebih sedikit. Ditambah lapisan tata bahasa tambahan; Anda dapat mencoba memahami morfologi yang sama secara terpisah, kemudian Anda dapat mengurangi jumlah data yang diperlukan untuk pekerjaan parser berkualitas tinggi dalam bahasa Rusia (dibandingkan dengan bahasa Inggris).yang dibutuhkan untuk pekerjaan parser berkualitas tinggi dalam bahasa Rusia (dibandingkan dengan bahasa Inggris).yang dibutuhkan untuk pekerjaan parser berkualitas tinggi dalam bahasa Rusia (dibandingkan dengan bahasa Inggris).



Oleh karena itu, ternyata bahasa Rusia agak sulit, seperti bahasa Slavia lainnya. Bahasa Turki bahkan lebih sulit; Bahasa oriental memiliki masalah lain: misalnya, bahasa Mandarin tidak memiliki spasi di antara kata, Anda perlu memahami cara memecah susunan teks menjadi beberapa bagian untuk menentukan apa yang dikatakan setiap bagian. Secara umum, setiap bahasa memiliki leluconnya sendiri, tetapi pada dasarnya semuanya dapat diselesaikan karena banyaknya data bahasa yang tugasnya diselesaikan. Semuanya bertumpu pada fakta bahwa tidak banyak dari mereka untuk bahasa Rusia, dan oleh karena itu sulit untuk bekerja dengannya, dan untuk bahasa Inggris - sebaliknya.



Dapatkah linguistik komputasi merekonstruksi tempat-tempat yang tidak dapat dipahami, misalnya, dalam negosiasi pilot dengan lapangan?



Oh tentu. Pada dasarnya, algoritme yang melakukan ini akan serupa dengan saran penelusuran. Saat Anda memasukkan istilah pencarian (untuk bahasa apa pun), sistem menawarkan pencarian paling populer, dengan beberapa pemfilteran. Algoritme, tentu saja, agak lebih rumit, tetapi kami akan melupakannya untuk kejelasan. Sistem menyarankan kombinasi kata yang paling sering dalam kueri, dimulai dengan yang telah Anda masukkan. Teknik serupa dapat digunakan untuk memulihkan tempat yang tidak jelas. Ada banyak negosiasi, ini adalah kumpulan teks yang sangat besar, dan Anda dapat menganalisisnya dan melihat bagian mana yang paling umum. Saya sendiri tidak pernah membahas topik negosiasi antara pilot dan lapangan, tetapi saya menduga harus ada banyak proposal yang serupa, struktur informasinya cukup terkodifikasi, cara komunikasinya standar - hal-hal seperti itu cukup mudah diprediksi, sehingga dapat dengan mudah dipulihkan.



Beri tahu kami tentang akustik dan pembersihan sinyal suara di asisten suara



Tentang ini saya hampir tidak tahu apa-apa, saya hanya berurusan dengan teks tertulis. Fonetik, akustik bukan bidang saya. Tapi saya yakin ada metode audio yang membantu membersihkan sinyal, dan di persimpangan antara sinyal audio dan mesin prediktif, Anda dapat menyaring hipotesis dan memulihkan teks.



Bahasa apa yang paling sulit untuk diproses dan dipahami?



Semuanya rumit. Tidak ada yang lebih rumit atau lebih sederhana; ada banyak data untuk bahasa Inggris, jadi lebih mudah untuk mengerjakannya, dan semua orang melakukannya.



Ternyata lingkaran setan: ketika orang-orang di konferensi ingin mencoba algoritme baru, mereka mengambil mayat terkenal dan melihat bagaimana angka pada metrik bertambah. Untuk mengukur algoritme Anda, Anda membutuhkan korpus yang baik; ada banyak corpus bagus dalam bahasa Inggris, jadi mereka menjalankan algoritme dalam bahasa Inggris, mendapatkan peningkatan, dan dengan demikian merangsang peneliti lain untuk membuat lebih banyak corpus untuk menemukan lubang di algoritme. Ini adalah tugas yang mudah mendapatkan hibah. Misalnya, ada 10 algoritme untuk menjawab pertanyaan secara otomatis; Pada korpus yang ada, algoritme ini kurang lebih sama, dan para peneliti memutuskan untuk membuat korpus baru untuk melihat perbedaan di antara mereka. Ini adalah tugas yang bagus, ini memungkinkan penyetelan algoritme yang lebih baik. Mereka melakukannya, dan ada lebih banyak korpus untuk bahasa Inggris - dan semakin banyak korpus, semakin banyak algoritma yang muncul.Jika Anda melihat pekerjaan di bidang NLP selama beberapa tahun terakhir, konferensi tidak mengukur bahkan persentase, tetapi peningkatan kualitas sepersekian persen.



Secara umum, ini tidak terlalu membantu dalam masalah praktis, dan ini bukan linguistik komputasi. Beginilah cara para insinyur menangani bahasa jika mereka tidak bekerja dengan ahli bahasa (yaitu, biasa-biasa saja atau sangat teoretis).



Mengapa tidak ada cukup data untuk bahasa Rusia?



Pertanyaan ini menyiksa saya selama bertahun-tahun mempelajari bahasa Rusia, dari universitas tempat saya belajar linguistik terapan.



Saya tidak tahu. Mungkin uang dalam sains Rusia tidak cukup, dan oleh karena itu hanya sedikit data yang dibuat untuk bahasa Rusia. Konferensi di Rusia pada umumnya agak ketinggalan jaman; ada konferensi tentang linguistik terapan, tentang pemrosesan bahasa alami otomatis, tetapi sangat sedikit tim besar yang terlibat dalam hal ini. Ilmuwan pergi ke perusahaan besar - Yandex, ABBYY, sekarang MTS juga mempekerjakan ahli bahasa; profesi ini menjadi lebih diminati dengan munculnya asisten suara. Mereka juga pergi ke luar negeri; Ada banyak ahli bahasa di perusahaan rintisan, Amazon dan Google.

Satu-satunya korpus besar adalah Korpus Nasional Bahasa Rusia. Ada juga korpus yang dibuat oleh teman-teman saya - Korpus Terbuka Bahasa Rusia; tetapi, secara umum, sangat sulit mendapatkan dana untuk ini, dan hanya sedikit orang yang berminat.



Ada kompetisi algoritme di mana korpora kecil dibuat untuk tugas tertentu - misalnya, membandingkan cara sistem menjawab pertanyaan dalam bahasa Rusia atau memahami perintah dalam bahasa Rusia - tetapi data ini tidak cukup untuk melatih sistem besar. Ternyata itu juga menjadi lingkaran setan di arah lain: tidak ada yang perlu dilatih, jadi tidak ada yang perlu dilatih, jadi tidak ada yang diukur, jadi tidak ada data. Plus, lebih banyak data dibutuhkan daripada untuk bahasa Inggris. Setelah menerima ijazah saya, saya segera pergi ke Yandex, jadi sulit bagi saya untuk mengatakan mengapa itu tidak berhasil di sini.



Pendekatan apa yang lebih diambil Google terhadap pemrosesan bahasa? Jaringan saraf atau algoritme?



Jaringan saraf juga merupakan algoritme. Saya tidak memahami dikotomi sedikit, tetapi saya akan mencoba memberi tahu Anda apa (dan secara umum) pendekatan yang kami miliki dalam pemrosesan analitik bahasa dalam linguistik komputasi.



Pendekatan historis tertua adalah pendekatan berbasis aturan. Ahli bahasa menulis aturan dengan tangan, hampir seperti bahasa pemrograman. Misalkan, dalam teks yang dipersepsi, pertama ada subjek, lalu kata kerja, lalu predikat; jika predikatnya dalam satu kasus, maka - satu kesimpulan, dan seterusnya. Misalnya, untuk kasus ketika pengguna mengatakan sesuatu seperti "ok Google, setel alarm untuk jam 7 pagi", Anda dapat membuat aturan berikut: letakkan - sembarang kata - jam alarm - on - angka - di pagi hari. Ini adalah template yang dapat dideskripsikan dan diajarkan ke sistem: jika Anda menggunakan template seperti itu dan berhasil, maka Anda perlu menyetel alarm pada waktu yang ditunjukkan dalam bentuk angka. Tentu saja, ini adalah pola yang sangat primitif, Anda dapat melakukannya dengan lebih rumit. Mereka dapat digabungkan: misalnya, satu templat mengekstrak tanggal dan waktu, kemudian templat untuk menyetel alarm ditulis di atasnya.



Ini adalah pendekatan yang sangat tua, ini sudah berusia 70 tahun - begitulah Eliza, chatbot pertama yang berpura-pura menjadi psikoanalis, ditulis pada tahun 1966. Kemudian orang-orang sangat terkejut. Ada cerita yang ditunjukkan oleh pencipta chatbot ini kepada kolega mereka, dan mereka mengusir mereka keluar ruangan untuk berbicara dengan psikoanalis "nyata". Dan bot ini hanya ditulis pada aturan - lalu itu adalah pendekatan terobosan. Sekarang, tentu saja, kami tidak ingin melakukan ini, karena ada banyak aturan yang diperlukan - bayangkan berapa banyak frasa berbeda yang dapat Anda gunakan hanya untuk menyetel alarm, jika Anda menggunakan aturan murni, Anda harus menjelaskan masing-masing secara manual. Kami sudah lama beralih ke sistem hybrid: mereka dapat melihat pola, tetapi secara umum kami mencoba menggunakan jaringan neural untuk pembelajaran mesin dan menerapkan pendekatan yang diawasi untuk pembelajaran yang diawasi. Yaitu,kita menandai data dan berkata: ok, dalam larik ini yang dapat dikatakan pengguna, bagian ini adalah waktu, dan menjadi normal seperti itu; bagian ini adalah perangkat di mana pengguna ingin menyetel alarm, dan bagian ini, misalnya, nama alarm. Sehingga Anda bisa mengatur jam weker di iPhone pada jam 7 pagi dengan nama "School". Selanjutnya, kami menetapkan korpus besar, melatih parser di atasnya, kemudian parser diterapkan ke permintaan pengguna, dan dengan demikian kami mengenalinya. Beginilah cara Asisten Google bekerja sekarang, dan inilah pendekatan yang kami gunakan sekarang.Selanjutnya, kami menetapkan korpus besar, melatih parser di atasnya, kemudian parser diterapkan ke permintaan pengguna, dan karenanya kami mengenalinya. Beginilah cara Asisten Google bekerja sekarang, dan inilah pendekatan yang kami gunakan sekarang.Selanjutnya, kami menetapkan korpus besar, melatih parser di atasnya, kemudian parser diterapkan ke permintaan pengguna, dan dengan demikian kami mengenalinya. Beginilah cara Asisten Google bekerja sekarang, dan inilah pendekatan yang kami gunakan sekarang.



Kedengarannya primitif, sekarang dalam literatur dan informasi berita sering bocor tentang bagaimana jaringan saraf belajar sendiri pada tubuh besar, mereka menjawab semuanya dan mendukung percakapan. Ini, tentu saja, benar, dan keren, tetapi pendekatan seperti itu tidak berguna jika Anda memerlukan sistem tidak hanya untuk menjawab, tetapi juga untuk mengubah statusnya - setidaknya dengan pengaturan jam alarm. Semua sama, representasi internal diperlukan, yang entah bagaimana harus membawa apa yang dikatakan pengguna. Bahkan jika kita memiliki banyak sekali teks di mana pengguna meminta untuk menyetel alarm, dan itu tidak akan ditandai, maka kita tidak akan dapat melatih pengurai sehingga itu mengubah sistem. Kami akan dapat melatihnya sehingga dia akan berkata "Ya, saya menyetel alarm" dan tidak melakukan apa pun. Tetapi untuk melatih sistem agar mengubah statusnya, menggunakan data yang tidak diberi tag,belum memungkinkan. Jadi apa yang baru-baru ini dirilis oleh OpenAI dan DeepMind - bagian dari Alphabet, perusahaan induk Google - keren, itu adalah teknik chatbot yang bagus yang merespons manusia, tetapi tidak ada teknik yang mengecualikan tenaga kerja manual untuk mengubah status sistem. Oleh karena itu, sayangnya, industri sekarang memiliki standar yang agak rendah dalam hal ini - tidak hanya untuk Asisten Google; semua asisten mengerjakan pendekatan yang kira-kira sama dengan banyak pekerjaan manual - baik memproses data untuk parser, atau menulis aturan (yang tidak ingin kami lakukan). Kami mencoba melakukan pekerjaan manual dengan bantuan perusahaan mitra.tidak termasuk tenaga kerja manual untuk mengubah keadaan sistem, tidak. Oleh karena itu, sayangnya, industri sekarang memiliki standar yang agak rendah dalam hal ini - tidak hanya untuk Asisten Google; semua asisten mengerjakan pendekatan yang kira-kira sama dengan banyak pekerjaan manual - baik memproses data untuk parser, atau menulis aturan (yang tidak ingin kami lakukan). Kami mencoba melakukan pekerjaan manual dengan bantuan perusahaan mitra.tidak termasuk tenaga kerja manual untuk mengubah keadaan sistem, tidak. Oleh karena itu, sayangnya, industri sekarang memiliki standar yang agak rendah dalam hal ini - tidak hanya untuk Asisten Google; semua asisten mengerjakan pendekatan yang kira-kira sama dengan banyak pekerjaan manual - baik memproses data untuk parser, atau menulis aturan (yang tidak ingin kami lakukan). Kami mencoba melakukan pekerjaan manual dengan bantuan perusahaan mitra.Kami mencoba melakukan pekerjaan manual dengan bantuan perusahaan mitra.Kami mencoba melakukan pekerjaan manual dengan bantuan perusahaan mitra.



Beri tahu kami tentang petunjuk yang menjanjikan dalam pengembangan Asisten Google.



Sebenarnya apa yang baru saja kita bahas. Arah - untuk menghasilkan sistem pelatihan baru yang dapat mengubah status sistem dari data tanpa memerlukan pemrosesan data manual. Itu akan keren. Namun sejauh ini, meskipun saya sudah memiliki banyak pengalaman bekerja dengan asisten, sulit bagi saya untuk membayangkan bagaimana sistem seperti itu pada prinsipnya akan bekerja. Saya memahami bagaimana jaringan saraf, metode pengajaran, pendekatan hybrid menjadi lebih rumit, bagaimana persiapan data untuk pelatihan menjadi lebih rumit - tetapi saya tidak mengerti bagaimana membuat koneksi langsung antara data tanpa pengajar dan mengubah sistem. Harus ada semacam representasi internal yang memungkinkan dilakukannya hal ini. Jika seseorang dapat merevolusi dan menata kembali bagian ini, itu akan bagus.



Plus, sekarang banyak yang diinvestasikan dalam pembuatan representasi internal ini - yaitu, jika kita tidak dapat beralih langsung dari data tanpa markup ke mengubah status sistem, kita perlu membuat algoritme yang akan membantu melakukan sesuatu di antaranya. Katakanlah menghasilkan tampilan sistem dari teks dan kemudian orang akan membersihkannya - alih-alih membangunnya dari awal. Ini adalah arah yang sangat menjanjikan, dan meskipun hanya ada sedikit kemajuan, para peneliti masih mencarinya.



Plus - sinyal baru untuk jawaban dan kewarasan percakapan para asisten. Dan metode penilaian. Sekarang kami (yaitu, di industri secara umum) tidak memiliki satu metode pun yang memadai untuk menilai kualitas sistem dialog, tidak ada satu pun metrik yang dapat digunakan untuk membandingkan Asisten, Alice, Alex, Siri, dan seterusnya. Anda dapat melakukan polling pengguna, mencoba menyelesaikan skenario serupa dengan asisten yang berbeda dan menarik kesimpulan dari ini, tetapi tidak ada metrik kuantitatif yang sesuai. Untuk terjemahan mesin, ada metrik, dan lebih atau kurang normal, tetapi untuk ini - tidak ada; ini adalah salah satu masalah yang sekarang sedang dibahas di industri pada konferensi. Korpora dialog untuk bahasa Inggris akhirnya dimulai; jumlah mereka juga sangat sedikit. Tidak ada yang menghitung metrik, tidak ada dan tidak jelas bagaimana caranya. Jika ada yang punya ide bagus,maka orang ini akan mengumpulkan semua kemenangan di konferensi, membuat startup, dan menjualnya di mana saja. Saya akan merobek proyek apa pun yang akan membantu secara kuantitatif, dalam jumlah, mengukur perbedaan antara asisten.



Secara terpisah, ada studi hibrida, yang paling saya lakukan sekarang - tahun lalu saya beralih dari bahasa Rusia ke topik ini. Saya sedang mengerjakan proyek tentang cara membuat Asisten lebih komunikatif, lebih alami. Kami melihat orang berbicara satu sama lain. Tidak hanya kata-kata yang digunakan di sini ("setel / setel alarm"); Nyatanya, bagian ini masih primitif dan sudah selesai, meski masih banyak rutinitas yang harus diselesaikan. Tugas yang belum terselesaikan adalah, misalnya, saat pengguna berkata dalam berbagai bentuk: "Setel saya alarm", "Bisakah Anda menyetel alarm?", "Bisakah Anda menyetel alarm?" Hampir sama, tetapi dalam satu kasus perintah digunakan, dalam kasus lain - pertanyaan. Kami melihat tingkat linguistik ini - pragmatik, yaitu, yang melampaui makna - semantik. Bagi mereka yang telah mempelajari linguistik atau bahasa,markup semantik dalam teks bukanlah istilah baru, tetapi pragmatik menambahkan konteks tambahan padanya; Artinya, tidak hanya "apa yang mereka katakan", tetapi juga "bagaimana mereka mengatakan", "mengapa mereka mengatakan". Secara kasar, jika pengguna berkata kepada asisten "apakah kamu bodoh?", Dia tidak menginginkan jawaban "ya / tidak" - ini adalah sinyal lain, dan Anda harus bertanya apa yang salah dalam perilaku sistem sebelumnya; ini tidak boleh diklasifikasikan sebagai pertanyaan, tetapi sebagai keluhan.



Grup saya - sekarang saya memiliki tiga ahli bahasa yang tersisa setelah pindah ke departemen lain - sekarang mencoba memahami bagaimana orang berinteraksi satu sama lain, bagaimana orang berinteraksi dengan asisten, dan bagaimana mengubahnya menjadi sinyal untuk pembelajaran mesin dan benar-benar melatih sistem untuk lebih memahami berbagai hal ditransmisikan secara non-verbal dan tidak langsung.



Bagaimana dengan jumlah percobaan ulang dan rintisan sehubungan dengan pertanyaan di pernyataan masalah?



Ini adalah metrik yang bagus, tetapi, sayangnya, ini hanya memperhitungkan jumlah frasa yang belum dipahami oleh asisten oleh pengguna. Itu tidak memberi tahu kami seberapa sulit frasa tersebut, seberapa menyenangkan pengalaman pengguna. Setelah siaran, tuliskan kepada saya setiap orang yang memiliki ide untuk membandingkan asisten, Anda dapat membicarakan hal ini secara terpisah - tetapi diperlukan sesuatu yang sangat rumit di sana. Dengan bagian terpisah, kita telah belajar untuk memahami sesuatu - misalnya, berapa persen dari permintaan pengguna yang tidak dipahami oleh sistem, atau dipahami dari waktu ke-N, dan di mana ada kesalahan - dalam penerjemahan ucapan ke dalam teks, pada teks itu sendiri, di suatu tempat lebih jauh ketika mengubah sistem. Tetapi untuk menilai seberapa memadai tanggapan sistem sudah lebih sulit: sebenarnya, apa yang dimaksud dengan "tanggapan yang memadai"? Ada juga semua jenis "ceri di atas kue" seperti kasus ketika pengguna menyebut sistem sebagai "Anda"dan dia menjawab "kamu" - apakah itu baik atau buruk? Kelihatannya buruk, asistennya adalah sosok bawahan.



Secara umum, banyak chip kecil yang sulit untuk diperhitungkan dalam pengukuran kuantitatif.



Apakah ada bahasa perantara dan umum untuk pemrosesan yang disederhanakan dan kemudian beralih ke bahasa yang diinginkan?



Ini pertanyaan yang bagus, tapi seharusnya bukan saya yang menanyakannya, tetapi perwakilan ABBYY yang telah mencoba melakukan hal itu selama bertahun-tahun. Artinya, dalam linguistik ada gagasan bahwa semua bahasa dibangun dengan cara yang sama, dan Anda dapat membuat tata bahasa universal, kamus, dan yang lainnya untuk mendapatkan penghubung antara semua bahasa. Kemudian seseorang dapat menerjemahkan dari satu bahasa ke bahasa meta dan kemudian ke bahasa lain. Banyak tahun manusia dihabiskan untuk tugas ini, tetapi ternyata - terlepas dari keindahan idenya - bahasanya masih sangat berbeda, dan hampir tidak mungkin untuk melakukan pemetaan seperti itu. Dan tidak jelas bagaimana melakukan ini secara otomatis - bukan dengan tangan. Akibatnya, topik itu punah.



Ternyata jika Anda menuangkan banyak data dan menjalankan jaringan saraf, terjemahan mesin ternyata memiliki kualitas yang cukup dan tanpa bahasa meta. Jaringan saraf pandai menghitung pola, termasuk pola gramatikal, oleh karena itu, jika jumlah datanya mencukupi, maka mereka sendiri mengatasinya tanpa petunjuk dari tautan perantara. Dalam terjemahan mesin, semuanya bekerja dengan baik jika ada teks paralel yang bagus. Misalnya, ada banyak teks paralel antara bahasa Rusia dan Inggris, tetapi tidak ada sama sekali antara bahasa Rusia dan beberapa bahasa India Amerika - tetapi ada banyak teks paralel antara bahasa itu dan bahasa Inggris, yaitu, bahasa Inggris dapat memainkan peran sebagai bahasa perantara. Seringkali terjemahan dari bahasa Rusia dilakukan pertama-tama ke dalam bahasa Inggris, kemudian ke bahasa ketiga; teknik ini cukup umumsehingga bahasa Inggris dalam praktiknya menggantikan bahasa meta yang sama - lagipula, data yang paling banyak diterjemahkan adalah ke dan dari bahasa Inggris. Kualitas menderita, tentu saja, tetapi itu lebih baik daripada tidak sama sekali. Jika tidak ada sistem untuk diajarkan, maka lebih baik mengajar dengan terjemahan selangkah demi selangkah daripada tidak melakukan apa-apa.

Secara umum, dari sudut pandang teoritis, idenya indah, tetapi dalam praktiknya bahasa Inggris digunakan.



Dapatkah Anda memberikan contoh masalah yang sedang Anda tangani di Google? Berapa persentase tugas yang menarik dan rutin?



Ketika saya meluncurkan Asisten Rusia, ada banyak tugas rutin - hanya karena algoritme bersifat universal, dan sebagian besar pekerjaan dikurangi menjadi memperbaiki bug secara manual dan menyiapkan data bahasa Rusia. Kami mengecek kualitasnya, terkadang kami menulis data dengan tangan; kedengarannya sangat menyedihkan, tetapi kami tidak dapat menggunakan data pengguna, dan kami harus mengambilnya dari suatu tempat. Untuk mengambil data, Anda juga bisa menulis aturan dan menghasilkan data; atau data terbuka. Yang cukup menarik, adalah mungkin untuk berurusan dengan morfologi, untuk melihat bahwa generasi dan pemahaman teks lebih pintar dan tidak perlu menuliskan semua bentuk kata "jam alarm" di kolom. Sayangnya, ada banyak siklus "run-see-quality-fix-again-run-fix data-dan seterusnya"; Awalnya menyenangkan, tapi dengan cepat menjadi rutinitas. Sekarang,karena saya lebih banyak dalam penelitian, kami membuat agenda kami sendiri, dalam arti tertentu. Saya hanya membuat data baru yang dapat berguna di masa depan untuk metrik, dan meneliti bagaimana orang berbicara satu sama lain dan dengan asisten untuk memahami sinyal apa yang dapat digunakan untuk melatih model. Kami menganalisis kualitas. Bagian dari pekerjaan yang saya lakukan saat ini adalah produk, kami mencoba membuat peta jalan masalah dalam interaksi dialog antara seseorang dan asisten, untuk memahami cara mengklasifikasikannya, untuk memahami apa yang bisa kami selesaikan sekarang, apa nanti. Artinya, sekarang saya hampir tidak memiliki tugas rutin yang tersisa, dan saya puas dengan pengaturan saya.yang dapat berguna di masa depan untuk metrik, dan meneliti bagaimana orang berbicara satu sama lain dan untuk asisten untuk memahami sinyal apa yang dapat digunakan untuk melatih model. Kami menganalisis kualitas. Bagian dari pekerjaan yang saya lakukan saat ini adalah produk, kami mencoba membuat peta jalan masalah dalam interaksi dialog antara seseorang dan asisten, untuk memahami cara mengklasifikasikannya, untuk memahami apa yang bisa kami selesaikan sekarang, apa yang nanti. Artinya, sekarang saya hampir tidak memiliki tugas rutin yang tersisa, dan saya puas dengan pengaturan saya.yang dapat berguna di masa depan untuk metrik, dan meneliti bagaimana orang berbicara satu sama lain dan untuk asisten untuk memahami sinyal apa yang dapat digunakan untuk melatih model. Kami menganalisis kualitas. Bagian dari pekerjaan yang saya lakukan saat ini adalah produk, kami mencoba membuat peta jalan masalah dalam interaksi dialog antara seseorang dan asisten, untuk memahami cara mengklasifikasikannya, untuk memahami apa yang bisa kami selesaikan sekarang, apa yang nanti. Artinya, sekarang saya hampir tidak memiliki tugas rutin yang tersisa, dan saya puas dengan pengaturan saya.kami mencoba membuat peta jalan dari masalah dalam interaksi dialog antara seseorang dan asisten, untuk memahami bagaimana mengklasifikasikannya, untuk memahami apa yang dapat kami selesaikan sekarang, apa - kemudian. Artinya, sekarang saya hampir tidak memiliki tugas rutin yang tersisa, dan saya puas dengan pengaturan saya.kami mencoba membuat peta jalan masalah dalam interaksi dialog antara seseorang dan asisten, untuk memahami bagaimana mengklasifikasikannya, untuk memahami apa yang dapat kami selesaikan sekarang, apa yang nanti. Artinya, sekarang saya hampir tidak memiliki tugas rutin yang tersisa, dan saya puas dengan pengaturan saya.

Keseimbangan ini terlihat berbeda untuk ahli bahasa yang berbeda. Baru-baru ini kami merayakan hari jadi - 100 ahli bahasa di perusahaan, sekarang ada lebih banyak lagi. Keren sih, karena saat saya bergabung dengan perusahaan 4 tahun lalu, kami berjumlah 30. Permintaan kami pasti terus meningkat.



Apakah Anda menggunakan definisi konteks untuk menganalisis teks?



Saya tidak tahu apakah penulis pertanyaan masih mencari - merumuskan ulang, tolong, saya tidak mengerti.

Kami menggunakan konteks, tentu saja; tanpanya, tidak ada interaksi dialog. Tentu saja, kami mencoba untuk memecahkan masalah sehingga pengguna, misalnya, tidak selalu mengucapkan "jam alarm", tetapi dapat menggunakan kata ganti alami ("setel jam alarm ke 7, tidak, ubah ke 8"). Ini sudah bekerja dengan baik untuk bahasa Inggris; Saya tidak ingat apakah itu sudah diluncurkan untuk Rusia.



Mengapa kolom bahasa Rusia belum diluncurkan?



Dari apa yang saya tahu, Google memiliki banyak bahasa berbeda. Prioritas harus diatur sesuai dengan volume dan nilai pasar, dan pasar Rusia bukanlah yang paling menarik. Agak menggairahkan bahwa ada Yandex di Rusia, dan Anda dapat bersaing dengannya, tetapi dari sudut pandang praktis, tidak ada yang mau. Selain itu, Google telah menutup kantor pengembangan di Rusia setelah penerapan undang-undang tentang data pribadi.



Apakah ada perpustakaan terbuka untuk pengenalan dan pembuatan ucapan, larik data untuk melatih jaringan saraf? Seberapa terbukakah teknologi ini?



Ya, penuh dengan algoritme sumber terbuka. Google baru-baru ini merilis Bert, perpustakaan super baru; Sekarang konferensi penuh dengan pembaruan, yang disebut berbagai kata lucu, di dalamnya ada "Bert" (Albert). Semuanya open source, dibuat oleh ilmuwan terbaik kami di Berlin. Anda bisa melatih apapun; komunitas ilmiah memiliki data untuk melatih jaringan saraf dan melihat apa yang terjadi. Seperti yang saya katakan, data ini tidak cukup untuk bahasa Rusia, lebih banyak untuk bahasa Inggris, jadi semua orang bersenang-senang dengannya.



Artinya, Anda tidak memiliki teks log pengguna?



Kami tidak dapat membaca log pengguna. Satu-satunya pengecualian adalah kasus ketika pengguna mengeluh dan mereka secara khusus diminta izin untuk membagikan begitu banyak pernyataan terakhir. Tetapi bahkan dalam kasus seperti itu, kami hanya melihat penceritaan ulang masalah dari dukungan yang terlatih khusus dan statistik gabungan dalam bentuk "asisten menjawab bahwa dia tidak mengerti, sekian persen kali." Google mengambil data pengguna dengan sangat hati-hati. Bagian dari apa yang tim saya lakukan adalah memikirkan tentang cara menghasilkan data realistis atau mengumpulkannya dari orang-orang yang dibayar khusus. Ini adalah arahan penting bagi semua tim industri karena privasi tidak boleh dilanggar. Kita harus mencari metode pengumpulan data baru, menulis alat baru;Saya telah melakukan ini cukup dekat selama enam bulan terakhir. Sayangnya, detailnya belum dipublikasikan. Kami ingin menulis artikel untuk konferensi, tetapi epidemi menghalangi. Ketika Anda bekerja di sebuah perusahaan, pada prinsipnya Anda hanya membutuhkan artikel untuk pergi ke konferensi dengan mengorbankan perusahaan dan berkumpul. Dan sekarang semua konferensi telah online, dan Anda tidak akan bisa nongkrong - motivasi untuk menulis artikel benar-benar hilang. Sekarang epidemi akan berakhir, dan kami akan tetap melakukannya.Sekarang epidemi akan berakhir, dan kami akan tetap melakukannya.Sekarang epidemi akan berakhir, dan kami akan tetap melakukannya.



, , ?



Saya tidak akan menunjukkan item tes apa pun, tetapi saya dapat memberi tahu Anda tentang wawancaranya. Seperti yang saya katakan, kami sekarang memiliki 100 ahli bahasa, dan wawancara sekarang berlangsung dalam format yang diketahui para insinyur - wawancara di kolam renang. Kami mewawancarai ahli bahasa secara berturut-turut, dan jika ada ahli bahasa yang baik, kami mencari di mana ada lowongan dan menugaskan mereka ke tim. Kami memiliki ahli bahasa dari berbagai profil; seseorang memprogram, seseorang secara praktis tidak memprogram. Saya dari kategori kedua: Saya lebih banyak di bagian penelitian, saya sendiri tidak melatih model - ada orang di tim yang melakukan ini. Kami sekarang memiliki 8 tim ahli bahasa dengan ukuran berbeda, dan kami juga memiliki tim internalisasi, di mana saya adalah seorang spesialis dalam bahasa Rusia: mereka adalah orang-orang yang memantau kualitas asisten (sekarang saya hanya seorang peneliti bahasa dan saya melakukan tugas-tugas yang tidak terkait dengan bahasa tertentu) ...Bergantung pada profil mereka, ahli bahasa termasuk dalam salah satu tim ini.



Jika tugas ditujukan untuk bahasa tertentu, diperlukan penutur bahasa tertentu; mereka menerima tugas khusus dalam bahasa ini - kami mencoba mencari tahu apakah orang tersebut memahami fiturnya dengan baik. Misalnya, jika kami merekrut untuk posisi dengan bahasa Rusia (sekarang tidak ada), kami akan bertanya mengapa bahasa Rusia lebih rumit daripada bahasa Inggris, metode apa yang ada untuk mengatasi kesulitan ini, bagaimana morfologi Rusia bekerja, apa yang dibutuhkan komputer untuk memahami ini, bagaimana pengaruhnya dengan jumlah data. Jika perannya umum, maka kami akan bertanya tentang seberapa baik seseorang memahami realitas linguistik saat ini, seberapa banyak dia dapat memikirkan tentang algoritme. Meskipun saya hampir tidak pernah memprogram diri saya sendiri, saya sangat memahami cara kerja Machine Learning, apa yang diperlukan untuk melatih sistem, tentang sinyal, pembelajaran yang diawasi / tidak diawasi, dan sebagainya. Sebenarnya ini apayang biasanya saya tanyakan dalam wawancara. Contoh paling umum: β€œBagaimana Anda memperbaiki kesalahan ketik? Ada jumlah uang dan pengembang yang tidak terbatas, tetapi belum ada produk - bagaimana membuatnya dari sudut pandang linguistik, apa langkah-langkahnya? " Secara umum, orang dapat bertanya tentang komponen apa pun yang mencakup bahasa alami. Bagaimana itu dibangun menurut responden? Bagaimana seseorang akan membangun yang serupa, masalah apa yang dia lihat? Bagaimana cara mentransfer pengalaman dari bahasa Inggris ke bahasa Mandarin, dari bahasa Mandarin ke bahasa Rusia, dari bahasa Rusia ke bahasa Hindi? Bagaimana dia akan mengatur pekerjaannya dengan bahasa yang dia tidak tahu? Ada banyak pilihan.apa langkah-langkahnya? " Secara umum, Anda bisa bertanya tentang komponen apa saja yang menyertakan bahasa natural. Bagaimana itu dibangun menurut responden? Bagaimana seseorang akan membangun yang serupa, masalah apa yang dia lihat? Bagaimana cara mentransfer pengalaman dari bahasa Inggris ke bahasa Mandarin, dari bahasa Mandarin ke bahasa Rusia, dari bahasa Rusia ke bahasa Hindi? Bagaimana dia akan mengatur pekerjaannya dengan bahasa yang dia tidak tahu? Ada banyak pilihan.apa langkah-langkahnya? " Secara umum, Anda bisa bertanya tentang komponen apa saja yang menyertakan bahasa natural. Bagaimana itu dibangun menurut responden? Bagaimana seseorang akan membangun yang serupa, masalah apa yang dia lihat? Bagaimana cara mentransfer pengalaman dari bahasa Inggris ke bahasa Mandarin, dari bahasa Mandarin ke bahasa Rusia, dari bahasa Rusia ke bahasa Hindi? Bagaimana dia akan mengatur pekerjaannya dengan bahasa yang dia tidak tahu? Ada banyak pilihan.



Apakah Anda memantau perilaku pengguna: perintah apa yang diberikan pengguna, tindakan apa yang diambil oleh perangkat?



Kami tidak dapat memantau perilaku pengguna. Kami hanya dapat menemukan metode untuk mensimulasikannya dan menguji bagaimana sistem merespons. Inilah yang sebenarnya kami lakukan: mencoba mencari cara untuk mengukurnya, dan mencoba mengumpulkan data untuk melatih algoritme.



Bagaimana konteks percakapan dilacak? Berapa banyak memori yang digunakan untuk ini? Apakah ada ketekunan antar sesi?



Apakah ada banyak penggunaan memori - Saya tidak tahu detailnya, bahkan tidak untuk departemen tempat saya bekerja. Departemen kami lebih mementingkan kualitas, tetapi ada departemen yang melihat apakah ada cukup memori, jika ada kebocoran, jika asisten bodoh selama 10 menit untuk menyetel alarm.



Kami melacak konteksnya. Sayangnya, sejauh ini hanya dalam satu sesi. Ini adalah salah satu tugas yang akan diselesaikan oleh departemen kami - tim saya, tim teknik tetangga - selama tahun depan. Tugas yang sangat keren dan menarik: berapa lama untuk mempertahankan konteks, pada poin apa untuk mempertimbangkan bahwa percakapan telah selesai, apakah akan selalu mempertahankan konteks pengguna, informasi apa tentang pengguna yang akan disimpan sistem itu sendiri. Secara relatif, jika pengguna mengatakan "Saya benci pizza", sebaiknya pertahankan konteks ini selamanya dan tanyakan setahun sekali apakah situasinya telah berubah. Dan, jika pengguna menjawab bahwa dia belum berubah, jangan tawarkan pengiriman pizza. Sementara asisten tidak tahu bagaimana melakukan ini - sayangnya, mereka masih sangat jauh dari sempurna, mereka membutuhkan lebih banyak konteks yang berbeda.



Sekarang kita dapat memahami kata ganti dalam satu sesi ("setel alarm, setel jam 8 pagi"). Kami sedang bekerja untuk memperluas konteks ini, dan secara terpisah melakukan penelitian untuk memahami konteks apa yang berguna, berapa banyak yang dibutuhkan, di mana dan berapa banyak untuk menyimpannya. Tentu saja, Google memiliki banyak server, jadi kami tidak perlu menghemat uang, tetapi kami ingin asisten tidak memproses setiap permintaan selama 3 jam. Ini cukup cepat sekarang, tapi tidak sempurna; dan jika kami membuatnya sempurna, kami ingin itu terus bekerja dengan cepat.



Apakah Anda memiliki persaingan antar tim?



Iya dan tidak. Tentu saja, menurut pengaturan pekerjaan di dalam Google, Anda dapat membuat siaran terpisah. Kami memiliki banyak inisiatif lokal; orang dapat mencoba membuat prototipe apa pun, menyarankannya kepada bos - bos selalu sangat terbuka, dan mereka akan melamar bos teratas. Cukup banyak proyek muncul dari kenyataan bahwa seseorang mencoba melakukan sesuatu, dia berhasil, dan diputuskan untuk melakukannya dalam kualitas yang sesuai untuk rilis. Tentu saja, ada situasi ketika di 5 tempat pada waktu yang sama orang datang ke ide yang sama, dan 10 prototipe diperoleh. Pada saat seperti itu, terkadang Anda harus memilih salah satu prototipe, tetapi biasanya mereka mencoba menyatukan orang ke dalam sebuah tim sehingga mereka dapat mengembangkan fitur baru bersama-sama, merilisnya ke dalam produksi, dan semua orang senang.



Jadi persaingan memang ada, tapi kita upayakan agar persaingan tetap sehat, agar tidak terlalu banyak politik. Secara keseluruhan, suasananya bagus. Kami sekarang duduk di antara penelitian dan produksi, kami membawa ide, kami berada di pusat gempa dengan manajer produk, dan dengan proyek, dan dengan semua orang - semua orang terkoordinasi dan bekerja sama. Kekacauan, tapi semuanya spiritual.



Apa yang akan terjadi lebih cepat - apakah mereka akan menjadi asisten suara cerdas yang tidak akan memahami lebih buruk daripada seseorang, atau akankah Elon Musk menciptakan antarmuka saraf?



Saya tidak tahu apa-apa tentang tahap di mana antarmuka saraf berada. Tapi asisten suara pintar yang akan memahami sebaik seseorang masih sangat jauh. Sejauh ini, belum ada yang mengerti bagaimana caranya agar asistennya mengerti. Semua chat di jaringan saraf yang kuat adalah tiruan. Saya melihat pertanyaan tentang tes Turing - ini juga tes untuk meniru, untuk seberapa baik sistem berpura-pura menjadi seseorang dan berpura-pura mengerti, tetapi bagaimanapun juga, tidak ada sistem yang memahami apa pun. Ada chatbot Eugene Goostman, yang memenangkan salah satu tes - lulus persentase tertentu dari juri yang harus ditipu. Dia berpura-pura menjadi anak laki-laki berusia 15 tahun dari Odessa dengan ayahnya, seorang ginekolog dan kelinci percobaan (bukan lelucon - dia berbicara tentang dirinya sendiri). Bot menjaga konteksnya sedikit, bertanya: "Dari mana asal Anda?" - dan mengingat kota dari jawabannya,dan kemudian menggunakan hafalan tersebut setelah beberapa saat, menyebabkan efek wow. Meskipun sekarang tidak terlalu sulit untuk membuat efek wah dengan asisten suara; mereka tidak sempurna. Selain itu, karena kompetisinya dalam bahasa Inggris, kata-kata kasar dalam bot dikaitkan dengan fakta bahwa dia "dari Odessa" - mereka percaya pada anak laki-laki asing.



Pertanyaannya adalah apa yang disebut "pemahaman", apa itu "pemahaman sebaik manusia," dan apa yang pada dasarnya kita inginkan dari bot obrolan. Tidak ada yang tahu jawaban untuk pertanyaan ini juga. Apakah kita ingin dia mengobrol dengan kita seperti sahabat, atau agar dia terus mengontrol smart home dan mobil serta menyetel alarm? Apa yang dapat dia lakukan? Bisakah dia memanggil kita nama dan mengejek kita? Bukan karena semua sahabat kita menyebut nama dan ejekan, tetapi ada cara khusus untuk berkomunikasi dengan orang yang dicintai. Mungkin kita tidak ingin sistem berbicara kepada kita dengan baik dan memburu anekdot?






Apa yang terjadi sebelumnya



  1. Ilona Papava, Senior Software Engineer di Facebook - cara mendapatkan magang, mendapatkan tawaran, dan segala sesuatu tentang bekerja di perusahaan
  2. Boris Yangel, insinyur Yandex ML - bagaimana tidak bergabung dengan barisan spesialis bodoh jika Anda seorang Ilmuwan Data
  3. , EO LastBackend β€” , 15 .
  4. , Vue.js core team member, GoogleDevExpret β€” GitLab, Vue Staff-engineer.
  5. , DeviceLock β€” .
  6. , RUVDS β€” . 1. 2.
  7. , - . β€” .
  8. , Senior Digital Analyst McKinsey Digital Labs β€” Google, .
  9. «» , Duke Nukem 3D, SiN, Blood β€” , .
  10. , - 12- β€” ,
  11. , GameAcademy β€” .
  12. , PHP- Badoo β€” Highload PHP Badoo.
  13. , CTO Delivery Club β€” 50 43 ,
  14. , Doom, Quake Wolfenstein 3D β€” , DOOM
  15. , Flipper Zero β€”









All Articles