Stroberi quartered dan fitur lain dari terjemahan mesin: untuk mengambil langkah lain menuju dapur otomatis, Anda perlu mengajarkan teknik untuk memahami resep yang ditulis dalam bahasa manusia dan dalam logika manusia. Untuk melakukan ini, mereka perlu diubah. Di bawah potongan, teks mencerminkan masalah yang lahir dari secangkir kopi selama diskusi tentang topik terkait.

Dapur otomatis. Tahapan yang diperlukan
Peralatan dapur pintar membuat proses memasak lebih mudah, tetapi orang masih melakukan sebagian besar pekerjaan: mencuci, memotong dan memasukkan makanan ke dalamnya, campur, dll. Dan seperti yang ingin saya katakan: "Panci, masak", dan agar semuanya dicuci sendiri, dipotong, dicampur, dan pengguna hanya perlu menunggu sinyal suara dan pergi untuk makan.
Sekarang dapur otomatis hanya muncul pada skala industri, tetapi ini akan mencapai tingkat rumah tangga segera. Untuk melakukan ini, Anda perlu menyelesaikan beberapa kelompok masalah, dan solusi ini harus terjangkau.
Kelompok tugas pertama adalah memberi dapur kemampuan untuk bertindak secara independen dari pengguna.
Masalah ini, misalnya, dapat diatasi dengan memperkenalkan
sistem manipulator ,
konveyor ke dapur;
Kelompok tugas kedua adalah memperkenalkan visi komputer dan sistem sensor di dapur untuk secara otomatis menentukan tingkat kesiapan hidangan atau bagiannya.
Kelompok tugas ketiga adalah antarmuka manajemen. Tugas tersebut dapat direalisasikan melalui aplikasi pada smartphone, serta asisten suara.
Dan akhirnya, kelompok keempat - tugas dapur logika perilaku. Bagaimana cara mengajar dapur memasak? Sebagai contoh, seorang juru masak robot dilatih oleh seseorang - seorang koki profesional. Menempatkan sensor di tangannya, dia perlahan menunjukkan caranya. Mesin kemudian mereproduksi aksinya, hingga detail terkecil, hingga berjabat tangan. Tentu saja, selama pemrosesan, gerakan ekstra harus dihapus, tetapi jika programmer melewatkan sesuatu, maka koki robot suatu hari akan berhenti untuk menggaruk hidungnya yang tidak ada.
Selain itu, untuk mengajarkan robot satu resep, gerakan harus diulang beberapa kali. Bahkan jika Anda mengajari robot gerakan individu, yang kemudian dapat ia gabungkan, maka waktu untuk pelatihan semacam itu akan membutuhkan banyak waktu. Belum lagi kepatuhan paling ketat terhadap resep dan, tampaknya, bahan-bahan yang dikalibrasi: untuk memungkinkan robot memilih matanya dari kentang adalah tugas rekayasa rumit yang terpisah. Dan setelah memasak, Anda masih harus mencuci kompor dan piring.
Resep adalah kode.
Jika Anda kembali ke keadaan sekarang - yaitu. untuk memperhitungkan komponen ekonomi dari masalah ini, kesulitan pembangunan, dll., menjadi jelas bahwa di masa mendatang kita hanya dapat mengajarkan peralatan rumah tangga pintar cara membaca resep dan menerapkannya. Ini membutuhkan konversi resep menjadi kode. Tetapi perangkat lunak Java atau C klasik hampir tidak cocok di sini - mereka dapat menggambarkan resepnya, tetapi jika pengguna ingin melakukan perubahan, maka ia harus menghubungi dukungan teknis, atau mendaftar untuk kursus pemrograman. Selain itu, kode klasik terlalu formal. Misalnya, jika bahannya mengatakan "jamur kering", maka yang segar tidak akan dimasak. Tugas yang semakin rumit adalah kenyataan bahwa resep masakan nasional disajikan dalam bahasa alami yang berbeda.
Dan saya ingin memberi pengguna kesempatan untuk menemukan resep yang menarik baginya di Web, mengunduhnya, dan dapur robot - menafsirkannya dengan benar dan menerapkannya. Tugas maksimum adalah kemampuan dapur sendiri, berdasarkan preferensi kuliner pengguna, untuk mencari dan menawarkan opsi. Dalam cara yang baik, resep memasak tidak hanya mencakup daftar bahan baku dan metode memasak, tetapi juga kondisi lingkungan di mana produk tumbuh. Hidangan milik masakan nasional sesuai dengan banyak kriteria, termasuk metode memasak tertentu, peralatan, alat, dll. Mengubah semua data ini menjadi bentuk digital yang tepat atau, kemungkinan besar, menafsirkannya akan menjadi tugas yang sulit.
Jadi, bahasa apa yang bisa digunakan untuk membuat resep?
RDF
Teknologi yang ada untuk representasi formal pengetahuan jatuh ke dalam beberapa kelompok struktur.
Ini termasuk pendekatan Semantic Web dengan teknologi
OWL dan
RDF . Koleksi online dari dataset terkait menggunakan alat Web Semantik juga dikenal sebagai Data Tertaut. Baru-baru ini di Habré ada
artikel yang ditujukan untuk konsep ini, oleh karena itu kami tidak akan fokus pada itu. Banyak proyek digitalisasi dibangun di sekitar gagasan untuk menggunakan
ontologi yang lebih tinggi , yang dapat diperluas oleh ahli
ontologi dalam bidang pengetahuan tertentu.
Pertimbangkan kasus penggunaan dan penerapan alat-alat ini untuk mendigitalkan masakan nasional. Gagasan utama RDF adalah bahwa Internet bergerak menjauh dari penyimpanan informasi yang hanya dirasakan oleh manusia, menjadi jaringan proses interaksi di seluruh dunia. Sesuai namanya, RDF adalah dasar untuk mengekspresikan informasi sumber daya. Pertama-tama, tentang dokumen web dan berbagai organisasi. Formalismenya didasarkan pada gagasan tentang kelas dan sifat statis. Timbul pertanyaan: seberapa masuk akal untuk mempertimbangkan resep sebagai entitas, dan bukan sebagai proses yang kompleks dengan argumen, perhitungan waktu, subproses masuk, dll. Untuk resep ini jelas tidak cukup.
Schema.org
Pendekatan kedua adalah inisiatif
Schema.org , upaya kolaboratif oleh komunitas online untuk membuat, memelihara, dan mempromosikan skema untuk menyusun data di Internet. Inisiatif ini bertujuan untuk menyediakan kosakata standar untuk metadata umum yang diterbitkan pada sumber daya web. Sumber daya web yang terkait dengan memasak dapat menggunakan metadata kelas Resep yang disimpan dengan
referensi . Berikut ini adalah contoh kode resep yang disediakan oleh Google:
<script type=> { : http: //schema.org/, : , : , : [ https: //example.com/photos/1x1/photo.jpg ], : { : , : }, : , : , : { : , : , : }, : , : , : , : { : , : , : , : }, : [ , , , , , , , , , ], : } </script>
Kosa kata dan format yang diadopsi oleh
Schema.org terutama difokuskan pada presentasi metadata tingkat tinggi dalam dokumen web. Namun, grafik semantik yang dinormalkan dengan benar membutuhkan representasi konsep yang jauh lebih eksplisit. Sebagian besar nilai string dalam bidang
Schema.org adalah teks alami yang memerlukan interpretasi kognitif manusia. Teks seperti itu tidak dapat langsung dibaca oleh sistem digital tanpa alat pemrosesan
bahasa alami khusus, yang sering rentan terhadap kesalahan. Sebagai ilustrasi, terjemahan mesin Google cocok untuk satu item baris dari daftar bahan pada contoh resep di atas:
'fresh strawberries, quartered'
Terjemahan ke dalam bahasa Rusia memberikan arti semantik yang sepenuhnya salah:
' , '
dengan "quartered," digunakan dalam arti "perumahan," seperti dalam "Pasukan Kami Bertempat di Boston," daripada "Dipotong menjadi Empat."
Tidak adanya peran objek yang jelas dan identifikasi metode yang eksplisit membuat tugas penerjemahan resep jauh lebih sulit.
Untuk tugas futuristik kami untuk resep digital - sebuah skenario di mana mesin robot bisa mengikuti instruksi memasak, baris teks sederhana tidak bisa menjadi solusi.
Pertimbangkan deskripsi khas suatu bahan:
'8 Granny Smith apples — peeled, cored and sliced'

Jelas bahwa baris teks ini mengandung banyak informasi pengelompokan: bahan mentah sebagai kelas, varietas apel tertentu, jumlah potongan, daftar metode yang harus diterapkan pada setiap bagian agar dapat menggunakan bahan secara normal: mengeluarkan biji, mengupas, memotong benda menjadi bagian-bagian tertentu formulir.
Formalisme
Schema.org tidak cukup ekspresif untuk menulis proses memasak ke dalam beberapa kode program. Untuk mendigitalkan resep masak robotik dengan benar, kita perlu memisahkan deskripsi bahan dari logika
Pendekatan ketiga adalah pemodelan resep kognitif.
Cara tradisional untuk menulis resep adalah memulai dengan ramuan dan operasi yang harus Anda selesaikan. Urutan dan gaya deskripsi ini dikenal sebagai imperatif atau prosedural. Gaya deklaratif atau fungsional untuk menggambarkan logika suatu proses biasanya dimulai dari puncak piramida eksekusi, hasil berguna yang diharapkan yang ingin kita capai.
Pertimbangkan presentasi sederhana dari resep sup jamur Rusia klasik berikut ini. Panah menunjukkan subproses (terkadang yang alternatif) yang diperlukan untuk proses induk.

Penafsiran kognitif dapat membingungkan bahkan ketika kita mencoba mendefinisikan resep. Istilah "resep" memiliki beberapa makna kontekstual. Ini dapat didefinisikan dalam arti umum sebagai cara untuk mendapatkan hasil yang diinginkan. Ketika digunakan dalam konteks memasak, itu menandakan serangkaian instruksi untuk menyiapkan hidangan kuliner. Dengan demikian, konsep ini dapat dianggap sebagai objek dengan sifat-sifat tertentu, seperti bahan dan waktu yang diperlukan. Sebagai alternatif, dapat dianggap sebagai proses teknologi yang memiliki beberapa data awal, melewati serangkaian langkah yang harus diselesaikan, dan mengarah pada hasil tertentu. Resep ini juga mencakup waktu yang diperlukan untuk menyelesaikan langkah-langkah dan deskripsi peralatan yang diperlukan.
Sejak 2006, dalam rangka mengembangkan formalisme optimal untuk mengekspresikan semantik kompleks bahasa alami, proyek
Knowdy telah dibuat, dengan fokus pada pengelolaan data grafik.
Proyek Knowdy
Knowdy adalah proyek perangkat lunak sumber terbuka dari kelompok riset linguistik di St. Petersburg yang terlibat dalam pengembangan basis data grafik ultra cepat yang memungkinkan Anda untuk secara langsung dan efisien bekerja dengan grafik konseptual, memintas setiap tampilan perantara, seperti tabel SQL. Mesin database diimplementasikan dalam C dan dapat digunakan baik sebagai layanan jaringan dan sebagai perpustakaan yang berdiri sendiri untuk lingkungan tertanam.
Setelah beberapa tahun penelitian dan pengembangan, tim penelitian dan pengembangan datang dengan format data khusus untuk Knowdy DB yang disebut GSL (Acronym General Semantics Language). GSL dioptimalkan untuk penyimpanan ringkas grafik konseptual. Ini digunakan untuk menyimpan data, mengirim pesan dan bertukar informasi. Format ini tidak terlalu bertele-tele, seperti XML, dan sedikit lebih ringkas dari JSON. Bahasa ini menerima beberapa fitur ekspresi Lisp S, tetapi dengan modifikasi semantik yang besar, karena Anda harus ingat bahwa grafik bukan daftar. Deskripsi yang dikurung dalam GSL sangat penting, memungkinkan pengguna untuk mengekspresikan tidak hanya pengelompokan multi-level, tetapi juga operasi CRUD dalam sistem penyimpanan basis data.
Dalam deskripsi GSL, proses dikodekan sebagai fungsi dari kelas pertama, yang dapat dinamai atau mungkin anonim, mendukung warisan dari fungsi dasar, memiliki argumen dan subproses yang dapat bekerja secara paralel. Proses di bawah ini menjelaskan beberapa logika dari resep yang sama untuk sup jamur Rusia.
{!proc prepare mushroom soup mix [_gloss {ru }] {is cooking by boiling} {arg cut-mushrooms {do prepare mushroom mix}} {arg cut-potatoes {do prepare potato mix}} {arg cut-onions {do prepare onion mix}} {do _put [_gloss {ru .}] {obj _all} {target-loc container}}} {!proc prepare mushroom mix [_gloss {ru }] {arg clean-mushrooms {do clean mushrooms}} {do _cut [_gloss {ru .}] {obj clean-mushrooms} {form slice {size 1.5 {unit cm}}}}}
R4S menggunakan pendekatan ketiga. Ini memungkinkan Anda untuk membayangkan resep dengan tingkat formalisme yang diperlukan, untuk menggambarkan esensi dan tindakan. Sebuah resep yang ditulis dengan cara ini ke basis data dapat dengan cepat diunduh dan diterapkan oleh teknologi. Dalam perangkat pengembangan kami, di mana resep didukung, mereka dicatat dalam format GSL. Rencananya adalah untuk melatih jaringan saraf untuk merekam resep orang-orang di dunia, yang akan menyederhanakan pertukaran resep dan memberikan dasar teknologi untuk dapur otomatis penuh.
Kita sering menghadapi tugas-tugas yang tampaknya sepele, yang implementasinya tidak sesederhana itu. Menurut Anda bahasa apa yang dapat digunakan untuk menulis resep, di satu sisi dapat diakses oleh pengguna dari seluruh dunia, dan di sisi lain, dipahami dan ditafsirkan oleh mesin?