Лингвистические технологии в Интернете

Специлист в области информационных технологий Анатолий Гершман о принципах работы поисковиков, системе индексирования сайтов и способах определения тональности текста

Что это такое лингвистические технологии? Люди говорят на естественных языках, таких, как английский, французский, немецкий, русский. Всего в мире более 6 тысяч живых языков. Языков, на которых говорят более миллиона человек, триста. Но есть языки, на которых говорят сотни миллионов, а есть языки, на которых говорят несколько сотен человек. Мы часто говорим об океане информации, в котором мы все утопаем. Но если посмотреть на эту информацию, то более 80% этой информации — это текст, речь, видео. Лингвистические технологии помогают нам найти эту информацию, обработать и сделать что-то полезное с этой информацией. Должен сразу оговориться, что мы говорим не о науке лингвистике, мы говорим о лингвистических технологиях, то есть о практических технологиях, которые позволяют нам сделать что-то полезное с информацией, заключенной в тексте или в речи.

Какие это технологии? Их примерно 5 областей. Во-первых, это технологии поиска информации. Мы все знакомы с поисковиками типа Google или Яндекс, уже трудно себе представить жизнь без таких технологий, без поисковиков. Во-вторых, это технологии извлечения информации. Скажем, если я напечатаю в Google или в Яндекс «на какие карты ставил Герман в повести “Пиковая дама”, поисковик найдет пиковую даму, но я-то уже знаю, что это пиковая дама, а вот тройка, семерка, туз — это уже извлекатель должен найти. Третья область технологий — это машинный перевод. Четвертая область — это генерация текста и речи. Например, из огромного количества данных как коротко объяснить, скажем, медсестре или врачу состояние больного ребенка или больного человека, или сделать прогноз погоды из тысяч данных, которые собирают метеорологические станции. Наконец, пятая область — это распознавание речи и общение с машинами.

Давайте вкратце ознакомимся с каждой из этих областей технологии. Во-первых, поисковики. Как работают поисковики? Вы печатаете, например, в Google или в Яндекс, скажем, “ресторан лук Москва”. Поисковик, будем надеяться, находит вам кафе “Лук” на Большой Никитской, а не как разводить зеленый лук. Каким образом он это делает? Во-первых, поисковик смотрит на ваш запрос как мешочек слов, ему не важно, в каком порядке вы сказали “лук Москва ресторан”. Он берет эти слова и ищет документы, тоже рассматриваемые, как мешки слов, какой из них наиболее похож на ваш запрос. Как можно сказать, похож ли документ на запрос? Во-первых, в этом документе должны быть использованы слова из запроса, а во-вторых, как можно меньше других слов. Значит, самый идеальный документ, который наиболее близко соответствует запросу, — это документ, в котором есть только слова из запроса по этому методу. Теперь если смотреть на документы в Интернете как огромный склад мешков слов, то как мы найдем, например, документ, который похож? Сейчас у нас есть метод, как сравнивать наш мешочек-запрос с мешком документов, не перебирать же все триллионы документов в Интернете. Для этого, естественно, нам нужен индекс. К счастью, весь Интернет проиндексирован.

Что такое индекс? Индекс — это список слов, на каждое есть указатели на документы, в которых это слово употребляется. Google, Яндекс и другие поисковики постоянно индексируют интернет. Сейчас где-то в интернете около 60 триллионов страниц, это количество постоянно растет и они все время индексируются. Для индексации требуется колоссальное количество серверов, компьютеров. У больших поисковиков где-то около миллиона серверов у каждого компьютера, которые постоянно прочесывают интернет, и они потребляют огромное количество энергии. Например, скажем, вычислительный центр Google потребляет примерно такое же количество энергии, как большой алюминиевый завод. Это стало новой тяжелой промышленностью.

Тот метод сравнения запроса с документом, который я описал, — довольно примитивный метод, по этому методы работали ранние поисковики. Современные поисковики гораздо умнее, они, например, смотрят на слова в заголовке статьи, слова в заголовке статьи более важны, чем слова где-нибудь в конце статьи. Кроме того, они смотрят на количество ссылок на статью, то есть статья, на которую многие ссылаются, более интересная, важная, чем статья, на которую никто не ссылается и так далее. То есть современные поисковики гораздо более совершенны, чем ранние.

Теперь, когда вы печатаете ваш запрос в поисковик, Google или Яндекс, на самом деле начинает работать сразу два поисковика. Один поисковик ищет документы, наиболее соответствующие вашему запросу, а другой поисковик ищет, какую вам показать рекламу. Мы не думаем о втором, как о поисковике, но на самом деле это очень важный поисковик, потому что на этом основаны все доходы компаний-поисковиков, и он не менее сложен, чем первый. Для того, чтобы показать вам рекламу, на которую вы отреагируете позитивно, которая имеет шанс быть полезной для вас, надо понимать намерения покупателя. Например, если вы печатает запрос “ресторан лук Москва”, то ваше намерение скорее всего — это пойти в ресторан пообедать, поужинать. В этот момент показать вам, как проехать в ресторан, какое там меню, какие еще рестораны могут быть такого типа, указать на какие-то услуги, которые позволят вам заказать столик в ресторане — все это совершенно естественно и уместно. Так вот, определение намерений пользователя поисковика — это одно из главных направлений развития поисковиков.

В то время как поисковики ищут документ, извлекатель информации извлекает конкретные факты, например, какой был доход у компании IBM в последнем квартале, или, например, подсчитывает количество положительных или отрицательных отзывов на какой-нибудь кинофильм. Есть два подхода к определению тональности. Один подход основан на словах, которые указывают на тональность. Например, слова “превосходный” и “отличный” указывают на положительную тональность текста, а слова “скучный”, “плохой” указывают на отрицательную тональность текста. Второй подход совсем другой. Для него нужно большое количество примеров, положительных отзывов о фильме, например, и большое количество отрицательных отзывов. На этих примерах обучается статистический классификатор, который сам выбирает, какие слова будут положительные, а какие слова будут отрицательные, без участия людей. В индустриальном мире скорее пользуются первым подходом, в академическом мире предпочитается второй подход. Но на самом деле лучшие извлекатели применяют комбинированный подход, какие-то признаки делаются вручную, а какие-то выявляются статистически.

Определение тональности всей статьи и всего текста — это одна задача. Но на самом деле один и тот же текст, например, отзыв о фильме, может содержать несколько разных тональностей, положительных и отрицательных по разным аспектам фильма. Скажем, читателю понравился один актер, а не понравился другой актер. Установление тональности по отношению к определенным аспектам продукта, фильм — это продукт, или автомобиля, например, пользователю понравился интерьер автомобиля, но не понравился двигатель, установление тональности по отношению к объектам — это одно из главных направлений развития этой технологии извлечения информации.

Поиск и извлечение информации на самом деле начинают немножко сходиться в нынешнем состоянии технологии. Такие поисковики, как Google или Яндекс, если вы напечатаете «какова высота Эйфелевой башни», вам ответят, или вы спросите курс рубля по отношению к доллару — вам ответят: не просто найдут документ, а ответят. То есть поисковики начинают в себя включать элементы извлечения информации. Происходит такая конвергенция поисковиков и извлекателей информации. Это очень перспективно и, конечно, сильно облегчит любой поиск и извлечение информации в интернете.

gershman.jpg

Анатолий Гершман

PhD in Computer Science, Distinguished Career Professor Carnegie Melon University

Полный текст статьи читайте на Postnauka.ru