Google Wave: Обработка естественных языков. Вайтлоу: Привет. Я Кэйси Вайтлоу. Я технический руководитель группы обработки естественных языков здесь в Сиднее, и сегодня я собираюсь немного поговорить с вами о тех крутых вещах, которые мы внедрили в Google Wave. Одна из главных целей, преследуемых нами в Google Wave - это эффективность. Мы хотим, чтобы пользователи продолжали эффективно работать как при чтении, так и при наборе текста. Один из способов, который мы разработали для этой цели - это наша система проверки орфографии. Мы бы хотели, чтобы пользователи могли сосредоточиться на том, что они пишут и не беспокоиться опечатались они где-нибудь, или нет. Мы считаем, что если люди могли бы чуть-чуть расслабиться или просто печатать на 5% быстрее, то они бы тратили на 5% меньше времени на набор текста. Итак, я приведу пример. Это, наверное, самый легкий способ для объяснения. Представим, что Вы хотите встретиться с кем-то из друзей. Вы договариваетесь о встрече. И пишете... [пишет] Let's [Давай] met [встретились]... упс... tomorrow [завтра]. Вы видите, что я допустил ошибку Я тут написал "met" [встретились], вместо "meet" [встретимся]. Мой палец пропустил букву "e". Мы реализовали проверку орфографии путем создания автоматизированного участника и назвали его Спелли. Он работает прямо как ещё один пользователь, который участвует в волне наравне с вами Итак, Спелли на волне с вами, и он может увидеть, что вы написали "Let's met tomorrow" [Давай встретились завтра] и попробует проверить правильность написанного. По каждому слову... У него нет никаких словарей, так что он не может знать, правильное ли слово "met" [встретились] или ошибка. Для начала он предлагает список возможных кандидатов для исправления этого слова. Например, это могут быть "meat" [мясо], т.е. еда... или "meet" [встретимся], правильный вариант в нашем случае. Вы можете придумать ещё множество подобных вариантов. Например "set" [установим], или "net" [сеть], или "me" [мне] — все варианты слов, какие мы могли бы рассматривать, чтоб понять, что же вы на самом деле хотели написать. Мы научились у Интернета, какого рода опечатки допускают люди, и какие варианты более или менее подходят. Итак мы понимаем, что, к примеру, случайная вставка буквы "a" вполне вероятна, а пропуск самой первой буквы слова менее вероятен в данном случае. Итак, у нас есть некие предположения, и далее мы собираемся оценить наши предположения в контексте. Некоторые сервисы Google уже используют подобную статистическую языковую модель, например, Google Переводчик, который обрабатывает информацию о том, как используется язык. Данные системы обучались Интернетом, прорабатывая миллиарды веб-страниц, и дали нам по-настоящему хорошее представление о том, как же на самом деле общаются люди. Далее мы бы оценивали вероятность правильности предложений типа "Давай встретились завтра" и "Давай мясо завтра" - они менее вероятны, и "Давай встретимся завтра" которое больше похоже на правду, нежели предыдущие. Для этого мы совмещаем статистическую модель с нашей моделью ошибок, которая высчитает вероятность каждой опечатки, не учитывая контекст, для финального определения тех слов, которые вы могли подразумевать при написании. Так, в данном случае мы бы предложили "встретимся" [meet]. Как только мы поняли, что в слове ошибка, мы должны отобразить эту информацию в Google Wave-клиенте, чтобы пользователь мог увидеть ее и исправить ее вручную, либо же автоматически. Наша система проверки орфографии несколько отличается от существующих систем. Одно из отличий в том, что система работает на сервере. А это значит, что качество проверки орфографии не зависит от того, с какого устройства Вы работаете. Так что независимо от того, используете ли Вы стационарный компьютер или же ноутбук - вы получите такую же качественную проверку орфографии. Это же справедливо и в языковом плане, то есть мы реализовали это и для других алфавитных языков. Как я говорил, мы используем огромные статистические языковые модели. Под огромными я подразумеваю модели с миллиардами слов. Которые вылились в много-много гигабайт данных. Их невозможно запустить на одной машине, но это совсем не проблематично в датацентре, где множество машин работают над языковой и орфографической моделью вместе. Более того, мы можем сделать эту орфографическую систему доступной всем пользователям, поэтому стоимость в расчете на пользователя очень незначительна. Поэтому для нас это очень выгодно. После того, как приходит осознание, что у вас есть система, которая поддерживает совместное одновременное редактирование, которая обладает структурированной моделью данных, и что вы можете менять пользовательский интерфейс, приглашая удаленных участников, тогда действительно понимаешь, что нет предела совершенству. Я имею ввиду, что мы можем применять все существующие технологии обработки естественных языков, типа проверки орфографии или перевода и продолжаем искать новые приложения, так как наши способы и методы общения постоянно меняются. Я считаю, нас ждут по-настоящему удивительные времена.