[Bermain muzik] DAVID MALAN: Ini adalah CS50. Ini adalah akhir minggu 10. Dan lelaki, kita mempunyai kelas yang baik untuk anda hari ini. Kami amat teruja untuk menjemput dua daripada rakan-rakan kami dari Yale sehingga kami hari ini dan untuk melihat di persimpangan kecerdasan buatan, robotik, pemprosesan bahasa semula jadi, dan banyak lagi. Dan sesungguhnya, sejak Beberapa minggu yang lalu, kami telah pasti menghabiskan banyak masa, terutamanya dalam psets sebelum ini, memberi tumpuan kepada cantik butiran peringkat rendah. Dan ia sangat mudah untuk lupa hutan untuk pokok-pokok dan digantung di atas gelung dan syarat dan petunjuk, sudah tentu, dan sebagainya. Tetapi realitinya adalah anda semua kini mempunyai bahan-bahan yang anda boleh benar-benar menyelesaikan beberapa masalah yang menarik, antara mereka orang-orang yang rakan-rakan kami di Yale bekerja pada hanya malu Cambridge. Jadi izinkan saya pertama memperkenalkan kepala kita mengajar pembantu dari Yale, Andy. [Tepuk tangan] ANDY: Pertama sekali, hanya mengucapkan terima kasih kasih kerana membenarkan beberapa Yalies untuk pop di bawah untuk Cambridge hari ini. Kami benar-benar menghargainya. Kedua, untuk rakan-rakan kami kembali home-- Jason, terima kasih untuk tinggal dan menjalankan kuliah. Harapan itu semua baik di New Haven. Jadi ya, saya super teruja untuk memperkenalkan Scaz hari ini. Scaz berjalan makmal robotik. Dia seorang profesor, seperti, lima jabatan yang berlainan di Yale. Di dalam makmal, beliau mempunyai banyak, banyak robot yang dia suka untuk bermain dengan. Beliau mempunyai, seperti, pekerjaan yang paling hebat di dunia. Dan dia mendapat untuk jenis keadaan huru-hara main dengan yang sepanjang hari panjang dan membuat kerja-kerja, juga. Dan supaya kita benar-benar membawa satu Daripada mereka turun dengan kami hari ini. Jadi tanpa berlengah-lengah lagi, Scaz adalah akan pergi ke hadapan dan memperkenalkan kami kepada rakan robot beliau. [Tepuk tangan] BRIAN SCASSELLATI: Terima kasih, David. Terima kasih, Andy. Ia begitu indah untuk menjadi di sini dengan semua orang hari ini. Saya hendak pertama menjadi sangat jelas bahawa kakitangan CS50 di sini di Cambridge telah sangat ramah kepada kami. Kami amat berterima kasih untuk segala-galanya yang mereka lakukan untuk menyokong kami. Dan dengan itu kita ingin dapat untuk kembali kebaikan. Jadi hari ini, kita akan mendapat untuk mengumumkan bahawa kita akan mempunyai yang baru, satu-of-a-jenis acara CS50 berlaku di New Haven minggu depan. Dan ini adalah CS50 Penyelidikan Expo. Oleh itu, kita akan menjemput everyone-- CS50 pelajar, kakitangan dari kedua-dua Harvard dan Yale-- untuk datang dan melawat dengan kami pada hari Jumaat. Kami akan mempunyai pelbagai lebih 30 orang yang berbeza menyampaikan dan upperclassmen exhibiting-- menunjukkan off beberapa produk penyelidikan mereka. Kami akan mempunyai beberapa startups, walaupun, mencari untuk sedikit bakat berteknologi baru, startups dari kedua-dua Harvard dan Yale. Dan kita akan mempunyai beberapa kumpulan pelajar mencari beberapa keahlian baru. Ia akan menjadi masa yang sangat menarik. Mudah-mudahan orang-orang di antara kamu yang yang turun untuk permainan Harvard-Yale akan dapat berhenti dengan sedikit awal, betul-betul di tengah-tengah kampus, Perpustakaan Memorial Sterling. Kita akan mempunyai satu set pameran yang pelbagai dari autonomi perahu layar ke jalan menggunakan perisian untuk memelihara manuskrip zaman pertengahan. Kami akan mempunyai iklan rangkaian hoc dan orang-orang mengajar perisian pengekodan di Cape Town. Kami akan mempunyai komputer demonstrasi muzik. Dan kita sudah tentu akan mempunyai lebih banyak robot. Oleh itu, kita berharap yang anda akan menyertai kami untuk acara ini. Ia harus menjadi banyak menyeronokkan, sedikit makanan, dan banyak yang menarik perkara untuk bercakap tentang. Jadi hari ini, kita akan bercakap mengenai pemprosesan bahasa semula jadi. Dan ini adalah cubaan untuk kita untuk membina cara baru untuk antara muka dengan peranti kita kerana untuk beberapa minggu lepas, anda telah memberi tumpuan kepada bagaimana ia adalah bahawa anda boleh menulis kod, menulis perisian itu adalah cara untuk dapat berkata kepada mesin, ini adalah apa yang saya mahu anda lakukan. Tetapi kita tidak harus perlu mengharapkan semua yang yang di luar sana yang digunakan oleh semua orang di dunia akan menjadi mahir dalam jenis ini pengajaran. Oleh itu, kita membezakan antara komputer bahasa dan languages-- semula jadi iaitu perkara-perkara yang manusia penggunaan untuk berkomunikasi dengan manusia lain. Dan kami cuba untuk membina antara muka yang menggunakan mekanisme komunikasi semula jadi. Sekarang, hanya suka setiap topik lain bahawa kami telah bermula dengan dalam CS50, kita akan mulakan dengan yang paling mudah sedikit pemprosesan bahasa semula jadi yang kita boleh bayangkan. Kita akan mulakan dengan sebahagian sejarah bahasa semula jadi. Dan kemudian kita akan membina sehingga lebih dan lebih baru-baru ini sistem dan mempunyai beberapa demo menyeronokkan sepanjang jalan. Oleh itu, kita akan mulakan dengan apa yang mungkin bahasa semula jadi pertama sistem pemprosesan. Ini adalah satu sistem perisian yang ditulis dalam 1966 oleh Joseph Weizenbaum dipanggil ELIZA. Dan ELIZA telah direka untuk meniru jenis interaksi anda akan mempunyai dengan Psychotherapist Rogerian. Kini, Rogerians, mereka mempunyai idea bahawa psikoterapi terlibat dapat cermin belakang kepada pesakit dan bercakap kepada mereka, pada dasarnya, dengan hanya memberikan mereka sedikit kecil daripada terapi. Iaitu, segala-galanya bahawa ahli terapi tersebut sepatutnya menjadi hanya mencerminkan apa yang pesakit telah memberitahu kepada mereka. Jadi mari kita cuba dan demo ini. Adakah kita mempunyai seorang sukarelawan yang akan menjadi bersedia untuk berkongsi paling dalam mereka, gelap, dan / atau rahsia palsu dengan ELIZA? Pasti, mengapa tidak anda datang ke atas. Fantastic. Dan nama kamu? MILES: Batu. BRIAN SCASSELLATI: Batu. Gembira dapat bertemu dengan anda, Miles. Jika anda akan berpegang pada itu. Dan kita akan menggunakan versi ELIZA bahawa kita telah ditiru dalam IDE CS50. Dan kita akan melihat sumber kod untuk ini dalam sebentar. Tetapi untuk sekarang, kami hanya akan kematian itu dengan menaip eliza. Dan ELIZA akan memberikan anda jawapan yang akan berada di semua ibu. Dan akan meminta anda beberapa soalan. Dan kami akan bertindak balas dan taip dalam jawapan kepada ELIZA. Jadi ELIZA telah berkata, "Hi, saya ELIZA. Ada apa? " Apa yang akan anda suka memberitahu ELIZA tentang hari ini? MILES: Saya hanya boleh tidur jika saya mempunyai selipar bunny pada. BRIAN SCASSELLATI: Baiklah. Baiklah. [Ketawa] "Saya hanya boleh tidur dengan selipar bunny pada. " Dan ELIZA berkata, "Katakanlah, adakah anda mempunyai apa-apa masalah psikologi? Mungkin ini adalah petunjuk yang baik. " OKAY. Jadi apa yang anda mahu untuk bertindak balas? MILES: Ya. BRIAN SCASSELLATI: Ya. Manusia banyak perkataan. Saya suka itu. Eliza berkata, "Anda kelihatan agak positif." MILES: Tidak, saya, sebenarnya, elektron. BRIAN SCASSELLATI: "Tidak Malah, saya elektron. " "Adakah kamu datang kerana anda adalah elektron? " Sekarang, kita boleh melihat beberapa things-- yang saya akan untuk berhenti seketika anda hanya sesaat, Miles. Jangan pergi mana-mana. Kami tidak selesai dengan anda lagi. ELIZA adalah, dalam beberapa cara, bertindak balas kepada perkara-perkara tertentu yang dia katakan tetapi tanpa pengertian sebenar. Dan ia juga parroting semula beberapa satu bahagian daripada hukumannya. Oleh itu, kita berkata, "Tidak Malah, saya elektron. " Eliza balas kembali, "Adakah kamu datang kepada saya kerana anda adalah elektron? " Baiklah. Mari kita memberikan satu lagi sambutan di sini. Memberikan satu yang baik, Miles. MILES: satu yang baik? Ya, sila membantu saya. BRIAN SCASSELLATI: "Ya. Sila membantu saya. "" Adakah anda pasti? " MILES: No. BRIAN SCASSELLATI: No. "Apa yang mencadangkan kepada anda?" MILES: Saya mungkin tidak elektron. BRIAN SCASSELLATI: "Saya mungkin tidak elektron. " "Adakah anda mengatakan tidak hanya untuk menjadi negatif?" Baiklah. Jadi Batu, terima kasih banyak. MILES: Terima kasih. BRIAN SCASSELLATI: Terima kasih sangat banyak. [Tepuk tangan] Jadi program ELIZA ini, dalam pelbagai cara, bertindak balas hanya untuk keping bahawa kita menyediakan tanpa apa-apa dalam memahami apa yang berlaku di sini. Ini adalah sejenis sistem dipanggil yang hampir sama corak, di mana yang kami cari tertentu cebisan teks yang kami kemudian akan mengambil dari apa yang telah disediakan sebagai input, menukar, berpotensi, dalam beberapa cara, dan kemudian memberikan kembali kepada pengguna. Adakah mana-mana anda berfikir yang ELIZA sebenarnya melakukan psikoanalisis sah di sini? Satu orang, mungkin. PENONTON: [didengar]. BRIAN SCASSELLATI: Dan bagaimana adakah itu membuat anda rasa? Ya, sebenarnya, ia tidak. Dan kita akan lihat, sebenarnya, Kod sumber untuk dalam hanya seketika. Dan supaya anda akan menjadi dapat melakukan perkara ini. Sekarang, ELIZA adalah salah satu bentuk apa kita panggil hari ini bot chat. Ia hanya akan melalui teks yang anda menyediakan, menyediakan jumlah minimum yang terdedah kefahaman atau pemprosesan, dan kemudian burung kakak tua itu kembali kepada anda. Jadi mari kita lihat, dari segi konsep, dan bercakap tentang apa ia adalah bahawa ELIZA sebenarnya lakukan. ELIZA adalah mengambil let sentence-- ini berkata, "Saya ingin menarik perhatian bos saya." Dan ELIZA sedang melalui ayat yang dan cuba untuk mencari dan sepadan corak tertentu. Jadi, sebagai contoh, salah satu corak yang ELIZA sedang mencari adalah kata-kata "Saya mahu." Dan bila-bila ia melihat sesuatu yang mempunyai "Saya mahu" di dalamnya, ia merumuskan jawapan. Dan jawapan yang adalah rentetan tetap. Dalam kes ini, ia adalah "mengapa kamu mahu?" Dan saya meletakkan bintang kecil di akhir kerana itu hanya awal tindak balas kita. Dan bintang menunjukkan bahawa kita akan mengambil yang lain daripada utterance-- pengguna "untuk menarik perhatian bos saya" - dan kita akan menambah bahawa ke akhir rentetan ini. Oleh sebab itu, bukannya mengatakan, "mengapa yang anda ingin menarik perhatian bos saya, " ada sedikit tambahan pemprosesan yang kita akan lakukan. Iaitu, kita akan perlu untuk menukar sebahagian daripada kata ganti nama di sini daripada "bos saya" kepada "bos anda." Dan mungkin ada beberapa yang lain perubahan yang kita perlukan untuk membuat. Jadi, daripada hanya melekat terus ke akhirnya, apa yang kita akan lakukan ini kami akan mengambil yang lain daripada utterance-- pengguna dalam sini-- putih dan kami akan mengambil satu bahagian pada satu masa dan menukar setiap rentetan token, setiap perkataan, ke dalam hukuman itu. Oleh itu, kita akan mengambil perkataan "to". Tidak ada penukaran bahawa kita perlu untuk berbuat demikian. "Menarik perhatian." Tidak ada penukaran kita perlu lakukan di sana. "Saya" akan bertukar kepada "anda." Dan "bos" kami akan hanya meninggalkan sebagai "bos." Dan kemudian akhirnya, apa-apa yang berakhir dengan tempoh, kami akan menukar ke satu soalan. Corak yang hampir sama sangat mudah sebenarnya agak berjaya. Dan apabila ini telah diperkenalkan dalam 1966-- Joseph Weizenbaum diprogramkan ini pada komputer. Sekarang, komputer pada masa itu tidak model desktop. Mereka berkongsi sumber. Dan para pelajar beliau akan pergi dan berbual dengan ELIZA. Akhirnya, dia terpaksa menyekat akses kepada maklumat itu kerana murid-muridnya tidak mendapat apa-apa kerja yang dilakukan. Mereka hanya berbual dengan ELIZA. Dan, sebenarnya, dia terpaksa api pembantunya, yang menghabiskan semua masa beliau bercakap dengan ELIZA tentang masalah dalam dan membimbangkan beliau. Setiap orang yang menggunakan sistem ini mula anthropomorphize mereka. Mereka mula memikirkan mereka sebagai yang bernyawa dan orang sebenar. Mereka mula mengenali beberapa perkara-perkara yang mereka katakan telah kembali kepada mereka. Dan mereka mengetahui perkara tentang diri mereka sendiri. Dan, sebenarnya, walaupun pakar-pakar, walaupun psiko, mula bimbang bahawa, sebenarnya, mungkin ELIZA akan menggantikan mereka. Dan walaupun komputer saintis bimbang bahawa kami begitu dekat dengan menyelesaikan bahasa semula jadi. Sekarang, yang tidak mana-mana sahaja berhampiran dengan benar. Tetapi itu adalah cara yang mengagumkan sistem ini boleh kelihatan. Jadi mari kita mula kelihatan di bawah dan cuba untuk mendapatkan sedikit soalan di mana kod ini benar-benar berlaku. Oleh itu, kita akan membuat kod ini ada selepas itu. Dan ini adalah yang sangat port mudah dan langsung pelaksanaan ELIZA asal. Jadi sebahagian daripada gaya ini perkara yang anda akan lihat di sini tidak apa segi gaya kami mahu anda untuk melakukan atau apa yang kita telah mengajar anda lakukan. Tetapi kita telah cuba untuk memastikan mereka yang sama di pelabuhan banyak ini telah mempunyai supaya ia mempunyai rasa yang asal. Jadi, kita akan termasuk sekumpulan perkara, dan kemudian kita akan mempunyai set kata kunci, perkara yang ELIZA akan mengenali dan bertindak balas terhadap langsung. Jadi jika anda mempunyai kata-kata seperti "boleh anda" atau "Saya tidak" atau "tidak" atau "ya" atau "impian" atau "hello", maka ELIZA akan bertindak balas secara terpilih kepada mereka. Kami juga akan mempunyai sebilangan perkara bahawa kami akan menukar, seperti menukar "saya" untuk "anda." Dan kemudian kita akan mempunyai satu set jawapan bahawa untuk setiap kata kunci ini, kami akan berputar melalui ini jawapan yang berbeza. Jadi, jika saya berkata "ya" tiga kali berturut-turut, saya mungkin akan mendapat tiga berbeza jawapan daripada ELIZA. Kod kami, maka, adalah sebenarnya amat mudah. Jika saya tatal ke bawah lalu semua ini jawapan yang telah kita diprogramkan dalam dan kami pergi ke utama kami, kita akan memulakan beberapa pembolehubah yang berbeza dan melakukan sedikit pengemasan pada permulaan. Tetapi kemudian ada sama sekali satu set kod yang anda boleh faham. Satu gelung sementara besar yang kata saya akan mengulangi ini berulang kali. Saya akan membaca dalam satu barisan, dan saya akan menyimpan bahawa dalam rentetan input. Saya akan menyemak dan melihat jika ia adalah kata kunci khas "bye," yang bermakna keluar dari program ini. Dan kemudian saya akan menyemak dan melihat sama ada seseorang hanya mengulangi diri mereka lagi dan lagi. Dan saya akan menjerit pada mereka jika mereka lakukan. Saya akan mengatakan "tidak mengulangi diri sendiri." Selagi tiada mana-mana berlaku, kita akan kemudian mengimbas melalui dan gelung melalui, pada talian 308-313 di sini, dan menyemak dan melihat sebarang kata kunci yang Ungkapan-ungkapan yang terkandung dalam input bahawa saya hanya diberikan? Jika ada perlawanan untuk mereka, baik itu, saya akan ingat lokasi itu. Saya akan ingat kata kunci tersebut. Dan saya akan dapat membina jawapan. Jika saya tidak mencari satu, dan kemudian, perkara terakhir dalam pelbagai kata kunci saya akan menjadi jawapan lalai saya, apabila apa-apa lagi perlawanan. Saya akan bertanya soalan seperti "Mengapa anda lakukan datang ke sini? "atau" Bagaimana saya boleh membantu anda? " yang hanya sebahagiannya sesuai tidak kira apa input itu. Kami kemudian akan membina respons ELIZA ini. Kami akan dapat mengambil bahawa tindak balas asas, sama seperti yang kami lakukan pada yang "Bos saya" sebagai contoh. Jika itu semua yang ada is-- jika ia hanya satu rentetan yang saya sepatutnya respond-- Saya hanya boleh menghantar kembali keluar. Jika ia mempunyai tanda bintang di akhir itu, maka saya akan memproses setiap token individu dalam sepanjang sambutan pengguna dan menambah mereka yang, bertukar-tukar keluar perkataan perkataan seperti yang saya perlu. Semua ini adalah benar-benar sesuatu yang anda boleh membina. Dan sebenarnya, cara-cara di mana kita mempunyai diproses hujah baris arahan, cara di mana anda perlu diproses melalui permintaan HTTP mengikut jenis yang sama peraturan. Mereka corak yang sepadan. Jadi ELIZA mempunyai yang agak penting kesan kepada bahasa tabii kerana ia menjadikan ia kelihatan seperti ia adalah satu mencapai objektif yang boleh dicapai, seperti entah bagaimana kita akan dapat menyelesaikan masalah ini secara langsung. Sekarang, itu bukan untuk mengatakan bahawa ELIZA tidak segala-galanya yang kita mahu lakukan. Sudah tentu tidak. Tetapi kita akan dapat untuk melakukan sesuatu yang lebih. Langkah pertama kami pergi luar ELIZA akan dapat melihat tidak teks dicatatkan ke dalam papan kekunci tetapi ucapan, yang sebenar ucapan yang dirakam ke dalam mikrofon. Jadi seperti yang kita melihat ini keping yang berbeza, kami akan perlu membina satu set model. Kami akan perlu dapat untuk pergi dari akustik peringkat rendah padang information--, amplitud, frequency-- dan menukar itu ke dalam beberapa unit yang kami dapat lebih mudah memanipulasi dan, akhirnya, memanipulasi mereka kepada perkataan-perkataan dan ayat. Jadi pengiktirafan ucapan yang paling sistem yang di luar sana hari ini mengikut statistik model di mana kita membina tiga perwakilan berasingan daripada apa yang bahawa isyarat audio sebenarnya mengandungi. Kita mulakan dengan model fonetik yang bercakap tentang hanya asas bunyi yang saya menghasilkan. Adakah saya menghasilkan sesuatu yang B seperti dalam lelaki atau D seperti dalam anjing? Bagaimana saya mengenali kedua-dua yang berbeza telefon yang berasingan dan berbeza? Selain itu, kita kemudian akan membina model sebutan perkataan, sesuatu yang menghubungkan bersama-sama orang-orang telefon individu dan menggabungkan mereka ke dalam satu perkataan. Dan selepas itu, kami akan mengambil kata-kata dan kami akan mengumpulkan mereka dengan bahasa yang model menjadi ayat yang lengkap. Sekarang, kita akan bercakap tentang setiap ini secara bebas dan berasingan. Tetapi ketiga-tiga model semua hanya akan menjadi statistik. Dan ini bermakna apabila kita bekerja dengan mereka, kita akan dapat bekerja dengan mereka semua pada masa yang sama. Baiklah. Mari kita mulakan dengan model fonetik kami. Jadi model fonetik bergantung kepada teknik pengiraan dipanggil model Markov tersembunyi. Ini adalah model grafik di mana saya mempunyai dan mengiktiraf sebuah negara di dunia seperti yang dicirikan oleh satu set ciri-ciri. Dan negeri yang menerangkan satu bahagian sesuatu tindakan yang saya terlibat dalam. Jadi, jika saya berfikir tentang membuat bunyi "ma" seperti ibu, ada yang berbeza komponen untuk bunyi itu. Ada satu bahagian di mana saya menarik nafas. Dan kemudian saya dompet bibir saya. Dan saya roll bibir saya ke belakang sedikit sedikit untuk membuat yang "ma" bunyi. Dan kemudian ada hutang. Bibir saya datang selain. Air dibuang. "Ma." Ketiga-tiga bahagian yang berlainan akan diwakili oleh negeri-negeri di graph-- ini awal, tengah, dan akhir. Dan saya akan mempunyai peralihan yang membolehkan saya untuk melancong dari satu negeri ke depan dengan kebarangkalian tertentu. Jadi, sebagai contoh, yang M bunyi mungkin mempunyai yang sangat, pengambilan yang singkat di beginning-- yang "mm" - dan kemudian yang lebih panjang, fasa bergetar di mana saya memegang saya bibir bersama-sama dan hampir humming-- "mmmm" - dan kemudian yang singkat plosif mana saya mengusir breath-- "ma." Model Markov tersembunyi adalah direka untuk menangkap hakikat bahawa cara yang saya buat bunyi "ma" akan menjadi sedikit berbeza dalam masa, adalah frekuensi, dan ciri-cirinya daripada cara bahawa anda membuat ia atau cara, sehingga aku dapat menjadikannya apabila saya bercakap tentang kegunaan yang berbeza surat. "Ibu" dan "boleh saya" akan bunyi sedikit berbeza. Jadi untuk mengiktiraf bunyi tertentu, kita akan membina model Markov, ini Markov tersembunyi model, setiap telefon mungkin bahawa saya mungkin mahu mengiktiraf, setiap bunyi mungkin, dan kemudian melihat data akustik yang saya ada dan menentukan statistik yang mana satu adalah yang paling mungkin untuk menghasilkan bunyi ini. OKAY. Dengan model itu, kami kemudian mula membina di atasnya. Kami mengambil model sebutan. Sekarang, kadang-kadang sebutan model adalah mudah dan mudah kerana terdapat hanya satu cara mengucapkan sesuatu. Masa yang lain, mereka yang sedikit lebih rumit. Berikut adalah panduan sebutan untuk perkara yang merah yang buah-buahan yang anda buat sos tomato daripada. Orang ramai tidak fikir ia adalah buah. Betul? Kini, terdapat banyak cara yang berbeza bahawa orang ramai akan menyebut perkataan ini. Ada yang mengatakan "kaki-Mei-kaki." Ada yang mengatakan "kaki-mah-kaki." Dan kita boleh menangkap bahawa dengan salah satu model grafik di mana, sekali lagi, kita mewakili peralihan sebagai mempunyai kebarangkalian tertentu dan dikaitkan kebarangkalian dengan mereka. Jadi dalam kes ini, jika saya mengikuti laluan atas melalui keseluruhan graf ini, Saya akan bermula dari huruf jauh di sebelah kiri, yang "ta" bunyi. Saya akan mengambil separuh bahagian atas, yang "oh," dan kemudian "ma," dan kemudian satu "," dan kemudian "ta," dan "oh." "Toe-boleh-kaki." Jika saya mengambil jalan yang bawah melalui ini, saya akan mendapat "ta-mah-kaki." Dan jika aku turun dan kemudian up, saya akan mendapat "ta-boleh-kaki." Model-model ini menangkap ini perbezaan kerana setiap kali kita menggunakan salah satu daripada sistem pengiktirafan, ia akan perlu bekerja dengan banyak jenis orang yang berbeza, banyak loghat yang berbeza, dan juga kegunaan yang berbeza perkataan yang sama. Akhir sekali, di atas itu, kami akan membina sesuatu yang kelihatan benar-benar rumit, dipanggil model bahasa, tetapi sebenarnya adalah yang paling mudah tiga sebab ini beroperasi kepada apa yang dipanggil model n-gram. Dan dalam kes ini, saya menunjukkan anda dua bahagian model n-gram, bigram a. Kami akan membuat fizikal idea yang kadang-kadang, kata-kata tertentu lebih cenderung untuk mengikuti diberikan perkataan daripada yang lain. Jika saya hanya berkata "ramalan cuaca," perkataan seterusnya mungkin boleh menjadi "hari ini" atau boleh "cuaca ramalan esok. " Tetapi ia tidak mungkin menjadi " cuaca ramalan articok. " Apa model bahasa tidak adalah ia menangkap mereka secara statistik dengan mengira, dari beberapa yang sangat besar corpus, semua keadaan di mana satu perkataan berikut lain. Jadi, jika saya mengambil corpus-- besar seperti setiap Wall Street Journal yang telah dihasilkan sejak tahun 1930, yang merupakan salah satu corpuses-- standard dan saya melihat melalui semua teks itu, dan saya mengira sehingga berapa kali selepas "ramalan" saya melihat "hari ini" dan berapa kali saya melihat "ramalan" diikuti dengan "articok," yang pertama akan untuk menjadi lebih mungkin. Ia akan muncul lebih kerap. Dan maka ia akan mempunyai lebih tinggi kebarangkalian yang berkaitan dengannya. Jika saya mahu memikirkan kebarangkalian keseluruhan ucapan, itu, saya hanya memecahkan ia sehingga. Jadi kebarangkalian pendengaran ayat "tikus makan keju" adalah kebarangkalian perkataan "yang" bermula ayat, dan kemudian kebarangkalian bahawa perkataan "tikus" berikut perkataan "itu," dan kebarangkalian bahawa perkataan "makan" berikut "tikus," dan kebarangkalian bahawa "keju" berikut "makan." Ini bunyi seperti banyak statistik, banyak kebarangkalian. Dan itu semua bahawa ia adalah. Tetapi perkara yang menakjubkan ialah jika anda melakukan ini dengan sampel cukup besar data, ianya berfungsi. Dan ia berfungsi dengan hebat juga. Kita semua tahu teknologi ini. Kebanyakan sistem pengendalian dilengkapi dengan pengecaman suara pada ketika ini. Kami menggunakan Siri dan Cortana dan Echo. Dan perkara-perkara ini adalah berdasarkan kepada jenis ini tiga lapisan model-- model fonetik di bahagian bawah, satu model sebutan di tengah, dan model bahasa di atas mereka. Sekarang, mereka perlu melakukan lebih sedikit daripada itu untuk menjawab soalan. Tetapi pengiktirafan apa yang anda pepatah bergantung betul-betul pada itu. Jadi mari kita mengambil contoh di sini. Jadi saya mempunyai telefon saya duduk di sini di bawah kamera dokumen itu. Dan kita akan meminta Siri beberapa soalan. Semua betul? Jadi mari kita bangun telefon saya di sini. Siri, apa yang cuaca seperti di New Haven hari ini? SIRI: Berikut adalah cuaca untuk New Haven, Connecticut, hari ini. BRIAN SCASSELLATI: OK. Jadi pertama anda melihat bahawa Siri diiktiraf setiap satu daripada perkataan individu dan kemudian menghasilkan jawapan. Kami akan bercakap tentang bagaimana tindak balas yang datang kira-kira dalam sedikit. Tetapi sekarang kita tahu bahawa ini adalah hanya berdasarkan statistik mentah dan ini corak jenis yang hampir sama pendekatan, kita boleh bermain beberapa permainan dengan Siri. Jadi saya boleh cuba lagi. Siri, apa yang cuaca badak air New Haven, hari ini? SIRI: OK. Berikut adalah cuaca untuk New Haven, Connecticut untuk hari ini. BRIAN SCASSELLATI: Siri ini tidak gentar dengan yang kerana ia didapati pattern-- yang "cuaca", "hari ini," "New Haven." Itulah apa yang ia bertindak balas untuk, sama seperti ELIZA. Baiklah. Mari kita memberikan satu lagi walaupun contoh lebih tidak masuk akal. Siri, cuaca articok armadillo badak air New Haven? SIRI: Biar saya memeriksa itu. Berikut adalah apa yang saya dapati di web untuk apakah artichokes Armadillo badak air New Haven. BRIAN SCASSELLATI: OK. Jadi, jika saya pergi cukup jauh dari model ini, Saya dapat mengelirukan kerana ia tidak lagi sepadan dengan corak yang ia mempunyai. Dan bahawa statistik enjin yang yang berkata, apa yang kemungkinan bahawa anda mempunyai badak air kata-kata dan articok bersama-sama, dan Armadillo? Yang mendapat menjadi sesuatu yang baru. Jadi teknologi ini kita gunakan setiap hari. Jika kita mahu mengambil mereka satu langkah lagi, walaupun, jika kita benar-benar mahu dapat untuk bercakap tentang apa yang ia adalah bahawa sistem ini bertindak balas kepada, kita perlu bercakap, sekali lagi, kira-kira set lebih asas soalan. Dan itu adalah satu topik dalam komunikasi yang kita panggil soalan menjawab. Iaitu, kita mahu dapat supaya- ya? PENONTON: [didengar]. BRIAN SCASSELLATI: Adakah kita mendapatkan ke dalam pemprosesan semantik terpendam? Jadi ya. Terdapat banyak perkara-perkara yang berlaku di bawah permukaan dengan Siri dan dalam beberapa contoh Saya akan menunjukkan kepada anda yang akan datang di mana terdapat agak sedikit dari segi struktur daripada apa yang anda katakan yang penting. Dan, sebenarnya, itu adalah satu yang besar pelopor untuk slaid seterusnya untuk saya. Jadi dengan cara yang sama bahawa kami pengecaman pertuturan telah membina daripada pelbagai lapisan, jika kita mahu memahami apa yang ia adalah bahawa sebenarnya yang berkata, kita akan sekali lagi bergantung kepada analisis pelbagai lapisan teks yang yang diiktiraf. Oleh itu, apabila Siri sebenarnya dapat berkata, melihat saya mendapati kata-kata ini. Sekarang apa yang saya lakukan dengan mereka? Komponen pertama yang sering pergi melalui dan cuba untuk menganalisis struktur ayat. Dan dalam apa yang kita lihat di sekolah rendah, selalunya, sebagai jenis diagramming ayat, kita akan untuk menyedari bahawa tertentu kata-kata mempunyai peranan tertentu. Ini adalah kata nama. Ini adalah kata ganti nama. Ini adalah kata kerja. Dan kita akan mengenali bahawa untuk tatabahasa tertentu, dalam kes ini Bahasa Inggeris tatabahasa, terdapat cara-cara yang sah di mana saya boleh menggabungkan mereka dan cara-cara lain yang tidak sah. Pengiktirafan bahawa, struktur itu, mungkin cukup untuk membantu membimbing kita sedikit. Tetapi ia tidak cukup cukup untuk kita dapat memberikan apa-apa makna kepada apa yang dikatakan di sini. Untuk berbuat demikian, kami akan terpaksa bergantung kepada beberapa jumlah pemprosesan semantik. Iaitu, kita akan perlu melihat di bawah apa yang setiap kata-kata ini sebenarnya membawa sebagai makna. Dan dengan cara yang paling mudah untuk melakukan ini, kita akan kaitkan dengan setiap perkataan yang kita tahu fungsi tertentu, transformasi pasti bahawa itu membolehkan untuk berlaku. Dalam kes ini, kita boleh labelkan perkataan "John" sebagai nama yang betul, bahawa ia membawa bersamanya identiti. Dan kita boleh melabelkan "Mary" sebagai cara yang sama. Manakala kata kerja seperti "suka," yang merupakan hubungan tertentu yang kami dapat untuk mewakili. Sekarang, itu tidak bermakna kita memahami apa cinta itu tetapi hanya untuk kita memahami ia di jalan sistem simbolik. Iaitu, kita boleh label dan memanipulasi ia. Dengan setiap jenis pendekatan, apa-apa jenis pemprosesan semantik di sini akan memerlukan sedikit sedikit pengetahuan dan banyak kerja di pihak kami. Kita tidak lagi di alam di mana statistik hanya kosong akan cukup untuk kita. Sekarang, untuk pergi dari sudut ini untuk menjadi dapat bercakap tentang bahagian dalam apa yang sebenarnya berlaku di sini, untuk dapat dimanipulasi struktur dan memahami soalan dan kemudian dapat untuk keluar dan mencari, yang memerlukan lebih model kognitif yang kompleks. Cara di mana sistem ini dibina adalah untuk bahagian yang paling sangat, sangat buruh intensif. Ia melibatkan manusia menghabiskan tawaran hebat masa menstrukturkan cara-cara di yang jenis-jenis ayat boleh diwakili dalam beberapa logik. Ia mendapat walaupun sedikit lebih kompleks, walaupun. Walaupun sekali kita telah diuruskan dengan semantik, kita akan masih perlu melihat pragmatik daripada apa yang diperkatakan. Iaitu, bagaimana saya berkaitan kata-kata yang saya perlu sesuatu secara fizikal daripada ada di dunia atau di kurangnya beberapa sumber maklumat bahawa saya boleh memanipulasi? Kadang-kadang, ini membawa kepada bit indah kekaburan. "Merah-panas bintang untuk berkahwin astronomi." OKAY. Sekarang, kita membaca bahawa sebagai Jenis lucu tajuk bahawa kita akan lihat di TV lewat malam kerana kita tidak mentafsir "bintang" mempunyai makna objek angkasa itu. Kita tahu bahawa ia bermakna lebih pelakon biasa atau pelakon dengan jumlah yang tinggi penglihatan. "Skuad membantu mangsa gigitan anjing." Adakah ia, skuad itu sebenarnya di luar sana membantu anjing untuk pergi sekitar dan menggigit mangsa? Atau adakah terdapat seorang individu yang merupakan digigit oleh anjing yang memerlukan bantuan? Hanya dengan melihat sintaks dan semantik daripada ayat, kita tidak boleh menentukan bahawa. "Helikopter dikuasakan oleh lalat manusia." Berada di sana, sebenarnya, yang sebenar perkara-perkara kecil yang terbang di sekitar adalah orang yang mempunyai sayap menjanakan helikopter untuk kebaikan manusia? Atau ada satu peranti mekanikal yang berasal kuasanya daripada seseorang? Apabila kita melihat soalan menjawab sistem, ini adalah lapisan yang kita perlu berurusan dengan. Sekarang, yang terbaik dan yang paling jenis daripada berleluasa sistem ini hari ini dapat melakukan perkara pada tahap yang lebih daripada apa yang kita mempunyai 10 tahun yang lalu. Berikut adalah salah satu sistem yang terbaik yang di luar sana hari ini. Dan ini adalah satu sistem yang daripada IBM dipanggil Watson. Ini adalah dari rakan-rakan kami di IBM. Ini adalah bank Katherine, Jia Chen, dan Priscilla Moraes memberikan kami demonstrasi Watson semalam di IBM Yorktown. [VIDEO MAIN SEMULA] -Apa khabar? -Saya sihat. Saya sentiasa gembira apabila saya berfikir, terutama apabila saya boleh kekal sejuk di bilik-bilik server. -yang Adalah pelakon kegemaran anda? Pelakon kegemaran -My Angelina Jolie sebagai Lara Croft dalam Tomb Raider kerana asal beliau bentuk adalah sebagai watak maya seperti saya. -Berapa Watson boleh membantu pesakit? -Adakah Pelan bagi pesakit untuk mempunyai akses kepada Watson secara langsung? Akses kepada Watson nasihat permohonan akan berbeza mengikut penggunaan kes. Tetapi pada masa ini, Watson hanya akan menyediakan diagnosis mungkin dan rawatan pilihan untuk profesional perubatan. Di mana sesuai, pesakit boleh memberikan maklumat kepada Watson, mungkin melalui antara muka web portal, tablet, atau telefon bimbit. Sebagai contoh, seorang pesakit mungkin diminta untuk menggambarkan tanda-tanda mereka dalam bahasa asli langsung ke dalam penyelesaian Watson, yang membolehkan doktor untuk memberi tumpuan kepada diagnosis dan tidak pengumpulan data. -yang Abraham Lincoln dibunuh? -John Wilkes Booth. -Dalam Apa tahun lakukan Arizona Diamondbacks memenangi Siri Dunia? -2001. [AKHIR MAIN SEMULA] BRIAN SCASSELLATI: Jadi jenis-jenis sistem terpaksa bergantung kepada pertama sekali mengiktiraf ucapan; kedua, menukarkan ia menjadi sebuah dalaman bermakna perwakilan; dan kemudian, ketiga, dapat keluar dan mencari sumber maklumat yang membolehkan mereka untuk menjawab soalan itu. Tahap kerumitan melibatkan jenis yang sama perkara perancangan bahawa anda telah lakukan dalam set masalah. Kami mampu menghuraikan permintaan HTTP dalam jenis yang sama corak peringkat rendah yang hampir sama yang ELIZA boleh lakukan. Kami mampu untuk menukar mereka menjadi perwakilan dalaman, dan kemudian menggunakan mereka untuk query beberapa pangkalan data luaran, mungkin menggunakan SQL. Semua sistem yang sedang dibina hari ini untuk melakukan ini jenis semula jadi komunikasi bahasa sedang dibina di atas prinsip-prinsip yang sama. Sekarang, walaupun sistem seperti Watson tidak cukup kompleks dapat menjawab sembarangan soalan tentang sebarang topik. Dan sebenarnya, mereka perlu berstruktur dalam domain tertentu. Jadi, anda boleh pergi ke dalam talian, anda boleh versi Watson yang beroperasi dengan baik dalam informatik perubatan. Atau ada satu talian yang hanya berkaitan dengan bagaimana untuk membuat syor yang baik tentang apa bir akan pergi dengan mana makanan. Dan dalam masa yang domain, ia boleh menjawab soalan, mencari maklumat yang diperlukan. Tetapi anda tidak boleh mencampur dan sepadan dengan mereka. Sistem yang sudah dilatih dengan pangkalan data makanan dan bir tidak berfungsi dengan baik apabila anda tiba-tiba memasukkannya ke dalam dengan informatik perubatan pangkalan data. Jadi, walaupun sistem yang terbaik hari ini bergantung kepada tahap pemprosesan di mana kita berada pengekodan tangan dan membina infrastruktur dalam usaha untuk membuat sistem ini berjalan. Sekarang, perkara terakhir yang saya mahu dapat untuk sampai ke hari ini adalah mengenai komunikasi bukan lisan. Jisim yang besar maklumat yang kita berkomunikasi antara satu sama lain tidak dapat terbentuk melalui perkataan individu bahawa kita memohon. Ia mempunyai kaitan dengan perkara-perkara seperti jarak, pandangan, nada suara anda, nada suara anda. Dan komunikasi yang juga sesuatu yang antara muka yang berbeza peduli banyak tentang. Ia bukan apa Siri mengambil berat tentang. Saya boleh meminta Siri sesuatu dalam satu suara atau dalam nada yang berbeza suara, dan Siri akan memberikan saya jawapan yang sama. Tetapi itu bukan apa yang kita membina untuk lain-lain jenis antara muka. Saya ingin memperkenalkan anda Masuk untuk salah satu robot. Ini dibina oleh lama saya rakan dan rakan sekerja Cynthia Breazeal dan syarikatnya Jibo. Dan robot-- ini kita akan untuk mempunyai beberapa sukarelawan datang untuk berinteraksi dengan ini. Jadi boleh saya mempunyai dua orang yang bersedia bermain dengan robot untuk saya? Apa kata anda datang ke atas, dan mengapa tidak anda datang ke atas. Jika anda sedang bersama saya di sini, sila. Dan jika saya boleh anda datang tepat di sini. Terima kasih. Hi. ALFREDO: Selamat berkenalan. Alfredo. BRIAN SCASSELLATI: Alfredo. Gosip: Rachel. BRIAN SCASSELLATI Rachel. Gembira dapat bertemu dengan anda berdua. Alfredo, saya akan anda pergi dulu. Datang tepat di sini. Saya akan memperkenalkan atasmu, jika saya boleh mendapatkan ini di luar tanpa mengetuk microphone-- yang kepada robot kecil bernama Jibo. OKAY? Sekarang, Jibo direka untuk menjadi interaktif. Dan walaupun ia boleh memberikan ucapan, banyak interaksi dengan robot adalah bukan lisan. Alfredo, saya akan meminta anda untuk mengatakan sesuatu yang baik dan percuma kepada robot, sila. ALFREDO: Saya rasa anda kelihatan comel. [Whirring BUNYI] BRIAN SCASSELLATI: OK. Tindak balas bukan lisan. Namun ia memberi anda kedua-dua pengesahan jelas bahawa ia telah mendengar apa yang anda katakan dan juga entah bagaimana memahami bahawa. OKAY? Langkah segera kembali di sini untuk satu saat. Terima kasih. Rachel, jika anda akan. Sekarang, saya akan memberikan anda kerja lebih sukar. Jika anda sedang berdiri di sini, menyandarkan hanya sedikit supaya kita boleh mendapatkan anda pada kamera dan mengalu-cara ini. Saya akan meminta anda untuk menyatakan sesuatu benar-benar bermakna dan jahat kepada robot. Gosip: Apa yang anda hanya seolah-olah lakukan adalah benar-benar tidak masuk akal. [Bersenandung BUNYI] Itu adalah lebih tidak masuk akal. Apa yang berlaku dengan anda? Aw, tidak merasa buruk. Saya akan memberikan anda pelukan. BRIAN SCASSELLATI: Baiklah. Terima kasih, Rachel. Alfredo, Rachel, guys terima kasih sangat banyak. [Tepuk tangan] Jadi ini jenis interaksi mempunyai dalam banyak cara beberapa peraturan yang sama dan beberapa yang sama struktur seperti yang kita mungkin mempunyai dalam interaksi bahasa. Ia adalah kedua-dua komunikasi dan menyajikan tujuan penting. Dan interaksi bahawa, pelbagai cara, direka mempunyai kesan yang khusus kepada orang berinteraksi dengan atau mendengar kepada robot. Sekarang, saya bernasib baik untuk mempunyai Jibo sini hari ini. Sam Spaulding di sini membantu kami keluar dengan robot. Dan saya akan bertanya kepada Sam untuk memberi kita satu demo bagus menari Jibo yang kita boleh menonton pada akhirnya di sini. Oleh itu, pergilah ke hadapan, Jibo. SAM: OK, Jibo. Menunjukkan kepada kita pergerakan tarian anda. [Bermain muzik] BRIAN SCASSELLATI: Baiklah, semua orang. Terima kasih kepada rakan-rakan kami di Jibo. [Tepuk tangan] Dan terima kasih kepada rakan-rakan kami di IBM untuk membantu keluar hari ini. Komunikasi adalah sesuatu bahawa anda akan untuk melihat datang lebih dan lebih sebagai kita membina antara muka yang lebih kompleks. Minggu depan, kita akan bercakap tentang bagaimana untuk antara muka dengan lawan komputer dalam permainan. Tetapi jika anda mempunyai soalan tentang perkara ini, Saya akan berada di sekitar pada waktu pejabat malam ini. Saya gembira untuk bercakap dengan anda tentang AI topik atau untuk masuk ke lebih terperinci. Selamat berhujung minggu. [Tepuk tangan] [Bermain muzik]