
Информационные технологии и лингвистика XXI века
1. Паук или спайдер (spider). Приложение, которое занимается скачиванием страниц Интернет-ресурсов. «Паук» запрашивает содержимое страниц точно так же, как это делает обычный интернет браузер, отправляя на сервер HTTP запрос и получая от него ответ. После того, как содержимое страницы скачано, оно отправляется индексатору и краулеру, о которых рассказывается далее.
2. Индексатор (indexer). Индексатор производит первоначальный анализ содержимого скачанной страницы, выделяет основные части (название страницы, описание, ссылки, заголовки и т. д.) и раскладывает все это по разделам поисковой базы данных – помещает в индекс поисковой системы. Этот процесс называют индексацией интернет ресурсов, отсюда и название самой подсистемы. На основе результатов первоначального анализа индексатор также может принять решение, что страница вообще «недостойна» находиться в индексе. Причины такого решение могут быть разными: страница не имеет названия, является точной копией другой, уже имеющейся в индексе страницы или содержит ссылки на запрещенные законодательством ресурсы.
3. Краулер (crawler). Это приложение призвано перемещаться по ссылкам, имеющимся на скачанной пауком странице. Краулер анализирует пути, ведущие с текущей страницы на другие разделы сайта, или на страницы внешних Интернет ресурсов и определяет дальнейший порядок обхода пауком нитей всемирной паутины. Именно краулер находит новые для поисковой машины страницы и передает их пауку. Работа краулера построена на базе алгоритмов поиска на графах в ширину и глубину.
4. Подсистема обработки и выдачи результатов (Search Engine and Results Engine). Самая важная часть любой поисковой машины. Алгоритмы работы этой подсистемы компании разработчики хранят в строгой секретности, поскольку они являют собой коммерческую тайну. Именно эта часть поисковой машины отвечает за адекватность ответа поисковой системы на запрос пользователя. Здесь можно выделить два основных компонента:
• Подсистема ранжировапия. Ранжирование – это сортировка страниц интернет сайтов в соответствии с их релевантностью определенному запросу. Релевантность страницы – это, в свою очередь, степень соответствия содержания страницы смыслу запроса, и эту величину поисковая машина определяет самостоятельно, исходя из огромного количества параметров. Ранжирование – эта самая загадочная и спорная часть «искусственного интеллекта» поисковой машины. На ранжирование страницы, помимо ее структуры и содержимого (контента) также влияют: количество и качество ссылок, ведущих на данную страницу с других сайтов; возраст домена самого сайта; характер поведения пользователей, просматривающих страницу и многие другие факторы.
• Подсистема выдачи результатов. В задачи этой подсистемы входит интерпретация пользовательского запроса, его перевод на язык структурированных запросов к индексу и формирование страниц результатов поиска.
Помимо разбора самого текста запроса, поисковая машина может также учитывать контекст запроса, формируемый исходя из смысла ранее осуществленных пользователем запросов. Так, например, если пользователь часто посещает сайты на автомобильные темы, то на запрос со словом «Волга» или «Ока» он, вероятно, хочет получить информацию об автомобилях этих марок, а не о том, откуда начинают свое течение и куда впадают одноименные русские реки. Это называется персонализированным поиском, когда выдача на один и тот же запрос для разных пользователей существенно отличается. Таким образом, речь идет о пользовательских предпочтениях, о которых поисковая машина может «догадываться», анализируя выбираемые пользователем ссылки на страницах результатов поиска. Это еще один способ скорректировать контекст запроса: пользователь своими действиями как бы подсказывает машине, что именно он хочет найти. Как правило, поисковые машины в результаты поиска стараются добавлять страницы, релевантные запросу, но относящиеся к довольно разным сферам жизни. Еще один важный момент, который учитывает поисковая машина, – это регион проживания пользователя, особенно при обработке коммерческих запросов, связанных с приобретением товаров и услуг у местных поставщиков. Если человек интересуется распродажами и скидками в торговых центрах города Москвы, в котором он проживает, то скорее всего, ему не интересно, какие акции на эту тему проводятся в Санкт-Петербурге, если только пользователь не указал этот город в тексте запроса. В первую очередь в результатах поиска должна появиться информация о распродажах в Москве. Следовательно, современные поисковые машины делят запросы на геозависимые и геонезависимые. Если поисковая система решает, что запрос Интернет пользователя геозависимый, то она автоматически добавляет к нему признак региона, который пытается определить по информации об Интернет провайдере данного пользователя.
Поисковым машинам иногда приходится анализировать, когда имели место события, описываемые на странице. Ведь информация постоянно устаревает, а пользователю нужны в первую очередь ссылки на самые последние новости, актуальные прогнозы и анонсы событий, которые еще не завершились или должны наступить в будущем. Понять, что актуальность страницы зависит от времени, и сопоставить ее с моментом выполнения запроса также требует от поисковой машины изрядной доли интеллекта.
Далее, поисковая машина ищет ближайший по смыслу ключевой запрос в индексе и формирует результаты, сортируя ссылки в порядке убывания их релевантности. Каждому ключевому запросу в индексе соответствует отдельный рейтинг страниц, релевантных ему. Не на каждое сочетание букв и цифр система заводит новый ключевой запрос, а делает это на основе анализа частоты тех или иных пользовательских запросов.
Поисковая машина может также перемешивать в результатах поиска рейтинги из разных ключевых запросов, если посчитает, что пользователю нужно именно это. Разработчики поисковых систем затрачивают большие усилия, направленные на то, чтобы «очистить» результаты своей поисковой выдачи от разного рода информационного мусора, то есть спама (spam).
Поисковая машина при поддержке входящих в нее приложений (пауков и краулеров) постоянно сканирует Интернет на предмет появления новых и обновления существующих страниц, поскольку неактуальная информация ценится ниже.
Поисковая машина периодически обновляет ранжирование ресурсов по их релевантности ключевым запросам, поскольку в индексе постоянно появляются новые страницы. Этот процесс называют обновлением (updating) поисковой выдачи.
В силу огромных объемов информации, размещенной во всемирной паутине и ограниченности ресурсов самой поисковой системы, поисковая машина всегда старается загружать только самое (по ее мнению) необходимое. В ее арсенале имеются всевозможные фильтры, которые отсекают многое ненужное уже на этапе индексации или выкидывают спам из индекса по результатам обновления поисковой выдачи.
Современные поисковые системы в ходе анализа запроса стараются учитывать не только текст самого запроса, но и его окружение: контекст и предпочтения пользователя, о которых было сказано ранее, а также время запроса, регион и многое другое.
На релевантность конкретной страницы влияют не только внутренние ее параметры (структура, содержание), но и внешние параметры, такие как ссылки на страницу с других сайтов и поведение пользователя при ее просмотре.
Работа поисковых систем постоянно совершенствуется. Идеальная работа поисковой машины (для человека) возможна только в том случае, если все решения, касающиеся индексации и ранжирования будет принимать комиссия, состоящая из большого числа специалистов всех областей и направлений человеческой деятельности. Поскольку это нереально, то такую комиссию заменяют экспертные системы, эвристические алгоритмы поиска и прочие элементы искусственного интеллекта. Вероятно, работа всех этих подсистем также могла бы давать более адекватные результаты, если бы была возможность обрабатывать абсолютно все данные, имеющиеся в открытом доступе в интернете, но и это практически невозможно. Несовершенный искусственный интеллект и ограниченность ресурсов – две основные причины того, что результаты поисковой выдачи не всегда радуют пользователей, но все это корректируется временем. Сегодня работа наиболее известных и крупных поисковых систем таких, как Google, Yahoo, Bing, Baidu, Яндекс, Рамблер, Nigma вполне соответствует потребностям и ожиданиям их пользователей.
Вопросы для самоконтроля
1. Что такое информационный поиск? Дать определение поисковой системе и поисковой машине.
2. Перечислить основные этапы информационного поиска. Дать краткую характеристику каждому этапу.
3. В чем заключаются принципиальные отличия поиска в Интернете от обычного информационного поиска?
4. Перечислить основные приложения, входящие в поисковую машину. Охарактеризовать каждое из приложений со своими примерами.
5. Какие факторы учитывает поисковая машина при отборе запрашиваемой пользователем информации?
6. Каковы наиболее популярные и эффективные поисковые системы в современном мире?
Задания для самостоятельного исследования
1. Используя три (по выбору) поисковые системы найти список самых популярных книг первой четверти нынешнего столетия. Сравнить результаты поиска.
2. Подготовить доклад по одной из поисковых систем современности.
3. Поиск по рубрикатору поисковой системы
Поисковые каталоги представляют собой систематизированную коллекцию (подборку) ссылок на другие ресурсы Интернета. Ссылки организованы в виде тематического рубрикатора, представляющего собой иерархическую структуру, перемещаясь по которой, можно найти нужную информацию. Например:
• Бизнес и экономика;
• Общество и политика;
• Наука и образование;
• Компьютеры и связь;
• Справочники и ссылки;
• Дом и семья;
• Развлечения и отдых;
• Культура и искусство.

