В семье Свантесонов купили компьютерную энциклопедию. Чтобы найти в ней что-нибудь, достаточно ввести несколько слов и запустить поиск по тексту заголовков статей энциклопедии. Через некоторое время программа выдает все найденные по этому запросу статьи. Ниже приведены запросы к энциклопедии, которые сделали Карлсон, Малыш и фрекен Бок:
ЧТО МОЖНО КУПИТЬ НА ТРИ ЭРЕ
САМАЯ ДОРОГАЯ ПАРОВАЯ МАШИНА
КОГДА УЖЕ МНЕ ПОДАРЯТ СОБАКУ
ПУСТЫРИ ДЛЯ ИГРЫ В ГОРОДКИ
КАК ПЕЧЬ ПЛЮШКИ С САХАРОМ
ПЕРЕДАЧА О ЧЕРТЯХ И ПРИВИДЕНИЯХ
В энциклопедии оказалось множество разнообразной информации по каждому запросу. Например, были найдены следующие статьи:
КАКИЕ ИГРУШКИ ДОРОЖЕ ВСЕГО (для Карлсона)
ПОРОДЫ СОБАК (для Малыша)
РЕЦЕПТЫ ПЕЧЕНЫХ ИЗДЕЛИЙ (для фрекен Бок)
ГДЕ КУПИТЬ САХАР (для Карлсона и фрекен Бок)
Однако некоторые соответствующие запросам статьи энциклопедии не были найдены, например:
НЕДОРОГИЕ ПОДАРКИ
КАК ОБОРУДОВАТЬ ИГРОВУЮ ПЛОЩАДКУ
ТЕЛЕПЕРЕДАЧИ О НЕЧИСТОЙ СИЛЕ
Задание 1. Установите, кому предназначалась каждая из статей, заголовки которых приведены ниже, если известно, что одна из них была найдена по запросу Карлсона, другая — Малыша, третья — фрекен Бок, а каждая из трех оставшихся — по двум запросам?
ПЛЮШЕВЫЕ СОБАКИ
ПУСТЫНЯ САХАРА ДО НАШЕЙ ЭРЫ
УЗКИЕ АВТОМОБИЛЬНЫЕ ДОРОГИ
ПОДВИЖНЫЕ ИГРЫ В ЧЕРТЕ ГОРОДА
БУЛКИ С ТЕРТЫМ СЫРОМ
ТЕЛЕВЕДУЩИЙ ГОСПОДИН ПЕК
Задание 2. Как устроен поиск в этой компьютерной энциклопедии?
Примечание. Малыш, Карлсон, фрекен Бок и господин Пек — герои сказочных повестей шведской писательницы Астрид Линдгрен. Эре — мелкая монета в Швеции.
Почему была найдена статья ПОРОДЫ СОБАК, хотя Малыш спрашивал не об этом? Почему не была найдена статья НЕДОРОГИЕ ПОДАРКИ, хотя Карлсон делал запрос ЧТО МОЖНО КУПИТЬ НА ТРИ ЭРЕ, а в запросе Малыша было слово ПОДАРЯТ?
Можно легко увидеть, что поиск в этой компьютерной энциклопедии основан не на смысле запросов. Ведь статья ПОРОДЫ СОБАК не относится ни к одному из данных запросов, а, напротив, статья ТЕЛЕПЕРЕДАЧИ О НЕЧИСТОЙ СИЛЕ прямо соответствует запросу фрекен Бок ПЕРЕДАЧА О ЧЕРТЯХ И ПРИВИДЕНИЯХ и тем не менее не была найдена.
Похоже, что поиск основан просто на совпадениях слов в запросах и в заголовках статей. Посмотрим, какие статьи по каким запросам были найдены, и выделим совпадающие слова.
КАКИЕ ИГРУШКИ ДОРОЖЕ ВСЕГО — САМАЯ ДОРОГАЯ ПАРОВАЯ МАШИНА
ПОРОДЫ СОБАК — КОГДА УЖЕ МНЕ ПОДАРЯТ СОБАКУ
РЕЦЕПТЫ ПЕЧЕНЫХ ИЗДЕЛИЙ — КАК ПЕЧЬ ПЛЮШКИ С САХАРОМ
ГДЕ КУПИТЬ САХАР — ЧТО МОЖНО КУПИТЬ НА ТРИ ЭРЕ
ГДЕ КУПИТЬ САХАР — КАК ПЕЧЬ ПЛЮШКИ С САХАРОМ
Мы видим, что полное совпадение слов необязательно: ДОРОЖЕ и ДОРОГАЯ, СОБАК и СОБАКУ — разные последовательности букв. Может быть, достаточно совпадения части слова? Но тогда непонятно, почему по слову ПОДАРКИ не нашлась статья со словом ПОДАРЯТ, а по слову ИГРОВУЮ — статья со словом ИГРУШКИ. Можно предположить, что слова должны принадлежать к одной части речи. Но это не объясняет, почему по запросу со словом ПЕРЕДАЧА не была найдена статья со словом ТЕЛЕПЕРЕДАЧИ.
Внимательно посмотрев на выделенные слова в запросах и заголовках статей, можно заключить, что они представляют собой формы одного слова. Это и естественно: если мы вводим запрос ПОДАРОК, то нам подходит не только статья, где слово ПОДАРОК встречается ровно в этом виде, но и статьи ПОДАРКИ, СПИСОК ЛУЧШИХ ПОДАРКОВ, КАК НЕ ОСТАТЬСЯ БЕЗ ПОДАРКА и др. Мы можем даже не заметить, что слово подарок здесь встречается в разных формах: для носителя русского языка подарок, подарка, подарки, подарков — одно и то же слово. Это касается не только разных падежных форм существительных, но и степеней сравнения прилагательных (дорогой и дороже) и форм глагола. Так, например, печёный — страдательное причастие от глагола печь. По правилам, правда, оно пишется через два н: печённый, а с одним н пишется только отглагольное прилагательное, и то не всегда. По-видимому, в энциклопедии учитывается и неверное с точки зрения правил, но гораздо более распространённое написание, поскольку пользователь, вводящий запрос, легко может выбрать именно его.
Теперь понятно, почему не были отождествлены подарки и подарят, игровую и игры, телепередачи и передача: это не пары форм одного слова, а пары разных слов, хотя и однокоренных.
Отметим ещё одно: хотя в запросах фрекен Бок встречались слова как и о, статьи с этими словами не были найдены. Значит, поисковая система не учитывает служебные слова, что и понятно: они обычно не несут никакой содержательной информации (если, конечно, не считать случаев, когда лингвисты пытаются искать статьи о самих служебных словах: например, о значениях предлога о и союза как).
Мы можем переходить к выполнению задания 1. Для этого нужно в заголовке каждой статьи найти слова, совпадающие с какой-либо формой какого-либо слова в запросах.
ПЛЮШЕВЫЕ СОБАКИ — КОГДА УЖЕ МНЕ ПОДАРЯТ СОБАКУ (Малыш)
ПУСТЫНЯ САХАРА ДО НАШЕЙ ЭРЫ — КАК ПЕЧЬ ПЛЮШКИ С САХАРОМ (фрекен Бок)
Здесь мы видим ещё одно подтверждение тому, что поиск никак не учитывает смысл запроса, а только сравнивает отдельные слова. Слово САХАРА может быть и формой слова Сахара, и формой слова сахар: поскольку заголовки набраны заглавными буквами и не содержат ударения, различить эти две формы без учёта контекста невозможно.
ПУСТЫНЯ САХАРА ДО НАШЕЙ ЭРЫ — ЧТО МОЖНО КУПИТЬ НА ТРИ ЭРЕ (Карлсон)
Слово эре в запросе Карлсона может быть не только названием шведской монеты, но и формой слова эра.
УЗКИЕ АВТОМОБИЛЬНЫЕ ДОРОГИ — КОГДА УЖЕ МНЕ ПОДАРЯТ СОБАКУ (Малыш)
Написание уже чаще всего относится к частице, но оно может быть и формой сравнительной степени прилагательного узкий.
УЗКИЕ АВТОМОБИЛЬНЫЕ ДОРОГИ — САМАЯ ДОРОГАЯ ПАРОВАЯ МАШИНА (Малыш)
Написание дороги может быть формой множественного числа краткой формы прилагательного дорогой (а ударение, как мы помним, в запросах и заголовках статей не проставлено).
ПОДВИЖНЫЕ ИГРЫ В ЧЕРТЕ ГОРОДА — ПУСТЫРИ ДЛЯ ИГРЫ В ГОРОДКИ (Малыш)
Отметим, что город и городок — разные слова, а не формы одного слова.
ПОДВИЖНЫЕ ИГРЫ В ЧЕРТЕ ГОРОДА — ПЕРЕДАЧА О ЧЕРТЯХ И ПРИВИДЕНИЯХ (фрекен Бок)
Написание черте может быть формой не только слова черта, но и слова чёрт: буква «ё», как мы видели и в примере со словом печёный, в этой энциклопедии не ставится.
БУЛКИ С ТЕРТЫМ СЫРОМ — ЧТО МОЖНО КУПИТЬ НА ТРИ ЭРЕ (Карлсон)
Тёртый — страдательное причастие от глагола тереть, а три — форма повелительного наклонения того же глагола.
ТЕЛЕВЕДУЩИЙ ГОСПОДИН ПЕК — КАК ПЕЧЬ ПЛЮШКИ С САХАРОМ (фрекен Бок)
Пёк — форма прошедшего времени от глагола печь.
Итак, мы можем полностью описать устройство поиска в этой энциклопедии. Очевидно, в её базе данных хранятся все формы всех слов. Поисковая система по очереди рассматривает каждое слово в запросе пользователя, исключая служебные, и составляет список всех словарных слов, у которых есть такая форма. Например, слово МАШИНА в запросе Карлсона может быть формой существительного машина или прилагательного Машин. Затем система ищет все формы каждого из этих существительных (машина, машины, машине, ...; Машин, Машиного, Машиному, ...) в заголовках статей и в случае совпадения выдаёт соответствующую статью по данному запросу. Таким образом, мы выполнили и задание 2.
Эта задача была составлена почти двадцать лет назад на основе работы реальной программы — электронного словаря МультиЛекс. Но на этом же принципе работал и работает поиск в огромном количестве программ, учитывающих русское словоизменение. Большинство из них основаны на Грамматическом словаре А. А. Зализняка, в котором приводится вся необходимая информация для построения всех форм приблизительно 100 тыс. русских слов. Словарь, первое издание которого вышло в 1977 году, А. А. Зализняк составил вручную. В предисловии к очередному переизданию словаря автор писал: «"Это же немыслимый абсурд — делать такую работу без компьютера», — доводилось мне слышать. В действительности рабочим инструментом были четыре хлебных лотка, раздобытых в соседней булочной; в каждый входило по 25 тысяч карточек из тонкой бумаги». Спустя около десяти лет после выхода первого издания словаря началась работа по его переводу в цифровой вид (в этом участвовали С. А. Старостин, А. Б. Борковский, В. З. Санников и другие лингвисты и программисты), и именно электронная версия Грамматического словаря Зализняка легла в основу первой версии поисковой системы Яндекс (подробнее об этом можно прочесть вот здесь).
Набор форм слова в лингвистике называется парадигмой. В русском языке парадигма может состоять из одной формы (у неизменяющихся слов — например, предлогов или существительных типа такси), из десяти форм (как у большинства существительных, имеющих по пять падежных форм в каждом из двух чисел: стол, стола, столу, столом, столе, столы, столов, столам, столами, столах), из почти тридцати форм (как у большинства прилагательных, изменяющихся, кроме падежей и чисел, ещё и по родам) или из больше чем сотни форм (как у глаголов). Такое устройство русской морфологии усложняет автоматический поиск (по сравнению, например, с английским языком), поскольку результаты поиска без учёта разных форм слов будут очень неполными, а поиск с учётом форм слов требует создания ресурсов, содержащих полные парадигмы. Словарь Зализняка велик (во всех смыслах этого слова), но и он содержит далеко не все слова, которые могут встретиться в текстах. Во-первых, в нём нет большинства имён собственных (например, упоминающихся в этой задаче слов Свантесон, Карлсон, Зализняк, Санников, МультиЛекс, Яндекс и многих других — а ведь все они тоже изменяются по падежам и числам, причём по-разному: с Зализняком, но с Санниковым). Во-вторых, почти каждый день появляются новые слова, которые не успели войти ни в какие словари (из недавних примеров: смомби, коливинг, бровист, гейтер, доулить), а поисковые системы должны уметь находить и их в любой форме. В-третьих, состав парадигмы не всегда определён, поскольку нет чёткой границы между словообразованием и словоизменением.
Так, формы причастий (как печённый и тёртый) даже в школьной программе не всегда включают в парадигму глагола. Одна из сложных проблем русской грамматики — считать ли разными словами или формами одного слова глаголы совершенного и несовершенного вида (перепостить и перепощивать): есть серьезные аргументы для обоих решений. Такие трудности возникают и со словами других частей речи: скажем, побольше — это отдельное слово, форма прилагательного большой, наречия много или обоих слов? Считать ли по-быстрому формой слова быстрый? Как устроены парадигмы слов год и лето? Человек и люди — это одно слово или разные?
Современные поисковые системы, конечно, работают куда лучше, чем та, что описана в задаче. Они содержат алгоритмы, позволяющие построить парадигмы даже для таких слов, которых нет в словаре (разумеется, с некоторой вероятностью ошибки). Поиск теперь работает не только на уровне отдельных слов, но и на уровне словосочетаний и предложений, что потребовало разработки не только морфологического, но и синтаксического анализа. Учитываются не только формы слова, но и другие слова, связанные по смыслу: современная поисковая система знает, что передача и телепередача — это синонимы, что чертей можно назвать нечистой силой, что булки — это печёное изделие. В случае совпадающих форм разных слов принимаются во внимание вероятности их появления: системы понимают, что три — это чаще всё же числительное, а не глагол, а уже — частица, а не сравнительная степень прилагательного. Более того, часто может учитываться и личность пользователя поисковой системы, и его местонахождение, и данные о его предыдущих запросах: система может предполагать, что фрекен Бок скорее интересуется сахаром, чем пустыней Сахара, а Карлсон ищет, на что потратить честно заработанные эре, а не изучает древнюю историю.
Однако и сегодня поисковые системы далеки от полного совершенства. Они всё ещё могут и выдавать нерелевантную информацию, и не находить то, что нужно. И сегодня первый результат Google по запросу «три эре» — статья Википедии «Мезозой» (во всяком случае, для автора задачи: поскольку Google персонализует поиск, читатель может увидеть другой результат), потому что там содержится фраза «Мезозойская эра делится на три периода», а по запросу «Машин телефон» выдаются либо картинки телефонов в виде автомобильчиков, либо реклама устройств для зарядки телефона в машине. Ну а на вопрос КОГДА УЖЕ МНЕ ПОДАРЯТ СОБАКУ пока ещё не умеет отвечать ни одна поисковая система.
Литература:
1. А. А. Зализняк. Грамматический словарь русского языка.
2. Словоизменение. Энциклопедия «Кругосвет».
3. Обработка запроса в Яндексе: yandex.ru/company/technologies/query/.
4. Борис Орехов. Компьютерная лингвистика: postnauka.ru/video/66255.
5. А. А. Мовсесян, В. Г. Сизов. Разработка морфологического анализатора неизвестных слов на основе морфологических словарей лингвистического процессора ЭТАП.
Задача использовалась на II туре XXXI Московской традиционной олимпиады по лингвистике (2000).