Кто ищет, тот всегда найдет
Елена Дудка
Ни один уважающий себя человек не станет рыться в завалах мусора. Конечно, если это только не интернет-мусор. В последнем увлеченно копаются все, кому что-то понадобилось найти во всемирной паутине. Таким же неблаговидным занятием может оказаться поиск какой-нибудь важной мелочи в гигантских корпоративных базах данных. Свой способ не завязнуть в зыбучих песках информации и добыть трофей с минимальными потерями времени и сил предлагает разработчик Юрий Воинов.
— Поиск нужного документа в крупных базах данных – серьезная проблема. Мы столкнулись с этим, когда, например, зашли на сайт Института интеллектуальной собственности и патентов. Найти что-то там невозможно. Мы хотели посмотреть все патенты по филологии, но этого нельзя сделать. Потому что надо точно указать либо год выдачи, либо номер патента, либо его реферат. Причем, заметьте, это современный сайт, созданный относительно недавно.
Та же самая ситуация в корпоративных сетях. Во многих компаниях у сотрудников скапливается большое количество документов и электронных писем. Допустим, мне во всем этом массиве надо найти один текстовый файл. Я не знаю, где именно он находится и когда точно был создан. Можно было бы поискать по содержанию, если приблизительно помнить содержание документа. Но единственный поиск, который мне доступен, – поиск по точному соответствию.
Один из вариантов решения проблемы – помещая документ в базу, сделать к нему что-то вроде аннотации и искать потом по этим аннотациям. Например, телеканал «Хабар» однажды попытался построить свою видеотеку так, как это делает CNN. Ко всем видеороликам есть аннотации, которые занесены в базу данных и по которым можно моментально найти любой видеоматериал за последние, скажем, 10 лет. Но очень быстро оказалось, что заставить у нас приехавшую с объекта съемочную группу сесть за компьютер и сделать подробное описание – где, что и кем снято – за пределами возможного. В CNN пошли административным путем, потому что у них народ более дисциплинированный. Оператору не платится ни копейки до тех пор, пока он не заполнит все обязательные поля и пока принимающий это не проверит. По многим причинам в нашем случае это просто нереально.
— Контекстный поиск широко применяется в Интернете. Почему бы не использовать подобные технологии для поиска информации в корпоративных сетях?
— Дело в том, что на прямой запрос такие поисковые системы выдают тонны ненужной информации. Например, в нашем казахстанском поисковике на запрос информации об «Академии Ай Ти» (известная российская компания) можно получить ссылки на упоминания об Айтеке би и многое другое, что к данному запросу не имеет никакого отношения. А нужной ссылки нет. Однако чтобы убедиться в этом, надо просмотреть как минимум несколько страниц результатов поиска. Лучше бы система мне сразу сообщила, что по этому запросу ничего не найдено. Поисковая система должна за меня подумать и на основании 2-3 слов определить, что я хочу.
— Но это, по-моему, уже из области фантастики.
— Теоретически это возможно. Существующие поисковики, когда они видят несколько слов, несмотря на все свои настройки и возможности, всегда делают так. Трактуют два слова, употребленные подряд, очень широко. Ищут варианты от употребления их слитно до употребления на некотором удалении друг от друга. Но контекст-то при этом будет совершенно другим!
А можно искать именно так, как вы задали. Не слитно и не в розницу. Технология не нова и заключается в том, чтобы между массивом документов и пользователем поставить что-то умное. А именно, тезаурус.
Тезаурус – это иерархия понятий определенного языка, максимально полно охватывающая все его предметные области. Он включает:
1) смысловые отношения между словами;
2) синонимы, если они есть;
3) ассоциативные связи.
Структуру тезауруса легче представить себе, если ее нарисовать:
Это только фрагмент одной из веточек, которых должно быть несколько тысяч. В целом структура тезауруса похожа на огромное дерево, перевернутое кроной вниз. Тезаурус русского языка должен включать в себя порядка 250-500 тыс. слов, связанных друг с другом. Поиск может вестись как от общего к частному, так и наоборот. Когда вы пишете запрос, он сначала поступает в электронный тезаурус, который определяет, к каким категориям понятий относятся указанные слова, уточняет запрос и направляет дальше в поисковую систему. Это значительно сужает поле для поиска, и результат получается намного более точный.
— Но если цепочки тезауруса включают в себя и ассоциативные связи и синонимы, то от абсурдных результатов такой поиск тоже не застрахован.
— Качество поиска с тезаурусом полностью определяется качеством самого тезауруса. Его строят так, чтобы цепочки были как можно короче, чтобы в целом структура дерева понятий была простой и ясной. Но есть ряд проблем. Одна из них – слова гомологи, которые читаются и пишутся одинаково, но имеют разные понятия. Таких слов в русском языке очень много. Еще есть совпадения названий, например, в географии. Оказывается, существует очень много пересечений географии с этнографией. То есть реки и названия народностей совпадают и т.д. Предлагается для таких слов в запросе в скобках указывать – из какой оно категории. Скажем, пользователь может указать, какую именно реку, из какого региона он имеет в виду. Тогда тезаурус укажет категорию, в которую нужно идти искать.
В мире такие механизмы реализованы всего для 7 языков — английского, французского, немецкого, испанского, португальского, корейского и китайского. Электронных тезаурусов русского языка пока нет. Правда, крупная российская IT-компания RCO, дочерняя от «Гарант-Парк Интернет» выпустила на рынок продукт, который она назвала тезаурусом. Но, по сути, он таковым не является. Поскольку вместо иерархии понятий в этом продукте используются простые цепочки синонимов и словоформ.
Мы же занимаемся разработкой именно тезауруса для русского языка – программы, которая будет классифицировать запрос «по понятиям», преобразовывать его и отправлять дальше в поисковую систему.
— Какова сейчас степень готовности вашего продукта и когда он выйдет на рынок?
— Сейчас он готов на три четверти, в нем уже около 32 тысяч слов и около 130 тыс. связей – иерархических, синонимических и ассоциативных. Мы планируем довести первичный объем тезауруса до 50 тысяч слов, после чего его уже можно начинать использовать. Но мы намерены продолжать его наращивать как минимум до 120 – 180 тыс. слов. Тогда можно будет говорить об относительно полном покрытии большинства предметных областей. Скорость работы небольшая, потому что тезаурус пишется вручную, он не генерируется какими-либо программами. Добавляется по 200-300 слов в день.
Тезаурус в первой редакции объемом 50-60 тысяч слов, я думаю, будет готов к июню. Продукт будет «упакован» на диске – система установки, загрузки, руководство по установке, руководство по структуре, содержание. Кстати, сейчас словари продают как черные ящики. Что в них – непонятно. А у нас будет содержание тезауруса, в котором будет показано, какие предметные области он покрывает, указаны объем, количество ссылок и статистические данные. По этим данным можно судить о качестве – насколько полон тезаурус, сколько связей приходится на каждое слово или на категорию.
— Сколько будет стоить этот продукт?
— Дешево он стоить не может, хотя бы потому, что это на 100% ручная работа. Затраты труда здесь очень высоки. У RCO средняя цена их продукта составляет от $4 тыс. до $20 тыс. за установку, не считая стоимости поддержки, — от $2 тыс. до $8 тыс. в год. Мы начнем предлагать свой тезаурус в июне за $10 тыс. Поддержка в пределах $1-2 тыс. в год. В поддержку входит развитие, обновление, сопровождение, рекомендации по интеграции, по использованию и т. д. Обновления предполагается делать один раз в квартал, ведь тезаурус будет продолжать расти и изменяться, будет необходимо выполнять исправления ошибок.
— Сколько вы планируете таких продуктов продать до конца года? Я знаю, что у вас уже сейчас есть потенциальные покупатели.
— Да, предварительная договоренность есть пока примерно с 10 крупными компаниями. В целом мы оцениваем емкость местного рынка порядка 150-200 установок в течение 1-2 лет. Кроме того, в России есть продукты аналогичного назначения, но нет продуктов с аналогичным решением. Можно попытаться выйти на российский рынок, предложить наш тезаурус как независимое решение. Или войти в альянс с уже существующими провайдерами на их рынке. Хотя российские компании неохотно идут на альянсы, ревниво защищая свой рынок. А рынок не маленький. Объем ежегодной чистой прибыли только RCO мы оцениваем в $1,5 млн. — $3 млн. Для совершенно неразвитой сферы это очень много. Поэтому они, конечно, будут за эту территорию драться.
Кроме этого есть еще несколько возможных направлений, в которых мы будем работать. В частности, это правительственное приложение – электронное правительство, в котором достаточно остро стоит вопрос контекстного поиска. Компания «Оракл» предлагает решение для электронного правительства, а мы предлагаем сопутствующий продукт. Наш тезаурус в первую очередь под «Оракл» и пишется. Поскольку свыше 80% корпоративных баз данных в Казахстане – это именно «Оракл». Они установлены в банках, телекоммуникационных компаниях, силовых, правительственных, коммерческих структурах. У нас уже есть с этой компанией предварительная договоренность о том, что она поддержит нас в этом направлении. Она будет рекомендовать наш продукт и направлять к нам потенциальных клиентов.
— Почему вы тогда не работаете в альянсе с «Оракл»?
— У них другая корпоративная политика. Они говорят, что любую техническую и моральную поддержку оказывать готовы, но до такого альянса не дойдут. У них свой интерес.
Я с «Оракл» работаю около 10 лет, с того момента, как здесь открылось представительство. 6 лет проработал в штате, а потом стал работать у их партнеров. Сейчас моя штатная должность – преподаватель по технологиям «Оракл» в АВС тренинг центре (часть телекоммуникационного и IT-холдинга АВС). Это две разные сферы моей работы – создание тезауруса и собственно преподавание.
У меня налажены хорошие деловые отношения с группой разработки контекста «Оракл». В частности, с одним из их ведущих разработчиков Роджером Фордом я переписывался. Мы говорили об индексации казахских текстов. Я пытался это определить как одну из задач на будущее, поскольку сегодня не существует лексера казахского языка для индексации казахских текстов. Казахский тезаурус нет смысла делать, пока не будет написан лексер. Это такая программа, которая в массиве текста находит слова и создает индекс – в каком документе они встречаются, где находятся. Она должна оперировать алгоритмами и особенностями языка, учитывать синтаксис, морфологию. Нетривиальная задачка. Для русского языка лексер уже существует. Казахский лексер есть смысл писать именно для «Оракла», который, как я уже сказал, в Казахстане очень распространен.
Мы планируем в перспективе сделать 3-языковой тезаурус с переводом, когда можно искать не только слово, но и все его переводы. То есть связать все перекрестными ссылками три разных по языку тезауруса. Но это будет не раньше следующего года. И в перспективе есть желание сделать казахский тезаурус, для начала хотя бы на 30 тысяч слов.
— Кто выдает сертификат качества этого продукта? И как вообще определяется его качество? Ведь даже в вашей кропотливой ручной работе могут быть ошибки.
— Этот продукт не сертифицируется, потому что для него нет жесткого стандарта. А от ошибок никто не застрахован, я сам нахожу и исправляю их каждый день. Непогрешимых программ не существует, ошибки есть в «Майкрософте», в «Оракле», везде. Когда первая редакция тезауруса будет готова, мы планируем привлечь к его тестированию экспертов – филологов и компьютерных лингвистов. Кроме того, специалисты в различных областях должны будут проверить нашу классификацию – правильно ли мы ее построили. Особенно в таких разделах, как математика, физика, геология и др.
— Насколько мне известно, создание тезауруса – это ваш семейный бизнес. Сколько человек над этим работает?
— Над этим проектом мы работаем вдвоем с Женей, моей женой. Я занимаюсь структурой, техническими задачами и большей частью содержания, она подготавливает для меня словарные массивы разделов и занимается организационными вопросами. Это вообще была ее идея. Я долго сомневался – браться или нет. Но мне самому нужна была такая программа, а найти для русского языка что-либо готовое мне не удалось. Более того нет даже качественных тезаурусов, изданных на бумаге. Когда я посмотрел на так называемый русский тезаурус лондонского университета, то просто содрогнулся. Это был поток мутного сознания. Свободные ассоциации студентов. А в книжном магазине мы однажды увидели другой тезаурус русского языка на 1 млн. 200 тыс. слов. Обрадовались, хотели взять для того, чтобы на его базе построить компьютерную структуру нашего тезауруса. Но отказались, обнаружив, что это опять-таки просто ассоциации – слова и все, что людям приходит на ум при упоминании этих слов.
Я несколько раз начинал эту работу заново. Когда уже были написано несколько тыс. слов, все стер и придумал новую методику, по которой мы сейчас и работаем. Честно говоря, такой объем работы не для одного и не для двух человек. Мне советуют привлечь в этот проект хотя бы нескольких наборщиков. Но я считаю, что при большом количестве вовлеченных людей будет трудно контролировать качество всей работы, ошибки будут появляться чаще. Мы с Женей стараемся друг друга контролировать и исправлять ошибки сразу по мере их обнаружения. Но даже в этом случае мы регулярно занимаемся изменениями структуры, иногда очень больших кусков тезауруса. Да, у нас скорость получается невысокая, но я другого выхода не вижу.
Главной проверкой качества продукта будет его эксплуатация. Мы отдаем себе отчет, что без обратной связи, без поддержки, без обновления качественный продукт создать невозможно.
Комментариев пока нет