0:00:00.000,0:00:05.734 Google Wave: Обработка естественных языков. 0:00:05.734,0:00:08.234 Вайтлоу: Привет. Я Кэйси Вайтлоу. 0:00:08.234,0:00:09.234 Я технический руководитель 0:00:09.234,0:00:10.567 группы обработки естественных языков 0:00:10.567,0:00:12.501 здесь в Сиднее,[br]и сегодня я собираюсь немного 0:00:12.501,0:00:13.901 поговорить с вами 0:00:13.901,0:00:16.601 о тех крутых вещах,[br]которые мы внедрили в Google Wave. 0:00:16.601,0:00:18.834 Одна из главных целей, 0:00:18.834,0:00:21.834 преследуемых нами в Google Wave - [br]это эффективность. 0:00:21.834,0:00:23.734 Мы хотим, чтобы пользователи [br]продолжали эффективно работать 0:00:23.734,0:00:25.734 как при чтении,[br]так и при наборе текста. 0:00:25.734,0:00:27.601 Один из способов, [br]который мы разработали для этой цели 0:00:27.601,0:00:29.267 - это наша[br]система проверки орфографии. 0:00:29.267,0:00:32.234 Мы бы хотели, чтобы[br]пользователи могли 0:00:32.234,0:00:34.534 сосредоточиться на том, что они пишут[br]и не беспокоиться 0:00:34.534,0:00:36.801 опечатались они где-нибудь, [br]или нет. 0:00:36.801,0:00:39.000 Мы считаем, что если люди [br]могли бы чуть-чуть расслабиться 0:00:39.000,0:00:41.100 или просто печатать на 5% быстрее, 0:00:41.100,0:00:43.400 то они бы тратили [br]на 5% меньше времени на набор текста. 0:00:43.400,0:00:45.734 Итак, я приведу пример. 0:00:45.734,0:00:47.801 Это, наверное, [br]самый легкий способ для объяснения. 0:00:47.801,0:00:51.133 Представим, что Вы хотите встретиться[br]с кем-то из друзей. 0:00:51.133,0:00:52.300 Вы договариваетесь о встрече. 0:00:52.300,0:00:54.534 И пишете... 0:00:54.534,0:00:56.467 [пишет][br]Let's [Давай] 0:00:56.467,0:00:58.434 met [встретились]... 0:00:58.434,0:01:00.067 упс... 0:01:00.067,0:01:03.767 tomorrow [завтра]. 0:01:03.767,0:01:05.567 Вы видите, что[br]я допустил ошибку 0:01:05.567,0:01:07.516 Я тут написал "met" [встретились],[br]вместо "meet" [встретимся]. 0:01:07.516,0:01:09.501 Мой палец пропустил букву "e". 0:01:09.501,0:01:13.534 Мы реализовали проверку орфографии 0:01:13.534,0:01:16.968 путем создания автоматизированного [br]участника и назвали его Спелли. 0:01:16.968,0:01:19.767 Он работает прямо как[br]ещё один пользователь, 0:01:19.767,0:01:21.767 который участвует [br]в волне наравне с вами 0:01:21.767,0:01:24.334 Итак, Спелли на волне[br]с вами, 0:01:24.334,0:01:29.267 и он может увидеть, что вы[br]написали "Let's met tomorrow" [br][Давай встретились завтра] 0:01:29.267,0:01:31.367 и попробует проверить[br]правильность написанного. 0:01:31.367,0:01:32.901 По каждому слову... 0:01:32.901,0:01:35.534 У него нет никаких [br]словарей, 0:01:35.534,0:01:39.534 так что он не может знать, [br]правильное ли слово "met" [встретились] 0:01:39.534,0:01:40.834 или ошибка. 0:01:40.834,0:01:43.100 Для начала он [br]предлагает список 0:01:43.100,0:01:46.634 возможных кандидатов[br]для исправления этого слова. 0:01:46.634,0:01:50.367 Например, это могут быть 0:01:50.367,0:01:53.400 "meat" [мясо], т.е. еда... 0:01:53.400,0:01:56.868 или "meet" [встретимся], правильный[br]вариант в нашем случае. 0:01:56.868,0:01:59.367 Вы можете придумать ещё[br]множество подобных вариантов. 0:01:59.367,0:02:02.200 Например "set" [установим], [br]или "net" [сеть], [br]или "me" [мне] — 0:02:02.200,0:02:05.367 все варианты слов, [br]какие мы могли бы рассматривать, 0:02:05.367,0:02:09.199 чтоб понять, что же вы [br]на самом деле хотели написать. 0:02:09.199,0:02:12.734 Мы научились у Интернета, 0:02:12.734,0:02:14.934 какого рода опечатки [br]допускают люди, 0:02:14.934,0:02:17.200 и какие варианты более[br]или менее подходят. 0:02:17.200,0:02:18.834 Итак мы понимаем, что,[br]к примеру, 0:02:18.834,0:02:20.634 случайная вставка буквы "a" 0:02:20.634,0:02:22.300 вполне вероятна, 0:02:22.300,0:02:25.434 а пропуск самой первой буквы слова 0:02:25.434,0:02:28.467 менее вероятен[br]в данном случае. 0:02:28.467,0:02:32.667 Итак, у нас есть некие предположения,[br]и далее мы собираемся 0:02:32.667,0:02:34.667 оценить наши предположения[br]в контексте. 0:02:34.667,0:02:38.067 Некоторые сервисы Google уже используют 0:02:38.067,0:02:40.434 подобную статистическую[br]языковую модель, 0:02:40.434,0:02:42.467 например, Google Переводчик, 0:02:42.467,0:02:44.367 который обрабатывает информацию 0:02:44.367,0:02:46.133 о том, как используется язык. 0:02:46.133,0:02:47.968 Данные системы обучались Интернетом, 0:02:47.968,0:02:49.734 прорабатывая миллиарды веб-страниц, 0:02:49.734,0:02:51.217 и дали нам по-настоящему хорошее представление 0:02:51.217,0:02:53.734 о том, как же на самом деле[br]общаются люди. 0:02:53.734,0:02:55.434 Далее мы бы оценивали 0:02:55.434,0:02:58.834 вероятность правильности предложений[br]типа "Давай встретились завтра" 0:02:58.834,0:03:02.067 и "Давай мясо завтра" - они менее вероятны, 0:03:02.067,0:03:03.767 и "Давай встретимся завтра" 0:03:03.767,0:03:06.267 которое больше похоже на правду, [br]нежели предыдущие. 0:03:06.267,0:03:08.300 Для этого мы совмещаем статистическую модель[br]с нашей моделью ошибок, 0:03:08.300,0:03:10.200 которая высчитает вероятность каждой [br]опечатки, 0:03:10.200,0:03:13.834 не учитывая контекст, для финального определения 0:03:13.834,0:03:15.901 тех слов, 0:03:15.901,0:03:19.200 которые вы могли подразумевать при написании. 0:03:19.200,0:03:22.000 Так, в данном случае мы бы предложили [br]"встретимся" [meet]. 0:03:22.000,0:03:25.467 Как только мы поняли, что в слове ошибка, 0:03:25.467,0:03:29.100 мы должны отобразить [br]эту информацию в Google Wave-клиенте, 0:03:29.100,0:03:31.667 чтобы пользователь мог увидеть ее 0:03:31.667,0:03:34.701 и исправить ее вручную, либо же автоматически. 0:03:34.701,0:03:36.067 Наша система проверки орфографии 0:03:36.067,0:03:38.834 несколько отличается от существующих систем. 0:03:38.834,0:03:42.000 Одно из отличий в том, [br]что система работает на сервере. 0:03:42.000,0:03:44.100 А это значит, что качество проверки 0:03:44.100,0:03:46.033 орфографии не зависит 0:03:46.033,0:03:49.434 от того, с какого устройства Вы работаете. 0:03:49.434,0:03:52.767 Так что независимо от того, используете ли Вы[br]стационарный компьютер 0:03:52.767,0:03:56.000 или же ноутбук - вы получите такую же [br]качественную проверку орфографии. 0:03:56.000,0:03:57.901 Это же справедливо и в языковом плане, 0:03:57.901,0:03:59.467 то есть мы реализовали это 0:03:59.467,0:04:01.267 и для других алфавитных языков. 0:04:01.267,0:04:06.667 Как я говорил, мы используем огромные [br]статистические языковые модели. 0:04:06.667,0:04:07.801 Под огромными я подразумеваю 0:04:07.801,0:04:09.801 модели с миллиардами слов. 0:04:09.801,0:04:12.033 Которые вылились в много-много гигабайт данных. 0:04:12.033,0:04:15.501 Их невозможно запустить на одной машине, 0:04:15.501,0:04:17.601 но это совсем не проблематично в датацентре, 0:04:17.601,0:04:19.233 где множество машин работают 0:04:19.233,0:04:22.200 над языковой и орфографической моделью вместе. 0:04:22.200,0:04:27.167 Более того, мы можем сделать эту орфографическую[br]систему 0:04:27.167,0:04:28.734 доступной всем пользователям, 0:04:28.734,0:04:30.767 поэтому стоимость в расчете на пользователя[br]очень незначительна. 0:04:30.767,0:04:33.534 Поэтому для нас это очень выгодно. 0:04:33.534,0:04:35.667 После того, как приходит осознание, что[br]у вас есть система, 0:04:35.667,0:04:37.801 которая поддерживает совместное одновременное [br]редактирование, 0:04:37.801,0:04:39.501 которая обладает структурированной моделью[br]данных, 0:04:39.501,0:04:42.667 и что вы можете менять[br]пользовательский интерфейс, 0:04:42.667,0:04:45.167 приглашая удаленных участников, 0:04:45.167,0:04:47.200 тогда действительно понимаешь, что [br]нет предела совершенству. 0:04:47.200,0:04:49.434 Я имею ввиду,[br]что мы можем применять 0:04:49.434,0:04:51.367 все существующие технологии обработки[br]естественных языков, 0:04:51.400,0:04:53.100 типа проверки орфографии[br]или перевода 0:04:53.100,0:04:55.667 и продолжаем искать[br]новые приложения, 0:04:55.667,0:04:57.667 так как наши способы и методы[br]общения постоянно меняются. 0:04:57.667,0:05:00.868 Я считаю, нас ждут[br]по-настоящему удивительные времена.