Пять лингвистических технологий, позволяющих не утонуть в океане информации
Люди говорят между собой на естественных языках — русском, английском, китайском. В мире насчитывается около 6000 живых языков. Если считать языки, являющиеся родными только для миллиона и более человек, то их более 300.
Мы часто слышим об океане информации, в котором утопаем. Более 80% этого океана составляют не таблицы и базы данных, а звукозаписи, видео и, конечно, текст. Лингвистические технологии, которые позволяют находить и обрабатывать информацию, выраженную на естественных языках, можно разделить на пять групп, в зависимости от областей применения.
Первая область — это поиск документов. Вторая — извлечение конкретной информации из текста. Например, на какие карты делал ставки Герман в Пиковой Даме. Третья область — это машинный перевод. Четвертая — автоматическая генерация текста и речи из данных. Например, краткое резюме состояния больного. Ну, и, наконец, пятая область — это распознавание речи и устное общение между человеком и машиной.
Давайте вкратце ознакомимся с каждой из этих пяти технологий.
Поисковая система начинает работу с запроса пользователя. Например, вы можете ввести в Яндекс запрос: ресторан лук Москва и Яндекс найдет сайт «ЛукКафе», а не инструкции по выращиванию зеленого лука. Как он это делает?
Как правило, для поисковиков порядок слов в вашем запросе не важен, поскольку запрос для него выглядит просто как «мешочек слов»: Москва, лук, ресторан. Ранние поисковики воспринимали все статьи в интернете тоже как мешки слов. Представьте себе интернет в виде огромного склада мешков со словами. Задача поисковика — найти страничку-мешок, наиболее похожую по составу слов на мешочек запроса пользователя.
Как мы можем определить, какой мешок слов больше похож на мешочек запроса? Ответ довольно очевиден: во-первых, в нем должно быть как можно больше слов из запроса, а во-вторых, в нем должно быть как можно меньше других слов. По этому принципу, идеальный мешок-документ состоит только из слов запроса.
Это довольно примитивный подход, и современные поисковики уже гораздо умнее.
Например, слова в заголовке для них более важны, чем слова в конце статьи. Статьи, на которые ссылаются многие другие статьи, они считают более полезными, чем статьи, на которые никто не ссылается.
Но как найти нужный мешок-статью среди триллионов мешков на всемирном складе информации? Не перебирать же все статьи по порядку от А до Я. К счастью, на складе есть индекс. Индекс — это список всех слов с указателями на статьи, где это слово употребляется. Поисковики — такие как Гугл и Яндекс — постоянно прочесывают интернет (а это более 60 триллионов страничек) и индексируют все, что находят. Для этой работы требуются гигантские вычислительные центры с миллионами серверов, которые потребляют такое же количество энергии, что и алюминиевые заводы. По сути, это новая тяжелая промышленность.
Когда вы вводите свой запрос в Гугл или Яндекс, начинают работать сразу две поисковика. Один ищет ответ на запрос, а другой ищет, какую рекламу вам показать. Второй поисковик еще более сложный, чем первый, и для коммерческих компаний не менее важный.
Чтобы найти наиболее релевантные ответы на ваш запрос и наиболее эффективную рекламу, поисковик должен понять ваши намерения. Например, если вы упомянули ресторан, то, скорее всего, вы планируете обед или ужин. В этом случае показ часов работы, меню, схемы проезда и отзывов посетителей будет вполне уместен. Уместной будет и реклама похожих ресторанов и резервационных сервисов. Определение намерений пользователя — это одно из главных направлений в развитии современных поисковиков.
В то время как поисковики находят нужный для вас документ, извлекатели информации ищут ответы на конкретные вопросы. Например, каким был доход компании IBM за первый квартал? А одно из наиболее популярных приложений позволяет определять тональность текста — положительную или отрицательную. Например, тональность отзывов зрителей о кинофильме: понравился он или не понравился.
Один и тот же отзыв о фильме может одновременно содержать как положительную оценку некоторых аспектов фильма, так и отрицательную оценку других аспектов. Например, игра одного актера может понравиться, а другого — нет. Определение тональности высказываний по отдельным аспектам продукта или явления — одно из главных направлений развития этой технологии.
Машинный перевод был одним из первых направлений, в которых использовались компьютерные технологии. Но, несмотря на все усилия, прогресс в этой области до конца 1990-х годов был очень медленным. В 1990-е в исследовательском центре компании IBM был предложен совсем другой подход к машинному переводу. Перевод предложения предложили рассматривать как передачу сигнала через очень шумный канал связи. Мы пишем предложение по-русски, канал связи его искажает и предложение выходит по-английски.
Если мы знаем параметры искажения сигнала, то можем восстановить оригинал, то есть русское предложение.
С точки зрения лингвистики, эта гипотеза довольно абсурдна, но подход давал хорошие результаты. Главная трудность состояла в определении параметров канала связи. Тут на помощь пришла статистика и большое количество параллельных текстов. К концу 1990-х годов в интернете появилось огромное количество параллельных текстов, и качество статистического перевода стало стремительно возрастать. Сейчас это доминирующий метод машинного перевода.
Переводы «Гугла» или «Яндекса» дают нам представление о содержании оригинала, но они далеки от совершенства. Машинный перевод не вытеснил и не вытеснит профессиональных переводчиков. Но он сильно повлиял на создание переводческих рабочих станций, которые увеличили производительность труда переводчиков в 10-20 раз.
Генерация текста привлекает меньше внимания, чем его анализ, хотя эта проблема, на мой взгляд, не менее важна. Нам необходимо не только находить полезные факты в океане информации, но и уметь кратко донести их суть до пользователя.
Например, инкубатор больного младенца в современном госпитале оснащен десятками датчиков, показания которых собираются десятки раз в секунду. Как быстро и кратко изложить врачу или медсестре, что происходило в предыдущие полчаса?
Или возьмем метеорологические станции, которые собирают сотни тысяч измерений — их тоже надо резюмировать в двух-трех предложениях.
Понятно, что задача это не только лингвистическая. Прежде чем составлять предложения, надо решить, что сказать, в какой последовательности и к чему привлечь внимание слушателя. Это не простая задача. Она требует методов автоматического планирования для оптимального достижения целей коммуникации.
Переход от текста к речи в настоящее время хорошо решается методами так называемого конкатенативного синтеза, когда речь составляется из коротких фрагментов записанных звуков. В последнее время качество синтетической речи достигло такого уровня, что ее трудно отличить от живой.
Можно даже скопировать голос любого человека и прочитать текст именно его голосом.
Интонации, правда, остаются немного механическими, но и над этим ведется работа.
Распознавание речи долгое время оставалось одной из самых трудных научных проблем. Прогресс был очень медленным, несмотря на очевидную ее важность. Только к концу 1970-х годов были созданы системы, способные распознать высказывания из 1000 слов, да и то по ограниченной теме и настроенные на конкретного пользователя. К 2000 году появились системы, способные распознавать телефонную речь независимо от пользователя, но с лексиконами лишь в десятки слов. К 2010 году появились довольно хорошо работающие системы диктовки, но они требовали хороших акустических условий и медленной разборчивой речи без акцента.
В последние годы практически все производители систем распознавания речи перешли на технологию глубоких нервных сетей. Это обеспечило резкий рывок вперед. Теперь человек даже с сильным акцентом может уверенно диктовать заметки почти без поправок.
Человечество и в дальнейшем будет продолжать общаться на естественных языках. И для успешной интеграции компьютерных систем в нашу жизнь эти системы должны будут научиться понимать наш язык. Поэтому важность лингвистических технологий будет только расти.