Tip:
Highlight text to annotate it
X
>> LUCAS Freitas: Hey.
Selamat datang semua orang.
Nama saya Lucas Freitas.
Saya junior di [didengar] belajar sains komputer dengan tumpuan dalam
linguistik pengiraan.
Jadi menengah saya adalah dalam bahasa dan teori linguistik.
Saya benar-benar teruja untuk mengajar anda semua sedikit tentang bidang ini.
Ia adalah satu kawasan yang sangat menarik untuk belajar.
Juga dengan banyak potensi untuk masa hadapan.
Oleh itu, saya benar-benar teruja bahawa kalian sedang mempertimbangkan projek-projek di
linguistik pengiraan.
Dan saya akan menjadi lebih daripada gembira untuk memberi nasihat mana-mana anda jika anda membuat keputusan untuk
mengejar salah seorang daripada mereka.
>> Jadi pertama sekali apakah pengiraan linguistik?
Linguistik Jadi pengiraan adalah persimpangan antara linguistik dan
sains komputer.
Jadi, apa yang linguistik?
Apakah bukti sains komputer?
Baik dari linguistik, apa kami ambil bahasa.
Jadi linguistik sebenarnya kajian bahasa semula jadi secara amnya.
Bahasa begitu semula jadi - kita bercakap mengenai bahasa yang kita sebenarnya gunakan untuk
berkomunikasi antara satu sama lain.
Jadi, kita tidak betul-betul bercakap kira-kira C atau Jawa.
Kami bercakap lebih lanjut mengenai bahasa Inggeris dan Bahasa Cina dan lain-lain yang kita
gunakan untuk berkomunikasi antara satu sama lain.
>> Perkara yang mencabar tentang itu adalah bahawa sekarang kita mempunyai hampir 7,000
bahasa di dunia.
Jadi, terdapat pelbagai yang agak tinggi bahasa yang kita boleh belajar.
Dan kemudian anda berfikir bahawa ia mungkin sangat sukar untuk dilakukan, sebagai contoh,
terjemahan dari satu bahasa kepada bahasa yang lain, memandangkan anda mempunyai
hampir 7,000 daripada mereka.
Jadi, jika anda berfikir untuk berbuat terjemahan dari satu bahasa kepada bahasa yang lain yang anda
mempunyai hampir lebih daripada satu juta kombinasi yang berbeza yang anda boleh
mempunyai dari bahasa kepada bahasa.
Jadi ia benar-benar mencabar untuk melakukan jenis sistem terjemahan contoh untuk
setiap bahasa tunggal.
>> Jadi, linguistik merawat dengan sintaks, semantik, pragmatik.
Kamu semua tidak betul-betul perlukan untuk mengetahui apa yang mereka berada.
Tetapi perkara yang sangat menarik ialah sebagai penceramah asli, apabila anda belajar
bahasa sebagai kanak-kanak, anda sebenarnya belajar semua perkara-perkara - semantik sintaks
dan pragmatik -
oleh diri sendiri.
Dan tiada siapa yang mempunyai untuk mengajar anda untuk sintaks anda untuk memahami bagaimana ayat adalah
berstruktur.
Jadi, ia benar-benar menarik kerana ia sesuatu yang datang sangat
intuitif.
>> Dan apa yang anda mengambil dari sains komputer?
Nah, perkara yang paling penting untuk kita mempunyai dalam bidang sains komputer adalah pertama
semua, kecerdasan buatan dan pembelajaran mesin.
Jadi, apa yang kita cuba untuk melakukan linguistik pengiraan adalah mengajar
komputer anda bagaimana untuk melakukan sesuatu dengan bahasa.
>> Jadi, sebagai contoh, di dalam mesin terjemahan.
Saya cuba untuk mengajar bagaimana komputer saya tahu bagaimana untuk beralih dari satu
bahasa kepada yang lain.
Jadi, pada dasarnya suka pengajaran komputer dua bahasa.
Jika saya melakukan pemprosesan bahasa semula jadi, yang adalah kes untuk contoh
Facebook Graf Cari, anda mengajar komputer anda bagaimana untuk memahami
pertanyaan juga.
>> Jadi, jika anda berkata "itu gambar saya rakan-rakan. "Facebook tidak melayan yang
sebagai rentetan keseluruhan yang mempunyai hanya sekumpulan perkataan.
Ia sebenarnya memahami hubungan antara "gambar" dan "rakan-rakan saya" dan
memahami bahawa "gambar" adalah harta "rakan-rakan saya."
>> Jadi, itu sebahagian daripada, sebagai contoh, pemprosesan bahasa semula jadi.
Ia cuba untuk memahami apa yang adalah hubungan antara
perkataan dalam ayat.
Dan persoalan yang besarnya ialah, boleh anda mengajar komputer bagaimana untuk bercakap
bahasa secara umum?
Yang merupakan satu soalan yang sangat menarik untuk berfikir, kerana jika mungkin pada masa akan datang,
anda akan dapat bercakap dengan telefon bimbit anda.
Jenis seperti apa yang kita lakukan dengan Siri tetapi sesuatu yang lebih seperti, anda boleh sebenarnya
mengatakan apa sahaja yang anda mahu dan telefon akan memahami segala-galanya.
Dan ia boleh mempunyai susulan soalan dan terus bercakap.
Itu sesuatu benar-benar menarik, pada pendapat saya.
>> Jadi, sesuatu tentang bahasa asli.
Sesuatu yang menarik tentang bahasa asli ialah, dan ini adalah
kredit kepada profesor linguistik saya, Maria Polinsky.
Beliau memberikan contoh dan saya fikir ia benar-benar menarik.
Kerana kita belajar bahasa apabila kita dilahirkan dan kemudian asli yang
bahasa jenis tumbuh kepada kita.
>> Dan pada dasarnya anda belajar bahasa daripada input yang minimum, bukan?
Anda hanya mendapatkan input daripada anda ibu bapa apa bunyi bahasa anda
suka dan anda hanya mempelajarinya.
Jadi, ia menarik kerana jika anda melihat pada mereka ayat, sebagai contoh.
Anda lihat, "Mary memakai kot setiap masa dia meninggalkan rumah. "
>> Dalam kes ini, ia mungkin untuk mempunyai perkataan "dia" merujuk kepada Mary, bukan?
Anda boleh berkata "Mary memakai kot setiap kali Mary meninggalkan
rumah. "jadi itulah denda.
Tetapi jika anda melihat hukuman itu "Dia memakai kot setiap kali Mary
meninggalkan rumah. "anda tahu itu mustahil untuk mengatakan bahawa "dia" adalah
merujuk kepada Mary.
>> Tidak ada cara untuk mengatakan bahawa "Mary meletakkan pada kot setiap kali Mary meninggalkan
rumah. "Jadi ia menarik kerana ini adalah jenis gerak hati
bahawa setiap penutur asli mempunyai.
Dan tiada siapa yang telah diajar bahawa ini adalah cara yang sintaks berfungsi.
Dan anda hanya boleh mempunyai ini "dia" merujuk kepada Maria dalam kes pertama ini,
dan benar-benar dalam ini selain juga, tetapi tidak dalam satu ini.
Tetapi semua orang jenis mendapat untuk jawapan yang sama.
Semua orang bersetuju pada itu.
Jadi ia benar-benar menarik bagaimana walaupun anda tidak tahu semua peraturan
dalam bahasa anda anda jenis memahami bagaimana bahasa ini berfungsi.
>> Jadi perkara yang menarik tentang semula jadi bahasa adalah bahawa anda tidak perlu
tahu apa-apa sintaks tahu jika hukuman adalah tatabahasa atau ungrammatical untuk
kebanyakan kes.
Yang membuat anda berfikir bahawa mungkin apa yang berlaku ialah melalui kehidupan anda, anda
hanya menyimpan semakin ayat memberitahu kepada anda.
Dan kemudian anda terus menghafal semua ayat.
Dan kemudian apabila seseorang memberitahu anda sesuatu, anda mendengar ayat itu dan
anda melihat perbendaharaan kata anda ayat dan lihat jika
ayat yang ada.
Dan jika ia ada di sana anda mengatakan ia tatabahasa.
Jika tidak anda mengatakan ia ungrammatical.
>> Jadi, dalam kes itu, anda akan berkata, oh, supaya anda mempunyai senarai besar semua
ayat mungkin.
Dan kemudian apabila mendengar ayat, anda tahu jika ia tatabahasa atau
tidak berdasarkan itu.
Masalahnya ialah bahawa jika anda melihat ayat, sebagai contoh, "The
lima diketuai CS50 TFS dimasak buta sotong menggunakan cawan DAPA. "Ia
pasti tidak hukuman yang anda dengar sebelum ini.
Tetapi pada masa yang sama anda tahu ia adalah cukup banyak tatabahasa, bukan?
Tiada kesilapan tatabahasa dan anda boleh mengatakan bahawa
ia adalah satu hukuman mungkin.
>> Jadi ia membuatkan kita berfikir bahawa sebenarnya cara yang kita belajar bahasa bukan sahaja
dengan mempunyai pangkalan data yang besar daripada mungkin perkataan atau ayat, tetapi lebih kepada
memahami hubungan antara perkataan dalam mereka ayat.
Adakah ini masuk akal?
Oleh itu, maka soalan itu, boleh komputer belajar bahasa?
Bolehkah kita mengajar bahasa kepada bahasa komputer?
>> Jadi, mari kita memikirkan perbezaan antara penceramah asli bahasa yang
dan komputer.
Jadi, apa yang berlaku kepada orang yang bercakap?
Nah, penutur asli belajar yang bahasa dari pendedahan kepadanya.
Biasanya tahun zaman kanak-kanak awal.
Jadi, pada dasarnya, anda hanya mempunyai bayi, dan anda terus bercakap dengannya, dan ia
hanya belajar bagaimana untuk bercakap bahasa, bukan?
Jadi, anda pada asasnya memberi input kepada bayi.
Oleh itu, maka anda boleh berhujah bahawa komputer boleh melakukan perkara yang sama, bukan?
Anda hanya boleh memberi bahasa sebagai input ke komputer.
>> Sebagai contoh sekumpulan fail yang mempunyai buku-buku dalam bahasa Inggeris.
Mungkin itu salah satu cara yang anda mungkin boleh mengajar
komputer Bahasa Inggeris, bukan?
Dan sebenarnya, jika anda berfikir tentang hal itu, ia akan membawa anda mungkin pasangan
hari untuk membaca buku.
Untuk komputer yang ia mengambil masa kedua untuk melihat semua kata-kata di dalam buku.
Jadi, anda boleh berfikir bahawa mungkin hanya ini hujah input dari seluruh anda,
itu tidak cukup untuk mengatakan bahawa itulah sesuatu yang hanya manusia boleh lakukan.
Anda boleh berfikir komputer juga boleh mendapatkan input.
>> Perkara kedua ialah penutur asli juga mempunyai otak yang mempunyai
keupayaan pembelajaran bahasa.
Tetapi jika anda berfikir tentang hal itu, otak adalah satu perkara yang kukuh.
Apabila anda dilahirkan, ia telah ditetapkan -
ini adalah otak anda.
Dan seperti yang anda membesar, anda hanya mendapatkan lebih banyak input bahasa dan mungkin nutrien
dan barangan lain.
Tetapi cukup banyak otak anda adalah satu perkara yang kukuh.
>> Jadi, anda boleh berkata, baik, mungkin anda boleh membina sebuah komputer yang mempunyai sekumpulan
fungsi dan kaedah yang hanya meniru keupayaan pembelajaran bahasa.
Jadi dalam erti kata itu, anda boleh mengatakan, baik, saya boleh mempunyai komputer yang mempunyai semua
perkara yang saya perlu belajar bahasa.
Dan perkara yang terakhir ialah anak negeri penceramah belajar daripada percubaan dan kesilapan.
Jadi, pada asasnya satu lagi perkara yang penting dalam pembelajaran bahasa ialah anda jenis
daripada mempelajari perkara dengan membuat generalisasi daripada apa yang anda dengar.
>> Jadi seperti yang anda membesar anda mengetahui bahawa beberapa perkataan lebih seperti kata nama,
beberapa yang lain adalah kata sifat.
Dan anda tidak perlu mempunyai apa-apa pengetahuan linguistik
untuk memahami bahawa.
Tetapi anda hanya tahu ada beberapa perkataan berada pada kedudukan dalam sesuatu bahagian daripada
ayat dan beberapa orang lain dalam lain bahagian hukuman itu.
>> Dan bahawa apabila anda melakukan sesuatu yang seperti hukuman yang tidak betul -
mungkin kerana satu generalisasi ke atas sebagai contoh.
Mungkin apabila anda membesar, anda notis yang majmuk biasanya
dibentuk dengan meletakkan satu di S akhir perkataan.
Dan kemudian anda cuba untuk melakukan jamak dari "Rusa" sebagai "rusa" atau "gigi" sebagai
"Tooths." Demikian maka ibu bapa anda atau seseorang membetulkan kamu dan berkata, tidak, yang
jamak dari "rusa" adalah "rusa," dan jamak dari "gigi" adalah "gigi." Dan kemudian
anda belajar perkara-perkara.
Jadi, anda belajar daripada percubaan dan kesilapan.
>> Tetapi anda juga boleh berbuat demikian dengan komputer.
Anda boleh mempunyai sesuatu yang dinamakan pengukuhan pembelajaran.
Yang pada dasarnya seperti memberi komputer ganjaran setiap kali ia
sesuatu yang betul.
Dan memberi ia bertentangan dengan ganjaran dan apabila ia sesuatu yang salah.
Anda sebenarnya boleh melihat bahawa jika anda pergi untuk Terjemahan Google dan anda cuba untuk
menterjemahkan ayat, ia meminta anda untuk maklum balas.
Jadi, jika anda berkata, oh, ada yang lebih baik terjemahan untuk ayat ini.
Anda boleh menaip dan kemudian jika banyak orang menyimpan mengatakan bahawa adalah lebih baik
terjemahan, ia hanya mendapat tahu bahawa ia perlu menggunakan terjemahan yang bukannya
yang ia memberi.
>> Jadi, ia adalah satu soalan yang sangat falsafah untuk melihat jika komputer akan menjadi
dapat bercakap atau tidak pada masa hadapan.
Tetapi saya mempunyai harapan yang tinggi bahawa mereka boleh hanya berdasarkan kepada hujah.
Tetapi ia hanya lebih kepada falsafah soalan.
>> Jadi manakala komputer masih tidak boleh bercakap, apakah perkara-perkara yang boleh kita lakukan?
Beberapa perkara yang benar-benar sejuk adalah pengelasan data.
Jadi, sebagai contoh, anda semua tahu bahawa perkhidmatan e-mel, bagi tujuan
Sebagai contoh, penapisan spam.
Jadi setiap kali anda menerima spam, ia cuba untuk menapis ke kotak yang lain.
Jadi bagaimana ia berbuat demikian?
Ia tidak seperti komputer hanya tahu alamat e-mel apa menghantar spam.
Jadi ia lebih berasaskan kepada kandungan mesej, atau mungkin tajuk, atau
mungkin beberapa corak yang anda ada.
>> Jadi, pada dasarnya, apa yang anda boleh lakukan ialah mendapatkan banyak data e-mel yang spam,
e-mel yang tidak spam, dan belajar apa jenis corak anda mempunyai dalam
orang-orang yang spam.
Dan ini adalah sebahagian daripada pengiraan linguistik.
Ia dipanggil pengelasan data.
Dan kita sebenarnya akan melihat contoh bahawa dalam slaid seterusnya.
>> Perkara kedua adalah bahasa semula jadi pemprosesan yang merupakan perkara yang bahawa
Graf Cari melakukan membiarkan anda menulis ayat.
Dan ia percaya yang anda memahami apa yang makna dan memberikan
anda hasil yang lebih baik.
Sebenarnya, jika anda pergi ke Google atau Bing dan anda mencari sesuatu seperti Lady
Ketinggian Gaga, anda sebenarnya akan untuk mendapatkan 5 '1 "dan bukannya maklumat
dari dia kerana ia sebenarnya memahami apa yang anda bercakap tentang.
Jadi, itu sebahagian daripada alam semula jadi pemprosesan bahasa.
>> Atau juga apabila anda menggunakan Siri, pertama anda mempunyai algoritma yang cuba
menterjemahkan apa yang anda katakan ke dalam kata-kata, dalam teks.
Dan kemudian ia cuba untuk menterjemahkan itu ke dalam makna.
Jadi, itu semua sebahagian daripada alam semula jadi pemprosesan bahasa.
>> Kemudian ada terjemahan mesin -
yang sebenarnya adalah salah kegemaran saya -
yang hanya menterjemah daripada satu bahasa kepada bahasa lain.
Jadi, anda boleh berfikir bahawa apabila anda lakukan terjemahan mesin, anda mempunyai
kemungkinan tidak terhingga ayat.
Jadi tidak ada cara hanya menyimpan setiap terjemahan tunggal.
Jadi, anda perlu datang dengan menarik algoritma untuk dapat
menterjemahkan setiap tunggal ayat dalam beberapa cara.
>> Anda mempunyai sebarang soalan setakat ini?
Tidak?
OK.
>> Jadi apa yang kita akan melihat hari ini?
Pertama sekali, saya akan bercakap tentang masalah pengelasan.
Jadi salah satu yang saya katakan tentang spam.
Apa yang saya akan lakukan ialah, memandangkan lyrics untuk lagu, anda boleh cuba untuk memikirkan
dengan kebarangkalian tinggi yang penyanyi?
Mari kita mengatakan bahawa saya mempunyai lagu-lagu daripada Lady Gaga dan Katy Perry, jika saya memberikan anda
lagu baru, anda boleh memahami jika ia Katy Perry atau Lady Gaga?
>> Yang kedua, saya hanya akan bercakap tentang masalah segmentasi.
Jadi, saya tidak tahu jika anda semua tahu, tetapi Cina, Jepun, Asia Timur yang lain
bahasa, dan bahasa-bahasa lain secara umum, tidak mempunyai
ruang di antara perkataan.
Dan kemudian jika anda berfikir tentang cara yang jenis komputer anda daripada cuba untuk
memahami pemprosesan bahasa semula jadi, ia kelihatan pada kata-kata dan
cuba untuk memahami hubungan di antara mereka, bukan?
Tetapi jika anda mempunyai China, dan anda mempunyai ruang sifar, ia benar-benar sukar untuk
mengetahui apa yang hubungan antara kata-kata, kerana mereka tidak mempunyai apa-apa
kata-kata pada mulanya.
Jadi, anda perlu melakukan sesuatu yang dinamakan segmentasi yang hanya bermaksud meletakkan
ruang di antara apa yang kita akan memanggil kata-kata dalam bahasa-bahasa.
Masuk akal?
>> Dan kemudian kita akan bercakap tentang sintaksis.
Jadi hanya sedikit tentang semula jadi pemprosesan bahasa.
Ia akan hanya gambaran.
Jadi hari ini, pada dasarnya apa yang saya mahu lakukan adalah memberikan anda semua sedikit satu
dalam apakah kemungkinan yang anda boleh lakukan dengan pengiraan
linguistik.
Dan kemudian anda boleh melihat apa yang anda fikirkan sejuk di kalangan perkara-perkara.
Dan mungkin anda boleh memikirkan projek dan datang bercakap dengan saya.
Dan saya boleh memberi anda nasihat bagaimana untuk melaksanakannya.
>> Jadi sintaks akan menjadi sedikit mengenai Graf Cari dan mesin
terjemahan.
Saya hanya akan memberikan satu contoh bagaimana anda boleh, sebagai contoh, menterjemah
sesuatu dari Portugis ke Bahasa Inggeris.
Bunyi yang baik?
>> Jadi pertama, masalah klasifikasi.
Saya akan mengatakan bahawa ini sebahagian daripada seminar yang akan menjadi yang paling mencabar
satu hanya kerana ada akan ada beberapa pengekodan.
Tetapi ia akan menjadi Python.
Saya tahu anda semua tidak tahu Python, jadi Saya hanya akan menjelaskan pada yang tinggi
tahap apa yang saya lakukan.
Dan anda tidak perlu untuk benar-benar mengambil berat terlalu banyak mengenai sintaks kerana itulah
sesuatu yang anda semua boleh belajar.
OK?
Bunyi yang baik.
>> Jadi apa masalah klasifikasi?
Jadi anda diberikan beberapa lirik lagu, dan anda mahu untuk meneka
yang menyanyikannya.
Dan ini boleh untuk apa-apa jenis masalah lain.
Jadi boleh, sebagai contoh, anda mempunyai kempen presiden dan anda mempunyai
ucapan, dan anda ingin mencari jika ia adalah, sebagai contoh,
Obama atau Mitt Romney.
Atau anda boleh mempunyai sekumpulan e-mel dan anda mahu untuk memikirkan jika mereka
spam atau tidak.
Jadi ia hanya mengklasifikasikan beberapa data berdasarkan perkataan
bahawa anda mempunyai di sana.
>> Jadi untuk berbuat demikian, anda perlu membuat beberapa andaian.
Jadi banyak perkara mengenai linguistik pengiraan membuat andaian,
andaian biasanya pintar, supaya anda boleh mendapatkan keputusan yang baik.
Cuba untuk mewujudkan satu model untuk itu.
Dan kemudian mencubanya dan lihat jika ia berfungsi, jika ia memberi anda ketepatan yang baik.
Dan jika ia, maka anda cuba untuk memperbaikinya.
Jika tidak, anda seperti, OK, mungkin saya perlu membuat andaian yang berbeza.
>> Jadi andaian bahawa kita akan membuat ialah seorang artis biasanya menyanyi
kira-kira satu kali pelbagai topik, dan mungkin menggunakan kata-kata beberapa kali hanya
kerana mereka digunakan untuk ia.
Anda hanya boleh berfikir rakan anda.
Saya pasti anda semua mempunyai kawan-kawan semua yang mengatakan frasa tandatangan mereka,
secara literal bagi setiap ayat -
seperti beberapa perkataan tertentu atau beberapa tertentu frasa yang mereka katakan untuk
setiap ayat.
>> Dan apa yang anda boleh katakan ialah bahawa jika anda melihat hukuman yang mempunyai tandatangan
frasa, anda boleh meneka yang mungkin rakan anda adalah
satu berkata ia, bukan?
Jadi, anda membuat andaian itu dan kemudian itulah bagaimana anda membuat model.
>> Contoh yang saya akan berikan adalah pada bagaimana Lady Gaga, sebagai contoh, orang-orang
mengatakan bahawa dia menggunakan "bayi" untuk semua dia nombor satu lagu.
Dan sebenarnya ini adalah video yang menunjukkan beliau berkata perkataan "bayi" untuk
lagu-lagu yang berbeza.
>> [VIDEO MAIN SEMULA]
>> - (Nyanyian) Bayi.
Bayi.
Bayi.
Bayi.
Bayi.
Babe.
Bayi.
Bayi.
Bayi.
Bayi.
>> [END VIDEO MAIN SEMULA-
>> LUCAS Freitas: Jadi ada, saya fikir, 40 lagu-lagu di sini di mana beliau berkata,
perkataan "bayi." Jadi pada dasarnya anda boleh meneka bahawa jika anda melihat sebuah lagu yang mempunyai
perkataan "bayi," ada beberapa tinggi kebarangkalian bahawa itu Lady Gaga.
Tetapi mari kita cuba untuk membangunkan ini lagi lebih secara rasmi.
>> Jadi ini adalah lirik lagu-lagu oleh Lady Gaga dan Katy Perry.
Jadi anda melihat Lady Gaga, anda melihat mereka mempunyai banyak kejadian "bayi," yang
banyak kejadian "jalan." Dan kemudian Katy Perry mempunyai banyak kejadian
"Itu," banyak kejadian "api."
>> Jadi, pada asasnya apa yang kita mahu lakukan ialah, anda mendapat lirik yang.
Mari kita mengatakan bahawa anda mendapatkan lirik untuk lagu yang "bayi," hanya "bayi." Jika
anda hanya mendapat perkataan "bayi", dan ini semua data yang anda ada dari
Lady Gaga dan Katy Perry, yang akan anda meneka adalah orang yang
yang menyanyi lagu?
Lady Gaga atau Katy Perry?
Lady Gaga, bukan?
Kerana dia satu-satunya yang mengatakan "Bayi." Ini bunyi bodoh, bukan?
OK, ini adalah benar-benar mudah.
Saya hanya melihat dua buah lagu dan Sudah tentu, dia satu-satunya yang mempunyai
"Bayi."
>> Tetapi bagaimana jika anda mempunyai sekumpulan kata-kata?
Jika anda mempunyai lirik sebenar, sesuatu seperti, "Bayi, saya hanya
pergi untuk melihat [? CFT?]
kuliah, "atau sesuatu seperti itu, dan maka anda sebenarnya perlu memikirkan -
berdasarkan semua kata-kata -
yang adalah seorang artis yang mungkin menyanyikan lagu ini?
Jadi mari kita cuba untuk membangunkan ini sedikit lagi.
>> OK, jadi berasaskan hanya pada data yang kita mendapat, ia kelihatan bahawa Gaga mungkin
penyanyi.
Tetapi bagaimana kita boleh menulis ini lebih secara rasmi?
Dan ada akan menjadi sedikit sedikit statistik.
Jadi, jika anda hilang, hanya cuba untuk memahami konsep itu.
Ia tidak kira jika anda memahami persamaan dengan baik.
Ini semua akan berada dalam talian.
>> Jadi, pada asasnya apa yang saya mengira adalah kebarangkalian bahawa lagu ini adalah dengan
Lady Gaga memandangkan -
jadi bar ini ertinya memandangkan -
Saya melihat perkataan "bayi." Adakah ini masuk akal?
Jadi saya cuba untuk mengira Kebarangkalian.
>> Jadi ada teorem ini dipanggil Bayes teorem yang mengatakan bahawa
kebarangkalian A B diberikan, adalah kebarangkalian B diberikan A, kali
kebarangkalian A, lebih kebarangkalian B. Ini adalah persamaan yang panjang.
Tetapi apa yang anda perlu memahami dari itu adalah bahawa ini adalah apa yang saya mahu
mengira, bukan?
Jadi kebarangkalian bahawa lagu itu adalah dengan Lady Gaga memandangkan saya melihat perkataan
"Bayi."
>> Dan kini apa yang saya mendapat adalah kebarangkalian perkataan "bayi" diberikan
bahawa saya mempunyai Lady Gaga.
Apakah itu yang pada dasarnya?
Apa cara iaitu, apakah kebarangkalian melihat satu perkataan "bayi"
dalam Gaga lyrics?
Jika saya mahu untuk mengira bahawa dalam yang sangat cara yang mudah, ia hanya beberapa
kali saya lihat "bayi" atas jumlah perkataan dalam Gaga lyrics, bukan?
Apakah kekerapan yang saya lihat bahawa perkataan dalam kerja Gaga?
Masuk akal?
>> Istilah kedua ialah kebarangkalian Gaga.
Apa maksudnya?
Yang pada dasarnya bermakna, apakah kebarangkalian mengklasifikasikan
beberapa lyrics sebagai Gaga?
Dan ini adalah jenis pelik, tetapi mari kita memikirkan satu contoh.
Jadi katakan bahawa kebarangkalian mempunyai "bayi" dalam lagu itu adalah sama
untuk Gaga dan Britney Spears.
Tetapi Britney Spears mempunyai dua kali ganda lebih banyak lagu daripada Lady Gaga.
Jadi, jika seseorang hanya secara rawak memberikan anda lirik "bayi," perkara pertama yang anda
melihat adalah, apakah kebarangkalian mempunyai "bayi" dalam lagu Gaga, "bayi"
dalam sebuah lagu Britney?
Dan ia adalah perkara yang sama.
>> Jadi perkara kedua yang anda akan lihat ialah, juga, apakah kebarangkalian
lirik ini dengan sendirinya menjadi lirik Gaga, dan apakah kebarangkalian
menjadi lirik Britney?
Jadi sejak Britney mempunyai banyak lagi lyrics daripada Gaga, anda akan mungkin
katakan, baik, ini mungkin lirik Britney.
Jadi itulah sebabnya kita mempunyai sebut di sini.
Kebarangkalian Gaga.
Masuk akal?
Adakah ia?
OK.
>> Dan yang terakhir adalah hanya kebarangkalian daripada "bayi" yang tidak
benar-benar perkara yang banyak.
Tetapi ia kebarangkalian melihat "bayi" dalam bahasa Inggeris.
Kami biasanya tidak peduli bahawa banyak mengenai tempoh jawatan itu.
Adakah ini masuk akal?
Jadi kebarangkalian Gaga adalah dipanggil kebarangkalian sebelum
daripada Gaga kelas.
Oleh kerana itu hanya bererti bahawa, apakah kebarangkalian yang mempunyai kelas itu -
yang Gaga -
hanya secara umum, hanya tanpa syarat.
>> Dan kemudian apabila saya mempunyai kebarangkalian Gaga diberikan "bayi," kita panggil ia ditambah
teary kebarangkalian yang kerana ia kebarangkalian yang mempunyai
Gaga diberikan beberapa bukti.
Jadi, saya memberi anda bukti bahawa saya melihat bayi perkataan dan
lagu masuk akal?
OK.
>> Jadi Sekiranya saya dikira bahawa bagi setiap daripada lagu-lagu untuk Lady Gaga,
apa yang akan menjadi -
nampaknya, saya tidak boleh bergerak ini.
Kebarangkalian Gaga akan sesuatu seperti, 2 lebih daripada 24, masa 1/2,
lebih 2 lebih 53.
Ia tidak kira jika anda tahu apa nombor-nombor ini yang datang dari.
Tetapi ia hanya beberapa yang akan untuk menjadi lebih daripada 0, betul?
>> Dan kemudian apabila saya melakukan Katy Perry, kebarangkalian "bayi" diberikan Katy adalah
sudah 0, bukan?
Kerana tidak ada "bayi" di Katy Perry.
Demikian maka ini menjadi 0, dan Gaga menang, yang bermaksud bahawa Gaga adalah
mungkin penyanyi.
Adakah ini masuk akal?
OK.
>> Jadi jika saya ingin rasmi ini lebih, Saya benar-benar boleh melakukan model
satu perkataan.
Jadi mari kita mengatakan bahawa saya mempunyai sesuatu seperti, "Bayi, saya
terbakar, "atau sesuatu.
Jadi ia mempunyai pelbagai kata-kata.
Dan dalam kes ini, anda boleh melihat bahawa "bayi" adalah dalam Gaga,
tetapi ia bukan dalam Katy.
Dan "api" adalah di Katy, tetapi ia bukan dalam Gaga, bukan?
Jadi ia semakin sukar, bukan?
Kerana ia seolah-olah bahawa anda hampir mempunyai hubungan antara kedua-dua.
>> Jadi apa yang anda perlu lakukan adalah mengambil alih kebebasan antara kata-kata.
Jadi, pada asasnya apa yang bermakna ialah Saya hanya mengira apakah
kebarangkalian melihat "bayi," apa yang kebarangkalian melihat "Saya," dan
"Aku", dan "di" dan "api," semua secara berasingan.
Kemudian saya mendarabkan mereka semua.
Dan saya melihat apakah kebarangkalian melihat keseluruhan ayat.
Masuk akal?
>> Jadi, pada asasnya, jika saya mempunyai hanya satu perkataan, apa yang saya ingin mencari adalah maks Arg itu,
yang bermaksud, apa yang kelas yang memberi saya kebarangkalian yang paling tinggi?
Jadi apa kelas yang memberi saya kebarangkalian tertinggi untuk
kebarangkalian kelas diberikan perkataan.
Jadi dalam kes ini, Gaga diberi "bayi." Atau Katy diberikan "bayi." Masuk akal?
>> Dan hanya dari Bayes, yang persamaan yang saya menunjukkan,
kita mewujudkan pecahan ini.
Satu-satunya perkara adalah bahawa anda melihat bahawa kebarangkalian perkataan diberi
perubahan kelas bergantung di kelas, bukan?
Bilangan "bayi" s yang saya ada dalam Gaga adalah berbeza daripada Katy.
Kebarangkalian kelas juga perubahan kerana ia hanya bilangan
lagu-lagu setiap daripada mereka mempunyai.
>> Tetapi kebarangkalian perkataan itu sendiri akan menjadi yang sama untuk semua
artis, bukan?
Jadi kebarangkalian dari perkataan ini adalah hanya, apakah kebarangkalian
melihat perkataan yang dalam Bahasa Inggeris?
Jadi ia yang sama untuk mereka semua.
Jadi kerana ini adalah tetap, kita boleh hanya drop ini dan tidak mengambil berat tentang ia.
Jadi ini akan menjadi sebenarnya persamaan yang kita cari.
>> Dan jika saya mempunyai beberapa perkataan, saya masih akan perlu terlebih dahulu
kebarangkalian di sini.
Satu-satunya perkara adalah bahawa saya mendarabkan kebarangkalian
semua kata-kata lain.
Jadi saya mendarabkan mereka semua.
Masuk akal?
Ia kelihatan pelik tetapi pada dasarnya bermakna, mengira terlebih dahulu daripada kelas, dan
kemudian darab dengan kebarangkalian setiap perkataan yang di dalam kelas itu.
>> Dan anda tahu bahawa kebarangkalian perkataan diberikan kelas yang akan menjadi
beberapa kali anda melihat perkataan yang dalam kelas itu, dibahagikan dengan bilangan
kata-kata yang ada di yang kelas secara amnya.
Masuk akal?
Ia hanya bagaimana "bayi" adalah 2 lebih bilangan perkataan yang
Saya dalam lirik.
Jadi kekerapan.
>> Tetapi ada satu perkara.
Ingat bagaimana saya telah menunjukkan bahawa kebarangkalian "bayi" yang lyrics
daripada Katy Perry adalah 0 hanya kerana Katy Perry tidak mempunyai "bayi" di semua?
Tetapi ia kedengaran agak kasar hanya hanya mengatakan bahawa lyrics tidak boleh dari
seorang artis hanya kerana mereka tidak mempunyai bahawa perkataan khususnya pada sebarang masa.
>> Jadi anda hanya boleh mengatakan, baik, jika anda tidak mempunyai perkataan ini, saya akan
memberikan kebarangkalian yang lebih rendah, tetapi saya hanya tidak akan
memberi anda 0 merta.
Kerana mungkin ia adalah sesuatu seperti, "Api, api, api, api," yang merupakan
sama sekali Katy Perry.
Dan kemudian "bayi", dan ia hanya pergi untuk 0 segera kerana terdapat satu
"Bayi."
>> Jadi, pada asasnya apa yang kita lakukan adalah sesuatu dipanggil Laplace pelicinan.
Dan ini hanya bermakna bahawa saya memberi beberapa kebarangkalian walaupun dengan kata-kata
yang tidak wujud.
Jadi apa yang saya lakukan ialah apabila saya pengiraan ini, saya sentiasa menambah 1 kepada
pembilang.
Jadi, walaupun perkataan itu tidak wujud, dalam kes ini, jika ini adalah 0, saya masih
mengira ini sebagai 1 atas Jumlah perkataan.
Jika tidak, saya mendapat berapa banyak perkataan Yang saya ada dan saya menambah 1.
Jadi, saya mengira untuk kedua-dua kes.
Masuk akal?
>> Jadi sekarang mari kita buat beberapa pengekodan.
Saya akan mempunyai untuk melakukannya cukup cepat, tetapi ia hanya penting untuk anda
lelaki memahami konsep-konsep.
Jadi apa yang kita cuba lakukan adalah betul-betul melaksanakan ini
perkara yang saya hanya berkata -
Saya mahu anda meletakkan lirik dari Lady Gaga dan Katy Perry.
Dan program ini akan dapat mengatakan jika ini lyrics baru dari Gaga
atau Katy Perry.
Masuk akal?
OK.
>> Jadi saya mempunyai program ini saya akan untuk memanggil classify.py.
Jadi ini adalah Python.
Ia adalah satu bahasa pengaturcaraan yang baru.
Ia adalah sangat serupa dalam sesetengah cara-cara untuk C dan PHP.
Ia adalah serupa kerana jika anda mahu belajar Python selepas mengetahui C, ia
benar-benar tidak bahawa banyak cabaran hanya kerana Python adalah lebih mudah
daripada C, pertama sekali.
Dan banyak perkara-perkara yang sudah dilaksanakan untuk anda.
Jadi bagaimana seperti PHP mempunyai fungsi-fungsi yang menyusun senarai, atau menambah sesuatu
kepada pelbagai, atau blah, blah, blah.
Python mempunyai semua orang-orang juga.
>> Jadi saya hanya akan menerangkan dengan cepat bagaimana kita boleh melakukan klasifikasi
masalah bagi di sini.
Jadi mari kita mengatakan bahawa dalam kes ini, saya mempunyai lirik dari Gaga dan Katy Perry.
Cara yang saya mempunyai orang-orang lyrics ialah perkataan pertama lirik adalah
nama artis, dan selebihnya adalah lirik.
Jadi mari kita mengatakan bahawa saya mempunyai senarai ini dalam yang mana satu yang pertama adalah lirik oleh Gaga.
Jadi di sini saya di landasan yang betul.
Dan yang seterusnya adalah Katy, dan ia juga mempunyai lirik.
>> Jadi ini adalah bagaimana anda mengisytiharkan pembolehubah dalam Python.
Anda tidak perlu memberikan jenis data.
Anda hanya menulis "lyrics," jenis suka dalam PHP.
Masuk akal?
>> Jadi apakah perkara-perkara yang saya perlu mengira dapat mengira
kebarangkalian?
Saya perlu mengira "prior" setiap yang berbeza
kelas yang aku dapat.
Saya perlu mengira "posteriors," atau cukup banyak kebarangkalian
setiap perkataan yang berbeza yang Saya boleh mempunyai untuk setiap artis.
Jadi dalam Gaga, sebagai contoh, saya akan untuk mempunyai senarai berapa kali saya melihat
setiap satu daripada kata-kata.
Masuk akal?
>> Dan akhirnya, saya hanya akan mempunyai senarai yang dikenali sebagai "perkataan" yang hanya akan
mempunyai berapa banyak perkataan saya ada untuk setiap artis.
Jadi untuk Gaga, sebagai contoh, apabila saya melihat lirik, saya telah, saya fikir, 24
perkataan dalam jumlah.
Jadi senarai ini hanya akan mempunyai Gaga 24, dan Katy nombor lain.
Masuk akal?
OK.
>> Jadi sekarang, sebenarnya, mari kita pergi ke pengekodan.
Jadi dalam Python, anda boleh sebenarnya kembali sekumpulan berbeza
perkara-perkara dari satu majlis.
Jadi saya akan mewujudkan fungsi ini dipanggil "bersyarat," yang akan
untuk kembali semua perkara-perkara ini, "Prior," yang "kebarangkalian," dan
"Kata-kata." Jadi "bersyarat," dan ia akan memanggil ke dalam "lyrics."
>> Jadi sekarang saya mahu anda untuk benar-benar menulis fungsi ini.
Jadi cara yang saya boleh menulis ini fungsi adalah saya hanya ditakrifkan ini
berfungsi dengan "def." Jadi saya "def bersyarat, "dan ia mengambil
"Lyrics." Dan apa ini akan melakukan adalah, pertama sekali, saya mempunyai prior saya
yang saya mahu untuk mengira.
>> Jadi cara yang boleh saya lakukan ini adalah mewujudkan kamus dalam Python, yang
adalah cukup banyak perkara yang sama seperti hash meja, atau ia seperti satu lelaran
array dalam PHP.
Ini adalah bagaimana saya mengisytiharkan kamus.
Dan pada dasarnya apa ini bermakna bahawa prior daripada Gaga adalah 0.5, sebagai contoh, jika
50% dalam lirik lagu dari Gaga, 50% adalah dari Katy.
Masuk akal?
Jadi saya perlu memikirkan bagaimana untuk mengira prior.
>> Orang-orang yang akan datang yang saya lakukan, juga, adalah kebarangkalian dan kata-kata.
Jadi kebarangkalian Gaga adalah senarai semua kebarangkalian bahawa saya
ada untuk setiap satu daripada kata-kata untuk Gaga.
Jadi, jika saya pergi ke kebarangkalian Gaga "Bayi," sebagai contoh, ia akan memberi saya
sesuatu seperti 2 lebih daripada 24 dalam kes itu.
Masuk akal?
Jadi saya pergi ke "kebarangkalian," pergi ke "Gaga" baldi yang mempunyai senarai semua
perkataan Gaga, maka saya pergi ke "bayi," dan saya melihat kebarangkalian.
>> Dan akhirnya saya ini "Kata-kata" kamus.
Jadi di sini, "kebarangkalian." Dan kemudian "Kata-kata." Jadi, jika saya lakukan "kata-kata," "Gaga,"
apa yang akan berlaku ialah ia akan memberi saya 24, mengatakan bahawa saya
mempunyai 24 perkataan dalam lirik dari Gaga.
Masuk akal?
Jadi di sini, "kata-kata" sama dah-dah-dah.
OK
>> Jadi apa yang saya akan lakukan adalah saya akan melelar atas setiap lirik, jadi
setiap daripada tali-tali yang Saya ada dalam senarai.
Dan saya akan mengira perkara-perkara bagi setiap calon.
Masuk akal?
Jadi saya perlu melakukan untuk gelung.
>> Jadi dalam Python apa yang boleh saya lakukan adalah "bagi talian dalam lirik. "Perkara yang sama sebagai
"Untuk setiap" Kenyataan dalam PHP.
Ingat bagaimana jika ia adalah PHP yang saya dapat berkata "bagi setiap lyrics sebagai
line. "Masuk akal?
Jadi, saya mengambil setiap satu daripada garisan, dalam ini kes, tali ini dan seterusnya
rentetan demikian bagi setiap garis apa yang saya akan lakukan ialah pertama, saya akan
berpecah baris ini ke dalam senarai kata-kata yang dipisahkan oleh ruang.
>> Jadi perkara yang sejuk kira-kira Python ialah anda boleh hanya Google seperti "bagaimana boleh saya
berpecah rentetan ke dalam kata-kata? "Dan ia akan memberitahu anda bagaimana untuk melakukannya.
Dan cara untuk melakukannya, ia hanya "talian = Line.split () "dan ia pada dasarnya
akan memberikan anda senarai dengan setiap perkataan di sini.
Masuk akal?
Jadi sekarang yang saya lakukan yang saya ingin tahu yang merupakan penyanyi lagu itu.
Dan untuk itu saya hanya perlu mendapatkan Elemen pertama array, bukan?
Jadi saya hanya boleh mengatakan bahawa saya "penyanyi = Line (0) "Masuk akal?
>> Dan kemudian apa yang saya perlu lakukan ialah, pertama semua, saya akan mengemas kini berapa ramai
kata-kata saya di bawah "Gaga." jadi saya hanya akan mengira berapa banyak kata-kata saya
ada di dalam senarai ini, bukan?
Kerana ini adalah berapa banyak perkataan saya dalam lirik dan saya hanya akan
menambah kepada "Gaga" array.
Adakah ini masuk akal?
Tidak memberi tumpuan terlalu banyak pada sintaks.
Berfikir lebih lanjut mengenai konsep-konsep.
Itu sebahagian yang paling penting.
OK.
>> Jadi apa yang boleh saya lakukan adalah jika "Gaga" adalah telah berada dalam senarai itu, jadi "jika penyanyi dalam
perkataan "yang bermaksud bahawa saya sudah mempunyai perkataan dengan Gaga.
Saya hanya mahu untuk menambah tambahan Perkataan-perkataan.
Jadi apa yang saya lakukan ialah "kata-kata (penyanyi) + = Len (line) - 1 ".
Dan kemudian saya hanya boleh melakukan perkara yang panjang baris.
Jadi bagaimana banyak unsur saya ada di dalam array.
Dan saya perlu melakukan tolak 1 hanya kerana elemen pertama array hanya
seorang penyanyi dan mereka yang tidak adalah lyrics.
Masuk akal?
OK.
>> "Lagi," ia bermakna yang saya mahu sebenarnya memasukkan Gaga ke dalam senarai.
Jadi saya hanya melakukan "kata-kata (penyanyi) = Len (line) - 1, "maaf.
Jadi satu-satunya perbezaan antara kedua-dua garis adalah yang satu ini, ia tidak
wujud lagi, jadi saya hanya Memulakan ia.
Yang ini saya benar-benar menambah.
OK.
Jadi ini menambahkan kepadanya kata-kata.
>> Sekarang saya ingin menambah kepada prior.
Jadi bagaimana saya mengira prior?
Yang prior boleh dikira oleh berapa kali.
Jadi berapa kali anda melihat penyanyi yang di kalangan semua penyanyi yang anda
mempunyai, bukan?
Jadi bagi Gaga dan Katy Perry, dalam kes ini, saya melihat Gaga
sekali, Katy Perry sekali.
>> Jadi, pada asasnya prior untuk Gaga dan untuk Katy Perry akan
hanya menjadi satu, kan?
Anda hanya berapa kali Saya melihat artis.
Jadi ini adalah sangat mudah untuk mengira.
Saya boleh sesuatu yang hanya sama seperti seperti "jika penyanyi dalam prior, "Saya hanya akan
untuk menambah 1 ke kotak prior mereka.
Jadi, "prior (menyanyi)" + = 1 "dan kemudian" lain " Saya akan melakukan "prior (penyanyi)
= 1. "Masuk akal?
>> Jadi, jika ia tidak wujud saya hanya meletakkan sebagai 1, jika tidak, saya hanya tambah 1.
OK, jadi sekarang semua yang saya telah meninggalkan untuk melakukan juga menambah setiap perkataan kepada
kebarangkalian.
Jadi saya perlu mengira berapa kali Saya melihat setiap satu daripada kata-kata.
Jadi saya hanya perlu melakukan satu lagi untuk gelung dalam baris.
>> Perkara pertama yang Jadi saya akan lakukan ialah memeriksa jika penyanyi yang sudah mempunyai
kebarangkalian pelbagai.
Jadi saya memeriksa jika penyanyi itu tidak mempunyai pelbagai kebarangkalian, saya hanya
akan memulakan satu untuk mereka.
Ia bukan juga satu pameran, maaf, ia kamus.
Jadi kebarangkalian penyanyi akan menjadi kamus terbuka, jadi saya
hanya Memulakan kamus untuk itu.
OK?
>> Dan sekarang saya benar-benar boleh melakukan untuk gelung untuk mengira setiap satu daripada kata-kata '
kebarangkalian.
OK.
Jadi apa yang boleh saya lakukan adalah untuk gelung.
Jadi, saya hanya akan melelar lebih array.
Oleh itu cara yang boleh saya lakukan bahawa dalam Python adalah "untuk i dalam jarak." Dari 1
kerana saya ingin memulakan dalam kedua elemen kerana pertama adalah
nama penyanyi.
Jadi dari satu sehingga ke panjang baris.
Dan apabila saya berkisar ia sebenarnya pergi dari seperti di sini dari 1 hingga len daripada
garis tolak 1.
Jadi ia sudah tidak bahawa perkara yang telah melakukan n tolak 1 untuk tatasusunan yang sangat
mudah.
Masuk akal?
>> Jadi bagi setiap ini, apa yang saya akan lakukan ialah, seperti dalam yang lain,
Saya akan memeriksa jika perkataan dalam ini kedudukan selari telah pun
kebarangkalian.
Dan kemudian seperti yang saya katakan di sini, kebarangkalian kata-kata, seperti dalam saya meletakkan
"Kebarangkalian (penyanyi)".
Jadi nama penyanyi.
Jadi, jika ia sudah di "Probabilit (penyanyi)", ia bermakna bahawa saya
mahu menambah 1 kepadanya, jadi saya akan melakukan "kebarangkalian (penyanyi)", dan
perkataan dipanggil "talian (i)".
Saya akan tambah 1 dan "lain" Saya hanya akan memulakan ia dengan 1.
"Line (i)".
Masuk akal?
>> Jadi, saya dikira semua tatasusunan.
Jadi, apa yang saya perlu lakukan untuk satu ini hanya "kembali prior,
kebarangkalian dan kata-kata. "Mari kita melihat jika terdapat apa-apa, OK.
Ia seolah-olah semuanya bekerja setakat ini.
Jadi, yang masuk akal?
Dalam beberapa cara?
OK.
Jadi sekarang saya mempunyai semua kebarangkalian.
Jadi sekarang hanya perkara yang aku telah meninggalkan adalah hanya untuk perkara yang yang
mengira darab semua Kebarangkalian apabila saya lirik.
>> Jadi mari kita mengatakan bahawa saya mahu sekarang panggilan fungsi ini "mengelaskan ()" dan
perkara fungsi yang mengambil hanya pertengkaran.
Katakan "Bayi, saya terbakar" dan ia akan memikirkan apakah
Kebarangkalian ini adalah Gaga?
Apakah kebarangkalian bahawa ini adalah Katie?
Bunyi yang baik?
Jadi saya hanya akan perlu untuk mewujudkan fungsi baru yang dinamakan "mengelaskan ()" dan
ia akan mengambil beberapa lyrics juga.
Dan selain lirik saya juga perlu menghantar prior, yang
kebarangkalian dan kata-kata.
Jadi, saya akan menghantar lirik, prior, kebarangkalian, kata-kata.
>> Jadi ini adalah mengambil lyrics, prior, kebarangkalian, kata-kata.
Jadi, apa yang ia lakukan?
Ia pada dasarnya akan melalui semua calon-calon yang mungkin anda
mempunyai sebagai penyanyi.
Dan di mana orang-orang calon?
Mereka Dalam prior, bukan?
Jadi saya mempunyai semua orang-orang di sana.
Jadi saya akan mempunyai kamus daripada semua calon mungkin.
Dan kemudian bagi setiap calon dalam prior, jadi ia bermakna bahawa ia akan
menjadi Gaga, Katie jika saya mempunyai lebih banyak ia akan menjadi lebih.
Saya akan mula mengira kebarangkalian ini.
Kebarangkalian seperti yang kita lihat dalam PowerPoint adalah masa-masa sebelum ini
produk dari masing-masing kebarangkalian lain.
>> Jadi saya boleh melakukan perkara yang sama di sini.
Saya hanya boleh melakukan kebarangkalian adalah pada mulanya hanya sebelumnya.
Jadi prior calon.
Betul?
Dan sekarang saya perlu melelar atas semua kata-kata yang saya mempunyai dalam lirik sebagai
dapat menambah kebarangkalian bagi setiap daripada mereka, OK?
Jadi, "perkataan dalam lirik" apa yang saya akan lakukan adalah, jika perkataan ini adalah dalam
"Kebarangkalian (calon)", yang bermakna ia kata bahawa
calon mempunyai dalam lyrics mereka -
sebagai contoh, "bayi" untuk Gaga -
apa yang saya akan lakukan ialah bahawa kebarangkalian akan digandakan
oleh 1 campur kebarangkalian calon bagi perkataan itu.
Dan ia dipanggil "dengan perkataan".
Ini dibahagikan dengan jumlah perkataan yang saya ada untuk calon itu.
Jumlah perkataan yang saya mempunyai untuk penyanyi yang saya lihat.
>> "Lagi." ia bermakna ia adalah satu perkataan baru jadi ia akan menjadi seperti sebagai contoh
"Api" untuk Lady Gaga.
Jadi saya hanya mahu melakukan lebih 1 "Dengan perkataan (calon)".
Jadi, saya tidak mahu meletakkan istilah ini di sini.
>> Jadi ia akan menjadi pada dasarnya menyalin dan menampal ini.
Tetapi saya akan memadam bahagian ini.
Jadi ia hanya akan menjadi lebih 1 itu.
Bunyi yang baik?
Dan sekarang pada akhirnya, saya hanya akan mencetak nama calon dan
kebarangkalian bahawa anda mempunyai satu mempunyai S pada lirik mereka.
Masuk akal?
Dan saya benar-benar melakukannya tidak perlu kamus ini.
Masuk akal?
>> Jadi, mari kita lihat jika ini sebenarnya berfungsi.
Jadi jika saya menjalankan ini, ia tidak berjaya.
Tunggu satu saat.
"Perkataan (calon)", "kata-kata (calon)", itulah
nama array.
OK Jadi, ia berkata ada beberapa bug untuk calon dalam prior.
Biarlah saya hanya berehat sedikit.
OK.
Mari kita cuba.
OK.
>> Jadi ia memberi Katy Perry telah ini kebarangkalian ini kali 10 kepada
tolak 7, dan Gaga telah ini kali 10 untuk tolak 6.
Jadi anda lihat ia menunjukkan bahawa Gaga mempunyai kebarangkalian yang lebih tinggi.
Jadi "Baby, Saya kini di neraka" adalah mungkin sebuah lagu Gaga.
Masuk akal?
Jadi ini adalah apa yang kita lakukan.
>> Kod ini akan disiarkan dalam talian, jadi anda semua boleh check it out.
Mungkin menggunakan beberapa untuk jika anda mahu melakukan projek atau sesuatu yang serupa.
OK.
Ini hanya untuk menunjukkan apa pengiraan
kod linguistik kelihatan seperti.
Tetapi sekarang mari kita pergi kepada lebih barangan yang tinggi.
OK.
>> Jadi masalah lain saya bercakap tentang -
masalah segmentasi adalah yang pertama daripada mereka.
Jadi anda ada di sini Jepun.
Dan kemudian anda melihat bahawa tidak ada ruang.
Jadi ini adalah pada dasarnya bermakna bahawa itu bahagian atas kerusi, bukan?
Anda bercakap Jepun?
Ia adalah atas kerusi, bukan?
>> PELAJAR: Saya tidak tahu apa yang kanji yang lebih ada.
>> LUCAS Freitas: Ia [BERCAKAP JEPUN]
OK.
Jadi pada asasnya bermakna pengerusi atas.
Jadi, jika anda terpaksa meletakkan ruang yang ia akan berada di sini.
Dan kemudian anda perlu [? Ueda-san. ?]
Yang pada asasnya bermakna Mr Ueda.
Dan anda melihat bahawa "Ueda" dan anda mempunyai ruang dan kemudian "san." Jadi anda lihat bahawa
di sini anda "ue" adalah seperti dengan sendirinya.
Dan di sini ia mempunyai watak yang sebelahnya.
>> Jadi ia bukan seperti dalam bahasa-bahasa watak-watak yang bermakna perkataan supaya anda
hanya meletakkan banyak ruang.
Watak berkaitan antara satu sama lain.
Dan mereka boleh bersama-sama seperti dua, tiga, satu.
Jadi anda sebenarnya perlu mewujudkan beberapa jenis cara meletakkan mereka ruang.
>> Dan perkara ini adalah bahawa apabila anda mendapat data dari bahasa-bahasa Asia,
segala-galanya datang unsegmented.
Oleh kerana tiada siapa yang menulis Jepun atau Cina menulis dengan ruang.
Setiap kali anda menulis Cina, Jepun anda hanya menulis segala-galanya
tanpa ruang.
Ia juga tidak masuk akal untuk meletakkan ruang.
Demikian maka apabila anda mendapat data dari, beberapa Bahasa Asia Timur, jika anda mahu
sebenarnya melakukan sesuatu dengan yang anda perlu segmen pertama.
>> Fikirkan melakukan contoh lirik tanpa ruang.
Jadi satu-satunya lirik yang anda mempunyai akan ayat, betul?
Dipisahkan oleh tempoh.
Tetapi mempunyai hanya hukuman yang akan tidak benar-benar membantu dengan memberi maklumat
daripada yang mereka lirik lagu oleh.
Betul?
Jadi anda perlu meletakkan ruang pertama.
Jadi bagaimana anda boleh berbuat demikian?
>> Jadi kemudian datang idea bahasa model yang benar-benar adalah sesuatu
penting bagi pengiraan linguistik.
Jadi model bahasa pada asasnya jadual kebarangkalian bahawa rancangan
pertama sekali apakah kebarangkalian mempunyai perkataan dalam bahasa?
Jadi menunjukkan bagaimana kerap perkataan adalah.
Dan kemudian juga menunjukkan hubungan antara perkataan dalam ayat.
>> Jadi idea utama adalah, jika orang yang tidak dikenali datang kepada kamu dan berkata hukuman kepada
anda, apakah kebarangkalian di mana, Sebagai contoh, "ini adalah adik saya [? GTF"?]
adalah ayat yang orang tersebut?
Jadi jelas beberapa ayat adalah lebih biasa daripada yang lain.
Sebagai contoh, "selamat pagi," atau "baik malam, "atau" hey di sana, "adalah lebih
biasa daripada yang ayat bahawa kita mempunyai bahasa Inggeris.
Jadi kenapa mereka ayat lebih kerap?
>> Pertama sekali, ia adalah kerana anda mempunyai kata-kata yang lebih kerap.
Jadi, sebagai contoh, jika anda berkata, anjing itu adalah besar, dan anjing itu adalah gergasi, anda
biasanya mungkin mendengar anjing itu adalah besar lebih kerap kerana "besar" adalah lebih
kerap dalam Bahasa Inggeris daripada "raksasa." Jadi, salah satu
perkara ini adalah kekerapan perkataan.
>> Perkara kedua yang benar-benar penting sahaja
perintah perkataan.
Jadi, ia adalah biasa untuk mengatakan "kucing itu di dalam kotak. "tetapi anda biasanya tidak
lihat dalam "kotak Bahagian dalam adalah kucing." jadi anda melihat bahawa terdapat beberapa kepentingan
dalam susunan kata-kata.
Anda tidak boleh hanya mengatakan bahawa kedua-dua ayat mempunyai kebarangkalian yang sama
hanya kerana mereka mempunyai perkataan yang sama.
Anda sebenarnya perlu mengambil berat tentang perintah juga.
Masuk akal?
>> Jadi apa yang kita lakukan?
Jadi apa yang saya mungkin cuba untuk mendapatkan anda?
Saya cuba untuk mendapatkan apa yang kita memanggil model n-gram.
Jadi model n-gram pada dasarnya menganggap bahawa bagi setiap perkataan yang
anda mempunyai dalam ayat.
Ia kebarangkalian mempunyai yang perkataan ada bergantung bukan sahaja kepada yang
kekerapan bahawa perkataan dalam bahasa itu, tetapi juga pada kata-kata yang
sedang mengelilinginya.
>> Jadi, sebagai contoh, biasanya apabila anda melihat sesuatu seperti pada atau di anda
mungkin akan melihat kata nama selepas itu, bukan?
Kerana apabila anda mempunyai kata depan biasanya ia mengambil kata nama selepas itu.
Atau jika anda mempunyai kata kerja transitif yang anda biasanya akan
mempunyai frasa nama.
Jadi ia akan mempunyai kata nama di suatu tempat di sekelilingnya.
>> Jadi, pada dasarnya, apa yang ia adalah bahawa ia menganggap kebarangkalian mempunyai
perkataan bersebelahan antara satu sama lain, apabila anda mengira
kebarangkalian ayat.
Dan itulah yang bahasa model pada dasarnya.
Hanya mengatakan apa yang kebarangkalian mempunyai tertentu yang
ayat dalam bahasa?
Jadi mengapa yang berguna, pada dasarnya?
Dan pertama sekali apa yang model n-gram, maka?
>> Jadi model n-gram bermakna setiap perkataan bergantung kepada
N seterusnya tolak 1 perkataan.
Jadi, pada dasarnya, ini bermakna bahawa jika saya melihat, sebagai contoh, di TF CS50 apabila
Saya mengira kebarangkalian hukuman itu, anda akan menjadi seperti "yang
kebarangkalian yang mempunyai perkataan "yang" kali kebarangkalian mempunyai "yang
CS50 "kali kebarangkalian mempunyai "The TF CS50." Jadi, pada dasarnya, saya mengira
semua cara yang mungkin regangan ia.
>> Dan kemudian biasanya apabila anda melakukan ini, seperti dalam projek, anda meletakkan N menjadi
nilai yang rendah.
Jadi, biasanya mempunyai bigrams atau trigram.
Supaya anda hanya mengira dua perkataan, yang kumpulan dua perkataan, atau tiga kata-kata,
hanya untuk isu-isu prestasi.
Dan juga kerana mungkin jika anda mempunyai sesuatu seperti "The TF CS50." Apabila anda
mempunyai "TF," ia amat penting yang "CS50" adalah sebelahnya, bukan?
Kedua-dua perkara yang biasanya bersebelahan antara satu sama lain.
>> Jika anda berfikir "TF," ia mungkin akan mempunyai apa
kelas ia TF'ing untuk.
Juga "" adalah benar-benar penting untuk CS50 TF.
Tetapi jika anda mempunyai sesuatu seperti "The CS50 TF pergi ke kelas dan memberi mereka
pelajar beberapa gula-gula. "" gula-gula "dan" " tidak mempunyai hubungan benar-benar, bukan?
Mereka begitu jauh dari satu sama lain bahawa ia tidak benar-benar perkara apa yang
kata-kata anda.
>> Jadi dengan melakukan bigram atau trigram, ia hanya bermaksud bahawa anda mengehadkan
diri anda dengan beberapa perkataan yang berada di sekeliling.
Masuk akal?
Oleh itu, apabila anda mahu melakukan segmentasi, pada dasarnya, apa yang anda mahu lakukan adalah melihat
apakah semua cara yang mungkin yang anda boleh segmen hukuman itu.
>> Seperti yang anda lihat apakah kebarangkalian setiap orang-orang hukuman
yang sedia ada dalam bahasa?
Jadi apa yang anda lakukan adalah seperti, baik, mari saya cuba untuk meletakkan ruang di sini.
Jadi anda meletakkan ruang yang ada dan anda melihat apa yang
kebarangkalian ayat itu?
Kemudian anda adalah seperti, OK, mungkin yang tidak begitu baik.
Jadi saya meletakkan ruang yang ada dan ruang yang sana, dan anda mengira
kebarangkalian sekarang, dan anda melihat bahawa ia kebarangkalian yang lebih tinggi.
>> Jadi ini adalah satu algoritma dipanggil TANGO algoritma segmentasi, yang merupakan
sebenarnya sesuatu yang akan menjadi benar-benar sejuk untuk projek, yang
pada dasarnya mengambil teks unsegmented yang boleh Jepun atau Cina atau mungkin
Inggeris tanpa ruang dan cuba untuk meletakkan ruang di antara perkataan dan ia
bahawa dengan menggunakan model bahasa dan cuba untuk melihat apa yang paling tinggi
kebarangkalian anda boleh mendapatkan.
OK.
Jadi ini adalah segmentasi.
>> Sekarang sintaksis.
Jadi, sintaksis digunakan untuk jadi banyak perkara sekarang.
Jadi bagi Graf Cari, untuk Siri untuk cukup banyak apa-apa jenis semula jadi
pemprosesan bahasa anda.
Jadi apakah penting perkara mengenai sintaks?
Jadi, ayat umumnya mempunyai apa yang kita panggil pengundi.
Yang jenis seperti kumpulan kata-kata yang mempunyai fungsi dalam ayat.
Dan mereka tidak dapat menjadi selain daripada satu sama lain.
>> Jadi, jika saya berkata, sebagai contoh, "Lauren suka Milo. "Saya tahu bahawa" Lauren "adalah
konstituen dan kemudian "suka Milo "juga adalah satu sama lain.
Kerana anda tidak boleh berkata seperti "Lauren Milo suka "mempunyai makna yang sama.
Ia tidak akan mempunyai pengertian sama.
Atau saya tidak boleh berkata seperti "Milo Lauren suka. "Tidak semua yang mempunyai yang sama
bermaksud melakukan itu.
>> Jadi kedua-dua perkara yang lebih penting tentang sintaks adalah jenis leksikal yang
pada dasarnya fungsi yang anda mempunyai kata-kata sendiri.
Jadi, anda perlu tahu bahawa "Lauren" dan "Milo" adalah kata nama.
"Cinta" adalah kata kerja.
Dan perkara yang kedua penting ialah bahawa mereka jenis phrasal.
Jadi, anda tahu bahawa "suka Milo" sebenarnya adalah frasa lisan.
Oleh itu, apabila saya berkata "Lauren," Saya tahu bahawa Lauren melakukan sesuatu.
Apa yang dia buat?
Dia penyayang Milo.
Jadi ia adalah satu perkara keseluruhan.
Tetapi komponen-komponennya ialah kata nama dan kata kerja.
Tetapi bersama-sama, mereka membuat satu frasa kata kerja.
>> Jadi, apa yang boleh kita benar-benar melakukan dengan linguistik pengiraan?
Jadi, jika saya mempunyai sesuatu sebagai contoh "Rakan-rakan Allison." Saya melihat jika saya hanya
adakah pokok sintaksis saya akan tahu bahawa "Kawan" adalah frasa kata nama ia adalah satu
kata nama dan kemudian "daripada Allison" adalah frasa sendi nama di mana "satu" adalah
cadangan dan "Allison" adalah kata nama.
Apa yang saya boleh lakukan adalah mengajar komputer saya bahawa apabila saya mempunyai frasa nama satu dan
maka frasa sendi nama.
Jadi dalam kes ini, "kawan" dan kemudian "daripada Milo "Saya tahu bahawa ini bermakna bahawa
NP2, yang kedua, memiliki NP1.
>> Jadi saya boleh membuat beberapa jenis hubungan, beberapa jenis fungsi untuk itu.
Jadi setiap kali saya melihat struktur ini, yang sepadan dengan tepat dengan "rakan-rakan
Allison, "Saya tahu bahawa Allison memiliki rakan-rakan.
Jadi rakan-rakan adalah sesuatu yang Allison mempunyai.
Masuk akal?
Jadi ini adalah pada dasarnya apa yang Graf Carian tidak.
Ia hanya mewujudkan kaedah-kaedah untuk banyak perkara.
Jadi "rakan-rakan Allison," "rakan-rakan saya yang tinggal di Cambridge, "" rakan-rakan saya
yang pergi ke Harvard. "Ia mewujudkan peraturan untuk semua perkara-perkara.
>> Sekarang terjemahan mesin.
Jadi, terjemahan mesin juga sesuatu statistik.
Dan sebenarnya jika anda melibatkan diri dalam linguistik pengiraan, banyak
barangan anda akan menjadi statistik.
Jadi seperti yang saya lakukan contoh dengan banyak kebarangkalian bahawa saya adalah
mengira, dan kemudian anda dapat ini jumlah yang sangat kecil itulah akhir
kebarangkalian, dan itulah yang memberikan anda jawapannya.
Terjemahan Mesin juga menggunakan model statistik.
Dan jika anda mahu berfikir mesin terjemahan dalam yang paling mudah
cara, apa yang anda boleh berfikir hanya menterjemahkan perkataan dengan perkataan, bukan?
>> Apabila anda sedang belajar bahasa untuk kali pertama, itu biasanya apa
anda lakukan, bukan?
Jika anda mahu anda menterjemah ayat dalam bahasa anda kepada bahasa yang
anda sedang belajar, biasanya pertama, anda menterjemahkan setiap perkataan
secara individu, dan kemudian anda cuba untuk meletakkan perkataan ke dalam tempat.
>> Jadi, jika saya mahu untuk menterjemahkan ini, [BERCAKAP Bahasa Portugis]
yang bermaksud "kucing putih melarikan diri." Jika saya mahu menterjemahkannya dari
Bahasa Portugis ke Bahasa Inggeris, apa yang saya boleh lakukan ialah, pertama, saya hanya
menterjemahkan perkataan demi perkataan.
Jadi "o" adalah "," "Gato", "kucing" "Branco," "putih" dan "fugio" adalah
"Melarikan diri."
>> Jadi maka saya mempunyai semua perkataan di sini, tetapi mereka tidak teratur.
Ia seperti "putih kucing melarikan diri" yang ungrammatical.
Oleh itu, maka saya boleh mempunyai langkah kedua, yang akan akan mencari yang ideal
kedudukan untuk setiap satu daripada kata-kata.
Jadi saya tahu bahawa saya benar-benar ingin mempunyai "Kucing putih" dan bukannya "kucing putih." Jadi
apa yang boleh saya lakukan ialah, kaedah yang paling naif adalah untuk mewujudkan semua
pilih atur yang mungkin daripada kata-kata, jawatan.
Dan kemudian melihat yang mana satu mempunyai kebarangkalian tertinggi mengikut
untuk model bahasa saya.
Dan kemudian apabila saya mencari satu yang mempunyai kebarangkalian tertinggi, yang menjadi
mungkin "kucing putih melarikan diri," itulah terjemahan saya.
>> Dan ini adalah cara yang mudah untuk menjelaskan bagaimana banyak penterjemahan mesin
algoritma bekerja.
Adakah ini masuk akal?
Ini juga sesuatu yang benar-benar menarik bahawa kalian mungkin boleh meneroka untuk
projek akhir, yeah?
>> PELAJAR: Nah, anda berkata adalah cara naif, jadi apa
cara bukan naif?
>> LUCAS Freitas: Cara bukan naif?
OK.
Jadi perkara pertama yang tidak baik mengenai kaedah ini adalah bahawa saya hanya diterjemahkan
perkataan, perkataan demi perkataan.
Tetapi kadang-kadang anda mempunyai kata-kata yang boleh mempunyai pelbagai terjemahan.
Saya akan cuba untuk berfikir sesuatu.
Sebagai contoh, "manga" dalam Portugis tin sama ada "mengoyak-ngoyakkan" atau "lengan." Jadi
apabila anda cuba untuk menterjemahkan perkataan oleh perkataan, ia mungkin memberi anda
sesuatu yang tidak masuk akal.
>> Jadi anda benar-benar mahu anda melihat semua terjemahan kemungkinan
kata-kata dan lihat, pertama sekali, apa yang perintah itu.
Kami bercakap mengenai permutating perkara?
Untuk melihat semua pesanan mungkin dan memilih yang dengan yang tertinggi
kebarangkalian?
Anda juga boleh memilih semua mungkin terjemahan untuk setiap
perkataan dan kemudian melihat -
digabungkan dengan pilih atur -
yang mana satu mempunyai kebarangkalian tertinggi.
>> Plus, anda juga boleh melihat tidak hanya kata-kata tetapi frasa.
supaya anda boleh menganalisis hubungan antara perkataan dan kemudian mendapatkan
terjemahan yang lebih baik.
Juga sesuatu yang lain, jadi semester ini Saya sebenarnya melakukan penyelidikan dalam
Cina-Inggeris terjemahan mesin, jadi menterjemah daripada
Cina ke dalam bahasa Inggeris.
>> Dan sesuatu yang kita lakukan adalah, selain menggunakan model statistik, yang hanya
melihat kebarangkalian melihat kedudukan tertentu dalam ayat, saya
sebenarnya juga menambah beberapa sintaks untuk saya model, berkata, oh, jika saya melihat ini jenis
pembinaan, ini adalah apa yang saya mahu untuk menukar kepada apabila saya menterjemahkan.
Jadi, anda juga boleh menambah beberapa jenis elemen sintaks untuk membuat
terjemahan yang lebih cekap dan lebih tepat.
OK.
>> Jadi bagaimana anda boleh memulakan, jika anda mahu melakukan sesuatu dalam pengiraan
linguistik?
>> Pertama, anda memilih projek yang yang melibatkan bahasa.
Jadi, terdapat begitu banyak di luar sana.
Terdapat begitu banyak perkara yang boleh dilakukan.
Dan kemudian boleh berfikir model yang boleh anda gunakan.
Biasanya ini bermakna pemikiran andaian, seperti seperti, oh, apabila saya
seperti pemikiran lirik.
Saya seperti, baik, jika saya mahu memikirkan keluar yang menulis ini, saya mungkin mahu
untuk melihat perkataan orang yang digunakan dan melihat yang menggunakan perkataan yang sangat kerap.
Oleh itu, cuba untuk membuat andaian dan cuba fikirkan model.
Dan kemudian anda juga boleh mencari dalam talian untuk jenis masalah yang anda ada,
dan ia akan mencadangkan kepada anda model yang mungkin
dimodelkan perkara yang baik.
>> Dan juga anda boleh e-mel saya.
me@lfreitas.com.
Dan saya hanya boleh menjawab soalan anda.
Kami boleh juga mungkin bertemu supaya saya boleh memberi cadangan mengenai cara-cara
melaksanakan projek anda.
Dan saya maksudkan jika anda terlibat dengan linguistik pengiraan, ia akan
menjadi besar.
Anda akan melihat terdapat potensi begitu banyak.
Dan industri mahu mengupah anda begitu buruk kerana itu.
Jadi saya berharap anda semua menikmati ini.
Jika anda mempunyai sebarang soalan, anda boleh bertanya kepada saya selepas ini.
Tetapi terima kasih.