Kita berbicara tentang mesin pencari visual yang menerima investasi modal ventura Barat pertama di bidang TI di Rusia, yang dibangun berdasarkan jaringan saraf semantik aktif. Di bawah pemotongan, kami akan memberi tahu Anda tentang prinsip dasar operasi dan arsitekturnya.
Origins
Saya sangat beruntung dalam hidup saya - saya belajar di bawah bimbingan Nikolai Mikhailovich Amosov , seorang yang luar biasa, ahli bedah jantung dan sibernetika. Saya belajar in absentia - runtuhnya Uni Soviet tidak memberi saya kesempatan untuk bertemu langsung.
Banyak yang dapat dikatakan tentang Nikolai Mikhailovich, ia dilahirkan dalam keluarga petani di sebuah desa dekat Cherepovets dan pada saat yang sama menerima tempat kedua dalam proyek "Ukraina Hebat", memberikan tempat pertama kepada Yaroslav the Wise. Ahli bedah jantung dan insinyur cybernetic terkemuka yang secara mandiri mengembangkan katup buatan pertama di Uni Soviet. Jalan-jalan, sekolah kedokteran, perguruan tinggi, kapal pesiar di reservoir Ivankovskoye dinamai menurut namanya.
Banyak yang telah ditulis tentang ini di Wikipedia dan di situs lain .
Saya ingin menyentuh sisi Amosov yang tidak terlalu terang. Pandangan yang luas, dua pendidikan (kedokteran dan teknik) memungkinkannya untuk mengembangkan teori jaringan saraf semantik aktif (jaringan-M), di mana, lebih dari 50 tahun yang lalu, hal-hal yang diimplementasikan masih mencolok dalam keunikannya.
Dan jika ada cukup daya komputasi pada saat itu, mungkin AI yang kuat sudah diterapkan hari ini.
Dalam karyanya, Amosov berhasil menjaga keseimbangan antara neurofisiologi dan matematika, mempelajari dan mendeskripsikan proses informasional dari kecerdasan. Hasil karyanya disajikan dalam beberapa karya, yang terakhir adalah monograf “Algorithms of the Mind” terbitan 1979.
Berikut adalah kutipan singkat tentang salah satu model:
“… (Kami) melakukan studi, yang tujuannya adalah untuk mempelajari kemungkinan jaringan-M di bidang neurofisiologi dan neuropsikologi, serta untuk menilai kepentingan praktis dan kognitif dari model tersebut. Sebuah M-automaton dikembangkan dan dipelajari, yang mensimulasikan mekanisme bicara. Model tersebut menyajikan aspek-aspek pidato lisan seperti persepsi, pemahaman, ekspresi verbal.
Model ini dirancang untuk mereproduksi fungsi ucapan yang relatif sederhana (!!!) - jawaban atas pertanyaan dengan jenis terbatas, pengulangan, penamaan. Ini berisi blok-blok berikut: persepsi pendengaran, ucapan sensorik, ucapan proprioseptif, konseptual, emosi, motivasi, ucapan motorik, artikulatoris dan blok SUT. Blok model tersebut berkorelasi dengan formasi otak tertentu ...
... Input dari model adalah huruf-huruf alfabet Rusia, digabungkan menjadi kata dan frasa, serta objek khusus yang sesuai dengan gambar objek. Pada keluaran model, tergantung pada mode operasinya, urutan huruf alfabet Rusia diamati, yang berupa jawaban atas pertanyaan masukan, atau pengulangan kata masukan, atau nama objek.
Fakta bahwa data neurofisiologis digunakan secara luas dalam pembuatan model memungkinkan dalam eksperimen untuk mensimulasikan sejumlah lesi otak yang bersifat organik dan fungsional, yang menyebabkan gangguan fungsi bicara.
Dan ini hanyalah salah satu pekerjaan.
Lainnya adalah kontrol robot seluler. “… Sistem kendali robot mengasumsikan penerapan gerakan yang disengaja dengan memastikan keamanannya sendiri (menghindari rintangan, menghindari tempat berbahaya, menjaga parameter internal dalam batas yang ditentukan) dan meminimalkan waktu dan biaya energi”.
Selain itu, monograf tersebut menggambarkan hasil pemodelan tingkah laku bebas “subjek tertentu dalam lingkungan yang berisi benda-benda berguna dan berbahaya baginya. Motif subjek untuk berperilaku ditentukan oleh perasaan lelah, lapar, dan keinginan untuk mempertahankan diri. Subjek mempelajari lingkungan, memilih tujuan gerakan, membuat rencana untuk mencapai tujuan tersebut dan kemudian menerapkannya dengan melakukan langkah-langkah tindakan, membandingkan hasil yang diperoleh selama gerakan dengan yang direncanakan, melengkapi dan menyesuaikan rencana tergantung pada situasi yang muncul.
Fitur teori
Dalam karyanya, Amosov berusaha menciptakan model informasiasional / algoritmik, seperti yang sekarang kita katakan, tentang "kecerdasan yang kuat" dan, menurut pendapat saya, teorinya paling dekat menggambarkan apa yang sebenarnya terjadi di otak mamalia.
Fitur utama jaringan-M, yang secara fundamental membedakannya dari paradigma jaringan saraf lainnya, adalah beban semantik yang ketat dari setiap neuron dan adanya sistem untuk penilaian internal statusnya. Ada neuron-reseptor, neuron-objek, neuron-perasaan, neuron-tindakan.
Pembelajaran berlangsung sesuai dengan aturan Hebb yang dimodifikasi, dengan mempertimbangkan keadaan batin Anda. Dengan demikian, keputusan dibuat berdasarkan distribusi aktivitas neuron yang ditunjuk secara semantik.
Jaringan belajar "dengan cepat", tanpa pengulangan berulang. Mekanisme yang sama bekerja dengan berbagai jenis informasi, baik itu ucapan atau persepsi data visual, aktivitas motorik. Paradigma ini mensimulasikan kerja kesadaran dan alam bawah sadar.
Mereka yang tertarik dapat menemukan buku-buku Amosov dengan penjelasan yang lebih rinci tentang teori dan implementasi praktis dari berbagai aspek kecerdasan, tetapi saya akan memberi tahu Anda tentang pengalaman kami dalam membangun mesin pencari visual Quintura Search.
Quintura
Perusahaan Quintura didirikan pada tahun 2005. Prototipe aplikasi desktop yang mendemonstrasikan pendekatan kami diimplementasikan dengan uang kami sendiri. Dengan uang malaikat Ratmir Timashev dan Andrey Baronov (kemudian menjadi dana ABRT ), prototipe diselesaikan, negosiasi diadakan dan investasi diterima dari dana Luksemburg Mangrove Capital Partners . Ini adalah investasi Barat pertama di Rusia di bidang IT. Ketiga mitra dana datang ke Sergiev Posad untuk melihat mata kami dan membuat keputusan untuk berinvestasi.
Dengan dana yang diterima, selama enam tahun, fungsionalitas penuh dari mesin pencari web dikembangkan - mengumpulkan informasi, mengindeks, memproses pertanyaan dan mengeluarkan hasil. Intinya adalah jaringan-M, atau lebih tepatnya satu set jaringan-M (satu jaringan konseptual dan jaringan untuk setiap dokumen). Jaringan dilatih dalam satu lintasan dokumen. Untuk beberapa siklus penghitungan ulang, kata kunci dialokasikan, dokumen ditemukan yang sesuai dengan kueri dalam arti, dan penjelasannya dibuat. Jaringan memahami konteks permintaan, lebih tepatnya, memungkinkan pengguna untuk mengklarifikasi dengan menambahkan arti yang diperlukan untuk pencarian dan menghapus dari dokumen hasil pencarian yang memiliki konteks yang tidak relevan.
Prinsip dan pendekatan dasar
Seperti disebutkan di atas, setiap neuron di jaringan memiliki beban semantiknya sendiri. Untuk mengilustrasikan paten, kami mengusulkan gambar visual (Saya mohon maaf atas kualitasnya - gambar asli belum diawetkan, selanjutnya kami menggunakan gambar dari pemindaian paten kami dan dari artikel tentang kami dari berbagai situs):
Sederhana, jaringan konseptual adalah sekumpulan konsep neuron yang terkait satu sama lain melalui koneksi, sebanding dengan frekuensi kemunculannya satu sama lain. Saat pengguna memasukkan kata kueri, kami "menarik" neuron dari kata ini, dan dia, pada gilirannya, menarik neuron yang terkait dengannya. Dan semakin kuat hubungannya, semakin dekat neuron lain ke neuron permintaan.
Jika ada beberapa kata dalam permintaan, maka semua neuron yang sesuai dengan kata permintaan akan ditarik.
Jika kami memutuskan untuk menghapus kata yang tidak relevan, kami semacam menahan beban yang menarik konsep yang dihapus dan yang terkait dengannya.
Hasilnya, kita mendapatkan awan tag, di mana kata-kata kueri ada di atas (font terbesar), dan konsep terkait ditempatkan berdampingan, semakin besar tautannya, semakin besar fontnya.
Di bawah ini adalah peta semantik dari dokumen yang ditemukan dengan query "beauty".
Saat Anda mengarahkan mouse ke kata "fashion", peta akan dibangun kembali:
Jika Anda menggerakkan penunjuk mouse ke kata "travel", kita akan mendapatkan peta lain:
Dengan demikian, kita dapat mempersempit permintaan dengan menunjukkan arah yang kita butuhkan, membentuk konteks yang kita butuhkan.
Bersamaan dengan pembangunan kembali peta, kami mendapatkan dokumen yang paling relevan dengan konteks yang diberikan, dan kami mengecualikan cabang yang tidak perlu dengan menghapus kata-kata yang tidak relevan.
Kami membangun indeks dokumen sesuai dengan prinsip berikut:
Ada 4 lapisan neuron. Lapisan kata, lapisan konsep (dapat digabungkan menjadi satu lapisan), lapisan kalimat, lapisan dokumen.
Neuron dapat dihubungkan satu sama lain dengan dua jenis koneksi - memperkuat dan penghambatan. Karenanya, setiap neuron dapat berada dalam tiga jenis keadaan: aktif, netral, dan tertekan. Neuron mengirimkan aktivitas melalui penguatan koneksi melalui jaringan, penghambat "jangkar". Lapisan konsep berguna untuk bekerja dengan sinonim, serta menyoroti konsep yang "kuat" atau signifikan di atas yang lain, menentukan kategori dokumen.
Misalnya, kata Apple pada kata layer akan dikaitkan dengan konsep buah, istilah anatomi, dan perusahaan. Minyak - dengan minyak dan minyak. Kata Rusia "kepang" dengan tatanan rambut, alat kerja, senjata, bantuan. Dll
Kami membangun komunikasi dua arah - baik langsung maupun terbalik. Pembelajaran (perubahan tautan) terjadi dalam satu lintasan melalui dokumen berdasarkan aturan Hebb - kami meningkatkan tautan antara kata-kata yang dekat satu sama lain, juga, kami juga menautkan kata-kata yang ada dalam kalimat, paragraf, dokumen yang sama dengan tautan yang lebih kecil. Semakin sering kata-kata ditemukan berdampingan baik dalam dokumen yang sama maupun dalam sekelompok dokumen, semakin erat hubungan di antara mereka.
Arsitektur ini memungkinkan Anda menyelesaikan tugas-tugas berikut secara efektif:
- mengatur dan mengelola konteks pencarian;
- mencari dokumen yang sesuai dengan konteks pencarian (tidak hanya mengandung kata query);
- menampilkan konteks semantik dari sekumpulan dokumen (apa asosiasi mesin pencari dengan kata-kata kueri);
- menyoroti kata kunci dokumen / dokumen;
- membuat anotasi dokumen;
- mencari dokumen yang memiliki arti serupa.
Mari pertimbangkan implementasi setiap tugas.
Mengatur dan mengelola konteks pencarian
Kasus ini diilustrasikan sebelumnya. Pengguna memasukkan kata-kata kueri, kata-kata ini membangkitkan semua yang terkait dengannya, kemudian, kita dapat memilih konsep terdekat (memiliki eksitasi maksimum), atau selanjutnya mengirimkan eksitasi melalui jaringan dari semua neuron yang tereksitasi pada langkah sebelumnya, dan seterusnya - dalam hal ini, mereka mulai asosiasi kerja. Sejumlah kata / konsep yang paling menarik ditampilkan di peta (Anda juga dapat memilih apa yang akan ditampilkan - lapisan kata, konsep, atau keduanya). Jika perlu, kata-kata yang tidak relevan dihapus (menghapus konsep terkait dari peta), sehingga memberikan deskripsi yang akurat tentang konteks penelusuran yang diperlukan.
Menemukan dokumen yang cocok dengan konteks pencarian
Keadaan dua lapisan pertama jaringan pada langkah ini mengirimkan kegembiraan mereka ke lapisan berikutnya, yang neuronnya diberi peringkat berdasarkan eksitasi, dan kami mendapatkan daftar dokumen yang diberi peringkat berdasarkan relevansi tidak hanya dengan kata-kata kueri, tetapi juga konteks yang dihasilkan.
Dengan demikian, hasil pencarian tidak hanya akan menyertakan dokumen yang berisi kata-kata dari kueri, tetapi juga yang terkait dengan artinya. Dokumen yang dihasilkan dapat digunakan untuk mengubah konteks pencarian baik dengan memperkuat konsep yang terdapat dalam dokumen “perlu” bagi kami, atau dengan menurunkan bobot konsep yang terkait dengan dokumen yang tidak relevan. Dengan cara ini, Anda dapat dengan mudah dan intuitif mempersempit kueri dan mengelola hasil penelusuran.
Menampilkan konteks semantik dari sekumpulan dokumen
Transfer eksitasi ke arah yang berlawanan, dari neuron-dokumen ke neuron ke konsep / kata, memungkinkan Anda untuk mendapatkan peta visual yang konteks semantik hadir dalam kumpulan dokumen. Ini adalah cara alternatif untuk mendapatkan peta tag yang bermakna dan menavigasi ruang makna. Proses ini dapat dilakukan secara berulang-ulang dengan mengubah arah eksitasi - dengan menerima dokumen untuk konteks pencarian, atau dengan mengubah konteks pencarian untuk dokumen aktif.
Biasanya, skenario mesin pencari adalah sebagai berikut - peta awal dibentuk berdasarkan berita terbaru, artikel populer, kueri, atau kombinasi dari semuanya. Kemudian pengguna dapat mulai membuat permintaan dengan mengklik kata-kata dari peta, atau dengan membuat permintaan baru dengan memasukkan kata-kata yang menarik di bidang masukan.
Dalam layanan anak-anak kami Quintura Kids, bahkan anak-anak yang tidak dapat menulis (atau yang mengalami kesulitan) dapat bekerja dan mencari informasi yang diperlukan.
Beginilah tampilan peta awal.
Dan pengguna melihatnya setelah mengklik kata "Spasi".
Layanan anak-anak dibangun di situs yang dipilih dan disetujui secara manual, sehingga anak tidak dapat melihat apa pun dari orang dewasa. Ini menjelaskan sejumlah kecil dokumen yang ditemukan. Versi bahasa Inggris berisi lebih banyak dokumen - berkat direktori anak-anak Yahoo.
Menonjolkan kata kunci dokumen / dokumen
Sebenarnya kata-kata dan konsep yang menjadi aktif saat mengirimkan kegembiraan dari lapisan dokumen atau lapisan kalimat adalah kata kuncinya. Mereka juga diurutkan berdasarkan aktivitas, kemudian sejumlah tertentu dipotong dari mereka, yang ditampilkan.
Di sini kami telah menerapkan solusi lain. Kami percaya bahwa kegembiraan total dari semua kata atau konsep adalah 100%. Kemudian kita dapat dengan mudah mengontrol jumlah kata yang akan kita anggap sebagai kata kunci dengan menetapkan persentase aktivitas sebagai ambang batas.
Misalnya, ada dokumen yang berhubungan dengan kontrak headliner Boeing. Ketika eksitasi ditransmisikan dari neuron dokumen ini ke lapisan kata / konsep, kata-kata yang disajikan dalam gambar ini bersemangat. Gairah total tertimbang, dikurangi menjadi 100%, memberi kami bobot individual untuk setiap kata. Dan jika kita ingin mendapatkan 75% dari "arti" dari kata kunci, maka kita akan melihat kata "BOEING", "787", "DREAMLINER", dan jika kita ingin melihat 85% dari "arti", maka kita akan menambahkan "PENJUALAN" pada kata-kata tersebut.
Metode ini memungkinkan Anda untuk secara otomatis membatasi jumlah kata kunci dan kalimat / dokumen yang ditampilkan.
Beri anotasi pada dokumen.
Menerima potongan juga dilakukan dengan cara yang dijelaskan di atas. Pertama, kami mendapatkan kata kunci dari dokumen, setelah itu, dengan distribusi langsung kegembiraan dari kata kunci, kami mendapatkan daftar kalimat, membawa bobot kalimat ini menjadi 100% dan memotong jumlah "makna" yang diperlukan, setelah itu kami menampilkan kalimat-kalimat ini dalam urutan di mana mereka muncul dalam teks dokumen ...
Menemukan dokumen serupa artinya
Perpindahan eksitasi dari neuron yang sesuai dengan dokumen yang kita cari kata / konsep yang serupa artinya dengan lapisan dan setelah itu dalam arah yang berlawanan dengan lapisan dokumen memungkinkan kita untuk menemukan dokumen yang mirip dengan aslinya dalam konteks atau makna. Jika kita melakukan beberapa ketukan transmisi kegembiraan di lapisan kata / konsep, kita dapat memperluas konteks aslinya. Dalam hal ini, kita dapat menemukan dokumen yang tidak mengandung pencocokan sama persis di semua kata, tetapi memiliki topik yang sama.
Faktanya, mekanisme ini dapat digunakan untuk menentukan kemiripan apa saja, misalnya dengan menambahkan lapisan ke jaringan di mana ID pengguna akan sesuai dengan neuron, kita dapat menemukan orang dengan minat yang sama. Mengganti lapisan kalimat dan dokumen dengan indeks karya musik atau video, kami mendapatkan pencarian musik / video.
Bersambung
Artikel ini hanya membahas prinsip dasar mesin pencari visual Quintura. Selama enam tahun kehidupan Perusahaan, banyak masalah kompleks telah diselesaikan, baik yang terkait dengan arsitektur jaringan saraf semantik aktif maupun dalam membangun cluster yang toleran terhadap kesalahan dan dapat diperluas. Indeks pencarian terdiri dari banyak jaringan saraf yang bekerja secara paralel, hasil dari jaringan ini digabungkan, dan peta individu dari kepentingan pengguna dibuat.
Dalam kerangka proyek, layanan pencarian situs, mesin pencari anak-anak, alat analisis teks diimplementasikan, pekerjaan dimulai pada pembentukan ontologi informasi dunia, pembangunan morfologi jaringan saraf, 9 paten AS diperoleh.
Namun, kami tidak pernah dapat memonetisasi sistem kami. Pada saat itu, tidak ada boom jaringan neural, kami tidak berhasil mencapai kesepakatan dengan mesin telusur besar (seperti yang dikatakan arsitek salah satunya - "kami memiliki paradigma yang terlalu berbeda dan kami tidak memahami cara menggabungkannya").
Proyek itu harus ditutup.
Secara pribadi, saya masih memiliki "pernyataan yang meremehkan" - saya memiliki keinginan yang besar untuk memberikan kehidupan kedua pada proyek ini. Mengetahui bahwa mantan kepala periklanan di Google sedang membangun mesin telusur bebas iklan tempat pengguna dapat "keluar dari gelembung filter personalisasi konten dan alat pelacakan" hanya memperkuat keyakinan saya pada relevansi perkembangan kami.
Saya akan sekali lagi membuat daftar fitur jaringan saraf aktif yang dibangun berdasarkan teori Nikolai Amosov:
- belajar dengan cepat;
- menambahkan entitas baru tanpa perlu melatih ulang seluruh jaringan;
- jelas semantik - jelas mengapa jaringan membuat keputusan ini atau itu;
- arsitektur jaringan yang seragam untuk aplikasi yang berbeda;
- arsitektur sederhana, sebagai hasilnya - performa tinggi.
Saya harap artikel ini akan menjadi langkah pertama dalam membuka teknologi yang diimplementasikan kepada masyarakat umum pengembang dan akan berfungsi sebagai awal dari proyek open source dari jaringan saraf semantik aktif Amosov.