[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:05.73,0:00:08.23,Default,,0000,0000,0000,,Whitelaw: Hi. My name\Nis Casey Whitelaw. Dialogue: 0,0:00:08.23,0:00:09.23,Default,,0000,0000,0000,,I'm the Tech Lead Dialogue: 0,0:00:09.23,0:00:10.57,Default,,0000,0000,0000,,for the Natural Language\NProcessing Group Dialogue: 0,0:00:10.57,0:00:12.50,Default,,0000,0000,0000,,here in Sydney,\Nand today I'm gonna talk to you Dialogue: 0,0:00:12.50,0:00:13.90,Default,,0000,0000,0000,,a little bit about Dialogue: 0,0:00:13.90,0:00:16.60,Default,,0000,0000,0000,,some of the cool things\Nthat we've added to Google Wave. Dialogue: 0,0:00:16.60,0:00:18.83,Default,,0000,0000,0000,,So one of the main things Dialogue: 0,0:00:18.83,0:00:21.83,Default,,0000,0000,0000,,that we want to stay focused on\Nin Google Wave is productivity. Dialogue: 0,0:00:21.83,0:00:23.63,Default,,0000,0000,0000,,We want users to be able\Nto stay productive, Dialogue: 0,0:00:23.63,0:00:25.73,Default,,0000,0000,0000,,whether they're reading\Nor whether they're writing. Dialogue: 0,0:00:25.73,0:00:27.60,Default,,0000,0000,0000,,One of the ways\Nthat we've done that Dialogue: 0,0:00:27.60,0:00:29.27,Default,,0000,0000,0000,,is with our\Nspell correction system. Dialogue: 0,0:00:29.27,0:00:32.23,Default,,0000,0000,0000,,What we'd like is for users\Njust to be able to Dialogue: 0,0:00:32.23,0:00:34.53,Default,,0000,0000,0000,,focus on what they're typing\Nand not worry about Dialogue: 0,0:00:34.53,0:00:36.80,Default,,0000,0000,0000,,whether there's any mistakes\Nthey've made. Dialogue: 0,0:00:36.80,0:00:39.00,Default,,0000,0000,0000,,We think that if people could\Njust loosen up a little bit Dialogue: 0,0:00:39.00,0:00:41.10,Default,,0000,0000,0000,,and, you know,\Nor maybe type 5% faster, Dialogue: 0,0:00:41.10,0:00:43.40,Default,,0000,0000,0000,,then that's 5% less time\Nthat they spend typing. Dialogue: 0,0:00:43.40,0:00:45.73,Default,,0000,0000,0000,,So I'll start with an example. Dialogue: 0,0:00:45.73,0:00:47.80,Default,,0000,0000,0000,,It's probably the easiest way\Nto explain. Dialogue: 0,0:00:47.80,0:00:51.13,Default,,0000,0000,0000,,Let's say you want to meet up\Nwith one of your friends. Dialogue: 0,0:00:51.13,0:00:52.30,Default,,0000,0000,0000,,You're having a chat. Dialogue: 0,0:00:52.30,0:00:54.53,Default,,0000,0000,0000,,So you write... Dialogue: 0,0:00:54.53,0:00:56.47,Default,,0000,0000,0000,,Let's... Dialogue: 0,0:00:56.47,0:00:58.43,Default,,0000,0000,0000,,met... Dialogue: 0,0:00:58.43,0:01:00.07,Default,,0000,0000,0000,,whoops... Dialogue: 0,0:01:00.07,0:01:03.77,Default,,0000,0000,0000,,tomorrow. Dialogue: 0,0:01:03.77,0:01:05.57,Default,,0000,0000,0000,,So here you see\NI've made a mistake. Dialogue: 0,0:01:05.57,0:01:07.40,Default,,0000,0000,0000,,I've written met\Ninstead of meet here. Dialogue: 0,0:01:07.40,0:01:09.50,Default,,0000,0000,0000,,My finger slipped on the "e." Dialogue: 0,0:01:09.50,0:01:13.53,Default,,0000,0000,0000,,So now, the way that we\Nimplemented spelling Dialogue: 0,0:01:13.53,0:01:16.97,Default,,0000,0000,0000,,is we introduced an automatic\Nparticipant called Spelly Dialogue: 0,0:01:16.97,0:01:19.77,Default,,0000,0000,0000,,who works just like\Nanother user Dialogue: 0,0:01:19.77,0:01:21.77,Default,,0000,0000,0000,,that's participating\Non the wave with you. Dialogue: 0,0:01:21.77,0:01:24.33,Default,,0000,0000,0000,,So Spelly's on your wave\Nwith you, Dialogue: 0,0:01:24.33,0:01:29.27,Default,,0000,0000,0000,,and it can see that you've\Ntyped "Let's met tomorrow," Dialogue: 0,0:01:29.27,0:01:31.37,Default,,0000,0000,0000,,and it's now gonna try\Nand spell-check it. Dialogue: 0,0:01:31.37,0:01:32.90,Default,,0000,0000,0000,,For each word... Dialogue: 0,0:01:32.90,0:01:35.53,Default,,0000,0000,0000,,it doesn't have any kind\Nof dictionary, Dialogue: 0,0:01:35.53,0:01:39.53,Default,,0000,0000,0000,,so it doesn't know whether\Nmet is a well-spelled word Dialogue: 0,0:01:39.53,0:01:40.83,Default,,0000,0000,0000,,or a misspelling. Dialogue: 0,0:01:40.83,0:01:43.10,Default,,0000,0000,0000,,So to start with,\Nit comes up with a list Dialogue: 0,0:01:43.10,0:01:46.63,Default,,0000,0000,0000,,of possible candidate\Ncorrections for this word. Dialogue: 0,0:01:46.63,0:01:50.37,Default,,0000,0000,0000,,So some examples of that\Nmight be... Dialogue: 0,0:01:50.37,0:01:53.40,Default,,0000,0000,0000,,meat, the food... Dialogue: 0,0:01:53.40,0:01:56.87,Default,,0000,0000,0000,,or meet, the correctly\Nspelled version of this. Dialogue: 0,0:01:56.87,0:01:59.37,Default,,0000,0000,0000,,And you can imagine\Nlots of others. Dialogue: 0,0:01:59.37,0:02:02.20,Default,,0000,0000,0000,,So set or net or me-- Dialogue: 0,0:02:02.20,0:02:05.37,Default,,0000,0000,0000,,all kinds of different words\Nthat we would evaluate Dialogue: 0,0:02:05.37,0:02:09.20,Default,,0000,0000,0000,,to see whether they're what\Nyou actually meant to type. Dialogue: 0,0:02:09.20,0:02:12.73,Default,,0000,0000,0000,,We've learned from the web Dialogue: 0,0:02:12.73,0:02:14.93,Default,,0000,0000,0000,,the kind of misspellings\Nthat people make Dialogue: 0,0:02:14.93,0:02:17.20,Default,,0000,0000,0000,,and which things\Nare more and less likely. Dialogue: 0,0:02:17.20,0:02:18.83,Default,,0000,0000,0000,,So we know that,\Nfor instance, Dialogue: 0,0:02:18.83,0:02:20.63,Default,,0000,0000,0000,,maybe slipping\Nand inserting an "A" Dialogue: 0,0:02:20.63,0:02:22.30,Default,,0000,0000,0000,,is relatively likely, Dialogue: 0,0:02:22.30,0:02:25.43,Default,,0000,0000,0000,,but misspelling\Nthe very first letter Dialogue: 0,0:02:25.43,0:02:28.47,Default,,0000,0000,0000,,might be less likely\Nin this case. Dialogue: 0,0:02:28.47,0:02:32.67,Default,,0000,0000,0000,,So we've got some suggestions,\Nand the next thing that we do Dialogue: 0,0:02:32.67,0:02:34.67,Default,,0000,0000,0000,,is evaluate these suggestions\Nin context. Dialogue: 0,0:02:34.67,0:02:38.07,Default,,0000,0000,0000,,So there are other systems\Nat Google that already use Dialogue: 0,0:02:38.07,0:02:40.43,Default,,0000,0000,0000,,the same kind of statistical\Nlanguage models as this, Dialogue: 0,0:02:40.43,0:02:42.47,Default,,0000,0000,0000,,such as the Google\Ntranslation system, Dialogue: 0,0:02:42.47,0:02:44.37,Default,,0000,0000,0000,,that essentially\Nencode information Dialogue: 0,0:02:44.37,0:02:46.13,Default,,0000,0000,0000,,about how language is used. Dialogue: 0,0:02:46.13,0:02:47.97,Default,,0000,0000,0000,,These are learned from the web Dialogue: 0,0:02:47.97,0:02:49.73,Default,,0000,0000,0000,,from looking at billions\Nof web pages, Dialogue: 0,0:02:49.73,0:02:51.17,Default,,0000,0000,0000,,so we get a really good idea Dialogue: 0,0:02:51.17,0:02:53.73,Default,,0000,0000,0000,,about the way that people\Nreally use language in practice. Dialogue: 0,0:02:53.73,0:02:55.43,Default,,0000,0000,0000,,So what we would do Dialogue: 0,0:02:55.43,0:02:58.83,Default,,0000,0000,0000,,is look at the likelihood\Nof "Let's met tomorrow" Dialogue: 0,0:02:58.83,0:03:02.07,Default,,0000,0000,0000,,and "Let's meat tomorrow,"\Nless likely, Dialogue: 0,0:03:02.07,0:03:03.77,Default,,0000,0000,0000,,and "Let's meet tomorrow," Dialogue: 0,0:03:03.77,0:03:06.27,Default,,0000,0000,0000,,which is gonna be more likely\Nthan either of these. Dialogue: 0,0:03:06.27,0:03:08.07,Default,,0000,0000,0000,,And we combine that\Nwith our error model Dialogue: 0,0:03:08.07,0:03:10.20,Default,,0000,0000,0000,,which tells us how likely\Nthe misspellings are, Dialogue: 0,0:03:10.20,0:03:13.83,Default,,0000,0000,0000,,you know, without any context,\Nto get a final determination Dialogue: 0,0:03:13.83,0:03:15.90,Default,,0000,0000,0000,,as to what are\Nthe most likely words-- Dialogue: 0,0:03:15.90,0:03:19.20,Default,,0000,0000,0000,,most likely word\Nthat you meant right here. Dialogue: 0,0:03:19.20,0:03:22.00,Default,,0000,0000,0000,,So in this case,\Nwe would suggest meet. Dialogue: 0,0:03:22.00,0:03:25.47,Default,,0000,0000,0000,,Once we think\Nthat a word is misspelled, Dialogue: 0,0:03:25.47,0:03:29.10,Default,,0000,0000,0000,,we need to get that back\Nto the Google Wave client Dialogue: 0,0:03:29.10,0:03:31.67,Default,,0000,0000,0000,,so that the user\Ncan actually see it Dialogue: 0,0:03:31.67,0:03:34.70,Default,,0000,0000,0000,,and either correct it\Nautomatically or manually. Dialogue: 0,0:03:34.70,0:03:36.07,Default,,0000,0000,0000,,Two kinds of ways Dialogue: 0,0:03:36.07,0:03:38.83,Default,,0000,0000,0000,,that this differs\Nfrom existing spelling systems. Dialogue: 0,0:03:38.83,0:03:42.00,Default,,0000,0000,0000,,One of them is just that\Nit's hosted. Dialogue: 0,0:03:42.00,0:03:44.10,Default,,0000,0000,0000,,And this means that we can do Dialogue: 0,0:03:44.10,0:03:46.03,Default,,0000,0000,0000,,this same kind of spelling\Nfor you, Dialogue: 0,0:03:46.03,0:03:49.43,Default,,0000,0000,0000,,regardless of which device\Nyou're connecting from. Dialogue: 0,0:03:49.43,0:03:52.77,Default,,0000,0000,0000,,So whether you're on your laptop\Nor your mobile or your desktop, Dialogue: 0,0:03:52.77,0:03:56.00,Default,,0000,0000,0000,,we can give the same\Nquality spelling, regardless. Dialogue: 0,0:03:56.00,0:03:57.90,Default,,0000,0000,0000,,And that applies\Nacross languages too, Dialogue: 0,0:03:57.90,0:03:59.47,Default,,0000,0000,0000,,so, you know, we're doing this Dialogue: 0,0:03:59.47,0:04:01.27,Default,,0000,0000,0000,,for other alphabetic\Nlanguages also. Dialogue: 0,0:04:01.27,0:04:06.67,Default,,0000,0000,0000,,So like I said, we use large\Nstatistical language models. Dialogue: 0,0:04:06.67,0:04:07.80,Default,,0000,0000,0000,,When I said large, you know, Dialogue: 0,0:04:07.80,0:04:09.80,Default,,0000,0000,0000,,we train them\Nfrom billions of words. Dialogue: 0,0:04:09.80,0:04:12.03,Default,,0000,0000,0000,,They end up being\Nmany, many gigabytes. Dialogue: 0,0:04:12.03,0:04:15.50,Default,,0000,0000,0000,,It's pretty infeasible to run\Nthese on a single machine, Dialogue: 0,0:04:15.50,0:04:17.60,Default,,0000,0000,0000,,which isn't such a problem\Nin a data center Dialogue: 0,0:04:17.60,0:04:19.23,Default,,0000,0000,0000,,where you can have\Na set of machines Dialogue: 0,0:04:19.23,0:04:22.20,Default,,0000,0000,0000,,running a language model\Nand a spelling model together. Dialogue: 0,0:04:22.20,0:04:27.17,Default,,0000,0000,0000,,And then we can share\Nthat spelling model Dialogue: 0,0:04:27.17,0:04:28.73,Default,,0000,0000,0000,,between many users Dialogue: 0,0:04:28.73,0:04:30.67,Default,,0000,0000,0000,,so that the cost per user\Nis very low. Dialogue: 0,0:04:30.67,0:04:33.53,Default,,0000,0000,0000,,So it's very efficient\Nfor us to do this. Dialogue: 0,0:04:33.53,0:04:35.67,Default,,0000,0000,0000,,Once you realize\Nthat you've got a system Dialogue: 0,0:04:35.67,0:04:37.80,Default,,0000,0000,0000,,that supports\Ncollaborative editing, Dialogue: 0,0:04:37.80,0:04:39.50,Default,,0000,0000,0000,,that has structured data, Dialogue: 0,0:04:39.50,0:04:42.67,Default,,0000,0000,0000,,and that you can change\Nthe user interface Dialogue: 0,0:04:42.67,0:04:45.17,Default,,0000,0000,0000,,by having remote participants, Dialogue: 0,0:04:45.17,0:04:47.20,Default,,0000,0000,0000,,then, really,\Nthe sky's the limit. Dialogue: 0,0:04:47.20,0:04:49.43,Default,,0000,0000,0000,,I mean, there's all kinds\Nof existing Dialogue: 0,0:04:49.43,0:04:51.40,Default,,0000,0000,0000,,natural language technologies\Nlike spell checking Dialogue: 0,0:04:51.40,0:04:53.10,Default,,0000,0000,0000,,or translation\Nthat we can apply, Dialogue: 0,0:04:53.10,0:04:55.67,Default,,0000,0000,0000,,and we're seeing\Na lot of new applications Dialogue: 0,0:04:55.67,0:04:57.67,Default,,0000,0000,0000,,as the way that we communicate\Nchanges as well. Dialogue: 0,0:04:57.67,0:05:00.87,Default,,0000,0000,0000,,So, you know, really,\Nit's gonna be exciting times.