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-клиенте,
чтобы пользователь мог увидеть ее
и исправить ее вручную, либо же автоматически.
Наша система проверки орфографии
несколько отличается от существующих систем.
Одно из отличий в том, что система работает на сервере.
А это значит, что качество проверки
орфографии не зависит
от того, с какого устройства Вы работаете.
Так что независимо от того, используете ли Вы стационарный компьютер
или же ноутбук - вы получите такую же качественную проверку орфографии.
Это же справедливо и в языковом плане,
то есть мы реализовали это
и для других алфавитных языков.
Как я говорил, мы используем огромные статистические языковые модели.
Под огромными я подразумеваю
модели с миллиардами слов.
Которые вылились в много-много гигабайт данных.
Их невозможно запустить на одной машине,
но это совсем не проблематично в датацентре,
где множество машин работают
над языковой и орфографической моделью вместе.
Более того, мы можем сделать эту орфографическую систему
доступной всем пользователям,
поэтому стоимость в расчете на пользователя очень незначительна.
Поэтому для нас это очень выгодно.
После того, как приходит осознание, что у вас есть система,
которая поддерживает совместное одновременное редактирование,
которая обладает структурированной моделью данных,
и что вы можете менять пользовательский интерфейс,
приглашая удаленных участников,
тогда действительно понимаешь, что нет предела совершенству.
Я имею ввиду, что мы можем применять
все существующие технологии обработки естественных языков,
типа проверки орфографии или перевода
и продолжаем искать новые приложения,
так как наши способы и методы общения постоянно меняются.
Я считаю, нас ждут по-настоящему удивительные времена.