Рис. 1. Тематический рубрикат Рамблер. Топ 100 медийного Интеренет-портала Рамблер
Поработайте с поисковыми каталогами российских и зарубежных медийных Интернет-порталов по интересующей тематике (используя возможности поиска по ключевым словам; расширенного поиска). Выявите сходства и различия в функционировании поисковых каталогов российских и зарубежных поисковых систем.
4. Пользуясь каталогом поисковой системы, найдите следующую информацию:
• Текст песни популярной музыкальной группы;
• Репертуар Мариинского театра на текущую неделю;
• Характеристики последней модели мобильного телефона известной фирмы (по вашему выбору);
• Рецепт приготовления украинского борща с галушками;
• Долгосрочный прогноз погоды в Вашем регионе (не менее чем на 10 дней);
• Фотография любимого исполнителя современной песни;
• Примерная стоимость мультимедийного компьютера (прайс);
• Информация о вакансиях на должность преподавателя иностранных языков в Вашем регионе или городе;
• Гороскоп своего знака зодиака на текущий день;
По результатам поиска составьте письменный отчет в Word: представьте в документе найденный, скопированный и отформатированный материал.
Рекомендованная литература
1. Ашманов, И. С. Оптимизация и продвижение сайтов в поисковых системах / И.С. Ашманов, А.А. Иванов. – 3-е изд. – Москва: Питер, 2015 -463 с.
2. Байков В.Д. Интернет. Поиск информации. Продвижение сайтов /В.Д. Байков. – СПб.: БХВ-Петербург, 2000. – 288 с.
3. Колисниченко Д.Н. Поисковые системы и продвижение сайтов в Интернете /Д.Н. Колисниченко. – М.: Диалектика, 2007. – 272 с.
4. Основы информационной компетентности [Электронный ресурс]: учебное пособие: электронное издание/ М-во образования и науки Российской Федерации, Федеральное гос. бюджетное образовательное учреждение высш. проф. образования Красноярский гос. пед. ун-т им. В.П. Астафьева; сост.: Н.В. Васильева Красноярск: КГПУ им. В. П. Астафьева, 2013-1 электрон, опт. диск (CD-ROM)hh.;12 см – Загл. с этикетки диска.
5. Chu Н. Search engines for the World Wide Web: A comparative study and evaluation methodology (англ.) / H. Chu, M. Rosenthal // Proceedings of the Annual meeting – American society for information science: journal. -1996. – Vol. 33. – P. 127–135.
6. Eric W. B. Execution Performance Issues in Full-Text Information Retrieval. – University of Massachusetts Amherst: Computer Science Department, 1996. – 179 p. – (Technical Report 95–81).
7. Pariser E. The Filter Bubble: What The Internet Is Hiding From You. – NY: Penguin Group, 2011. – 257 p.
Глава 4
ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫИ ЛИНГВИСТИКА
Краткое описание: искусственный интеллект, компьютерная лингвистика, история ее развития и инструментарий.

Искусственный интеллект может оказаться благоразумней его создателя.
Дарий (философ)I have noticed that even people who claim everything is predetermined and that we can do nothing to change it, look before they cross the road.
Stephen HawkingВ данной главе речь пойдет о компьютерной лингвистике (computational linguistics), которая постепенно и уверенно становится основной частью технологий искусственного интеллекта.[15]
Компьютерная лингвистика – это научное направление в области математического и компьютерного моделирования интеллектуальных процессов у человека и животных при создании систем искусственного интеллекта, которое ставит своей целью использование математических моделей для описания естественных языков.
Компьютерная лингвистика частично пересекается с обработкой естественных языков. Однако обработка естественных языков акцентирует внимание не на абстрактные модели, а на прикладные методы описания и обработки языка для компьютерных систем.
Полем деятельности компьютерных лингвистов является разработка алгоритмов и прикладных программ для обработки языковой информации.
Основными направлениями компьютерной лингвистики являются следующие:
1. Обработка естественного языка (англ, natural language processing; синтаксический, морфологический, семантический анализы текста).
2. Корпусная лингвистика, создание и использование электронных корпусов текстов
3. Создание электронных словарей, тезаурусов, онтологий (например, Lingvo). Словари используют для автоматического и автоматизированного переводов, проверки орфографии и т. д.
4. Автоматический перевод текстов посредством специализированных программ (см. приложение 2).
5. Автоматическое извлечение фактов из текста (извлечение информации; англ .fact extraction, text mining).
6. Автореферирование (англ, automatic text summarization). Эта функция включена, например, в Microsoft Word.
7. Построение систем управления знаниями (экспертные системы).
8. Создание вопросно-ответных систем (англ, question answering systems).
9. Оптическое распознавание символов (англ. OCR). Например, программа FineReader.
10. Автоматическое распознавание и синтез речи.
Кроме того, компьютерная лингвистика занимается решением следующих научных задач:
• Компьютерный анализ жанра и характеристик автора текста (более сложный, чем анализ сюжета);
• Компьютерный анализ блогосферы как источник знаний о языке (как вариант анализа корпуса текстов).
• Создание семантической паутины Интернета (формирование пространств знаний) и поиск знаний в ней.
Перечисляя все современные возможности компьютерной лингвистики, вернемся немного в историю формирования этой научной гуманитарной отрасли.
Компьютерная лингвистика родилась в январе 1954 года, когда в Джорджтаунском университете (США) был проведен первый в мире публичный эксперимент по машинному переводу. В то же самое времена под руководством крупнейшего математика и кибернетика Алексея Ляпунова начались активные работы по машинному переводу и в Москве. В созданную Ляпуновым группу вошли, в частности, тогдашние студенты и аспиранты, будущие «родители» отечественной компьютерной лингвистики Игорь Мельчук и Ольга Кулагина.
Русский термин «компьютерная лингвистика» является калькой с английского computational linguistics. Поскольку прилагательное computational по-русски может переводиться и как «вычислительный», в литературе встречается также термин «вычислительная лингвистика», однако в отечественной науке он приобретает более узкое значение, приближающееся к понятию «квантитативной лингвистики».
Как особое научное направление компьютерная лингвистика начала оформляться в 1960-е годы. Хотя в России основа для успехов отечественных ученых в этой области закладывалась намного раньше. В 1920-х годах в Советской России велись интенсивные исследования по семиотике текста, в то время как широкомасштабное изучение семиотики во всем мире относится только к началу 1960-х годов (что в значительной мере связано с работами эмигрировавшего из России в 1920 году создателя структурной лингвистики Романа Якобсона). Стремительный прогресс семиотики стал основой для сближения лингвистики и математики на почве популярного в 1950-60-е годы математического структурализма. Идеи семиотики объединяли крупнейших ученых, среди которых математик Владимир Успенский и лингвист Вячеслав Иванов. Успехи формального подхода к описанию языка наглядно продемонстрировали возможность превращения чисто гуманитарной науки в логически строгую дисциплину.
Работы по кибернетике и, в частности, по структурной лингвистике, развернутые в конце 50-х годов под руководством академика Акселя Берга и члена-корреспондента АН СССР Алексея Ляпунова, вывели отечественную науку на передовые позиции. Уже в начале 1956 года в Институте прикладной математики (ИПМ) им. М. В. Келдыша заработала первая отечественная система машинного перевода с французского на русский язык. Система ФР-I давала перевод более высокого качества, чем у американских оппонентов. Математики рассматривали алгоритмы машинного перевода как частные случаи изучаемых в кибернетике алгоритмов перекодирования.
В то же самое время в 1957 году молодой американский исследователь Ноам Хомский публикует свой научный труд «Синтаксические структуры», положения которого до сих пор в компьютерной лингвистике, в частности в автоматической обработке текста, являются доминирующими. Работы Н. Хомского послужили началом рационалистического направления в компьютерной лингвистике. Исходная точка рационализма – компьютерные модели, независимые от языка. Модели лучше всего принимаются, когда они настолько просты, насколько это возможно. Здесь можно провести параллель с идеей Ф. Соссюра отделить язык от реального мира.
Ранние исследователи машинного перевода поняли, что машина не может перевести введенный текст без дополнительной помощи. Учитывая нехватку лингвистических теорий, особенно до 1957 года, выдвигается предложение предварительно редактировать тексты таким образом, чтобы отмечать в них трудности, например, чтобы разрешить омонимию. А поскольку системы машинного перевода не могли производить правильный результат, текст на целевом языке должен был быть отредактирован, чтобы стать понятным. Мысль о предварительном и последующем редактировании текста породила идею о том, что компьютер может быть использован для оказания помощи человеку в областях, с которыми компьютер не в состоянии пока справляться своими силами. В области машинного перевода компьютер может действовать как память-хранилище, освобождая человека от необходимости знать огромное количество слов. Израильский логик, лингвист и математик Иегошуа Бар-Хиллел (Bar Hillel) рассмотрел область исследований и пришел к выводу, что полностью автоматический высококачественный перевод (FAHQT – Full-Automatic High-Quality Translation) не возможен без знаний. Он также пришел к выводу, что многочисленные проекты, в которых перевод сводился главным образом к замене слов одного языка на слова другого, были изначально обречены на провал даже с учетом многочисленных заплаток и расширений. Причина проста: переводчик-человек добавляет свое понимание документа, который нужно перевести, к своим знаниям о структурах языка, с которым он работает. Там остаются некоторые конструкции, которые требуют понимания документа или пути, по которому передаются представления о мире и определенной предметной области. Во многих языках трудно понять, что имеет в виду говорящий предложения, соответствующего типу:
«Она надела красные туфли и чулки».
Сразу же возникает вопрос о цвете чулок. Были ли они тоже красными? Во многих случаях это не имеет значения, но если система, например, анализирует свидетельские показания, значение таких деталей может существенно возрастать.
Комментарии И. Бар-Хиллеля оказали долговременное влияние на восприятие практичности систем автоматической обработки текстов и машинного перевода, в частности. Постепенно финансирование проектов в области компьютерной лингвистики в США были приостановлены.
В то же самое время в СССР компьютерная лингвистика стремительно развивалась, особенно в 1960-е годы. Однако в следующем десятилетии работы в области машинного перевода оказались под жестким государственным контролем. В отличие от атомного проекта (время уже было другое), этот контроль не сконцентрировал силы отечественных ученых, а наоборот, способствовал прекращению или замедлению многих работ. Исследования по машинному переводу в ИПМ им. М. В. Келдыша тоже практически прекратились.
В США период с 1966 по 1980 годы характеризуется разработками систем SHRDLU, LUNAR и LIFER/LADDER.
Система SHRDLU[16] Терри Винограда (Terry Winograd) имитировала поведение робота, манипулировавшего блоками на поверхности стола. Она могла управляться инструкциями, такими как «Pick up the red pyramid”(«Возьми красную пирамиду») и отвечать на вопросы типа «What does the blue box contain?»(«Что содержит голубой блок?»). Появление SHRDLU имело большое значение, так как оно показало, что синтаксис, семантика и порождение выводов о мире могут быть скомбинированы так, чтобы создать систему, которая понимает естественный язык. Это была очень ограниченная система: она могла управляться только очень небольшим числом предложений. Более того, она могла понимать язык, касающийся только настоящего момента и очень небольшой части реального мира: мира блоков. Эффект, который она производила, мог быть достигнут только в весьма ограниченной области и попытка расширить систему неизбежно привела бы к снижению эффективности.
Система LUNAR был естественно-языковым интерфейсом к базе данных, использовавшим и расширенную сеть переходов[17] и процедурную семантику американского исследователя У.А. Вудса[18]. Система унаследовало свое имя от базы данных, содержавшей информацию (ATN – Augmented Transition Network) об образцах лунных скальных пород. Система была продемонстрирована на научной конференции по Луне в 1971 году. Ее эффективность казалась весьма впечатляющей: она сумела справиться с 78 % запросов без ошибок, причем эта цифра возросла до 90 % после исправления ошибок. Впрочем, цифры эти не должны были вводить в заблуждение, ведь не случайно система не стала предметом интенсивной эксплуатации: ученый, стремящийся использовать систему для своих повседневных рабочих нужд, быстро бы обнаружил, что ему нужны запросы, выходящие за пределы возможности системы.
Система LIFER/LADDER была одной из наиболее впечатляющих систем автоматизированной обработки текстов. Она была сконструирована как естественно-языковой интерфейс к базе данных кораблей ВМС США. Она использовала семантическую грамматику, в которой функционировали метки типа «КОРАБЛЬ» или «ХАРАКТЕРИСТИКА» вместо синтаксических меток по типу «существительное» или «глагол». Это означало, что система, как и SHRDLU, была тесно привязана к области, для которой была изначально сконструирована. Тем не менее, использование разработчиками семантической грамматики дало ряд преимуществ в разработке дружественного к пользователю интерфейса по сравнению с SHRDLU. Например, в систему была включена возможность определения новых словарей, определения парафразов (например, чтобы сделать возможным быстрый доступ), возможность обработки незаконченного или неполного ввода. Эти свойства сами по себе были очень впечатляющими, но исследовательская группа приступила к программе строгой оценки и опубликовала доклад, ставший настоящим сокровищем для тех, кто стремился глубоко изучать автоматическую обработку текстов. Одним из выводов доклада было то, что люди быстро подстраивались под машину и пытались использовать очень неполные предложения, заменяя нормальный естественный язык подобием неформального языка запросов.